diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckCollections.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckCollections.ref index d53594d306abfb74223a1bc51a5c6ddf95630b6b..dc74bd020f9e3ce064e3fe160c77821de4c56dea 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckCollections.ref +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckCollections.ref @@ -167,15 +167,7 @@ ReadData INFO Hit x = 1823.7 y = -42.0 z = -1753.6 detector = DummyH 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 FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -200,6 +192,7 @@ ReadData INFO Hit x = 126.9 y = -47.7 z = -55.0 detector = DummyHitD ReadData INFO Hit x = 130.1 y = -53.4 z = -56.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -209,15 +202,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 2 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -233,15 +217,7 @@ ReadData INFO Hit x = 226.9 y = -47.7 z = -155.0 detector = DummyHit ReadData INFO Hit x = 230.1 y = -53.4 z = -156.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -266,6 +242,7 @@ ReadData INFO Hit x = 426.9 y = -47.7 z = -355.0 detector = DummyHit ReadData INFO Hit x = 430.1 y = -53.4 z = -356.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -275,15 +252,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -299,15 +267,7 @@ ReadData INFO Hit x = 526.9 y = -47.7 z = -455.0 detector = DummyHit ReadData INFO Hit x = 530.1 y = -53.4 z = -456.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -332,6 +292,7 @@ ReadData INFO Hit x = 726.9 y = -47.7 z = -655.0 detector = DummyHit ReadData INFO Hit x = 730.1 y = -53.4 z = -656.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -341,15 +302,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 8 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -365,15 +317,7 @@ ReadData INFO Hit x = 826.9 y = -47.7 z = -755.0 detector = DummyHit ReadData INFO Hit x = 830.1 y = -53.4 z = -756.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -398,6 +342,7 @@ ReadData INFO Hit x = 1026.9 y = -47.7 z = -955.0 detector = DummyHi ReadData INFO Hit x = 1030.1 y = -53.4 z = -956.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -407,15 +352,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 11 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -431,15 +367,7 @@ ReadData INFO Hit x = 1126.9 y = -47.7 z = -1055.0 detector = DummyH ReadData INFO Hit x = 1130.1 y = -53.4 z = -1056.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -464,6 +392,7 @@ ReadData INFO Hit x = 1326.9 y = -47.7 z = -1255.0 detector = DummyH ReadData INFO Hit x = 1330.1 y = -53.4 z = -1256.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -473,15 +402,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 14 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -497,6 +417,7 @@ ReadData INFO Hit x = 1426.9 y = -47.7 z = -1355.0 detector = DummyH ReadData INFO Hit x = 1430.1 y = -53.4 z = -1356.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -521,15 +442,7 @@ ReadData INFO Hit x = 1626.9 y = -47.7 z = -1555.0 detector = DummyH ReadData INFO Hit x = 1630.1 y = -53.4 z = -1556.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -554,6 +467,7 @@ ReadData INFO Hit x = 1726.9 y = -47.7 z = -1655.0 detector = DummyH ReadData INFO Hit x = 1730.1 y = -53.4 z = -1656.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -578,15 +492,7 @@ ReadData INFO Hit x = 1826.9 y = -47.7 z = -1755.0 detector = DummyH ReadData INFO Hit x = 1830.1 y = -53.4 z = -1756.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -611,15 +517,7 @@ ReadData INFO Hit x = 1926.9 y = -47.7 z = -1855.0 detector = DummyH ReadData INFO Hit x = 1930.1 y = -53.4 z = -1856.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -643,6 +541,7 @@ ReadData INFO Hit x = 423.7 y = -42.0 z = -353.6 detector = DummyHit ReadData INFO Hit x = 426.9 y = -47.7 z = -355.0 detector = DummyHitDetector ReadData INFO Hit x = 430.1 y = -53.4 z = -356.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -652,15 +551,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -676,15 +566,7 @@ ReadData INFO Hit x = 526.9 y = -47.7 z = -455.0 detector = DummyHit ReadData INFO Hit x = 530.1 y = -53.4 z = -456.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -709,6 +591,7 @@ ReadData INFO Hit x = 1926.9 y = -47.7 z = -1855.0 detector = DummyH ReadData INFO Hit x = 1930.1 y = -53.4 z = -1856.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -718,15 +601,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 2 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -751,15 +625,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -774,15 +639,7 @@ ReadData INFO Hit x = 523.7 y = -42.0 z = -453.6 detector = DummyHit ReadData INFO Hit x = 526.9 y = -47.7 z = -455.0 detector = DummyHitDetector ReadData INFO Hit x = 530.1 y = -53.4 z = -456.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -807,6 +664,7 @@ ReadData INFO Hit x = 726.9 y = -47.7 z = -655.0 detector = DummyHit ReadData INFO Hit x = 730.1 y = -53.4 z = -656.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -816,15 +674,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 8 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -849,15 +698,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 11 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -881,15 +721,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 14 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -904,15 +735,7 @@ ReadData INFO Hit x = 1423.7 y = -42.0 z = -1353.6 detector = DummyH ReadData INFO Hit x = 1426.9 y = -47.7 z = -1355.0 detector = DummyHitDetector ReadData INFO Hit x = 1430.1 y = -53.4 z = -1356.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -937,6 +760,7 @@ ReadData INFO Hit x = 1726.9 y = -47.7 z = -1655.0 detector = DummyH ReadData INFO Hit x = 1730.1 y = -53.4 z = -1656.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -961,15 +785,7 @@ ReadData INFO Hit x = 1826.9 y = -47.7 z = -1755.0 detector = DummyH ReadData INFO Hit x = 1830.1 y = -53.4 z = -1756.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -994,6 +810,7 @@ ReadData INFO Hit x = 1926.9 y = -47.7 z = -1855.0 detector = DummyH ReadData INFO Hit x = 1930.1 y = -53.4 z = -1856.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 0 ReadData INFO EventStreamInfo: ItemList: ReadData INFO EventStreamInfo: Number of events = 1 @@ -1019,6 +836,7 @@ ReadData INFO Hit x = 326.9 y = -47.7 z = -255.0 detector = DummyHit ReadData INFO Hit x = 330.1 y = -53.4 z = -256.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Others_ref +EventSelector INFO Disconnecting input sourceID: 251DB35E-7448-3A43-8DA3-610D27DA8362 ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1043,15 +861,7 @@ ReadData INFO Hit x = 26.9 y = -47.7 z = 44.9 detector = DummyHitDet ReadData INFO Hit x = 30.1 y = -53.4 z = 43.8 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1076,6 +886,7 @@ ReadData INFO Hit x = 126.9 y = -47.7 z = -55.0 detector = DummyHitD ReadData INFO Hit x = 130.1 y = -53.4 z = -56.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1085,15 +896,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 2 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -1109,6 +911,7 @@ ReadData INFO Hit x = 226.9 y = -47.7 z = -155.0 detector = DummyHit ReadData INFO Hit x = 230.1 y = -53.4 z = -156.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 0 ReadData INFO EventStreamInfo: ItemList: ReadData INFO EventStreamInfo: Number of events = 1 @@ -1134,15 +937,7 @@ ReadData INFO Hit x = 326.9 y = -47.7 z = -255.0 detector = DummyHit ReadData INFO Hit x = 330.1 y = -53.4 z = -256.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Others_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 251DB35E-7448-3A43-8DA3-610D27DA8362 ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1167,6 +962,7 @@ ReadData INFO Hit x = 426.9 y = -47.7 z = -355.0 detector = DummyHit ReadData INFO Hit x = 430.1 y = -53.4 z = -356.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1176,15 +972,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -1200,6 +987,7 @@ ReadData INFO Hit x = 526.9 y = -47.7 z = -455.0 detector = DummyHit ReadData INFO Hit x = 530.1 y = -53.4 z = -456.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1224,15 +1012,7 @@ ReadData INFO Hit x = 626.9 y = -47.7 z = -555.0 detector = DummyHit ReadData INFO Hit x = 630.1 y = -53.4 z = -556.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1257,6 +1037,7 @@ ReadData INFO Hit x = 726.9 y = -47.7 z = -655.0 detector = DummyHit ReadData INFO Hit x = 730.1 y = -53.4 z = -656.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1266,15 +1047,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 8 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -1290,6 +1062,7 @@ ReadData INFO Hit x = 826.9 y = -47.7 z = -755.0 detector = DummyHit ReadData INFO Hit x = 830.1 y = -53.4 z = -756.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1314,15 +1087,7 @@ ReadData INFO Hit x = 926.9 y = -47.7 z = -855.0 detector = DummyHit ReadData INFO Hit x = 930.1 y = -53.4 z = -856.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1347,6 +1112,7 @@ ReadData INFO Hit x = 1026.9 y = -47.7 z = -955.0 detector = DummyHi ReadData INFO Hit x = 1030.1 y = -53.4 z = -956.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1356,15 +1122,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 11 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -1380,6 +1137,7 @@ ReadData INFO Hit x = 1126.9 y = -47.7 z = -1055.0 detector = DummyH ReadData INFO Hit x = 1130.1 y = -53.4 z = -1056.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1404,15 +1162,7 @@ ReadData INFO Hit x = 1226.9 y = -47.7 z = -1155.0 detector = DummyH ReadData INFO Hit x = 1230.1 y = -53.4 z = -1156.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1437,6 +1187,7 @@ ReadData INFO Hit x = 1326.9 y = -47.7 z = -1255.0 detector = DummyH ReadData INFO Hit x = 1330.1 y = -53.4 z = -1256.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1446,15 +1197,6 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 14 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks @@ -1470,6 +1212,7 @@ ReadData INFO Hit x = 1426.9 y = -47.7 z = -1355.0 detector = DummyH ReadData INFO Hit x = 1430.1 y = -53.4 z = -1356.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream3_ref +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1517,15 +1260,7 @@ ReadData INFO Hit x = 1623.7 y = -42.0 z = -1553.6 detector = DummyH 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 FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1550,6 +1285,7 @@ ReadData INFO Hit x = 1726.9 y = -47.7 z = -1655.0 detector = DummyH ReadData INFO Hit x = 1730.1 y = -53.4 z = -1656.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1574,15 +1310,7 @@ ReadData INFO Hit x = 1826.9 y = -47.7 z = -1755.0 detector = DummyH ReadData INFO Hit x = 1830.1 y = -53.4 z = -1756.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1607,6 +1335,7 @@ ReadData INFO Hit x = 1926.9 y = -47.7 z = -1855.0 detector = DummyH ReadData INFO Hit x = 1930.1 y = -53.4 z = -1856.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream2_ref +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -1631,4 +1360,5 @@ ReadData INFO Hit x = 626.9 y = -47.7 z = -555.0 detector = DummyHit ReadData INFO Hit x = 630.1 y = -53.4 z = -556.1 detector = DummyHitDetector FullColl DEBUG Retrieved DataHeader with key EventSelector for requested key=* FullColl.TagTool DEBUG Setting primary ref to Stream1_ref +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO in finalize() diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref index 9ad18527dfc3ed3f68d87761fe5d58f4558393aa..3cae56eba8c9057e7ff710fc868c7b908b95f541 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckNull.ref @@ -33,7 +33,6 @@ AthenaEventLoopMgr INFO Setup EventSelector service EventSelector EventSelector DEBUG Try item: "PFN:NullableCollection.root" from the collection list. FullColl DEBUG handle() incident type: MetaDataStop FullColl.Regist... INFO Collection Events output: 0 -FullColl.Regist... INFO Unable to register collection: PFN 'RootCollection||PFN:CheckNull.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) ReadData INFO in finalize() ReadData DEBUG Calling destructor FullColl DEBUG In finalize diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckOutput.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckOutput.ref index 99b69224e8b16cf08be83fb7809ebc4dc18d5d36..f73091addaac05e48c62ce5d8881f186f7225322 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckOutput.ref +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestCheckOutput.ref @@ -157,15 +157,7 @@ ReadData INFO Hit x = 1820.4 y = -36.4 z = -1751.8 detector = DummyH 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 -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: +EventSelector INFO Disconnecting input sourceID: 24C95577-560C-CA45-B7DC-1C979AAA947B ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -188,46 +180,6 @@ ReadData INFO Hit x = 120.4 y = -36.4 z = -51.8 detector = DummyHitD ReadData INFO Hit x = 123.7 y = -42.0 z = -53.6 detector = DummyHitDetector ReadData INFO Hit x = 126.9 y = -47.7 z = -55.0 detector = DummyHitDetector ReadData INFO Hit x = 130.1 y = -53.4 z = -56.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 2 run: 0 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 201.2 y = -2.3 z = 26.6 detector = DummyHitDetector -ReadData INFO Hit x = 204.4 y = -8.0 z = -105.2 detector = DummyHitDetector -ReadData INFO Hit x = 207.6 y = -13.7 z = -129.7 detector = DummyHitDetector -ReadData INFO Hit x = 210.8 y = -19.3 z = -140.0 detector = DummyHitDetector -ReadData INFO Hit x = 214.0 y = -25.0 z = -145.7 detector = DummyHitDetector -ReadData INFO Hit x = 217.2 y = -30.7 z = -149.3 detector = DummyHitDetector -ReadData INFO Hit x = 220.4 y = -36.4 z = -151.8 detector = DummyHitDetector -ReadData INFO Hit x = 223.7 y = -42.0 z = -153.6 detector = DummyHitDetector -ReadData INFO Hit x = 226.9 y = -47.7 z = -155.0 detector = DummyHitDetector -ReadData INFO Hit x = 230.1 y = -53.4 z = -156.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -250,46 +202,6 @@ ReadData INFO Hit x = 420.4 y = -36.4 z = -351.8 detector = DummyHit ReadData INFO Hit x = 423.7 y = -42.0 z = -353.6 detector = DummyHitDetector ReadData INFO Hit x = 426.9 y = -47.7 z = -355.0 detector = DummyHitDetector ReadData INFO Hit x = 430.1 y = -53.4 z = -356.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 5 run: 0 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 501.2 y = -2.3 z = -273.3 detector = DummyHitDetector -ReadData INFO Hit x = 504.4 y = -8.0 z = -405.2 detector = DummyHitDetector -ReadData INFO Hit x = 507.6 y = -13.7 z = -429.7 detector = DummyHitDetector -ReadData INFO Hit x = 510.8 y = -19.3 z = -440.0 detector = DummyHitDetector -ReadData INFO Hit x = 514.0 y = -25.0 z = -445.7 detector = DummyHitDetector -ReadData INFO Hit x = 517.2 y = -30.7 z = -449.3 detector = DummyHitDetector -ReadData INFO Hit x = 520.4 y = -36.4 z = -451.8 detector = DummyHitDetector -ReadData INFO Hit x = 523.7 y = -42.0 z = -453.6 detector = DummyHitDetector -ReadData INFO Hit x = 526.9 y = -47.7 z = -455.0 detector = DummyHitDetector -ReadData INFO Hit x = 530.1 y = -53.4 z = -456.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -312,46 +224,6 @@ ReadData INFO Hit x = 720.4 y = -36.4 z = -651.8 detector = DummyHit ReadData INFO Hit x = 723.7 y = -42.0 z = -653.6 detector = DummyHitDetector ReadData INFO Hit x = 726.9 y = -47.7 z = -655.0 detector = DummyHitDetector ReadData INFO Hit x = 730.1 y = -53.4 z = -656.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 8 run: 0 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 801.2 y = -2.3 z = -573.3 detector = DummyHitDetector -ReadData INFO Hit x = 804.4 y = -8.0 z = -705.2 detector = DummyHitDetector -ReadData INFO Hit x = 807.6 y = -13.7 z = -729.7 detector = DummyHitDetector -ReadData INFO Hit x = 810.8 y = -19.3 z = -740.0 detector = DummyHitDetector -ReadData INFO Hit x = 814.0 y = -25.0 z = -745.7 detector = DummyHitDetector -ReadData INFO Hit x = 817.2 y = -30.7 z = -749.3 detector = DummyHitDetector -ReadData INFO Hit x = 820.4 y = -36.4 z = -751.8 detector = DummyHitDetector -ReadData INFO Hit x = 823.7 y = -42.0 z = -753.6 detector = DummyHitDetector -ReadData INFO Hit x = 826.9 y = -47.7 z = -755.0 detector = DummyHitDetector -ReadData INFO Hit x = 830.1 y = -53.4 z = -756.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -374,46 +246,6 @@ ReadData INFO Hit x = 1020.4 y = -36.4 z = -951.8 detector = DummyHi ReadData INFO Hit x = 1023.7 y = -42.0 z = -953.6 detector = DummyHitDetector ReadData INFO Hit x = 1026.9 y = -47.7 z = -955.0 detector = DummyHitDetector ReadData INFO Hit x = 1030.1 y = -53.4 z = -956.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 -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 = 222376821, key = Stream2 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 0 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1101.2 y = -2.3 z = -873.3 detector = DummyHitDetector -ReadData INFO Hit x = 1104.4 y = -8.0 z = -1005.2 detector = DummyHitDetector -ReadData INFO Hit x = 1107.6 y = -13.7 z = -1029.7 detector = DummyHitDetector -ReadData INFO Hit x = 1110.8 y = -19.3 z = -1040.0 detector = DummyHitDetector -ReadData INFO Hit x = 1114.0 y = -25.0 z = -1045.7 detector = DummyHitDetector -ReadData INFO Hit x = 1117.2 y = -30.7 z = -1049.3 detector = DummyHitDetector -ReadData INFO Hit x = 1120.4 y = -36.4 z = -1051.8 detector = DummyHitDetector -ReadData INFO Hit x = 1123.7 y = -42.0 z = -1053.6 detector = DummyHitDetector -ReadData INFO Hit x = 1126.9 y = -47.7 z = -1055.0 detector = DummyHitDetector -ReadData INFO Hit x = 1130.1 y = -53.4 z = -1056.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 -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 = 222376821, key = Stream3 -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -436,15 +268,28 @@ ReadData INFO Hit x = 1320.4 y = -36.4 z = -1251.8 detector = DummyH ReadData INFO Hit x = 1323.7 y = -42.0 z = -1253.6 detector = DummyHitDetector ReadData INFO Hit x = 1326.9 y = -47.7 z = -1255.0 detector = DummyHitDetector ReadData INFO Hit x = 1330.1 y = -53.4 z = -1256.1 detector = DummyHitDetector -ReadData INFO EventStreamInfo: Number of events = 5 +ReadData INFO EventStreamInfo: Number of events = 7 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 = 222376821, key = Stream3 +ReadData INFO CLID = 222376821, key = Stream2 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: +ReadData INFO EventInfo event: 17 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 1701.2 y = -2.3 z = -1473.3 detector = DummyHitDetector +ReadData INFO Hit x = 1704.4 y = -8.0 z = -1605.2 detector = DummyHitDetector +ReadData INFO Hit x = 1707.6 y = -13.7 z = -1629.7 detector = DummyHitDetector +ReadData INFO Hit x = 1710.8 y = -19.3 z = -1640.0 detector = DummyHitDetector +ReadData INFO Hit x = 1714.0 y = -25.0 z = -1645.7 detector = DummyHitDetector +ReadData INFO Hit x = 1717.2 y = -30.7 z = -1649.3 detector = DummyHitDetector +ReadData INFO Hit x = 1720.4 y = -36.4 z = -1651.8 detector = DummyHitDetector +ReadData INFO Hit x = 1723.7 y = -42.0 z = -1653.6 detector = DummyHitDetector +ReadData INFO Hit x = 1726.9 y = -47.7 z = -1655.0 detector = DummyHitDetector +ReadData INFO Hit x = 1730.1 y = -53.4 z = -1656.1 detector = DummyHitDetector ReadData INFO EventStreamInfo: Number of events = 7 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -454,19 +299,20 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream2 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 0 +ReadData INFO EventInfo event: 19 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1401.2 y = -2.3 z = -1173.3 detector = DummyHitDetector -ReadData INFO Hit x = 1404.4 y = -8.0 z = -1305.2 detector = DummyHitDetector -ReadData INFO Hit x = 1407.6 y = -13.7 z = -1329.7 detector = DummyHitDetector -ReadData INFO Hit x = 1410.8 y = -19.3 z = -1340.0 detector = DummyHitDetector -ReadData INFO Hit x = 1414.0 y = -25.0 z = -1345.7 detector = DummyHitDetector -ReadData INFO Hit x = 1417.2 y = -30.7 z = -1349.3 detector = DummyHitDetector -ReadData INFO Hit x = 1420.4 y = -36.4 z = -1351.8 detector = DummyHitDetector -ReadData INFO Hit x = 1423.7 y = -42.0 z = -1353.6 detector = DummyHitDetector -ReadData INFO Hit x = 1426.9 y = -47.7 z = -1355.0 detector = DummyHitDetector -ReadData INFO Hit x = 1430.1 y = -53.4 z = -1356.1 detector = DummyHitDetector +ReadData INFO Hit x = 1901.2 y = -2.3 z = -1673.3 detector = DummyHitDetector +ReadData INFO Hit x = 1904.4 y = -8.0 z = -1805.2 detector = DummyHitDetector +ReadData INFO Hit x = 1907.6 y = -13.7 z = -1829.7 detector = DummyHitDetector +ReadData INFO Hit x = 1910.8 y = -19.3 z = -1840.0 detector = DummyHitDetector +ReadData INFO Hit x = 1914.0 y = -25.0 z = -1845.7 detector = DummyHitDetector +ReadData INFO Hit x = 1917.2 y = -30.7 z = -1849.3 detector = DummyHitDetector +ReadData INFO Hit x = 1920.4 y = -36.4 z = -1851.8 detector = DummyHitDetector +ReadData INFO Hit x = 1923.7 y = -42.0 z = -1853.6 detector = DummyHitDetector +ReadData INFO Hit x = 1926.9 y = -47.7 z = -1855.0 detector = DummyHitDetector +ReadData INFO Hit x = 1930.1 y = -53.4 z = -1856.1 detector = DummyHitDetector +EventSelector INFO Disconnecting input sourceID: 1DF8D68E-6241-CD4C-A92A-C2B3B465F58C ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -476,28 +322,41 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 +ReadData INFO EventInfo event: 2 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 201.2 y = -2.3 z = 26.6 detector = DummyHitDetector +ReadData INFO Hit x = 204.4 y = -8.0 z = -105.2 detector = DummyHitDetector +ReadData INFO Hit x = 207.6 y = -13.7 z = -129.7 detector = DummyHitDetector +ReadData INFO Hit x = 210.8 y = -19.3 z = -140.0 detector = DummyHitDetector +ReadData INFO Hit x = 214.0 y = -25.0 z = -145.7 detector = DummyHitDetector +ReadData INFO Hit x = 217.2 y = -30.7 z = -149.3 detector = DummyHitDetector +ReadData INFO Hit x = 220.4 y = -36.4 z = -151.8 detector = DummyHitDetector +ReadData INFO Hit x = 223.7 y = -42.0 z = -153.6 detector = DummyHitDetector +ReadData INFO Hit x = 226.9 y = -47.7 z = -155.0 detector = DummyHitDetector +ReadData INFO Hit x = 230.1 y = -53.4 z = -156.1 detector = DummyHitDetector +ReadData INFO EventStreamInfo: Number of events = 5 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 = 222376821, key = Stream2 +ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 0 +ReadData INFO EventInfo event: 5 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1701.2 y = -2.3 z = -1473.3 detector = DummyHitDetector -ReadData INFO Hit x = 1704.4 y = -8.0 z = -1605.2 detector = DummyHitDetector -ReadData INFO Hit x = 1707.6 y = -13.7 z = -1629.7 detector = DummyHitDetector -ReadData INFO Hit x = 1710.8 y = -19.3 z = -1640.0 detector = DummyHitDetector -ReadData INFO Hit x = 1714.0 y = -25.0 z = -1645.7 detector = DummyHitDetector -ReadData INFO Hit x = 1717.2 y = -30.7 z = -1649.3 detector = DummyHitDetector -ReadData INFO Hit x = 1720.4 y = -36.4 z = -1651.8 detector = DummyHitDetector -ReadData INFO Hit x = 1723.7 y = -42.0 z = -1653.6 detector = DummyHitDetector -ReadData INFO Hit x = 1726.9 y = -47.7 z = -1655.0 detector = DummyHitDetector -ReadData INFO Hit x = 1730.1 y = -53.4 z = -1656.1 detector = DummyHitDetector +ReadData INFO Hit x = 501.2 y = -2.3 z = -273.3 detector = DummyHitDetector +ReadData INFO Hit x = 504.4 y = -8.0 z = -405.2 detector = DummyHitDetector +ReadData INFO Hit x = 507.6 y = -13.7 z = -429.7 detector = DummyHitDetector +ReadData INFO Hit x = 510.8 y = -19.3 z = -440.0 detector = DummyHitDetector +ReadData INFO Hit x = 514.0 y = -25.0 z = -445.7 detector = DummyHitDetector +ReadData INFO Hit x = 517.2 y = -30.7 z = -449.3 detector = DummyHitDetector +ReadData INFO Hit x = 520.4 y = -36.4 z = -451.8 detector = DummyHitDetector +ReadData INFO Hit x = 523.7 y = -42.0 z = -453.6 detector = DummyHitDetector +ReadData INFO Hit x = 526.9 y = -47.7 z = -455.0 detector = DummyHitDetector +ReadData INFO Hit x = 530.1 y = -53.4 z = -456.1 detector = DummyHitDetector ReadData INFO EventStreamInfo: Number of events = 5 ReadData INFO EventStreamInfo: ItemList: ReadData INFO CLID = 2101, key = McEventInfo @@ -507,28 +366,64 @@ ReadData INFO CLID = 1287802, key = MultiTestTrigMap ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 7 +ReadData INFO EventInfo event: 8 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 801.2 y = -2.3 z = -573.3 detector = DummyHitDetector +ReadData INFO Hit x = 804.4 y = -8.0 z = -705.2 detector = DummyHitDetector +ReadData INFO Hit x = 807.6 y = -13.7 z = -729.7 detector = DummyHitDetector +ReadData INFO Hit x = 810.8 y = -19.3 z = -740.0 detector = DummyHitDetector +ReadData INFO Hit x = 814.0 y = -25.0 z = -745.7 detector = DummyHitDetector +ReadData INFO Hit x = 817.2 y = -30.7 z = -749.3 detector = DummyHitDetector +ReadData INFO Hit x = 820.4 y = -36.4 z = -751.8 detector = DummyHitDetector +ReadData INFO Hit x = 823.7 y = -42.0 z = -753.6 detector = DummyHitDetector +ReadData INFO Hit x = 826.9 y = -47.7 z = -755.0 detector = DummyHitDetector +ReadData INFO Hit x = 830.1 y = -53.4 z = -756.1 detector = DummyHitDetector +ReadData INFO EventStreamInfo: Number of events = 5 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 = 222376821, key = Stream2 +ReadData INFO CLID = 222376821, key = Stream3 ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 0 +ReadData INFO EventInfo event: 11 run: 0 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1901.2 y = -2.3 z = -1673.3 detector = DummyHitDetector -ReadData INFO Hit x = 1904.4 y = -8.0 z = -1805.2 detector = DummyHitDetector -ReadData INFO Hit x = 1907.6 y = -13.7 z = -1829.7 detector = DummyHitDetector -ReadData INFO Hit x = 1910.8 y = -19.3 z = -1840.0 detector = DummyHitDetector -ReadData INFO Hit x = 1914.0 y = -25.0 z = -1845.7 detector = DummyHitDetector -ReadData INFO Hit x = 1917.2 y = -30.7 z = -1849.3 detector = DummyHitDetector -ReadData INFO Hit x = 1920.4 y = -36.4 z = -1851.8 detector = DummyHitDetector -ReadData INFO Hit x = 1923.7 y = -42.0 z = -1853.6 detector = DummyHitDetector -ReadData INFO Hit x = 1926.9 y = -47.7 z = -1855.0 detector = DummyHitDetector -ReadData INFO Hit x = 1930.1 y = -53.4 z = -1856.1 detector = DummyHitDetector +ReadData INFO Hit x = 1101.2 y = -2.3 z = -873.3 detector = DummyHitDetector +ReadData INFO Hit x = 1104.4 y = -8.0 z = -1005.2 detector = DummyHitDetector +ReadData INFO Hit x = 1107.6 y = -13.7 z = -1029.7 detector = DummyHitDetector +ReadData INFO Hit x = 1110.8 y = -19.3 z = -1040.0 detector = DummyHitDetector +ReadData INFO Hit x = 1114.0 y = -25.0 z = -1045.7 detector = DummyHitDetector +ReadData INFO Hit x = 1117.2 y = -30.7 z = -1049.3 detector = DummyHitDetector +ReadData INFO Hit x = 1120.4 y = -36.4 z = -1051.8 detector = DummyHitDetector +ReadData INFO Hit x = 1123.7 y = -42.0 z = -1053.6 detector = DummyHitDetector +ReadData INFO Hit x = 1126.9 y = -47.7 z = -1055.0 detector = DummyHitDetector +ReadData INFO Hit x = 1130.1 y = -53.4 z = -1056.1 detector = DummyHitDetector +ReadData INFO EventStreamInfo: Number of events = 5 +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 = 222376821, key = Stream3 +ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics +ReadData INFO TagInfo: +ReadData INFO EventInfo event: 14 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 1401.2 y = -2.3 z = -1173.3 detector = DummyHitDetector +ReadData INFO Hit x = 1404.4 y = -8.0 z = -1305.2 detector = DummyHitDetector +ReadData INFO Hit x = 1407.6 y = -13.7 z = -1329.7 detector = DummyHitDetector +ReadData INFO Hit x = 1410.8 y = -19.3 z = -1340.0 detector = DummyHitDetector +ReadData INFO Hit x = 1414.0 y = -25.0 z = -1345.7 detector = DummyHitDetector +ReadData INFO Hit x = 1417.2 y = -30.7 z = -1349.3 detector = DummyHitDetector +ReadData INFO Hit x = 1420.4 y = -36.4 z = -1351.8 detector = DummyHitDetector +ReadData INFO Hit x = 1423.7 y = -42.0 z = -1353.6 detector = DummyHitDetector +ReadData INFO Hit x = 1426.9 y = -47.7 z = -1355.0 detector = DummyHitDetector +ReadData INFO Hit x = 1430.1 y = -53.4 z = -1356.1 detector = DummyHitDetector +EventSelector INFO Disconnecting input sourceID: 78EDF7D6-FD21-B44B-AF40-0F63CDF4393A ReadData INFO EventStreamInfo: Number of events = 0 ReadData INFO EventStreamInfo: ItemList: ReadData INFO EventStreamInfo: Number of events = 1 @@ -552,4 +447,5 @@ ReadData INFO Hit x = 320.4 y = -36.4 z = -251.8 detector = DummyHit ReadData INFO Hit x = 323.7 y = -42.0 z = -253.6 detector = DummyHitDetector ReadData INFO Hit x = 326.9 y = -47.7 z = -255.0 detector = DummyHitDetector ReadData INFO Hit x = 330.1 y = -53.4 z = -256.1 detector = DummyHitDetector +EventSelector INFO Disconnecting input sourceID: 251DB35E-7448-3A43-8DA3-610D27DA8362 ReadData INFO in finalize() diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref index 45fa0d102aac94933c177cc1440df5a446cbcf0a..36f5a8982dc02db20ae33390488f46cf1de0dbf6 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestEventSplit.ref @@ -32,7 +32,7 @@ DecisionSvc INFO Inserting stream: Stream3 with no Algs Stream3.Stream3... INFO Initializing Stream3.Stream3Tool - package version AthenaServices-00-00-00 Stream3.Stream3... INFO Initializing Stream3.Stream3_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-00-00 Stream3 INFO Found HelperTools = PrivateToolHandleArray(['MakeEventStreamInfo/Stream3_MakeEventStreamInfo']) -Stream3 INFO Data output: AthenaPoolMultiTest_Split2.root +Stream3 INFO Data output: AthenaPoolMultiTest_Split3.root Stream3 INFO I/O reinitialization... DecisionSvc INFO Inserting stream: Others with no Algs Others.OthersTool INFO Initializing Others.OthersTool - package version AthenaServices-00-00-00 @@ -435,14 +435,22 @@ Stream3 INFO Records written: 6 Others INFO Records written: 2 Bad INFO Records written: 1 CollBit1.Regist... INFO Collection Events output: 7 +CollBit1.Regist... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_Split1.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) Coll23.Registra... INFO Collection Events output: 14 +Coll23.Registra... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_Split23.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) Coll456.Registr... INFO Collection Events output: 3 +Coll456.Registr... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_Split456.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) CollBar.Registr... INFO Collection Events output: 1 +CollBar.Registr... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_SplitBar.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) Coll1and7.Regis... INFO Collection Events output: 1 +Coll1and7.Regis... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_Split1plus7' already registered ( POOL : "registerPFN" from "FileCatalog" ) Coll348.Registr... INFO Collection Events output: 9 +Coll348.Registr... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_Split348.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) CollTrig.CollTr... INFO Collection Events output: 20 +CollTrig.CollTr... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_SplitTrig.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) CollBad.Registr... INFO Collection Events output: 0 PoolSvc INFO Writing ExplicitROOT Collection - do not pass session pointer +CollBad.Registr... INFO Unable to register collection: PFN 'RootCollection||PFN:Collection_SplitBad.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) Splitter1 INFO in finalize() Splitter2 INFO in finalize() Splitter3 INFO in finalize() diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/CheckImplicit_jo.py b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/CheckImplicit_jo.py index 359987ab30ea58989e5fb42a144536c0c00796be..2d4be1668e1ce74a8e61facf0942d1b3935d9af8 100755 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/CheckImplicit_jo.py +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/CheckImplicit_jo.py @@ -52,7 +52,7 @@ try: except: svcMgr.EventSelector.InputCollections = [ "AthenaPoolMultiTest_Split1.root" ]; svcMgr.EventSelector.InputCollections += [ "AthenaPoolMultiTest_Split2.root" ]; -# EventSelector.InputCollections += [ "AthenaPoolMultiTest_Split3.root" ]; + svcMgr.EventSelector.InputCollections += [ "AthenaPoolMultiTest_Split3.root" ]; svcMgr.EventSelector.InputCollections += [ "AthenaPoolMultiTest_Missed.root" ]; #-------------------------------------------------------------- diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/EventSplit_jo.py b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/EventSplit_jo.py index bf31cf15371bd55238719f2e4c8daff81888f936..5e6fadb71cecd573547e50027e6f1585bd8e31e5 100755 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/EventSplit_jo.py +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/EventSplit_jo.py @@ -125,7 +125,7 @@ Stream2 = AthenaPoolOutputStream( "Stream2", "AthenaPoolMultiTest_Split2.root", Stream2.CheckNumberOfWrites = False Stream1 = AthenaPoolOutputStream( "Stream1", "AthenaPoolMultiTest_Split1.root", True, noTag=True ) Stream1.CheckNumberOfWrites = False -Stream3 = AthenaPoolOutputStream( "Stream3", "AthenaPoolMultiTest_Split2.root", True, noTag=True ) +Stream3 = AthenaPoolOutputStream( "Stream3", "AthenaPoolMultiTest_Split3.root", True, noTag=True ) Stream3.CheckNumberOfWrites = False Others = AthenaPoolOutputStream( "Others", "AthenaPoolMultiTest_Missed.root", True, noTag=True ) Others.CheckNumberOfWrites = False @@ -148,7 +148,6 @@ Stream1.TakeItemsFromInput = True Stream1.ForceRead=TRUE Stream1.AcceptAlgs = ["Splitter1"] # bit 3 -# --- NOTE that this writes to the same file as STream2 *** Stream3.TakeItemsFromInput = True #Stream3.MetadataItemList += exampleMetadataList Stream3.ForceRead=TRUE diff --git a/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCool.py b/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCool.py index 5fbfd58f7d1cef428ef02367b95dd8c829cf4bb8..fa7b4746d407d131110e5ccc4c937ab13f18e89e 100755 --- a/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCool.py +++ b/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCool.py @@ -127,6 +127,8 @@ theApp.EvtMax = 25 # Load POOL support #-------------------------------------------------------------- import AthenaPoolCnvSvc.WriteAthenaPool +from AthenaCommon.AppMgr import ServiceMgr as svcMgr +svcMgr.AthenaPoolCnvSvc.PoolContainerPrefix = "ROOTTREE:CollectionTree" #-------------------------------------------------------------- # AthenaPool details diff --git a/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep2.py b/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep2.py index d3b8ac3fbe18095d756ec889f5d04180862e9100..42b834a9f0cc36c3f340ab0416f424a750ae078e 100755 --- a/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep2.py +++ b/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep2.py @@ -116,6 +116,8 @@ theApp.EvtMax = 25 # Load POOL support #-------------------------------------------------------------- import AthenaPoolCnvSvc.WriteAthenaPool +from AthenaCommon.AppMgr import ServiceMgr as svcMgr +svcMgr.AthenaPoolCnvSvc.PoolContainerPrefix = "ROOTTREE:CollectionTree" #-------------------------------------------------------------- # AthenaPool details diff --git a/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep3.py b/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep3.py index 6d4ed45abaeae6c21e5bfea06078ca1e57490444..872b368e51ce1771f126d58c10943493acd40ad6 100755 --- a/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep3.py +++ b/AtlasTest/DatabaseTest/IOVDbTestAlg/share/IOVDbTestAlgWriteCoolStep3.py @@ -122,7 +122,8 @@ theApp.EvtMax = 25 # Load POOL support #-------------------------------------------------------------- import AthenaPoolCnvSvc.WriteAthenaPool - +from AthenaCommon.AppMgr import ServiceMgr as svcMgr +svcMgr.AthenaPoolCnvSvc.PoolContainerPrefix = "ROOTTREE:CollectionTree" #-------------------------------------------------------------- # Use AthenaOutputStreamTool to write diff --git a/AtlasTest/TestTools/share/post.sh b/AtlasTest/TestTools/share/post.sh index 2ea658f7bcd77ca2c357b9db5e04e22f63f94647..02fe1b5d492ed4a8066710705fc15df664dcb4c3 100755 --- a/AtlasTest/TestTools/share/post.sh +++ b/AtlasTest/TestTools/share/post.sh @@ -193,6 +193,7 @@ PP="$PP"'|INFO massageEventInfo:' PP="$PP"'|Loop Finished' PP="$PP"'|Terminating thread-pool resources|Joining Scheduler thread' PP="$PP"'|DEBUG Calling destructor' +PP="$PP"'|INFO Found MetaDataTools' PP="$PP"'|INFO TopAlg list empty.' diff --git a/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.cxx b/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.cxx index eb88832d34632cf85a559967b57edd99dafcc428..bf738b0bc1e66710a2b8260e8d16bda3a6cd4866 100644 --- a/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.cxx +++ b/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.cxx @@ -54,6 +54,7 @@ StatusCode CaloRescaleNoise::initialize() ATH_CHECK( m_noiseTool.retrieve() ); ATH_CHECK( m_hvCorrTool.retrieve() ); + ATH_CHECK( m_cabling.retrieve()); ATH_CHECK( detStore()->regHandle(m_dd_HVScaleCorr,m_keyHVScaleCorr) ); m_tree = new TTree("mytree","Calo Noise ntuple"); @@ -94,6 +95,7 @@ StatusCode CaloRescaleNoise::stop() for (int i=0;i<ncell;i++) { IdentifierHash idHash=i; Identifier id=m_calo_id->cell_id(idHash); + HWIdentifier hwid=m_cabling->createSignalChannelID(id); const CaloDetDescrElement* calodde = calodetdescrmgr->get_element(id); int subCalo; IdentifierHash idSubHash = m_calo_id->subcalo_cell_hash (idHash, subCalo); @@ -143,7 +145,7 @@ StatusCode CaloRescaleNoise::stop() if (iCool<48) { hvcorr = m_hvCorrTool->Scale(id); - hvonline = m_dd_HVScaleCorr->HVScaleCorr(id); + hvonline = m_dd_HVScaleCorr->HVScaleCorr(hwid); } const double inv_hvonline = (hvonline != 0) ? 1. / hvonline : 1; diff --git a/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.h b/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.h index 3b41e57c30e919fc7883a37886a4bc4fed01a713..c7359e813539f30cc1b3edad83ab5c69854cade3 100644 --- a/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.h +++ b/Calorimeter/CaloCondPhysAlgs/src/CaloRescaleNoise.h @@ -24,6 +24,7 @@ #include "LArElecCalib/ILArHVScaleCorr.h" #include "StoreGate/DataHandle.h" +#include "LArCabling/LArCablingService.h" #include "GaudiKernel/ITHistSvc.h" #include "TTree.h" @@ -56,6 +57,7 @@ class CaloRescaleNoise : public AthAlgorithm { ToolHandle<ICaloNoiseTool> m_noiseTool; ToolHandle<ILArHVCorrTool> m_hvCorrTool; + ToolHandle<LArCablingService> m_cabling; std::string m_keyHVScaleCorr; const DataHandle<ILArHVScaleCorr> m_dd_HVScaleCorr; diff --git a/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.cxx b/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.cxx index 50b7fdd82f74c6094525338d2268e940f111b37f..fa0c557fbfa8cb34886d0047fb30270d9b9607dc 100644 --- a/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.cxx +++ b/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.cxx @@ -40,6 +40,7 @@ FCAL_HV_Energy_Rescale::~FCAL_HV_Energy_Rescale() StatusCode FCAL_HV_Energy_Rescale::initialize() { CHECK(m_hvCorrTool.retrieve()); + ATH_CHECK( m_cabling.retrieve()); return StatusCode::SUCCESS; } @@ -90,8 +91,9 @@ StatusCode FCAL_HV_Energy_Rescale::stop() if (calocell_id->is_fcal(h)) { ++nFCAL; Identifier id=calocell_id->cell_id(h); + HWIdentifier hwid=m_cabling->createSignalChannelID(id); const float corrNew=m_hvCorrTool->Scale(id); - const float upd1corr=upd1HVScaleCorr->HVScaleCorr(id); + const float upd1corr=upd1HVScaleCorr->HVScaleCorr(hwid); const float corr=corrNew/upd1corr; diff --git a/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.h b/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.h index 652ee80e6e2796467e2c70d0fe2c39614197ff76..a7178c1390c559da44e6188d6315bb478e4a6ac5 100644 --- a/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.h +++ b/Calorimeter/CaloCondPhysAlgs/src/FCAL_HV_Energy_Rescale.h @@ -10,6 +10,7 @@ #include "AthenaBaseComps/AthAlgorithm.h" #include "GaudiKernel/ToolHandle.h" #include "LArElecCalib/ILArHVCorrTool.h" +#include "LArCabling/LArCablingService.h" class FCAL_HV_Energy_Rescale: public AthAlgorithm { @@ -35,6 +36,7 @@ class FCAL_HV_Energy_Rescale: public AthAlgorithm private: ToolHandle<ILArHVCorrTool> m_hvCorrTool; + ToolHandle<LArCablingService> m_cabling; std::string m_folder; }; diff --git a/Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h b/Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h index 1a665a806a1d8d970b49cc690ce2b1cf7395b6b2..90c9f62b172b39484696bd59d3f58371180889af 100644 --- a/Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h +++ b/Calorimeter/CaloEvent/CaloEvent/CaloClusterMomentStore.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef CALOEVENT_CALOCLUSTERMOMENTSTORE_H @@ -59,7 +59,11 @@ class CaloClusterMomentStore CaloClusterMomentIterator(moment_store_const_iter iStore) ATH_CLING_BODY (: m_actual(iStore) { } ) /*! \brief Destructor */ +#ifdef __clang__ + ~CaloClusterMomentIterator(); +#else ~CaloClusterMomentIterator() ATH_CLING_BODY( { } ) +#endif /*! \brief Iterator advance method */ CaloClusterMomentIterator next() diff --git a/Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx b/Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx index 9e7a4e7374e10c76f2064762bc06fcdc9ee3fe45..be405ef58c74bb99760c187e2f80f36653f2e551 100644 --- a/Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx +++ b/Calorimeter/CaloEvent/src/CaloClusterMomentStore.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ @@ -68,3 +68,8 @@ bool CaloClusterMomentStore::retrieveMomentTypes(moment_type_list& } return oldSize < rMomList.size(); } + + +#ifdef __clang__ +CaloClusterMomentStore::CaloClusterMomentIterator::~CaloClusterMomentIterator() {} +#endif diff --git a/Calorimeter/CaloInterface/CaloInterface/ILArHVFraction.h b/Calorimeter/CaloInterface/CaloInterface/ILArHVFraction.h new file mode 100644 index 0000000000000000000000000000000000000000..a39ba244aba8266085fa66514265852c55c00ac1 --- /dev/null +++ b/Calorimeter/CaloInterface/CaloInterface/ILArHVFraction.h @@ -0,0 +1,44 @@ +///////////////////////// -*- C++ -*- ///////////////////////////// + +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +// ILArHVFraction.h +// Header file for class ILArHVFraction +/////////////////////////////////////////////////////////////////// +#ifndef LARELECCALIB_ILARHVFRACTION_H +#define LARELECCALIB_ILARHVFRACTION_H 1 + + +// FrameWork includes +#include "GaudiKernel/IAlgTool.h" +#include "GaudiKernel/EventContext.h" + + +// Forward declaration +class CaloClusterCellLinkContainer; + +static const InterfaceID IID_ILArHVFraction("ILArHVFraction", 1, 0); + +class ILArHVFraction + : virtual public ::IAlgTool +{ + public: + + /** Destructor: + */ + virtual ~ILArHVFraction() {}; + static const InterfaceID& interfaceID(); + + virtual std::pair<double,unsigned> getLArHVFrac(const CaloClusterCellLink* cclc,const EventContext& ctx) const=0; + +}; + +inline const InterfaceID& ILArHVFraction::interfaceID() +{ + return IID_ILArHVFraction; +} + + +#endif diff --git a/Calorimeter/CaloRec/python/CaloClusterTopoGetter.py b/Calorimeter/CaloRec/python/CaloClusterTopoGetter.py index de7904b86614a0a6e41e17890fe0799e89282b8b..7846eb2ae07ad81f5775ccee7cab2227887a3667 100644 --- a/Calorimeter/CaloRec/python/CaloClusterTopoGetter.py +++ b/Calorimeter/CaloRec/python/CaloClusterTopoGetter.py @@ -32,6 +32,8 @@ from AthenaCommon.AlgSequence import AlgSequence from AthenaCommon.GlobalFlags import globalflags from RecExConfig.RecFlags import rec +from LArCellRec.LArCellRecConf import LArHVFraction + from CaloTools.CaloNoiseToolDefault import CaloNoiseToolDefault theCaloNoiseTool = CaloNoiseToolDefault() from AthenaCommon.AppMgr import ToolSvc @@ -253,8 +255,7 @@ class CaloClusterTopoGetter ( Configured ) : if doDigiTruthFlag: TopoMoments_Truth = CaloClusterMomentsMaker_DigiHSTruth ("TopoMoments_Truth") - from LArRecUtils.LArHVScaleRetrieverDefault import LArHVScaleRetrieverDefault - TopoMoments_Truth.LArHVScaleRetriever=LArHVScaleRetrieverDefault() + TopoMoments_Truth.LArHVFraction=LArHVFraction(HVScaleCorrKey="LArHVScaleCorr") TopoMoments_Truth.WeightingOfNegClusters = jobproperties.CaloTopoClusterFlags.doTreatEnergyCutAsAbsolute() TopoMoments_Truth.MaxAxisAngle = 20*deg TopoMoments_Truth.CaloNoiseTool = theCaloNoiseTool @@ -296,8 +297,10 @@ class CaloClusterTopoGetter ( Configured ) : # only add HV related moments if it is offline. from IOVDbSvc.CondDB import conddb if not conddb.isOnline: - from LArRecUtils.LArHVScaleRetrieverDefault import LArHVScaleRetrieverDefault - TopoMoments.LArHVScaleRetriever=LArHVScaleRetrieverDefault() + if globalflags.DataSource=="data": + TopoMoments.LArHVFraction=LArHVFraction(HVScaleCorrKey="LArHVScaleCorrRecomputed") + else: + TopoMoments.LArHVFraction=LArHVFraction(HVScaleCorrKey="LArHVScaleCorr") TopoMoments.MomentsNames += ["ENG_BAD_HV_CELLS" ,"N_BAD_HV_CELLS" ] diff --git a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.cxx b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.cxx index 2d4eedba9b6f1a40f53e9bcfb03c9954b0f9fdf0..ff4c32a6ead37eba7a16d342494af6c37f3a6eb7 100644 --- a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.cxx +++ b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.cxx @@ -23,8 +23,8 @@ #include "CaloGeoHelpers/proxim.h" #include "CaloEvent/CaloPrefetch.h" #include "CaloDetDescr/CaloDetDescrManager.h" -#include "LArTools/LArHVFraction.h" #include "CaloInterface/ICalorimeterNoiseTool.h" +#include "CaloInterface/ILArHVFraction.h" #include "CaloGeoHelpers/CaloPhiRange.h" #include "CaloIdentifier/CaloCell_ID.h" #include "AthAllocators/ArenaPoolSTLAllocator.h" @@ -133,7 +133,7 @@ CaloClusterMomentsMaker::CaloClusterMomentsMaker(const std::string& type, m_twoGaussianNoise(false), m_caloDepthTool("CaloDepthTool",this), m_noiseTool("CaloNoiseTool"), - m_larHVScaleRetriever("LArHVScaleRetriever", this), + m_larHVFraction("LArHVFraction",this), m_absOpt(false) { declareInterface<CaloClusterCollectionProcessor> (this); @@ -163,7 +163,7 @@ CaloClusterMomentsMaker::CaloClusterMomentsMaker(const std::string& type, // use 2-gaussian noise for Tile declareProperty("TwoGaussianNoise",m_twoGaussianNoise); declareProperty("CaloNoiseTool",m_noiseTool,"Tool Handle for noise tool"); - declareProperty("LArHVScaleRetriever",m_larHVScaleRetriever,"Tool Handle for LAr HV Scale Retriever Tool"); + declareProperty("LArHVFraction",m_larHVFraction,"Tool Handle for LArHVFraction"); /// Not used anymore (with xAOD), but required to when configured from /// COOL via CaloRunClusterCorrections. @@ -262,16 +262,10 @@ StatusCode CaloClusterMomentsMaker::initialize() } if (m_calculateLArHVFraction) { - if(m_larHVScaleRetriever.retrieve().isFailure()){ - msg(MSG::WARNING) - << "Unable to find LAr HV Scale Retriever Tool" << endmsg; - } - else { - msg(MSG::INFO) << "LAr HV Scale Retriever Tool retrieved" << endmsg; - } + ATH_CHECK(m_larHVFraction.retrieve()); } else { - m_larHVScaleRetriever.disable(); + m_larHVFraction.disable(); } return StatusCode::SUCCESS; @@ -302,7 +296,7 @@ struct cellinfo { } // namespace CaloClusterMomentsMaker_detail StatusCode -CaloClusterMomentsMaker::execute(const EventContext& /*ctx*/, +CaloClusterMomentsMaker::execute(const EventContext& ctx, xAOD::CaloClusterContainer *theClusColl) const { @@ -359,11 +353,6 @@ CaloClusterMomentsMaker::execute(const EventContext& /*ctx*/, } } - const ILArHVCorrTool* hvCorrTool = nullptr; - if (m_calculateLArHVFraction) - hvCorrTool = &*m_larHVScaleRetriever; - LArHVFraction larHVFraction (hvCorrTool); - // Move allocation of temporary arrays outside the cluster loop. // That way, we don't need to delete and reallocate them // each time through the loop. @@ -454,12 +443,7 @@ CaloClusterMomentsMaker::execute(const EventContext& /*ctx*/, if ( ene > 0 ) { ePos += ene*weight; } - if ( m_calculateLArHVFraction ) { - if ( larHVFraction.isHVAffected(pCell) ) { - eBadLArHV += ene*weight; - nBadLArHV ++; - } - } + if ( m_calculateSignificance ) { double sigma = 0; if ( m_usePileUpNoise ) { @@ -555,6 +539,11 @@ CaloClusterMomentsMaker::execute(const EventContext& /*ctx*/, } } //end of loop over all cells + const auto hvFrac=m_larHVFraction->getLArHVFrac(theCluster->getCellLinks(),ctx); + eBadLArHV= hvFrac.first; + nBadLArHV=hvFrac.second; + + if ( w > 0 ) { mass = w*w - mx*mx - my*my - mz*mz; if ( mass > 0) { diff --git a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.h b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.h index bb5924d773b03d3ff8fd2314b10460d08bef7eab..650bffeeb304643041202ef7bc0a28fce97ca291 100644 --- a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.h +++ b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker.h @@ -35,13 +35,12 @@ class ICalorimeterNoiseTool; class CaloDetDescrManager; class CaloDetDescrElement; class CaloCell_ID; -class LArHVFraction; #include "StoreGate/DataHandle.h" #include "AthenaKernel/IOVSvcDefs.h" #include "CaloRec/CaloClusterCollectionProcessor.h" #include "CaloDetDescr/CaloDepthTool.h" -#include "LArElecCalib/ILArHVCorrTool.h" +#include "CaloInterface/ILArHVFraction.h" #include <string> #include <vector> @@ -133,7 +132,9 @@ class CaloClusterMomentsMaker: public AthAlgTool, virtual public CaloClusterColl ToolHandle<CaloDepthTool> m_caloDepthTool; // FIXME: mutable mutable ToolHandle<ICalorimeterNoiseTool> m_noiseTool; - ToolHandle<ILArHVCorrTool> m_larHVScaleRetriever; + //ToolHandle<ILArHVCorrTool> m_larHVScaleRetriever; + + ToolHandle<ILArHVFraction> m_larHVFraction; /// Not used anymore (with xAOD), but required to when configured from /// COOL via CaloRunClusterCorrections. diff --git a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.cxx b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.cxx index c390034bdb6474634f7c8bd2d243e31f0e8ed966..f3b032fb7fb3f352499ae0081b4bb0c70fc2c5d7 100755 --- a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.cxx +++ b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.cxx @@ -19,7 +19,6 @@ #include "CaloGeoHelpers/proxim.h" #include "CaloEvent/CaloPrefetch.h" #include "CaloDetDescr/CaloDetDescrManager.h" -#include "LArTools/LArHVFraction.h" #include "CaloInterface/ICalorimeterNoiseTool.h" #include "CaloGeoHelpers/CaloPhiRange.h" #include "CaloIdentifier/CaloCell_ID.h" @@ -129,7 +128,7 @@ CaloClusterMomentsMaker_DigiHSTruth::CaloClusterMomentsMaker_DigiHSTruth(const s m_twoGaussianNoise(false), m_caloDepthTool("CaloDepthTool",this), m_noiseTool("CaloNoiseTool"), - m_larHVScaleRetriever("LArHVScaleRetriever"), + m_larHVFraction("LArHVFraction",this), m_absOpt(false) { // Name(s) of Moments to calculate @@ -158,8 +157,8 @@ CaloClusterMomentsMaker_DigiHSTruth::CaloClusterMomentsMaker_DigiHSTruth(const s // use 2-gaussian noise for Tile declareProperty("TwoGaussianNoise",m_twoGaussianNoise); declareProperty("CaloNoiseTool",m_noiseTool,"Tool Handle for noise tool"); - declareProperty("LArHVScaleRetriever",m_larHVScaleRetriever,"Tool Handle for LAr HV Scale Retriever Tool"); - declareProperty("WeightingOfNegClusters", m_absOpt); + declareProperty("LArHVFraction",m_larHVFraction,"Tool Handle for LArHVFraction"); + declareProperty("WeightingOfNegClusters", m_absOpt); /// Not used anymore (with xAOD), but required to when configured from /// COOL via CaloRunClusterCorrections. @@ -263,14 +262,10 @@ StatusCode CaloClusterMomentsMaker_DigiHSTruth::initialize() } if (m_calculateLArHVFraction) { - - if(m_larHVScaleRetriever.retrieve().isFailure()){ - msg(MSG::WARNING) - << "Unable to find LAr HV Scale Retriever Tool" << endmsg; - } - else { - msg(MSG::INFO) << "LAr HV Scale Retriever Tool retrieved" << endmsg; - } + ATH_CHECK(m_larHVFraction.retrieve()); + } + else { + m_larHVFraction.disable(); } return StatusCode::SUCCESS; @@ -297,7 +292,7 @@ struct cellinfo { } // namespace CaloClusterMomentsMaker_detail StatusCode -CaloClusterMomentsMaker_DigiHSTruth::execute(const EventContext& /*ctx*/, +CaloClusterMomentsMaker_DigiHSTruth::execute(const EventContext& ctx, xAOD::CaloClusterContainer *theClusColl) const { @@ -369,13 +364,6 @@ CaloClusterMomentsMaker_DigiHSTruth::execute(const EventContext& /*ctx*/, } } - // setup LAr HV Fraction class in case the corresponding moments are - // requested - const ILArHVCorrTool* hvCorrTool = nullptr; - if (m_calculateLArHVFraction) - hvCorrTool = &*m_larHVScaleRetriever; - LArHVFraction larHVFraction (hvCorrTool); - // Move allocation of temporary arrays outside the cluster loop. // That way, we don't need to delete and reallocate them // each time through the loop. @@ -484,12 +472,6 @@ CaloClusterMomentsMaker_DigiHSTruth::execute(const EventContext& /*ctx*/, if ( ene > 0 ) { ePos += ene*weight; } - if ( m_calculateLArHVFraction ) { - if ( larHVFraction.isHVAffected(pCell) ) { - eBadLArHV += ene*weight; - nBadLArHV ++; - } - } if ( m_calculateSignificance ) { double sigma = 0; if ( m_usePileUpNoise ) { @@ -778,7 +760,11 @@ CaloClusterMomentsMaker_DigiHSTruth::execute(const EventContext& /*ctx*/, } } } //end of loop over cell - + + const auto hvFrac=m_larHVFraction->getLArHVFrac(theCluster->getCellLinks(),ctx); + eBadLArHV= hvFrac.first; + nBadLArHV=hvFrac.second; + // assign moments which don't need the loop over the cells for (size_t iMoment = 0, size = m_validMoments.size(); diff --git a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.h b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.h index 6dbabfefc9207370dacf0a1c6618f4026cc81d3b..d10ec87db5b6ad0181fcd05dd54d7f676bf94e87 100755 --- a/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.h +++ b/Calorimeter/CaloRec/src/CaloClusterMomentsMaker_DigiHSTruth.h @@ -37,7 +37,7 @@ class LArHVFraction; #include "AthenaKernel/IOVSvcDefs.h" #include "CaloRec/CaloClusterCollectionProcessor.h" #include "CaloDetDescr/CaloDepthTool.h" -#include "LArElecCalib/ILArHVCorrTool.h" +#include "CaloInterface/ILArHVFraction.h" //#include "fastjet/PseudoJet.hh" #include <string> #include <vector> @@ -130,7 +130,7 @@ class CaloClusterMomentsMaker_DigiHSTruth final: public extends<AthAlgTool, Calo ToolHandle<CaloDepthTool> m_caloDepthTool; ToolHandle<ICalorimeterNoiseTool> m_noiseTool; - ToolHandle<ILArHVCorrTool> m_larHVScaleRetriever; + ToolHandle<ILArHVFraction> m_larHVFraction; /// Not used anymore (with xAOD), but required to when configured from /// COOL via CaloRunClusterCorrections. diff --git a/Calorimeter/CaloTools/CaloTools/CaloNoiseTool.h b/Calorimeter/CaloTools/CaloTools/CaloNoiseTool.h index 87e82fa2455301acd03c1663523ba6d60990a2de..08c05058b81f43ba09d07e570add0f565b006021 100644 --- a/Calorimeter/CaloTools/CaloTools/CaloNoiseTool.h +++ b/Calorimeter/CaloTools/CaloTools/CaloNoiseTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /** @@ -39,6 +39,10 @@ class StoreGateSvc; #include "LArElecCalib/ILArADC2MeVTool.h" #include "TileConditions/TileInfo.h" +#include "TileConditions/ITileCellNoiseTool.h" +#include "TileConditions/TileCondToolNoiseSample.h" +#include "TileConditions/TileCondToolEmscale.h" +#include "TileConditions/TileCondIdTransforms.h" #include "CaloEvent/CaloCell.h" #include "LArRecEvent/LArCell.h" @@ -136,6 +140,19 @@ private: std::string m_tileInfoName; const TileInfo* m_tileInfo; + ToolHandle<ITileCellNoiseTool> m_tileCellNoise{this, + "TileCellNoiseTool", "TileCellNoiseTool", "Tile Cell noise tool"}; + + ToolHandle<TileCondToolEmscale> m_tileToolEmscale{this, + "TileCondToolEmscale", "TileCondToolEmscale", "Tile EM scale calibration tool"}; + + ToolHandle<TileCondToolNoiseSample> m_tileToolNoiseSample{this, + "TileCondToolNoiseSample", "TileCondToolNoiseSample", "Tile sample noise tool"}; + + ToolHandle<TileCondIdTransforms> m_tileIdTransforms{this, + "TileCondIdTransforms", "TileCondIdTransforms", + "Tile tool to tranlate hardware identifiers to the drawerIdx, channel, and adc"}; + //Database bool m_retrieve[15]; diff --git a/Calorimeter/CaloTools/CaloTools/CaloNoiseToolDB.h b/Calorimeter/CaloTools/CaloTools/CaloNoiseToolDB.h index 12ebd0a3d2294da59e883425d5256be756574c1c..053c8a2d9a1f8f9dc30f2f1ea408437fb70f3e5a 100644 --- a/Calorimeter/CaloTools/CaloTools/CaloNoiseToolDB.h +++ b/Calorimeter/CaloTools/CaloTools/CaloNoiseToolDB.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /** @@ -75,23 +75,23 @@ public: // which noise to return is defined via jobOptions or via the // optional parameter CalorimeterNoiseType - float getNoise(const CaloCell* caloCell, - CalorimeterNoiseType type=JOBOPTION ); - float getNoise(const CaloDetDescrElement* caloDDE, - CalorimeterNoiseType type=JOBOPTION ); + virtual float getNoise(const CaloCell* caloCell, + CalorimeterNoiseType type=JOBOPTION ) override; + virtual float getNoise(const CaloDetDescrElement* caloDDE, + CalorimeterNoiseType type=JOBOPTION ) override; float getNoise(const CaloCell* caloCell, float energy, - CalorimeterNoiseType type=JOBOPTION ); + CalorimeterNoiseType type=JOBOPTION ); - bool isEOverNSigma(const CaloCell* caloCell, float sigmaCut , - CalorimeterNoiseSymmetryHandling symmetryHandling=ONLYRIGHTSIDEINTEGRATION, - CalorimeterNoiseType type=JOBOPTION ); + virtual bool isEOverNSigma(const CaloCell* caloCell, float sigmaCut , + CalorimeterNoiseSymmetryHandling symmetryHandling=ONLYRIGHTSIDEINTEGRATION, + CalorimeterNoiseType type=JOBOPTION ) override; float calcSig(double e, double sigma1, double ratio, double sigma2); - float getRandomisedE(const CaloCell* caloCell , CLHEP::HepRandomEngine* engine, CalorimeterNoiseType type=JOBOPTION); + virtual float getRandomisedE(const CaloCell* caloCell , CLHEP::HepRandomEngine* engine, CalorimeterNoiseType type=JOBOPTION) override; - float getEffectiveSigma(const CaloCell* caloCell, - CalorimeterNoiseSymmetryHandling symmetryHandling=ONLYRIGHTSIDEINTEGRATION, - CalorimeterNoiseType type=JOBOPTION ); + virtual float getEffectiveSigma(const CaloCell* caloCell, + CalorimeterNoiseSymmetryHandling symmetryHandling=ONLYRIGHTSIDEINTEGRATION, + CalorimeterNoiseType type=JOBOPTION ) override; @@ -99,43 +99,43 @@ public: //''''''''' functions to use currently - float elecNoiseRMS(const CaloCell* caloCell, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMS(const CaloCell* caloCell, + const int step=ICaloNoiseToolStep::CELLS) override; //Returns the sigma of the electronic noise, finding itself the right gain //from the energy of the given caloCell. - float elecNoiseRMS(const CaloCell* caloCell, - const float Nminbias, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMS(const CaloCell* caloCell, + const float Nminbias, + const int step=ICaloNoiseToolStep::CELLS) override; // returns the same as above (Nminbias ignored in this implementation from database) - float elecNoiseRMSHighestGain(const CaloCell* caloCell, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMSHighestGain(const CaloCell* caloCell, + const int step=ICaloNoiseToolStep::CELLS) override; //Returns the sigma of the electronic noise for the caloDDE of the given //caloCELL and for the highest gain of the considered calorimeter //(eg: HG for LAr, MG for HEC, ...). - float elecNoiseRMSHighestGain(const CaloCell* caloCell, - const float Nminbias, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMSHighestGain(const CaloCell* caloCell, + const float Nminbias, + const int step=ICaloNoiseToolStep::CELLS) override; // same as above //''''''''' functions more specialized - float elecNoiseRMSHighestGain(const CaloDetDescrElement* caloDDE, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMSHighestGain(const CaloDetDescrElement* caloDDE, + const int step=ICaloNoiseToolStep::CELLS) override; //Returns the sigma of the electronic noise for the given caloDDE and //for the highest gain of the considered calorimeter (eg: MG for HEC). - float elecNoiseRMSHighestGain(const CaloDetDescrElement* caloDDE, - const float Nminbias, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMSHighestGain(const CaloDetDescrElement* caloDDE, + const float Nminbias, + const int step=ICaloNoiseToolStep::CELLS) override; //same as above - float elecNoiseRMS(const CaloDetDescrElement* caloDDE, - const CaloGain::CaloGain gain, - const float Nminbias, - const int step=ICaloNoiseToolStep::CELLS); + virtual float elecNoiseRMS(const CaloDetDescrElement* caloDDE, + const CaloGain::CaloGain gain, + const float Nminbias, + const int step=ICaloNoiseToolStep::CELLS) override; //Returns the sigma of the electronic noise for the given caloDDE, gain // Nminbias is ignored @@ -148,20 +148,23 @@ public: //case of 2-gaussian noise, gain // Nminbias is ignored + virtual std::vector<float> elecNoiseRMS3gains(const CaloDetDescrElement* caloDDE, - const int step=ICaloNoiseToolStep::CELLS); + const int step=ICaloNoiseToolStep::CELLS) override; //Returns a vector containing the sigma of the electronic noise for the //given caloDDE, for each gain of the considered calorimeter //(eg: vector of 3 sigma3 gains for LAr) + virtual std::vector<float> elecNoiseRMS3gains(const CaloDetDescrElement* caloDDE, const float Nminbias, - const int step=ICaloNoiseToolStep::CELLS); + const int step=ICaloNoiseToolStep::CELLS) override; //same as above, Nminbias ignored - VectorContainer* elecNoiseRMSContainer(const int &iCalo); + virtual + VectorContainer* elecNoiseRMSContainer(const int &iCalo) override; //TO BE USED ONLY FOR SPECIAL CASES //Returns a vector containing, for each Hash Identifier of the calorimeter //iCalo, a vector containing the sigma of the electronic noise for all @@ -173,38 +176,38 @@ public: //== PILEUP NOISE == - float pileupNoiseRMS(const CaloCell* caloCell, - const float Nminbias=-1); - float pileupNoiseRMS(const CaloDetDescrElement* caloDDE, - const float Nminbias=-1); + virtual float pileupNoiseRMS(const CaloCell* caloCell, + const float Nminbias=-1) override; + virtual float pileupNoiseRMS(const CaloDetDescrElement* caloDDE, + const float Nminbias=-1) override; //Nminbias is the number of minimum-bias events per bunch-crossing // (default is 0 (set in the constructor) ) //== TOTAL NOISE == (only at the "Cells" step) - float totalNoiseRMS(const CaloCell* caloCell, - const float Nminbias=-1); - float totalNoiseRMS(const CaloDetDescrElement* caloDDE, - const CaloGain::CaloGain gain, - const float Nminbias=-1); - float totalNoiseRMSHighestGain(const CaloCell* caloCell, - const float Nminbias=-1); - float totalNoiseRMSHighestGain(const CaloDetDescrElement* caloDDE, - const float Nminbias=-1); + virtual float totalNoiseRMS(const CaloCell* caloCell, + const float Nminbias=-1) override; + virtual float totalNoiseRMS(const CaloDetDescrElement* caloDDE, + const CaloGain::CaloGain gain, + const float Nminbias=-1) override; + virtual float totalNoiseRMSHighestGain(const CaloCell* caloCell, + const float Nminbias=-1) override; + virtual float totalNoiseRMSHighestGain(const CaloDetDescrElement* caloDDE, + const float Nminbias=-1) override; //== GAIN == Only there to fulfill the interface, returns INVALID values... - CaloGain::CaloGain estimatedGain(const CaloCell* caloCell, - const int &step); - CaloGain::CaloGain estimatedGain(const CaloCell* caloCell, - const CaloDetDescrElement* caloDDE, - const int &step); - CaloGain::CaloGain estimatedGain(const CaloDetDescrElement* caloDDE, - const float &energy, - const int &step); - - StatusCode LoadCalibration(IOVSVC_CALLBACK_ARGS); + virtual CaloGain::CaloGain estimatedGain(const CaloCell* caloCell, + const int &step) override; + virtual CaloGain::CaloGain estimatedGain(const CaloCell* caloCell, + const CaloDetDescrElement* caloDDE, + const int &step) override; + virtual CaloGain::CaloGain estimatedGain(const CaloDetDescrElement* caloDDE, + const float &energy, + const int &step) override; + + virtual StatusCode LoadCalibration(IOVSVC_CALLBACK_ARGS) override; private: diff --git a/Calorimeter/CaloTools/src/CaloNoiseTool.cxx b/Calorimeter/CaloTools/src/CaloNoiseTool.cxx index 936428fc5cbc96ddd87106687da0edbab932f2b3..2349d359ee687d847c8968e1e46c004da51c1940 100644 --- a/Calorimeter/CaloTools/src/CaloNoiseTool.cxx +++ b/Calorimeter/CaloTools/src/CaloNoiseTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include "CaloTools/CaloNoiseTool.h" @@ -356,9 +356,17 @@ CaloNoiseTool::initialize() }//UseLAr - if(m_UseTile) - { - //currently no database for Tile + if(m_UseTile) { + //currently no database for Tile + ATH_CHECK( m_tileCellNoise.retrieve() ); + ATH_CHECK( m_tileToolEmscale.retrieve() ); + ATH_CHECK( m_tileToolNoiseSample.retrieve() ); + ATH_CHECK( m_tileIdTransforms.retrieve() ); + } else { + m_tileCellNoise.disable(); + m_tileToolEmscale.disable(); + m_tileToolNoiseSample.disable(); + m_tileIdTransforms.disable(); } m_CNoise = 0.456E-3; @@ -894,7 +902,10 @@ CaloNoiseTool::calculateElecNoiseForTILE(const IdentifierHash & idCaloHash) for(int igain=0;igain<CaloGain::LARNGAIN;++igain) { CaloGain::CaloGain gain = static_cast<CaloGain::CaloGain>(igain); - float sigma = m_tileInfo->CellNoiseSigma(id,gain); + float sigma = m_tileCellNoise->getCellNoise(id, gain); + // Conversion from ADC sigma noise to OF sigma noise + sigma *= m_tileInfo->getNoiseScaleFactor(); + //the LAr gain is internally (in CellNoiseSigma) converted into Tile gain sigmaVector[igain]= sigma; //:::::::::::::::::::::::::::::::::::::: @@ -1950,42 +1961,56 @@ CaloNoiseTool::estimatedTileGain(const CaloCell* caloCell, //double eneTot = tileCell->energy(); // threshold (1023 counts) is the same for all channels - double thr = m_tileInfo->ADCmax(); + double threshold = m_tileInfo->ADCmax(); static const TileHWID * tileHWID = TileCablingService::getInstance()->getTileHWID(); static const IdContext chContext = tileHWID->channel_context(); - HWIdentifier hwid; + HWIdentifier hwid1; - tileHWID->get_id(caloDDE->onl1(), hwid, &chContext ); // pmt id - hwid = tileHWID->adc_id(hwid,TileHWID::HIGHGAIN); // high gain ADC id + tileHWID->get_id(caloDDE->onl1(), hwid1, &chContext ); // pmt id + hwid1 = tileHWID->adc_id(hwid1, TileHWID::HIGHGAIN); // high gain ADC id + unsigned int drawerIdx1(0), channel1(0), adc1(0); + m_tileIdTransforms->getIndices(hwid1, drawerIdx1, channel1, adc1); + // first PMT, convert energy to ADC counts - double amp = tileCell->ene1(); - amp /= m_tileInfo->ChannelCalib(hwid,TileRawChannelUnit::ADCcounts,TileRawChannelUnit::MegaElectronVolts); - double ped = m_tileInfo->DigitsPedLevel(hwid); + double amplitude1 = tileCell->ene1(); + amplitude1 /= m_tileToolEmscale->channelCalib(drawerIdx1, channel1, adc1, 1.0, + TileRawChannelUnit::ADCcounts, + TileRawChannelUnit::MegaElectronVolts); + + double pedestal1 = m_tileToolNoiseSample->getPed(drawerIdx1, channel1, adc1); int igain1; - if (amp + ped < thr ) + if (amplitude1 + pedestal1 < threshold ) { igain1 = TileID::HIGHGAIN; - else + } else { igain1 = TileID::LOWGAIN; + } // second PMT, if it exists - if (caloDDE->onl2() != TileID::NOT_VALID_HASH ) - { - tileHWID->get_id(caloDDE->onl2(), hwid, &chContext ); // pmt id - hwid = tileHWID->adc_id(hwid,TileHWID::HIGHGAIN); // high gain ADC id + if (caloDDE->onl2() != TileID::NOT_VALID_HASH ) { + + HWIdentifier hwid2; + tileHWID->get_id(caloDDE->onl2(), hwid2, &chContext ); // pmt id + hwid2 = tileHWID->adc_id(hwid2, TileHWID::HIGHGAIN); // high gain ADC id + + unsigned int drawerIdx2(0), channel2(0), adc2(0); + m_tileIdTransforms->getIndices(hwid2, drawerIdx2, channel2, adc2); - amp = tileCell->ene2(); - amp /= m_tileInfo->ChannelCalib(hwid,TileRawChannelUnit::ADCcounts,TileRawChannelUnit::MegaElectronVolts); - ped = m_tileInfo->DigitsPedLevel(hwid); + // first PMT, convert energy to ADC counts + double amplitude2 = tileCell->ene2(); + amplitude2 /= m_tileToolEmscale->channelCalib(drawerIdx2, channel2, adc2, 1.0, + TileRawChannelUnit::ADCcounts, + TileRawChannelUnit::MegaElectronVolts); - if (amp + ped < thr ) { + double pedestal2 = m_tileToolNoiseSample->getPed(drawerIdx2, channel2, adc2); + + if (amplitude2 + pedestal2 < threshold) { // igain2 high return igain1 == TileID::LOWGAIN ? CaloGain::TILEHIGHLOW : CaloGain::TILEHIGHHIGH; - } - else { + } else { // igain2 low return igain1 == TileID::LOWGAIN ? CaloGain::TILELOWLOW : CaloGain::TILEHIGHLOW; } diff --git a/Control/AthContainers/AthContainers/tools/AuxDataTraits.h b/Control/AthContainers/AthContainers/tools/AuxDataTraits.h index cdffb89821079e04f30cffd45439d4e6df2de4bf..0709fc4755cb87c13e5697820dc1b60bb7526bff 100644 --- a/Control/AthContainers/AthContainers/tools/AuxDataTraits.h +++ b/Control/AthContainers/AthContainers/tools/AuxDataTraits.h @@ -1,7 +1,7 @@ // This file's extension implies that it's C, but it's really -*- C++ -*-. /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id$ @@ -107,6 +107,21 @@ public: }; +/** + * @brief Helper to specialize how to make an initialized instance of @c T. + * + * SG::Zero<T>::zero() should return a fully-initialized instance of @c T. + */ +template <class T> +struct Zero +{ + static T zero() + { + return T(); + } +}; + + } // namespace SG diff --git a/Control/AthContainers/AthContainers/tools/AuxTypeVector.icc b/Control/AthContainers/AthContainers/tools/AuxTypeVector.icc index 978d552e031eec8e0a7de22681d32f1d7697b05f..b3269cadbb47672c302b43b053208fe7aaf412fd 100644 --- a/Control/AthContainers/AthContainers/tools/AuxTypeVector.icc +++ b/Control/AthContainers/AthContainers/tools/AuxTypeVector.icc @@ -348,7 +348,7 @@ void AuxTypeVectorHolder<T, CONT>::shift (size_t pos, ptrdiff_t offs) vec.rbegin()); std::fill (vec.begin() + pos*SCALE, vec.begin() + (pos+offs)*SCALE, - typename AuxDataTraits<T>::element_type()); + Zero<typename AuxDataTraits<T>::element_type>::zero()); } } diff --git a/Control/AthLinks/AthLinks/DataLink.icc b/Control/AthLinks/AthLinks/DataLink.icc index c53496b937abf7d1ace0a5ad4f1da74fa549c860..ae1fc6f582f66370fc2ba182029505a723153400 100644 --- a/Control/AthLinks/AthLinks/DataLink.icc +++ b/Control/AthLinks/AthLinks/DataLink.icc @@ -59,7 +59,7 @@ DataLink<STORABLE>::DataLink(const_reference data, IProxyDict* sg/*=0*/) template <typename STORABLE> inline DataLink<STORABLE>::DataLink(const_reference data, const EventContext& ctx) - : DataLinkBase (&data, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : DataLinkBase (&data, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -85,7 +85,7 @@ DataLink<STORABLE>::DataLink(const_pointer pdata, IProxyDict* sg/*=0*/) template <typename STORABLE> inline DataLink<STORABLE>::DataLink(const_pointer pdata, const EventContext& ctx) - : DataLinkBase (pdata, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : DataLinkBase (pdata, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -113,7 +113,7 @@ template <typename STORABLE> inline DataLink<STORABLE>::DataLink(const ID_type& dataID, const EventContext& ctx) - : DataLinkBase (dataID, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : DataLinkBase (dataID, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -143,7 +143,7 @@ DataLink<STORABLE>::DataLink(sgkey_t key, IProxyDict* sg /*=0*/) template <typename STORABLE> inline DataLink<STORABLE>::DataLink(sgkey_t key, const EventContext& ctx) - : DataLinkBase (key, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : DataLinkBase (key, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -190,7 +190,7 @@ inline void DataLink<STORABLE>::toStorableObject(const_reference data, const EventContext& ctx) { - DataLinkBase::toStorableObject (&data, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + DataLinkBase::toStorableObject (&data, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -222,7 +222,7 @@ inline void DataLink<STORABLE>::toIdentifiedObject(const ID_type& dataID, const EventContext& ctx) { - DataLinkBase::toIdentifiedObject (dataID, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + DataLinkBase::toIdentifiedObject (dataID, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -258,7 +258,7 @@ inline void DataLink<STORABLE>::toIdentifiedObject(sgkey_t key, const EventContext& ctx) { - DataLinkBase::toIdentifiedObject (key, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + DataLinkBase::toIdentifiedObject (key, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -298,7 +298,7 @@ template <typename STORABLE> inline void DataLink<STORABLE>::toDefaultObject (const EventContext& ctx) { - DataLinkBase::toIdentifiedObject (SG::DEFAULTKEY, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + DataLinkBase::toIdentifiedObject (SG::DEFAULTKEY, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -332,7 +332,7 @@ template <typename STORABLE> inline bool DataLink<STORABLE>::toTransient (const EventContext& ctx) { - return DataLinkBase::toTransient (ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + return DataLinkBase::toTransient (ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -370,7 +370,7 @@ inline bool DataLink<STORABLE>::toTransient (const ID_type& dataID, const EventContext& ctx) { - return DataLinkBase::toTransient (dataID, classID(), ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + return DataLinkBase::toTransient (dataID, classID(), ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } diff --git a/Control/AthLinks/AthLinks/DataLinkBase.icc b/Control/AthLinks/AthLinks/DataLinkBase.icc index e7a30cdb5b4cdc95c4bbe2f8537ab13b830ae9e5..72e9b4340fd3c3e23928b876a67c8a8faa372321 100644 --- a/Control/AthLinks/AthLinks/DataLinkBase.icc +++ b/Control/AthLinks/AthLinks/DataLinkBase.icc @@ -114,7 +114,7 @@ bool DataLinkBase::toTransient (IProxyDict* sg /*= 0*/) inline bool DataLinkBase::toTransient (const EventContext& ctx) { - m_proxy.toTransient (m_persKey, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + m_proxy.toTransient (m_persKey, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); return true; } @@ -158,7 +158,7 @@ bool DataLinkBase::toTransient (const ID_type& dataID, const EventContext& ctx) { if (!isDefault()) SG::throwExcBadToTransient(); - m_persKey = m_proxy.toTransient (dataID, link_clid, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + m_persKey = m_proxy.toTransient (dataID, link_clid, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); return true; } diff --git a/Control/AthLinks/AthLinks/ElementLink.icc b/Control/AthLinks/AthLinks/ElementLink.icc index e068411eb8f1b49a766f1a01dc0eda27c113309b..95775414ef45dcd7d5d052f807fd10c0f944a7a3 100644 --- a/Control/AthLinks/AthLinks/ElementLink.icc +++ b/Control/AthLinks/AthLinks/ElementLink.icc @@ -63,7 +63,7 @@ template <class STORABLE> inline ElementLink<STORABLE>::ElementLink(const ID_type& dataID, index_type elemID, const EventContext& ctx) - : Base (dataID, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : Base (dataID, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -95,7 +95,7 @@ template <class STORABLE> inline ElementLink<STORABLE>::ElementLink(sgkey_t key, index_type elemID, const EventContext& ctx) - : Base (key, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : Base (key, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -137,7 +137,7 @@ ElementLink<STORABLE>::ElementLink(const ID_type& dataID, index_type elemID, ElementType pEl, const EventContext& ctx) - : Base (dataID, classID(), elemID, pEl, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : Base (dataID, classID(), elemID, pEl, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -179,7 +179,7 @@ ElementLink<STORABLE>::ElementLink (sgkey_t key, index_type elemID, ElementType pEl, const EventContext& ctx) - : Base (key, classID(), elemID, pEl, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : Base (key, classID(), elemID, pEl, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -213,7 +213,7 @@ inline ElementLink<STORABLE>::ElementLink (BaseConstReference data, index_type elemID, const EventContext& ctx) - : Base (&data, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()) + : Base (&data, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()) { } @@ -516,7 +516,7 @@ ElementLink<STORABLE>::toIndexedElement(BaseConstReference data, index_type elemID, const EventContext& ctx) { - return Base::toIndexedElement (&data, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + return Base::toIndexedElement (&data, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -571,7 +571,7 @@ bool ElementLink<STORABLE>::toContainedElement(BaseConstReference data, { index_type index = this->index(); IndexingPolicy::reverseLookup (data, element, index); - bool ret = Base::toIndexedElement (&data, classID(), index, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + bool ret = Base::toIndexedElement (&data, classID(), index, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); if (ret) this->storeCachedElement (element); return ret; @@ -660,7 +660,7 @@ bool ElementLink<STORABLE>::setStorableObject(BaseConstReference data, bool replace, const EventContext& ctx) { - bool ret = Base::setStorableObject (&data, classID(), replace, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + bool ret = Base::setStorableObject (&data, classID(), replace, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); if (ret) { ElementConstPointer elt = 0; if (this->isDefaultIndex() && this->getCachedElement (elt)) { @@ -706,7 +706,7 @@ void ElementLink<STORABLE>::resetWithKeyAndIndex(const ID_type& dataID, index_type elemID, const EventContext& ctx) { - Base::resetWithKeyAndIndex (dataID, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + Base::resetWithKeyAndIndex (dataID, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } @@ -742,7 +742,7 @@ void ElementLink<STORABLE>::resetWithKeyAndIndex(sgkey_t key, index_type elemID, const EventContext& ctx) { - Base::resetWithKeyAndIndex (key, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()); + Base::resetWithKeyAndIndex (key, classID(), elemID, ctx.getExtension<Atlas::ExtendedEventContext>().proxy()); } diff --git a/Control/AthToolSupport/AsgTools/AsgTools/AsgMetadataTool.h b/Control/AthToolSupport/AsgTools/AsgTools/AsgMetadataTool.h index 8ef2deb2421f489a7e9451f8f80ca2d707144927..548cdfa5d2d3a85ce433022699536f4d1e0bcfc0 100644 --- a/Control/AthToolSupport/AsgTools/AsgTools/AsgMetadataTool.h +++ b/Control/AthToolSupport/AsgTools/AsgTools/AsgMetadataTool.h @@ -102,8 +102,6 @@ namespace asg { protected: /// @name Callback functions helping in metadata reading/writing /// @{ - - void setUseIncidents(const bool flag); /// Function receiving incidents from IncidentSvc/TEvent virtual void handle( const Incident& inc ); @@ -133,15 +131,8 @@ namespace asg { /// input file bool m_beginInputFileCalled; - bool m_useIncidents; - }; // class AsgMetadataTool - inline void AsgMetadataTool::setUseIncidents(const bool flag) - { - m_useIncidents = flag; - } - } // namespace asg // Include the template implementation(s): diff --git a/Control/AthToolSupport/AsgTools/Root/AsgMetadataTool.cxx b/Control/AthToolSupport/AsgTools/Root/AsgMetadataTool.cxx index 6638d9ff47a06261fb2589b00dec79dd5a89e406..4f2f109fae6847759c87a49d7518658c79d84135 100644 --- a/Control/AthToolSupport/AsgTools/Root/AsgMetadataTool.cxx +++ b/Control/AthToolSupport/AsgTools/Root/AsgMetadataTool.cxx @@ -41,8 +41,7 @@ namespace asg { m_inputMetaStore( "StoreGateSvc/InputMetaDataStore", name ), m_outputMetaStore( "StoreGateSvc/MetaDataStore", name ), #endif // Environment selection - m_beginInputFileCalled( false ), - m_useIncidents (true) + m_beginInputFileCalled( false ) { #ifdef ASGTOOL_STANDALONE @@ -115,17 +114,17 @@ namespace asg { StatusCode AsgMetadataTool::sysInitialize() { #ifdef ASGTOOL_ATHENA - if (m_useIncidents) { - // Connect to the IncidentSvc: - ServiceHandle< IIncidentSvc > incSvc( "IncidentSvc", name() ); - ATH_CHECK( incSvc.retrieve() ); - - // Set up the right callbacks: don't rethrow exceptions, any failure and we should end - incSvc->addListener( this, IncidentType::BeginEvent, 0, false ); - incSvc->addListener( this, IncidentType::BeginInputFile, 0, false ); - incSvc->addListener( this, IncidentType::EndInputFile, 0, false ); - incSvc->addListener( this, IncidentType::MetaDataStop, 70, false ); - } + + // Connect to the IncidentSvc: + ServiceHandle< IIncidentSvc > incSvc( "IncidentSvc", name() ); + ATH_CHECK( incSvc.retrieve() ); + + // Set up the right callbacks: don't rethrow exceptions, any failure and we should end + incSvc->addListener( this, IncidentType::BeginEvent, 0, false ); + incSvc->addListener( this, IncidentType::BeginInputFile, 0, false ); + incSvc->addListener( this, IncidentType::EndInputFile, 0, false ); + incSvc->addListener( this, IncidentType::MetaDataStop, 70, false ); + // Let the base class do its thing: ATH_CHECK( AlgTool::sysInitialize() ); diff --git a/Control/AthViews/AthViews/ViewHelper.h b/Control/AthViews/AthViews/ViewHelper.h index e60808e84258aa6e5a5c508b2163d8d7f5528f8a..0db05af03d4858e7930d5a68ef3c4733109de155 100644 --- a/Control/AthViews/AthViews/ViewHelper.h +++ b/Control/AthViews/AthViews/ViewHelper.h @@ -80,11 +80,16 @@ namespace ViewHelper EventContext const& SourceContext, IScheduler * Scheduler ) { //Prevent view nesting - test if source context has view attached - Atlas::ExtendedEventContext const* extendedContext = SourceContext.template getExtension<Atlas::ExtendedEventContext>(); - if ( dynamic_cast< SG::View* >( extendedContext->proxy() ) ) - { - return StatusCode::FAILURE; + if ( SourceContext.template hasExtension<Atlas::ExtendedEventContext>() ) { + if ( dynamic_cast< SG::View* >( SourceContext.template getExtension<Atlas::ExtendedEventContext>().proxy() ) ) { + return StatusCode::FAILURE; + } } + // Atlas::ExtendedEventContext const* extendedContext = SourceContext.template getExtension<Atlas::ExtendedEventContext>(); + // if ( dynamic_cast< SG::View* >( extendedContext->proxy() ) ) + // { + // return StatusCode::FAILURE; + // } //Retrieve the scheduler if ( !Scheduler ) @@ -94,11 +99,12 @@ namespace ViewHelper if ( not ViewVector->empty() ) { + Atlas::ExtendedEventContext const extendedContext = SourceContext.template getExtension<Atlas::ExtendedEventContext>(); for ( SG::View* view : *ViewVector ) { //Make a context with the view attached auto viewContext = std::make_unique< EventContext >( SourceContext ); - viewContext->setExtension( Atlas::ExtendedEventContext( view, extendedContext->conditionsRun() ) ); + viewContext->setExtension( Atlas::ExtendedEventContext( view, extendedContext.conditionsRun() ) ); //Attach the view to the named node StatusCode sc = Scheduler->scheduleEventView( &SourceContext, NodeName, std::move( viewContext ) ); diff --git a/Control/AthViews/src/ViewDataVerifier.cxx b/Control/AthViews/src/ViewDataVerifier.cxx index f19ed6d8598951bcfdff39a81267c3893d6d3a51..3c87fda21b11b55a0b98189d15504d0d27a538d9 100644 --- a/Control/AthViews/src/ViewDataVerifier.cxx +++ b/Control/AthViews/src/ViewDataVerifier.cxx @@ -78,7 +78,7 @@ StatusCode ViewDataVerifier::execute() ATH_MSG_DEBUG ("Executing " << name() << "..."); // Retrieve the current view from the EventContext - auto viewProxy = getContext().getExtension<Atlas::ExtendedEventContext>()->proxy(); + auto viewProxy = getContext().getExtension<Atlas::ExtendedEventContext>().proxy(); ATH_MSG_INFO( name() << " running with store " << viewProxy->name() ); diff --git a/Control/AthViews/src/ViewTestAlg.cxx b/Control/AthViews/src/ViewTestAlg.cxx index 9f18161dc7dc21ebbd0404b12d75501e77f65efe..6bfa9dcfca95253c3c6eb6f55be7a816bb077262 100644 --- a/Control/AthViews/src/ViewTestAlg.cxx +++ b/Control/AthViews/src/ViewTestAlg.cxx @@ -59,7 +59,7 @@ StatusCode ViewTestAlg::execute() { ATH_MSG_DEBUG ("Executing " << name() << "..."); - ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>()->proxy()->name() ); + ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>().proxy()->name() ); return StatusCode::SUCCESS; } diff --git a/Control/AthViews/src_dflow/ConditionTestAlg.cxx b/Control/AthViews/src_dflow/ConditionTestAlg.cxx index e019b1379fe44f5f842fe6e77ffe312374311a20..85d187c024f30ff15d6da42c671722454eb1abf8 100644 --- a/Control/AthViews/src_dflow/ConditionTestAlg.cxx +++ b/Control/AthViews/src_dflow/ConditionTestAlg.cxx @@ -73,7 +73,7 @@ StatusCode ConditionTestAlg::execute() const EventContext& ctx = *getContext(); #endif - ATH_MSG_INFO( name() << " running with store " << ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()->name() ); + ATH_MSG_INFO( name() << " running with store " << ctx.getExtension<Atlas::ExtendedEventContext>().proxy()->name() ); // Make a (large) validity range EventIDBase begin (0, diff --git a/Control/AthViews/src_dflow/DFlowAlg3.cxx b/Control/AthViews/src_dflow/DFlowAlg3.cxx index 9c0fac8c4dcc1718871b0b6ff0e4a28c7a1e93f5..a60ad5276598c38677357f3fc106afd961fe0841 100644 --- a/Control/AthViews/src_dflow/DFlowAlg3.cxx +++ b/Control/AthViews/src_dflow/DFlowAlg3.cxx @@ -114,7 +114,7 @@ StatusCode DFlowAlg3::execute() // create a temporary r-handle SG::ReadHandle< std::vector<int> > ints( inputVectorHandle.name() ); - StatusCode sc = ints.setProxyDict( ctx.getExtension<Atlas::ExtendedEventContext>()->proxy() ); + StatusCode sc = ints.setProxyDict( ctx.getExtension<Atlas::ExtendedEventContext>().proxy() ); if ( !sc.isSuccess() ) ATH_MSG_INFO( "Failed to load view " ); ATH_MSG_INFO( "temporary r-handle[ints] - size: " << ints->size() ); diff --git a/Control/AthenaBaseComps/AthenaBaseComps/AthCommonDataStore.h b/Control/AthenaBaseComps/AthenaBaseComps/AthCommonDataStore.h index 38c2771a8eb5a4d40e7b6880e02b007ca02a1856..0055cbb0791b1274db1f77b2f0fef6d38cf7d74e 100644 --- a/Control/AthenaBaseComps/AthenaBaseComps/AthCommonDataStore.h +++ b/Control/AthenaBaseComps/AthenaBaseComps/AthCommonDataStore.h @@ -273,6 +273,7 @@ public: // << "\n"; // debug() << ost.str() << endmsg; + hndArr.setOwner(this); m_vhka.push_back(&hndArr); Property* p = PBASE::declareProperty(name, hndArr, doc); diff --git a/Control/AthenaBaseComps/src/AthReentrantAlgorithm.cxx b/Control/AthenaBaseComps/src/AthReentrantAlgorithm.cxx index d658de0ea31ec0a01d4c0e59459328ee1fc21deb..f60c8cd210d2b3b173ad7d6e60632e70ec7c5963 100644 --- a/Control/AthenaBaseComps/src/AthReentrantAlgorithm.cxx +++ b/Control/AthenaBaseComps/src/AthReentrantAlgorithm.cxx @@ -95,7 +95,17 @@ StatusCode AthReentrantAlgorithm::sysExecute (const EventContext& ctx) // the algorithm. If the context is referencing any dynamic memory, // then we can end up with a double-delete. So clear out any extension --- // we won't actually use the context we pass to here for anything anyway. - ctx2.setExtension (boost::any()); + + if (ctx.hasExtension<Atlas::ExtendedEventContext>()) { + ctx2.setExtension( Atlas::ExtendedEventContext() ); + } else if (ctx.hasExtension()) { + ATH_MSG_ERROR("EventContext " << ctx + << " has an extended context of an unknown type: \"" + << System::typeinfoName( ctx.getExtensionType() ) + << "\". Can't progress."); + return StatusCode::FAILURE; + } + return ::ReEntAlgorithm::sysExecute (ctx2); } diff --git a/Control/AthenaBaseComps/test/AthReentrantAlgorithm_test.cxx b/Control/AthenaBaseComps/test/AthReentrantAlgorithm_test.cxx index d126936415f1ff7f0e59d183e33d17c952f9ed76..31df7275dcf8acebb57a183cea503c3e2d85348a 100644 --- a/Control/AthenaBaseComps/test/AthReentrantAlgorithm_test.cxx +++ b/Control/AthenaBaseComps/test/AthReentrantAlgorithm_test.cxx @@ -85,7 +85,7 @@ StatusCode MyAlg::initialize() StatusCode MyAlg::execute_r (const EventContext& ctx) const { - pdict = ctx.getExtension<Atlas::ExtendedEventContext>()->proxy(); + pdict = ctx.getExtension<Atlas::ExtendedEventContext>().proxy(); return StatusCode::SUCCESS; } diff --git a/Control/AthenaConfiguration/python/iconfTool/gui/__init__.py b/Control/AthenaConfiguration/python/iconfTool/gui/__init__.py old mode 100755 new mode 100644 diff --git a/Control/AthenaKernel/AthenaKernel/CondCont.h b/Control/AthenaKernel/AthenaKernel/CondCont.h index fa14547ec2a40e8dde18a16745904f74908afc32..358f45c8fa81f984c4e31409fbea5bd05a4e3497 100644 --- a/Control/AthenaKernel/AthenaKernel/CondCont.h +++ b/Control/AthenaKernel/AthenaKernel/CondCont.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration. + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. */ // /** @@ -137,6 +137,12 @@ public: virtual void list (std::ostream& ost) const = 0; + /** + * @brief Dump the container to cout. For calling from the debugger. + */ + void print() const; + + /** * @brief Return the number of conditions objects in the container. */ @@ -276,6 +282,20 @@ public: virtual size_t maxSize() const = 0; + /** + * @brief Extend the range of the last IOV. + * @param newRange New validity range. + * @param ctx Event context. + * + * Returns failure if the start time of @c newRange does not match the start time + * of the last IOV in the container. Otherwise, the end time for the last + * IOV is changed to the end time for @c newRange. (If the end time for @c newRange + * is before the end of the last IOV, then nothing is changed.) + */ + virtual StatusCode extendLastRange (const EventIDRange& newRange, + const EventContext& ctx = Gaudi::Hive::currentContext()) = 0; + + /** * @brief Make a run+lbn key from an EventIDBase. * @param Event ID to convert. @@ -334,6 +354,17 @@ public: { return t >= r.m_start && t< r.m_stop; } + bool extendRange (RangeKey& r, const RangeKey& newRange) const + { + if (r.m_start != newRange.m_start) { + return false; + } + if (newRange.m_stop > r.m_stop) { + r.m_stop = newRange.m_stop; + r.m_range = newRange.m_range; + } + return true; + } }; @@ -718,6 +749,10 @@ public: virtual size_t maxSize() const override; + virtual StatusCode extendLastRange (const EventIDRange& newRange, + const EventContext& ctx = Gaudi::Hive::currentContext()) override; + + protected: /** * @brief Internal constructor. diff --git a/Control/AthenaKernel/AthenaKernel/CondCont.icc b/Control/AthenaKernel/AthenaKernel/CondCont.icc index 6c33e65451f5d39699e262ff2e0debca934b794f..7432e3c35d3ea185fd332571383345267bf9a38c 100644 --- a/Control/AthenaKernel/AthenaKernel/CondCont.icc +++ b/Control/AthenaKernel/AthenaKernel/CondCont.icc @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration. + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. */ // $Id$ /** @@ -529,6 +529,41 @@ size_t CondCont<T>::maxSize() const } +/** + * @brief Extend the range of the last IOV. + * @param newRange New validity range. + * @param ctx Event context. + * + * Returns failure if the start time of @c newRange does not match the start time + * of the last IOV in the container. Otherwise, the end time for the last + * IOV is changed to the end time for @c newRange. (If the end time for @c newRange + * is before the end of the last IOV, then nothing is changed.) + */ +template <typename T> +StatusCode +CondCont<T>::extendLastRange (const EventIDRange& newRange, + const EventContext& ctx /*= Gaudi::Hive::currentContext()*/) +{ + typename CondContSet::const_iterator it = nullptr; + if (newRange.start().isRunLumi()) { + it = m_condSet_RE.extendLastRange + (RangeKey (newRange, + CondContBase::keyFromRunLBN (newRange.start()), + CondContBase::keyFromRunLBN (newRange.stop())), ctx); + } + else if (newRange.start().isTimeStamp()) { + it = m_condSet_clock.extendLastRange + (RangeKey (newRange, + CondContBase::keyFromTimestamp (newRange.start()), + CondContBase::keyFromTimestamp (newRange.stop())), ctx); + } + if (it != nullptr) { + return StatusCode::SUCCESS; + } + return StatusCode::FAILURE; +} + + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ diff --git a/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.h b/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.h deleted file mode 100644 index d4776afc38cf3733638b9306add75bfdc8ac696c..0000000000000000000000000000000000000000 --- a/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef GENERICMETADATATOOL_H -#define GENERICMETADATATOOL_H - -/** @file GenericMetadataTool.h - * @brief This file contains the class definition for the GenericMetadataTool class. - * @author Jack Cranshaw <cranshaw@anl.gov> - * $Id: $ - **/ - -#include "AthenaBaseComps/AthAlgTool.h" -#include "AthenaKernel/IMetaDataTool.h" -#include "GaudiKernel/IIncidentListener.h" -#include "GaudiKernel/ServiceHandle.h" - -#include <string> - -/** @class GenericMetadataTool - * @brief This class provides the basic functionality for processing metadata in the athena framework. The derived class must simply implement merge functionality in the updateContainer method. - **/ - -template <typename T, typename U> -class GenericMetadataTool : public AthAlgTool, public virtual ::IMetaDataTool -{ -public: // Constructor and Destructor - /// Standard Service Constructor - GenericMetadataTool(const std::string& type, - const std::string& name, - const IInterface* parent); - /// Destructor - virtual ~GenericMetadataTool(); - -public: - virtual StatusCode metaDataStop(const SG::SourceID&); - virtual StatusCode beginInputFile(const SG::SourceID& sid = "Serial"); - virtual StatusCode endInputFile(const SG::SourceID& sid = "Serial"); - virtual StatusCode initialize(); - virtual StatusCode finalize(); - -protected: - ServiceHandle<StoreGateSvc> inputMetaStore() const; - ServiceHandle<StoreGateSvc> outputMetaStore() const; - - /// Helper class to update a container with information from another one - virtual StatusCode updateContainer( T* contToUpdate, - const T* otherCont ) = 0; - - StatusCode initOutputContainer(const std::string& sgkey); - - StatusCode buildAthenaInterface(const std::string& inputName, - const std::string& outputName, - const SG::SourceID& sid); - - /// Fill Cutflow information - StatusCode addProcessMetadata(); - - /// Pointer to cut flow svc - ServiceHandle<StoreGateSvc> m_inputMetaStore; - ServiceHandle<StoreGateSvc> m_outputMetaStore; - - /// The name of the output Container - std::string m_outputCollName; - /// The name of the input Container - std::string m_inputCollName; - /// The name of the process Container - std::string m_procMetaName; - - bool m_processMetadataTaken; - bool m_markIncomplete; - - /// List of source ids which have reached end file - std::set<SG::SourceID> m_fullreads; - std::set<SG::SourceID> m_read; - std::set<SG::SourceID> m_written; - -}; - -template <typename T, typename U> -inline ServiceHandle<StoreGateSvc> GenericMetadataTool<T,U>::inputMetaStore() const -{ - return m_inputMetaStore; -} - -template <typename T, typename U> -inline ServiceHandle<StoreGateSvc> GenericMetadataTool<T,U>::outputMetaStore() const -{ - return m_outputMetaStore; -} - -#include "GenericMetadataTool.icc" -#endif - diff --git a/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.icc b/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.icc deleted file mode 100644 index b8776344f30f2a2142aee263b24b59148bfe2697..0000000000000000000000000000000000000000 --- a/Control/AthenaKernel/AthenaKernel/GenericMetadataTool.icc +++ /dev/null @@ -1,511 +0,0 @@ -///////////////////////// -*- C++ -*- ///////////////////////////// - -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Implementation file for class GenericMetadataTool -// Authors: Joao Firmino da Costa <joao.costa@cern.ch> and David Cote <david.cote@cern.ch> -/////////////////////////////////////////////////////////////////// - -// STL include -#include <algorithm> - -#include "GaudiKernel/Incident.h" -#include "GaudiKernel/FileIncident.h" -#include "GaudiKernel/IIncidentSvc.h" -#include "AthenaKernel/MetaCont.h" -#include "AthenaKernel/ClassID_traits.h" -#include "AthenaKernel/errorcheck.h" -#include "StoreGate/WriteMetaHandle.h" -#include "AthenaBaseComps/AthCheckMacros.h" -#include "AthContainersInterfaces/IConstAuxStoreMeta.h" - -template <typename T, typename U> -GenericMetadataTool<T,U>::GenericMetadataTool(const std::string& type, - const std::string& name, - const IInterface* parent) - : AthAlgTool(type,name,parent), - m_inputMetaStore( "StoreGateSvc/InputMetaDataStore", name ), - m_outputMetaStore( "StoreGateSvc/MetaDataStore", name ), - m_processMetadataTaken(false), - m_markIncomplete(true) -{ - declareProperty("OutputCollName", m_outputCollName="GenericMetadataOutput", - "The default name of the container for output files"); - declareProperty("InputCollName", m_inputCollName = "GenericMetadataInput", - "The default name of the container for input files"); - declareProperty("ProcessMetadataCollName", m_procMetaName = "ProcessMetadata", - "The default name of the container for process meta"); - declareProperty("MarkIncomplete", m_markIncomplete = true, - "Defaults to filling both complete and incomplete bookkeepers"); - declareInterface< ::IMetaDataTool >( this ); -} - - - -template <typename T, typename U> -GenericMetadataTool<T,U>::~GenericMetadataTool() -{ -} - - - -template <typename T, typename U> -StatusCode -GenericMetadataTool<T,U>::initialize() -{ - ATH_MSG_DEBUG( "Initializing " << name() << " - package version " << PACKAGE_VERSION ); - - ATH_MSG_DEBUG("InputCollName = " << m_inputCollName); - ATH_MSG_DEBUG("OutputCollName = " << m_outputCollName); - ATH_MSG_DEBUG("ProcessMetadataCollName = " << m_procMetaName); - - return StatusCode::SUCCESS; -} - - - -template <typename T, typename U> -StatusCode GenericMetadataTool<T,U>::beginInputFile(const SG::SourceID& sid) -{ - ATH_MSG_DEBUG("beginInputFile " << this->name() << "\n" << outputMetaStore()->dump()); - //OPENING NEW INPUT FILE - //Things to do: - // 1) note that a file is currently opened - // 2) Load CutBookkeepers from input file - // 2a) if incomplete from input, directly propagate to output - // 2b) if complete from input, wait for EndInputFile to decide what to do in output - - const std::string storename("MetaDataStore+"); - if (m_inputCollName != "") { // are there inputs - // IF NO METACONT IN OUTPUT STORE YET - // Initialize MetaCont for incomplete and tmp containers in output store - // - std::string tmp_name = storename+m_outputCollName+"tmp"; - ATH_CHECK(buildAthenaInterface(m_inputCollName,tmp_name,sid)); - - // Do the following if we want incomplete processings marked - if (m_markIncomplete) { - std::string inc_name = storename+"Incomplete"+m_outputCollName; - std::string input_inc_name = "Incomplete"+m_inputCollName; - ATH_CHECK(buildAthenaInterface(input_inc_name,inc_name,sid)); - } - } // inputCollName if - - // reset cutflow taken marker - m_processMetadataTaken = false; - - m_read.insert(sid); - - return StatusCode::SUCCESS; -} - - -template <typename T, typename U> -StatusCode GenericMetadataTool<T,U>::endInputFile(const SG::SourceID& sid) -{ - // Add the sid to the list of complete sids - if (m_inputCollName != "") { // are there inputs - m_fullreads.insert(sid); - } - - return StatusCode::SUCCESS; -} - -template <typename T, typename U> -StatusCode GenericMetadataTool<T,U>::metaDataStop(const SG::SourceID&) -{ - const std::string storename("MetaDataStore+"); - if (m_inputCollName != "") { // are there inputs - //TERMINATING THE JOB (EndRun) - //Things to do: - // 1) Create new incomplete CutBookkeepers if relevant - // 2) Print cut flow summary - // 3) Write root file if requested - // Now retrieve pointers for the MetaConts - std::string tmp_name = storename+m_outputCollName+"tmpCont"; - const MetaCont<T>* tmp; - ATH_CHECK(outputMetaStore()->retrieve(tmp,tmp_name)); - T* outcom = new T(); - // ARSE - U* outcom_aux = new U(); - outcom->setStore(outcom_aux); - - if (m_markIncomplete) { - std::string inc_name = storename+"Incomplete"+m_outputCollName+"Cont"; - // Build incomplete container to fill - T* outinc = new T(); - // ARSE - U* outinc_aux = new U(); - outinc->setStore(outinc_aux); - // Check if there were any incomplete inputs - const MetaCont<T>* inc; - if(outputMetaStore()->retrieve(inc,inc_name).isSuccess()) { - - // Incomplete inputs can just be merged - auto sids_inc = inc->sources(); - T* contptr(nullptr); - for (auto it = sids_inc.begin(); it != sids_inc.end(); ++it) { - if (!inc->find(*it,contptr)) { - ATH_MSG_ERROR("Container sid list did not match contents"); - } else { - //ATH_CHECK(updateContainer(outinc,contptr)); - } - contptr = nullptr; - } - } else { - ATH_MSG_INFO("Did not find MetaCont for " << inc_name << ", assuming input had no incomplete bookkeepers"); - } - - // Loop over containers and mark based on end files seen - auto sids_tmp = tmp->sources(); - T* contptr(nullptr); - for (auto it = sids_tmp.begin(); it != sids_tmp.end(); ++it) { - if (!tmp->find(*it,contptr)) { - ATH_MSG_ERROR("Container sid list did not match contents"); - } else { - bool complete = std::find(m_fullreads.begin(), - m_fullreads.end(), - *it) != m_fullreads.end(); - bool not_written = std::find(m_written.begin(), - m_written.end(), - *it) == m_written.end(); - if (complete && not_written) { - //ATH_CHECK(updateContainer(outcom,contptr)); - } else { - //ATH_CHECK(updateContainer(outinc,contptr)); - } - } - } - - std::string incout_name = "Incomplete"+m_outputCollName; - // Do any cleanup - if (outputMetaStore()->contains(ClassID_traits<T>::ID(),incout_name) ) { - ATH_MSG_INFO("Cleaning up class for " << incout_name); - const T* tmpBook(nullptr); - if ( outputMetaStore()->retrieve(tmpBook,incout_name).isSuccess() ) { - const SG::IConstAuxStore* tmpBookAux = tmpBook->getConstStore(); - ATH_CHECK(outputMetaStore()->removeDataAndProxy(tmpBook)); - ATH_CHECK(outputMetaStore()->removeDataAndProxy(tmpBookAux)); - } - else ATH_MSG_INFO("StoreGate failed retrieve"); - } - ATH_CHECK(outputMetaStore()->record(outinc,incout_name)); - ATH_CHECK(outputMetaStore()->record(outinc_aux,incout_name+"Aux.")); - } // markIncomplete - else { - auto sids_tmp = tmp->sources(); - T* contptr(nullptr); - // just merge complete inputs into complete/output container - for (auto it = sids_tmp.begin(); it != sids_tmp.end(); ++it) { - if (!tmp->find(*it,contptr)) { - ATH_MSG_ERROR("Container sid list did not match contents"); - } else { - // default to not worrying about marking - //ATH_CHECK(updateContainer(outcom,contptr)); - } - } - } - - // Record container objects directly in store for output - if (outputMetaStore()->contains(ClassID_traits<T>::ID(),m_outputCollName)) { - ATH_MSG_INFO("Cleaning up class for " << m_outputCollName); - const T* tmpBook(nullptr); - if ( outputMetaStore()->retrieve(tmpBook,m_outputCollName).isSuccess() ) { - const SG::IConstAuxStore* tmpBookAux = tmpBook->getConstStore(); - ATH_CHECK(outputMetaStore()->removeDataAndProxy(tmpBook)); - ATH_CHECK(outputMetaStore()->removeDataAndProxy(tmpBookAux)); - } - else ATH_MSG_ERROR("StoreGate failed retrieve"); - } - ATH_CHECK(outputMetaStore()->record(outcom,m_outputCollName)); - ATH_CHECK(outputMetaStore()->record(outcom_aux,m_outputCollName+"Aux.")); - } // inputCollName if - - if (!m_processMetadataTaken) { - if (addProcessMetadata().isFailure()) { - ATH_MSG_ERROR("Could not add CutFlow information"); - } - } - else { - ATH_MSG_DEBUG("Process metadata written into container before metaDataStop"); - } - - // Reset after metadata stop - m_processMetadataTaken = false; - - if (m_inputCollName != "") { // are there inputs - // Copy read files into written files - //std::copy(m_read.begin(),m_read.end(),back_inserter(m_written)); - for (auto it = m_read.begin(); it != m_read.end(); ++it) { - m_written.insert(*it); - } - // Remove completes from read - for (auto it = m_fullreads.begin(); it != m_fullreads.end(); ++it) { - m_read.erase(*it); - //std::remove(m_read.begin(); m_read.end(), *it); - } - m_fullreads.clear(); - } // inputCollName if - - return StatusCode::SUCCESS; -} - - -template <typename T, typename U> -StatusCode -GenericMetadataTool<T,U>::finalize() -{ - ATH_MSG_DEBUG( "Finalizing " << name() << " - package version " << PACKAGE_VERSION ); - return StatusCode::SUCCESS; -} - - -template <typename T, typename U> -StatusCode GenericMetadataTool<T,U>::initOutputContainer( const std::string& sgkey) -{ - std::string key = sgkey; - // Create the primary container - // Put it in a MetaCont - // ARSE - //MetaCont<T>* mcont = new MetaCont<T>(DataObjID("xAOD::CutBookkeeperContainer",key)); - MetaCont<T>* mcont = new MetaCont<T>(DataObjID(ClassID_traits<T>::ID(),key)); - // Do the same for the auxiliary container - std::string auxkey(key+"Aux."); - // ARSE - //MetaCont<T>* acont = new MetaCont<T>(DataObjID("xAOD::CutBookkeeperAuxContainer",auxkey)); - MetaCont<T>* acont = new MetaCont<T>(DataObjID("xAOD::CutBookkeeperAuxContainer",auxkey)); - ATH_CHECK(outputMetaStore()->record(std::move(mcont),key)); - ATH_CHECK(outputMetaStore()->record(std::move(acont),auxkey)); - ATH_CHECK(outputMetaStore()->symLink - ( - ClassID_traits<MetaCont<T> >::ID(), - auxkey, - ClassID_traits<T>::ID() - )); - - return StatusCode::SUCCESS; -} - -//--------------------------------------------------------// -// MetaConts are only needed when reading in Athena -// This builds them and populates them with bookeepers from the input store -//--------------------------------------------------------// -template <typename T, typename U> -StatusCode GenericMetadataTool<T,U>::buildAthenaInterface(const std::string& inputName, - const std::string& outputName, - const SG::SourceID& sid) -{ - // Make sure the MetaCont is ready in the output store for outputName - // If not, then create it - std::string name = outputName+"Cont"; - if( !(outputMetaStore()->contains(ClassID_traits<MetaCont<T> >::ID(),name)) ) { - ATH_CHECK(this->initOutputContainer(name)); - } - else { - ATH_MSG_WARNING("incomplete collection already exists"); - } - - // Retrieve pointer for the MetaCont - MetaCont<T>* mc; - ATH_CHECK(outputMetaStore()->retrieve(mc,name)); - - // Make sure sid does not already exist in the MetaCont - if ( std::find(mc->sources().begin(),mc->sources().end(),sid) - != mc->sources().end() ) { - ATH_MSG_ERROR("Metadata already exists for sid " << sid); - return StatusCode::FAILURE; // Fail if sid already exists - } - - // Get the input bookkeeper of the input metadata store - const T* cbc; - if (inputMetaStore()->contains(ClassID_traits<T>::ID(),inputName) ) { - StatusCode ssc = inputMetaStore()->retrieve( cbc, inputName ); - if (ssc.isSuccess()) { - // Insert input bookkeeper into MetaCont for this sid - T* tostore = new T(*cbc); - if ( !mc->insert(sid,tostore) ) { - ATH_MSG_ERROR("Unable to insert " << inputName << " for " << sid << " with key " << name); - return StatusCode::FAILURE; // Fail if insert to mc fails - } - } - else { - ATH_MSG_ERROR("Could not retrieve class with name " << inputName << " in input store"); - return StatusCode::FAILURE; // Fail if store contains, but not retrieves - } - } - else { - ATH_MSG_WARNING("No " << inputName << " data in this file "); - } - - return StatusCode::SUCCESS; -} - -template <typename T, typename U> -StatusCode GenericMetadataTool<T,U>::addProcessMetadata() -{ - // Add the information from the current processing to the complete output - // --> same paradigm as original CutFlowSvc - // Get the complete bookkeeper collection of the output meta-data store - T* completeBook(NULL); - if( !(outputMetaStore()->retrieve( completeBook, m_outputCollName) ).isSuccess() ) { - ATH_MSG_ERROR( "Could not get output container from output MetaDataStore" ); - return StatusCode::FAILURE; - } - - // Get the bookkeeper from the current processing - T* fileCompleteBook(NULL); - if( outputMetaStore()->contains(ClassID_traits<T>::ID(),m_procMetaName) ) { - if( !(outputMetaStore()->retrieve( fileCompleteBook, m_procMetaName) ).isSuccess() ) { - ATH_MSG_WARNING( "Could not get process metadata from output MetaDataStore" ); - } - else { - // update the complete output with the complete input - //ATH_CHECK(this->updateContainer(completeBook,fileCompleteBook)); - } - } - else { - ATH_MSG_INFO("No process container " << m_procMetaName); - } - - return StatusCode::SUCCESS; -} - - -/* -namespace { - -xAOD::CutBookkeeper* -resolveLink (const xAOD::CutBookkeeper* old, - xAOD::CutBookkeeperContainer& contToUpdate, - const xAOD::CutBookkeeperContainer& otherCont, - const std::vector<size_t>& otherIndices) -{ - { - xAOD::CutBookkeeperContainer::iterator matchIter = - std::find( contToUpdate.begin(), - contToUpdate.end(), - old ); - if (matchIter != contToUpdate.end()) - return *matchIter; - } - - { - xAOD::CutBookkeeperContainer::const_iterator matchIter = - std::find( otherCont.begin(), - otherCont.end(), - old ); - if (matchIter != contToUpdate.end()) { - size_t pos = matchIter - otherCont.begin(); - return contToUpdate[otherIndices[pos]]; - } - } - - // If we didn't find it, we need to add it - xAOD::CutBookkeeper* newEBK = new xAOD::CutBookkeeper(); - if ( newEBK->usingPrivateStore() ) { newEBK->releasePrivateStore(); } - newEBK->makePrivateStore(old); - contToUpdate.push_back( newEBK ); - return newEBK; -} - - -} // anonymous namespace - -StatusCode -GenericMetadataTool::updateContainer( xAOD::CutBookkeeperContainer* contToUpdate, - const xAOD::CutBookkeeperContainer* otherCont ) -{ - ATH_MSG_DEBUG("calling updateContainer(...)" ); - ATH_MSG_VERBOSE("Have container to update with size=" << contToUpdate->size() - << ", and other container with size=" << otherCont->size() ); - - size_t origSize = contToUpdate->size(); - - // Vector of indices in contToUpdate of elements in otherCont. - std::vector< std::size_t > otherIndices (otherCont->size()); - // Loop through otherCont. - // If element already in contToUpdate, update event counts, otherwise create new element - for ( std::size_t i=0; i<otherCont->size(); ++i ) { - const xAOD::CutBookkeeper* otherEBK = otherCont->at(i); - ATH_MSG_VERBOSE("Looping through otherCont at index " << i); - ATH_MSG_VERBOSE("Have otherEBK with: name=" << otherEBK->name() - << ", cycle=" << otherEBK->cycle() - << ", nAcceptedEvents=" << otherEBK->nAcceptedEvents() - << ", inputStream=" << otherEBK->inputStream() ); - - - // Loop through the container to be updated (contToUpdate) and see if we find a match - bool foundEBKToUpdate(false); - for ( std::size_t j=0; j<contToUpdate->size(); ++j ) { - xAOD::CutBookkeeper* ebkToUpdate = contToUpdate->at(j); - // Check if they are identical, if so, update; else add otherEBK - if ( otherEBK->isEqualTo(ebkToUpdate) ) { - ebkToUpdate->setPayload( ebkToUpdate->payload() + otherEBK->payload() ); - otherIndices[i] = j; - foundEBKToUpdate = true; - break; - } - } // End: Inner loop over contToUpdate - if (!foundEBKToUpdate) { - xAOD::CutBookkeeper* newEBK = new xAOD::CutBookkeeper(); - if ( newEBK->usingPrivateStore() ) { newEBK->releasePrivateStore(); } - newEBK->makePrivateStore(otherEBK); - contToUpdate->push_back( newEBK ); - std::size_t ebIdx = newEBK->index(); - otherIndices[i] = ebIdx; - } - } // End: Outer loop over contToUpdate - - // Now, we still need to fix the cross-referencing of the newly added CutBookkkeepers - for ( std::size_t i=origSize; i<contToUpdate->size(); ++i ) { - xAOD::CutBookkeeper* ebkToModify = contToUpdate->at(i); - - // Parent check - if ( ebkToModify->hasParent() ) { - const xAOD::CutBookkeeper* oldParent = ebkToModify->parent(); - const xAOD::CutBookkeeper* newParent = resolveLink (oldParent, - *contToUpdate, - *otherCont, - otherIndices); - ebkToModify->setParent (newParent); - } // Done fixing parent - - // Children check - std::vector< xAOD::CutBookkeeper* > newChildren; - for ( std::size_t oldIdx=0; oldIdx<ebkToModify->nChildren(); ++oldIdx ) { - const xAOD::CutBookkeeper* oldEBK = ebkToModify->child(oldIdx); - newChildren.push_back (resolveLink (oldEBK, - *contToUpdate, - *otherCont, - otherIndices)); - } // Done fixing children - ebkToModify->setChildren (newChildren); - - // Used others check - std::vector< xAOD::CutBookkeeper* > newOthers; - for ( std::size_t oldIdx=0; oldIdx<ebkToModify->nUsedOthers(); ++oldIdx ) { - const xAOD::CutBookkeeper* oldEBK = ebkToModify->usedOther(oldIdx); - newOthers.push_back (resolveLink (oldEBK, - *contToUpdate, - *otherCont, - otherIndices)); - } // Done fixing used others - ebkToModify->setUsedOthers (newOthers); - - // Siblings check - std::vector< xAOD::CutBookkeeper* > newSiblings; - for ( std::size_t oldIdx=0; oldIdx<ebkToModify->nSiblings(); ++oldIdx ) { - const xAOD::CutBookkeeper* oldEBK = ebkToModify->sibling(oldIdx); - newSiblings.push_back (resolveLink (oldEBK, - *contToUpdate, - *otherCont, - otherIndices)); - } // Done fixing siblings - ebkToModify->setSiblings (newSiblings); - } // Done fixing all cross references - return StatusCode::SUCCESS; -} -*/ - diff --git a/Control/AthenaKernel/AthenaKernel/IMetaDataTool.h b/Control/AthenaKernel/AthenaKernel/IMetaDataTool.h index d119cbeb652a0961832ca8f9adf7f85f996edc0f..4937397ab583f1ef1431f427fbc8a4b5443701a1 100755 --- a/Control/AthenaKernel/AthenaKernel/IMetaDataTool.h +++ b/Control/AthenaKernel/AthenaKernel/IMetaDataTool.h @@ -12,7 +12,6 @@ **/ #include "GaudiKernel/IAlgTool.h" -#include "AthenaKernel/SourceID.h" /** @class IMetaDataTool * @brief This class provides the interface for MetaDataTools. @@ -22,14 +21,14 @@ class IMetaDataTool : virtual public IAlgTool { public: // Non-static members /// Function called when a new input file is opened - virtual StatusCode beginInputFile(const SG::SourceID& sid = "Serial") = 0; + virtual StatusCode beginInputFile() = 0; /// Function called when the currently open input file got completely /// processed - virtual StatusCode endInputFile(const SG::SourceID& sid = "Serial") = 0; + virtual StatusCode endInputFile() = 0; /// Function called when the tool should write out its metadata - virtual StatusCode metaDataStop(const SG::SourceID& sid = "Serial") = 0; + virtual StatusCode metaDataStop() = 0; /// Gaudi boilerplate static const InterfaceID& interfaceID(); diff --git a/Control/AthenaKernel/AthenaKernel/IMetadataTransition.h b/Control/AthenaKernel/AthenaKernel/IMetadataTransition.h index dced030eea70513f3357b49e169b7852377ccab3..5fc4e429dca6eef65761d6422ff20cbc1dcb5f59 100644 --- a/Control/AthenaKernel/AthenaKernel/IMetadataTransition.h +++ b/Control/AthenaKernel/AthenaKernel/IMetadataTransition.h @@ -29,7 +29,7 @@ public: // Non-static members virtual StatusCode retireMetadataSource(const Incident&) = 0; /// Function called when the tool should write out its metadata - virtual StatusCode prepareOutput(const Incident&) = 0; + virtual StatusCode prepareOutput() = 0; virtual StatusCode proxyIncident(const Incident&) = 0; diff --git a/Control/AthenaKernel/AthenaKernel/MetaCont.h b/Control/AthenaKernel/AthenaKernel/MetaCont.h index 3fb5879f23aaaea2d4452103c89eac4335bef479..ff76e28a5ffa04a9d3be57a96bfff7e72dccc2a3 100644 --- a/Control/AthenaKernel/AthenaKernel/MetaCont.h +++ b/Control/AthenaKernel/AthenaKernel/MetaCont.h @@ -192,6 +192,11 @@ bool MetaCont<T>::find(const SourceID& it, T*& t) const { t=itr->second; return true; } + else { + for (const auto& elt : m_metaSet) { + std::cerr << "Container has SID=" << elt.first << std::endl; + } + } return false; } diff --git a/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc b/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc index 1559e9482aa9c599a6936a44fd8588e1e2cfdaff..dc955792d5ae715292cc147854fb8ca6d082d49d 100644 --- a/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc +++ b/Control/AthenaKernel/AthenaKernel/MetaContDataBucket.icc @@ -73,12 +73,9 @@ template <class T> const SourceID MetaContDataBucket<T>::getSID() const { const EventContext& ctx = Gaudi::Hive::currentContext(); - if (ctx.valid()) { - const IProxyDict* store = - ctx.getExtension<Atlas::ExtendedEventContext>()->proxy(); - return store->sourceID(); - } - return "None"; + const IProxyDict* store = + ctx.getExtension<Atlas::ExtendedEventContext>().proxy(); + return store->sourceID(); } diff --git a/Control/AthenaKernel/share/CondCont_test.ref b/Control/AthenaKernel/share/CondCont_test.ref index 4ac92e1813b6b38411e1f2a1b0bdf7be6b9ca0b1..af24b5536c9fa6a3fa6d783d1628ce8b722820cc 100644 --- a/Control/AthenaKernel/share/CondCont_test.ref +++ b/Control/AthenaKernel/share/CondCont_test.ref @@ -4,3 +4,4 @@ test2 CondCont<T>::insert error: EventIDRange {[40,l:2] - [t:543]} is neither fully RunEvent nor TimeStamp CondCont<T>::insert error: Not most-derived class. test3 +testThread diff --git a/Control/AthenaKernel/src/CondCont.cxx b/Control/AthenaKernel/src/CondCont.cxx index cb32f06d9b74deea3b92bf7824606fd4a536d2b9..553ae76fb2f115b28e169aa52517c7c59347bbd0 100644 --- a/Control/AthenaKernel/src/CondCont.cxx +++ b/Control/AthenaKernel/src/CondCont.cxx @@ -8,6 +8,7 @@ #include "AthenaKernel/CondCont.h" +#include <iostream> /// Default name of the global conditions cleaner service. @@ -62,6 +63,15 @@ bool CondContBase::Category::isDuplicate (StatusCode code) STATUSCODE_ENUM_IMPL (CondContStatusCode, CondContBase::Category) +/** + * @brief Dump the container to cout. For calling from the debugger. + */ +void CondContBase::print() const +{ + this->list (std::cout); +} + + /** * @brief Internal constructor. * @param rcusvc RCU service instance. diff --git a/Control/AthenaKernel/test/CondCont_test.cxx b/Control/AthenaKernel/test/CondCont_test.cxx index f2de77090565eeeefe8e01a4c54a43c055232972..2a5ac0513429821153fca21e6363441257464afd 100644 --- a/Control/AthenaKernel/test/CondCont_test.cxx +++ b/Control/AthenaKernel/test/CondCont_test.cxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration. + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. */ // $Id$ /** @@ -303,13 +303,55 @@ void test2 (TestRCUSvc& rcusvc) } +std::string dump_cc (const CondCont<B>& cc) +{ + std::ostringstream ss; + for (const EventIDRange& r : cc.ranges()) { + const B* p = nullptr; + assert (cc.find (r.start(), p)); + ss << r << " [" << p->m_x << "]\n"; + } + return ss.str(); +} + + +// Test an extensible container. +void test3 (TestRCUSvc& rcusvc) +{ + std::cout << "test3\n"; + DataObjID id ("key"); + CondCont<B> cc (rcusvc, id); + + const B* b = nullptr; + assert (!cc.find (runlbn (10, 15), b)); + + assert (cc.insert (EventIDRange (runlbn (10, 15), runlbn (10, 20)), + std::make_unique<B>(1))); + assert (cc.insert (EventIDRange (runlbn (10, 30), runlbn (10, 35)), + std::make_unique<B>(2))); + assert (dump_cc(cc) == "{[10,l:15] - [10,l:20]} [1]\n{[10,l:30] - [10,l:35]} [2]\n"); + + assert (cc.extendLastRange (EventIDRange (runlbn (10, 30), runlbn (10, 37))).isSuccess()); + assert (dump_cc(cc) == "{[10,l:15] - [10,l:20]} [1]\n{[10,l:30] - [10,l:37]} [2]\n"); + + assert (cc.extendLastRange (EventIDRange (runlbn (10, 30), runlbn (10, 33))).isSuccess()); + assert (dump_cc(cc) == "{[10,l:15] - [10,l:20]} [1]\n{[10,l:30] - [10,l:37]} [2]\n"); + + assert (cc.extendLastRange (EventIDRange (runlbn (10, 31), runlbn (10, 33))).isFailure()); + assert (dump_cc(cc) == "{[10,l:15] - [10,l:20]} [1]\n{[10,l:30] - [10,l:37]} [2]\n"); +} + + +//******************************************************************************* + + std::shared_timed_mutex start_mutex; -class test3_Base +class testThread_Base { public: - test3_Base (int slot); + testThread_Base (int slot); const EventContext& ctx() const { return m_ctx; } void setContext(); @@ -319,23 +361,23 @@ private: }; -test3_Base::test3_Base (int slot) +testThread_Base::testThread_Base (int slot) : m_ctx (0, slot) { } -void test3_Base::setContext() +void testThread_Base::setContext() { Gaudi::Hive::setCurrentContext (m_ctx); } -class test3_Writer - : public test3_Base +class testThread_Writer + : public testThread_Base { public: - test3_Writer (int slot, CondCont<B>& map); + testThread_Writer (int slot, CondCont<B>& map); void operator()(); EventIDRange makeRange (int i); @@ -344,14 +386,14 @@ private: }; -test3_Writer::test3_Writer (int slot, CondCont<B>& map) - : test3_Base (slot), +testThread_Writer::testThread_Writer (int slot, CondCont<B>& map) + : testThread_Base (slot), m_map (map) { } -void test3_Writer::operator()() +void testThread_Writer::operator()() { setContext(); std::shared_lock<std::shared_timed_mutex> lock (start_mutex); @@ -371,7 +413,7 @@ void test3_Writer::operator()() } -EventIDRange test3_Writer::makeRange (int i) +EventIDRange testThread_Writer::makeRange (int i) { EventIDBase start (0, 0, EventIDBase::UNDEFNUM, 0, i*10); EventIDBase stop (0, 0, EventIDBase::UNDEFNUM, 0, (i+1)*10); @@ -379,11 +421,11 @@ EventIDRange test3_Writer::makeRange (int i) } -class test3_Iterator - : public test3_Base +class testThread_Iterator + : public testThread_Base { public: - test3_Iterator (int slot, CondCont<B>& map); + testThread_Iterator (int slot, CondCont<B>& map); void operator()(); private: @@ -391,14 +433,14 @@ private: }; -test3_Iterator::test3_Iterator (int slot, CondCont<B>& map) - : test3_Base (slot), +testThread_Iterator::testThread_Iterator (int slot, CondCont<B>& map) + : testThread_Base (slot), m_map (map) { } -void test3_Iterator::operator()() +void testThread_Iterator::operator()() { setContext(); std::shared_lock<std::shared_timed_mutex> lock (start_mutex); @@ -433,11 +475,11 @@ void test3_Iterator::operator()() } -class test3_Reader - : public test3_Base +class testThread_Reader + : public testThread_Base { public: - test3_Reader (int slot, CondCont<B>& map); + testThread_Reader (int slot, CondCont<B>& map); void operator()(); private: @@ -446,15 +488,15 @@ private: }; -test3_Reader::test3_Reader (int slot, CondCont<B>& map) - : test3_Base (slot), +testThread_Reader::testThread_Reader (int slot, CondCont<B>& map) + : testThread_Base (slot), m_map (map), m_seed (slot * 123) { } -void test3_Reader::operator()() +void testThread_Reader::operator()() { setContext(); std::shared_lock<std::shared_timed_mutex> lock (start_mutex); @@ -479,7 +521,7 @@ void test3_Reader::operator()() } -void test3_iter (TestRCUSvc& rcusvc) +void testThread_iter (TestRCUSvc& rcusvc) { DataObjID id ("key"); CondCont<B> condcont (rcusvc, id, nullptr, 20); @@ -488,10 +530,10 @@ void test3_iter (TestRCUSvc& rcusvc) std::thread threads[nthread]; start_mutex.lock(); - threads[0] = std::thread (test3_Writer (0, condcont)); - threads[1] = std::thread (test3_Iterator (1, condcont)); - threads[2] = std::thread (test3_Reader (2, condcont)); - threads[3] = std::thread (test3_Reader (3, condcont)); + threads[0] = std::thread (testThread_Writer (0, condcont)); + threads[1] = std::thread (testThread_Iterator (1, condcont)); + threads[2] = std::thread (testThread_Reader (2, condcont)); + threads[3] = std::thread (testThread_Reader (3, condcont)); // Try to get the threads starting as much at the same time as possible. start_mutex.unlock(); @@ -500,12 +542,12 @@ void test3_iter (TestRCUSvc& rcusvc) } -void test3 (TestRCUSvc& rcusvc) +void testThread (TestRCUSvc& rcusvc) { - std::cout << "test3\n"; + std::cout << "testThread\n"; for (int i=0; i < 10; i++) { - test3_iter (rcusvc); + testThread_iter (rcusvc); } } @@ -525,5 +567,6 @@ int main ATLAS_NOT_THREAD_SAFE () test1 (rcusvc); test2 (rcusvc); test3 (rcusvc); + testThread (rcusvc); return 0; } diff --git a/Control/AthenaKernel/test/MetaContDataBucket_test.cxx b/Control/AthenaKernel/test/MetaContDataBucket_test.cxx index 677be7bb0616254741d842dbef360a0e31a3e8e2..3bac4b53485f4f5567e56dee891a07038ef85816 100644 --- a/Control/AthenaKernel/test/MetaContDataBucket_test.cxx +++ b/Control/AthenaKernel/test/MetaContDataBucket_test.cxx @@ -119,9 +119,9 @@ void test1() proxyDict.source = "source"; p = bucket.cast (ClassID_traits<TestPayload>::ID()); - //assert (typeid (*reinterpret_cast<TestPayload*>(p)) == typeid (TestPayload)); + assert (typeid (*reinterpret_cast<TestPayload*>(p)) == typeid (TestPayload)); p = bucket.cast (typeid (TestPayload)); - //assert (typeid (*reinterpret_cast<TestPayload*>(p)) == typeid (TestPayload)); + assert (typeid (*reinterpret_cast<TestPayload*>(p)) == typeid (TestPayload)); } diff --git a/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py b/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py index f137f6cb18ba5c4da52266449618df38bab890d3..bb672ba9676e583a671fa18338569599c5909fd0 100644 --- a/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py +++ b/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py @@ -274,9 +274,10 @@ if DQMonFlags.doStreamAwareMon: LArMonFlags.doLArNoisyROMon=True # All monitoring turned on for express stream (except LArRawChannelMon) - # HIP runs will use the express settings for MinBias, MinBiasOverlay, HardProbes, bulk, and UPC + # HIP/HI runs will use the express settings for MinBias, MinBiasOverlay, HardProbes, bulk, and UPC if (rec.triggerStream()=='express' or rec.triggerStream()=='Main' or - (rec.doHIP() and rec.triggerStream() in ['MinBias', 'MinBiasOverlay', 'HardProbes', 'bulk', 'UPC'])): + ((rec.doHIP() or rec.doHeavyIon()) + and rec.triggerStream() in ['MinBias', 'MinBiasOverlay', 'HardProbes', 'bulk', 'UPC'])): LArMonFlags.doLArCollisionTimeMon=True LArMonFlags.doLArAffectedRegions=True LArMonFlags.doLArHVCorrectionMonTool=True diff --git a/Control/AthenaServices/share/AthenaOutputStream_test.ref b/Control/AthenaServices/share/AthenaOutputStream_test.ref index c0fdf6423bf203f8c9612fd7267d6b4a6ce40fda..efb1a7145cbdd6d6f945770c7fa95374e568dee9 100644 --- a/Control/AthenaServices/share/AthenaOutputStream_test.ref +++ b/Control/AthenaServices/share/AthenaOutputStream_test.ref @@ -2,7 +2,7 @@ Initializing Gaudi ApplicationMgr using job opts ../share/AthenaOutputStream_test.txt -JobOptionsSvc INFO # =======> /users/cranshaw/toolconts9/athena/Control/AthenaServices/share/../share/AthenaOutputStream_test.txt +JobOptionsSvc INFO # =======> /home/gemmeren/workarea/athena/Control/AthenaServices/share/../share/AthenaOutputStream_test.txt JobOptionsSvc INFO # (5,1): MessageSvc.OutputLevel = 2 JobOptionsSvc INFO # (6,1): StoreGateSvc.OutputLevel = 2 JobOptionsSvc INFO # (8,1): AthenaOutputStream.OutputLevel = 1 @@ -13,8 +13,8 @@ MessageSvc DEBUG Service base class initialized successfully ApplicationMgr DEBUG Getting my own properties ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Fri Sep 7 08:54:34 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r1) + running on hepd-0003 on Wed Jan 31 14:51:16 2018 ==================================================================================================================================== ApplicationMgr INFO Application Manager Configured successfully ServiceManager DEBUG Initializing service AppMgrRunable @@ -35,17 +35,16 @@ ApplicationMgr INFO Application Manager Initialized successfully ApplicationMgr Ready ClassIDSvc DEBUG Service base class initialized successfully IncidentSvc DEBUG Adding [ModuleLoaded] listener 'ClassIDSvc' with priority 100 -ClassIDSvc INFO getRegistryEntries: read 1312 CLIDRegistry entries for module ALL -ClassIDSvc DEBUG processCLIDDB: read 1554 entries from CLIDDB file: /users/cranshaw/toolconts9/build/x86_64-centos7-gcc62-opt/share/clid.db -ClassIDSvc DEBUG processCLIDDB: read 1553 entries from CLIDDB file: /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/clid.db +ClassIDSvc INFO getRegistryEntries: read 920 CLIDRegistry entries for module ALL +ClassIDSvc DEBUG processCLIDDB: read 1490 entries from CLIDDB file: /home/gemmeren/workarea/build/x86_64-centos7-gcc62-opt/share/clid.db +ClassIDSvc DEBUG processCLIDDB: read 1490 entries from CLIDDB file: /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-01-30T2209/Athena/22.0.0/InstallArea/x86_64-centos7-gcc62-opt/share/clid.db StoreGateSvc DEBUG Service base class initialized successfully StoreGateSvc DEBUG trying to create store SGImplSvc/StoreGateSvc_Impl StoreGateSvc_Impl DEBUG Service base class initialized successfully -ProxyProviderSvc DEBUG Service base class initialized successfully IncidentSvc DEBUG Adding [EndEvent] listener 'StoreGateSvc' with priority 100 IncidentSvc DEBUG Adding [BeginEvent] listener 'StoreGateSvc' with priority 100 ToolSvc DEBUG Service base class initialized successfully -ClassIDSvc INFO getRegistryEntries: read 2273 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2018 CLIDRegistry entries for module ALL AthenaOutputStream DEBUG Property update for OutputLevel : new value = 1 AthenaOutputStreamVERBOSE ServiceLocatorHelper::service: found service EventDataSvc TimelineSvc DEBUG Service base class initialized successfully @@ -62,9 +61,7 @@ AthenaOutputStream DEBUG In initialize AthenaOutputStream DEBUG Found StoreGateSvc store. ItemListSvc DEBUG ItemListSvc initialize OutputStreamSeq... INFO Initializing OutputStreamSequencerSvc - package version AthenaServices-00-00-00 -OutputStreamSeq... DEBUG Service base class initialized successfully MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 -MetaDataSvc DEBUG Service base class initialized successfully InputMetaDataStore DEBUG Service base class initialized successfully InputMetaDataStore DEBUG trying to create store SGImplSvc/InputMetaDataStore_Impl InputMetaDataSt... DEBUG Service base class initialized successfully @@ -76,10 +73,8 @@ MetaDataStore_Impl DEBUG Service base class initialized successfully IncidentSvc DEBUG Adding [EndEvent] listener 'MetaDataStore' with priority 100 IncidentSvc DEBUG Adding [BeginEvent] listener 'MetaDataStore' with priority 100 AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 -DataModelCompatSvc DEBUG Service base class initialized successfully DataModelCompatSvc DEBUG FILE:LINE (StatusCode DataModelCompatSvc::initialize()): running IncidentSvc DEBUG Adding [BeginEvent] listener 'DataModelCompatSvc' with priority 0 -PoolSvc DEBUG Service base class initialized successfully IoComponentMgr DEBUG --> initialize() IoComponentMgr DEBUG Service base class initialized successfully IncidentSvc DEBUG Adding [BeginOutputFile] listener 'IoComponentMgr' with priority 100 @@ -91,26 +86,28 @@ IoComponentMgr DEBUG --> io_hasitem() PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc DEBUG Service base class initialized successfully +DBReplicaSvc DEBUG HOSTNAME hepd-0003 has no domain - try hostname --fqdn +DBReplicaSvc DEBUG HOSTNAME from fqdn: hepd-0003.lcrc.anl.gov DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Read replica configuration from /home/gemmeren/workarea/build/x86_64-centos7-gcc62-opt/share/dbreplica.config DBReplicaSvc DEBUG Candidate server ATLF (priority -2300) -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Total of 1 servers found for host hepd-0003.lcrc.anl.gov [ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams -Gaudi::MultiFil... DEBUG Service base class initialized successfully PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] ChronoStatSvc DEBUG Service base class initialized successfully +ChronoStatSvc INFO Number of skipped events for MemStat-1 FileMgr DEBUG Service base class initialized successfully FileMgr DEBUG Successfully registered handler for tech "ROOT" FileMgr DEBUG Successfully registered handler for tech "POSIX" -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray([]) IncidentSvc DEBUG Adding [FirstInputFile] listener 'MetaDataSvc' with priority 90 +IncidentSvc DEBUG Adding [BeginTagFile] listener 'MetaDataSvc' with priority 90 IncidentSvc DEBUG Adding [BeginInputFile] listener 'MetaDataSvc' with priority 90 IncidentSvc DEBUG Adding [EndInputFile] listener 'MetaDataSvc' with priority 10 +IncidentSvc DEBUG Adding [EndTagFile] listener 'MetaDataSvc' with priority 10 IncidentSvc DEBUG Adding [LastInputFile] listener 'MetaDataSvc' with priority 10 IncidentSvc DEBUG Adding [ShmProxy] listener 'MetaDataSvc' with priority 90 IoComponentMgr DEBUG --> io_register(MetaDataSvc) @@ -128,7 +125,6 @@ IoComponentMgr DEBUG --> io_hasitem() AthenaOutputStream INFO I/O reinitialization... IncidentSvc DEBUG Adding [MetaDataStop] listener 'AthenaOutputStream' with priority 50 IncidentSvc DEBUG Adding [UpdateOutputFile] listener 'AthenaOutputStream' with priority 50 -AthenaOutputStr... DEBUG Property update for OutputLevel : new value = 1 AthenaOutputStream DEBUG End initialize AthenaOutputStreamVERBOSE ServiceLocatorHelper::service: found service AlgExecStateSvc AlgExecStateSvc DEBUG preInit: will add Alg AthenaOutputStream later @@ -137,25 +133,25 @@ AthenaOutputStream DEBUG output handles: 0 AthenaOutputStream DEBUG Registering all Tools in ToolHandleArray HelperTools AthenaOutputStream DEBUG Adding private ToolHandle tool AthenaOutputStream.AthenaOutputStreamTool (AthenaOutputStreamTool) AthenaOutputStream DEBUG Data Deps for AthenaOutputStream -StoreGateSvc_Impl DEBUG Recorded object @0x43ad800 with key uno of type Foo(CLID 8101) - in DataObject @0x43ac170 +ClassIDSvc INFO getRegistryEntries: read 926 CLIDRegistry entries for module ALL +StoreGateSvc_Impl DEBUG Recorded object @0x4541940 with key uno of type Foo(CLID 8101) + in DataObject @0x45a4730 object modifiable when retrieved -StoreGateSvc_Impl DEBUG Recorded object @0x43adac0 with key due of type Foo(CLID 8101) - in DataObject @0x43adae0 +StoreGateSvc_Impl DEBUG Recorded object @0x45a4a60 with key due of type Foo(CLID 8101) + in DataObject @0x45daa20 object modifiable when retrieved -StoreGateSvc_Impl DEBUG Recorded object @0x43adaa0 with key uno of type Bar(CLID 8107) - in DataObject @0x43aded0 +StoreGateSvc_Impl DEBUG Recorded object @0x45db370 with key uno of type Bar(CLID 8107) + in DataObject @0x3b5f440 object modifiable when retrieved -StoreGateSvc_Impl DEBUG Recorded object @0x43adbb0 with key due of type Bar(CLID 8107) - in DataObject @0x43ae200 +StoreGateSvc_Impl DEBUG Recorded object @0x39db510 with key due of type Bar(CLID 8107) + in DataObject @0x45daac0 object modifiable when retrieved -StoreGateSvc_Impl DEBUG Recorded object @0x43ad9d0 with key quattro of type Bar(CLID 8107) - in DataObject @0x43ae500 +StoreGateSvc_Impl DEBUG Recorded object @0x45a4f70 with key quattro of type Bar(CLID 8107) + in DataObject @0x45a5000 object modifiable when retrieved -StoreGateSvc_Impl DEBUG Recorded object @0x23f52d0 with key cinque of type Bar(CLID 8107) - in DataObject @0x43ae8f0 +StoreGateSvc_Impl DEBUG Recorded object @0x45a5090 with key cinque of type Bar(CLID 8107) + in DataObject @0x45a53c0 object modifiable when retrieved -ClassIDSvc INFO getRegistryEntries: read 1081 CLIDRegistry entries for module ALL AthenaOutputStr...WARNING add: can not find clid 13 in clid db AthenaOutputStream DEBUG addItemObjects(13,"*") called AthenaOutputStream DEBUG Key:* diff --git a/Control/AthenaServices/src/AthenaHiveEventLoopMgr.cxx b/Control/AthenaServices/src/AthenaHiveEventLoopMgr.cxx index 5faba8ad759109d75292264e1d18f61cba2709e6..5eb6a92d6677e40cd24fc3fc56c830ca8dc23ed7 100644 --- a/Control/AthenaServices/src/AthenaHiveEventLoopMgr.cxx +++ b/Control/AthenaServices/src/AthenaHiveEventLoopMgr.cxx @@ -688,7 +688,7 @@ StatusCode AthenaHiveEventLoopMgr::executeEvent(void* createdEvts_IntPtr ) conditionsRun = (*attr)["ConditionsRun"].data<unsigned int>(); } } - evtContext->template getExtension<Atlas::ExtendedEventContext>()->setConditionsRun (conditionsRun); + evtContext->template getExtension<Atlas::ExtendedEventContext>().setConditionsRun (conditionsRun); // Make sure context global context has event id Gaudi::Hive::setCurrentContext (*evtContext); diff --git a/Control/AthenaServices/src/AthenaOutputStream.cxx b/Control/AthenaServices/src/AthenaOutputStream.cxx index 05c3c09b33fa33878da3e024e55ae60ffc64ccf7..4a24985696d0df1f736ac7e3c2511ee12d703e14 100644 --- a/Control/AthenaServices/src/AthenaOutputStream.cxx +++ b/Control/AthenaServices/src/AthenaOutputStream.cxx @@ -32,7 +32,6 @@ #include "AthContainersInterfaces/IAuxStore.h" #include "AthContainersInterfaces/IAuxStoreIO.h" #include "OutputStreamSequencerSvc.h" -#include "MetaDataSvc.h" #include <boost/tokenizer.hpp> #include <cassert> @@ -144,14 +143,14 @@ AthenaOutputStream::AthenaOutputStream(const string& name, ISvcLocator* pSvcLoca m_dataStore("StoreGateSvc", name), m_metadataStore("MetaDataStore", name), m_currentStore(&m_dataStore), - m_itemSvc("ItemListSvc", name), + m_itemSvc("ItemListSvc", name), m_outputAttributes(), - m_pCLIDSvc("ClassIDSvc", name), - m_outSeqSvc("OutputStreamSequencerSvc", name), + m_pCLIDSvc("ClassIDSvc", name), + m_outSeqSvc("OutputStreamSequencerSvc", name), m_p2BWritten(string("SG::Folder/") + name + string("_TopFolder"), this), m_decoder(string("SG::Folder/") + name + string("_excluded"), this), m_transient(string("SG::Folder/") + name + string("_transient"), this), - m_events(0), + m_events(0), m_streamer(string("AthenaOutputStreamTool/") + name + string("Tool"), this), m_helperTools(this) { assert(pSvcLocator); @@ -316,75 +315,60 @@ StatusCode AthenaOutputStream::initialize() { return(status); } -StatusCode AthenaOutputStream::stop() -{ - ATH_MSG_INFO("AthenaOutputStream " << this->name() << " ::stop()"); - for (std::vector<ToolHandle<IAthenaOutputTool> >::iterator iter = m_helperTools.begin(); - iter != m_helperTools.end(); iter++) { - if (!(*iter)->preFinalize().isSuccess()) { - ATH_MSG_ERROR("Cannot finalize helper tool"); - } - } - FileIncident fileInc(name(),"MetaDataStop","","Serial"); - ServiceHandle<MetaDataSvc> mdsvc("MetaDataSvc", name()); - if (mdsvc.retrieve().isFailure()) { - ATH_MSG_ERROR("Could not retrieve MetaDataSvc for stop actions"); - } - else { - ATH_CHECK(mdsvc->prepareOutput(fileInc)); - } - // Always force a final commit in stop - mainly applies to AthenaPool - if (m_writeOnFinalize) { - if (write().isFailure()) { // true mean write AND commit - ATH_MSG_ERROR("Cannot write on finalize"); - } - ATH_MSG_INFO("Records written: " << m_events); - } - - if (!m_metadataItemList.value().empty()) { - m_currentStore = &m_metadataStore; - StatusCode status = m_streamer->connectServices(m_metadataStore.type(), m_persName, false); - if (status.isFailure()) { - throw GaudiException("Unable to connect metadata services", name(), StatusCode::FAILURE); - } - m_checkNumberOfWrites = false; - m_outputAttributes = "[OutputCollection=MetaDataHdr][PoolContainerPrefix=MetaData][AttributeListKey=][DataHeaderSatellites=]"; - m_p2BWritten->clear(); - IProperty *pAsIProp(nullptr); - if ((m_p2BWritten.retrieve()).isFailure() || - nullptr == (pAsIProp = dynamic_cast<IProperty*>(&*m_p2BWritten)) || - (pAsIProp->setProperty("ItemList", m_metadataItemList.toString())).isFailure()) { - throw GaudiException("Folder property [metadataItemList] not found", name(), StatusCode::FAILURE); - } - if (write().isFailure()) { // true mean write AND commit - ATH_MSG_ERROR("Cannot write metadata"); - } - m_outputAttributes.clear(); - m_currentStore = &m_dataStore; - status = m_streamer->connectServices(m_dataStore.type(), m_persName, m_extendProvenanceRecord); - if (status.isFailure()) { - throw GaudiException("Unable to re-connect services", name(), StatusCode::FAILURE); - } - m_p2BWritten->clear(); - if ((pAsIProp->setProperty(m_itemList)).isFailure()) { - throw GaudiException("Folder property [itemList] not found", name(), StatusCode::FAILURE); - } - ATH_MSG_INFO("Records written: " << m_events); - for (std::vector<ToolHandle<IAthenaOutputTool> >::iterator iter = m_helperTools.begin(); - iter != m_helperTools.end(); iter++) { - if (!(*iter)->postInitialize().isSuccess()) { - ATH_MSG_ERROR("Cannot initialize helper tool"); - } - } - } - return StatusCode::SUCCESS; -} - void AthenaOutputStream::handle(const Incident& inc) { ATH_MSG_DEBUG("handle() incident type: " << inc.type()); if (inc.type() == "MetaDataStop") { // Moved preFinalize of helper tools to stop - want to optimize the // output file in finalize RDS 12/2009 + for (std::vector<ToolHandle<IAthenaOutputTool> >::iterator iter = m_helperTools.begin(); + iter != m_helperTools.end(); iter++) { + if (!(*iter)->preFinalize().isSuccess()) { + ATH_MSG_ERROR("Cannot finalize helper tool"); + } + } + // Always force a final commit in stop - mainly applies to AthenaPool + if (m_writeOnFinalize) { + if (write().isFailure()) { // true mean write AND commit + ATH_MSG_ERROR("Cannot write on finalize"); + } + ATH_MSG_INFO("Records written: " << m_events); + } + if (!m_metadataItemList.value().empty()) { + m_currentStore = &m_metadataStore; + StatusCode status = m_streamer->connectServices(m_metadataStore.type(), m_persName, false); + if (status.isFailure()) { + throw GaudiException("Unable to connect metadata services", name(), StatusCode::FAILURE); + } + m_checkNumberOfWrites = false; + m_outputAttributes = "[OutputCollection=MetaDataHdr][PoolContainerPrefix=MetaData][AttributeListKey=][DataHeaderSatellites=]"; + m_p2BWritten->clear(); + IProperty *pAsIProp(nullptr); + if ((m_p2BWritten.retrieve()).isFailure() || + nullptr == (pAsIProp = dynamic_cast<IProperty*>(&*m_p2BWritten)) || + (pAsIProp->setProperty("ItemList", m_metadataItemList.toString())).isFailure()) { + throw GaudiException("Folder property [metadataItemList] not found", name(), StatusCode::FAILURE); + } + if (write().isFailure()) { // true mean write AND commit + ATH_MSG_ERROR("Cannot write metadata"); + } + m_outputAttributes.clear(); + m_currentStore = &m_dataStore; + status = m_streamer->connectServices(m_dataStore.type(), m_persName, m_extendProvenanceRecord); + if (status.isFailure()) { + throw GaudiException("Unable to re-connect services", name(), StatusCode::FAILURE); + } + m_p2BWritten->clear(); + if ((pAsIProp->setProperty(m_itemList)).isFailure()) { + throw GaudiException("Folder property [itemList] not found", name(), StatusCode::FAILURE); + } + ATH_MSG_INFO("Records written: " << m_events); + for (std::vector<ToolHandle<IAthenaOutputTool> >::iterator iter = m_helperTools.begin(); + iter != m_helperTools.end(); iter++) { + if (!(*iter)->postInitialize().isSuccess()) { + ATH_MSG_ERROR("Cannot initialize helper tool"); + } + } + } } else if (inc.type() == "UpdateOutputFile") { const FileIncident* fileInc = dynamic_cast<const FileIncident*>(&inc); if(fileInc!=nullptr) { @@ -524,7 +508,6 @@ StatusCode AthenaOutputStream::write() { } } if (failed) { - ATH_MSG_ERROR("Could not connectOutput"); return(StatusCode::FAILURE); } return(StatusCode::SUCCESS); @@ -544,30 +527,11 @@ void AthenaOutputStream::collectAllObjects() { } } m_p2BWritten->updateItemList(true); - std::vector<CLID> folderclids; // Collect all objects that need to be persistified: - //FIXME refactor: move this in folder. Treat as composite +//FIXME refactor: move this in folder. Treat as composite for (SG::IFolder::const_iterator i = m_p2BWritten->begin(), iEnd = m_p2BWritten->end(); i != iEnd; i++) { + //ATH_MSG_INFO("BLARG " << i->id() << " " << i->key()); addItemObjects(*i); - folderclids.push_back(i->id()); - } - - // FIXME This is a bruteforece hack to remove items erroneously - // added somewhere in the morass of the addItemObjects logic - IDataSelector prunedList; - for (auto it = m_objects.begin(); it != m_objects.end(); ++it) { - if (std::find(folderclids.begin(),folderclids.end(),(*it)->clID())!=folderclids.end()) { - prunedList.push_back(*it); // build new list that is correct - } - else { - ATH_MSG_DEBUG("Object " << (*it)->clID() <<","<< (*it)->name() << " found that was not in itemlist"); - } - } - m_objects.clear(); // clear previous list - //for (auto it = m_objects.begin(); it != m_objects.end(); ++it) { - for (auto it = prunedList.begin(); it != prunedList.end(); ++it) { - //ATH_MSG_INFO("GLARB " << (*it)->clID() << " " << (*it)->name()); - m_objects.push_back(*it); // copy new into previous } } @@ -723,6 +687,7 @@ void AthenaOutputStream::addItemObjects(const SG::FolderItem& item) attributes.insert(attr); std::stringstream temp; temp << tns.str() << attr; + //ATH_MSG_INFO("BLARG " << this->name() << " " << temp.str()); if (m_itemSvc->addStreamItem(this->name(),temp.str()).isFailure()) { ATH_MSG_WARNING("Unable to record item " << temp.str() << " in Svc"); } diff --git a/Control/AthenaServices/src/AthenaOutputStream.h b/Control/AthenaServices/src/AthenaOutputStream.h index 584d8a528898b9b75572b0e8108abf59504a3bd0..e10de58e2a808a9d921a42435e96745ce0fdf1d4 100644 --- a/Control/AthenaServices/src/AthenaOutputStream.h +++ b/Control/AthenaServices/src/AthenaOutputStream.h @@ -1,7 +1,7 @@ // Dear emacs, this is -*- C++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef ATHENASERVICES_ATHENAOUTPUTSTREAM_H @@ -140,10 +140,9 @@ public: /// \name implement IAlgorithm //@{ - virtual StatusCode initialize(); - virtual StatusCode finalize(); - virtual StatusCode execute(); - virtual StatusCode stop() override; + virtual StatusCode initialize() override; + virtual StatusCode finalize() override; + virtual StatusCode execute() override; //@} /// Stream the data virtual StatusCode write(); @@ -158,10 +157,10 @@ public: return &m_objects; } /// Incident service handle listening for LastInputFile - void handle(const Incident& incident); + virtual void handle(const Incident& incident) override; /// Callback method to reinitialize the internal state of the component for I/O purposes (e.g. upon @c fork(2)) - virtual StatusCode io_reinit(); - virtual StatusCode io_finalize(); + virtual StatusCode io_reinit() override; + virtual StatusCode io_finalize() override; private: /// Add item data objects to output streamer list diff --git a/Control/AthenaServices/src/AthenaOutputStreamTool.cxx b/Control/AthenaServices/src/AthenaOutputStreamTool.cxx index 11ae6e01eed97b9eae612faec0fc1c4fe7b088bf..24ad48aff0ed1916e1a8e0b0fe968983036eba6c 100644 --- a/Control/AthenaServices/src/AthenaOutputStreamTool.cxx +++ b/Control/AthenaServices/src/AthenaOutputStreamTool.cxx @@ -109,7 +109,7 @@ StatusCode AthenaOutputStreamTool::connectServices(const std::string& dataStore, // Release old data store if (m_store.isValid()) { if (m_store.release().isFailure()) { - ATH_MSG_ERROR("PETER: Could not release " << m_store.type() << " store"); + ATH_MSG_ERROR("Could not release " << m_store.type() << " store"); } } m_store = ServiceHandle<StoreGateSvc>(dataStore, this->name()); @@ -130,7 +130,7 @@ StatusCode AthenaOutputStreamTool::connectServices(const std::string& dataStore, StatusCode AthenaOutputStreamTool::connectServices() { // Find the data store if (m_store.retrieve().isFailure() || m_store == 0) { - ATH_MSG_ERROR("PETER: Could not locate " << m_store.type() << " store"); + ATH_MSG_ERROR("Could not locate " << m_store.type() << " store"); return(StatusCode::FAILURE); } return(StatusCode::SUCCESS); diff --git a/Control/AthenaServices/src/AthenaOutputStreamTool.h b/Control/AthenaServices/src/AthenaOutputStreamTool.h index 6e7099d481d887f75ad50dd9a8f4c7444c80f029..be8fc2dc2dfcdf95672fec68f6e244b1316b39ed 100644 --- a/Control/AthenaServices/src/AthenaOutputStreamTool.h +++ b/Control/AthenaServices/src/AthenaOutputStreamTool.h @@ -50,7 +50,7 @@ public: /// Connect to the output stream /// Must connectOutput BEFORE streaming /// Only specify "outputName" if one wants to override jobOptions - StatusCode connectOutput(const std::string& outputName); + StatusCode connectOutput(const std::string& outputName = ""); /// Commit the output stream after having streamed out objects /// Must commitOutput AFTER streaming diff --git a/Control/AthenaServices/src/MetaDataSvc.cxx b/Control/AthenaServices/src/MetaDataSvc.cxx index a35352c729e16afb2977946e1336a28f3f92d6d9..ce43e4a91ee33d5294cd36ee23853157ee216e09 100644 --- a/Control/AthenaServices/src/MetaDataSvc.cxx +++ b/Control/AthenaServices/src/MetaDataSvc.cxx @@ -39,8 +39,7 @@ MetaDataSvc::MetaDataSvc(const std::string& name, ISvcLocator* pSvcLocator) : :: m_allowMetaDataStop(false), m_persToClid(), m_toolForClid(), - m_streamForKey(), - m_metaDataTools(this) { + m_streamForKey() { // declare properties declareProperty("MetaDataContainer", m_metaDataCont = ""); declareProperty("MetaDataTools", m_metaDataTools); @@ -118,11 +117,10 @@ StatusCode MetaDataSvc::initialize() { ATH_MSG_FATAL("Cannot get IncidentSvc."); return(StatusCode::FAILURE); } - if (m_metaDataTools.retrieve().isFailure()) { + if (!m_metaDataTools.retrieve().isSuccess()) { ATH_MSG_FATAL("Cannot get " << m_metaDataTools); return(StatusCode::FAILURE); } - ATH_MSG_INFO("Found " << m_metaDataTools); m_incSvc->addListener(this, "FirstInputFile", 90); m_incSvc->addListener(this, "BeginInputFile", 90); @@ -206,6 +204,13 @@ StatusCode MetaDataSvc::stop() { } } + // Set to be listener for end of event + Incident metaDataStopIncident(name(), "MetaDataStop"); + m_incSvc->fireIncident(metaDataStopIncident); + + // finalizing tools via metaDataStop + ATH_CHECK(this->prepareOutput()); + return(StatusCode::SUCCESS); } //_______________________________________________________________________ @@ -270,7 +275,6 @@ StatusCode MetaDataSvc::newMetadataSource(const Incident& inc) ATH_MSG_ERROR("Unable to get FileName from EndInputFile incident"); return StatusCode::FAILURE; } - const std::string guid = fileInc->fileGuid(); const std::string fileName = fileInc->fileName(); m_allowMetaDataStop = false; if (fileName.find("BSF:") != 0) { @@ -288,7 +292,7 @@ StatusCode MetaDataSvc::newMetadataSource(const Incident& inc) StatusCode rc(StatusCode::SUCCESS); for (auto it = m_metaDataTools.begin(); it != m_metaDataTools.end(); ++it) { ATH_MSG_DEBUG(" calling beginInputFile for " << (*it)->name()); - if ( (*it)->beginInputFile(guid).isFailure() ) { + if ( (*it)->beginInputFile().isFailure() ) { ATH_MSG_ERROR("Unable to call beginInputFile for " << it->name()); rc = StatusCode::FAILURE; } @@ -296,16 +300,10 @@ StatusCode MetaDataSvc::newMetadataSource(const Incident& inc) return rc; } -StatusCode MetaDataSvc::retireMetadataSource(const Incident& inc) +StatusCode MetaDataSvc::retireMetadataSource(const Incident&) { - const FileIncident* fileInc = dynamic_cast<const FileIncident*>(&inc); - if (fileInc == nullptr) { - ATH_MSG_ERROR("Unable to get FileName from EndInputFile incident"); - return StatusCode::FAILURE; - } - const std::string guid = fileInc->fileGuid(); for (auto it = m_metaDataTools.begin(); it != m_metaDataTools.end(); ++it) { - if ( (*it)->endInputFile(guid).isFailure() ) { + if ( (*it)->endInputFile().isFailure() ) { ATH_MSG_ERROR("Unable to call endInputFile for " << it->name()); return StatusCode::FAILURE; } @@ -314,18 +312,12 @@ StatusCode MetaDataSvc::retireMetadataSource(const Incident& inc) return StatusCode::SUCCESS; } -StatusCode MetaDataSvc::prepareOutput(const Incident& inc) +StatusCode MetaDataSvc::prepareOutput() { - const FileIncident* fileInc = dynamic_cast<const FileIncident*>(&inc); - if (fileInc == nullptr) { - ATH_MSG_ERROR("Unable to get FileName from MetaDataStop incident"); - return StatusCode::FAILURE; - } - const std::string guid = fileInc->fileGuid(); StatusCode rc(StatusCode::SUCCESS); for (auto it = m_metaDataTools.begin(); it != m_metaDataTools.end(); ++it) { ATH_MSG_DEBUG(" calling metaDataStop for " << (*it)->name()); - if ( (*it)->metaDataStop(guid).isFailure() ) { + if ( (*it)->metaDataStop().isFailure() ) { ATH_MSG_ERROR("Unable to call metaDataStop for " << it->name()); rc = StatusCode::FAILURE; } @@ -385,7 +377,7 @@ void MetaDataSvc::handle(const Incident& inc) { ATH_MSG_ERROR("Could not retire metadata source " << fileName); } } else if (inc.type() == "LastInputFile") { - if (m_metaDataTools.release().isFailure()) { + if (!m_metaDataTools.release().isSuccess()) { ATH_MSG_WARNING("Cannot release " << m_metaDataTools); } } else if (inc.type() == "ShmProxy") { @@ -395,17 +387,16 @@ void MetaDataSvc::handle(const Incident& inc) { } } //__________________________________________________________________________ -StatusCode MetaDataSvc::transitionMetaDataFile(const FileIncident& inc, bool ignoreInputFile) { +StatusCode MetaDataSvc::transitionMetaDataFile(bool ignoreInputFile) { // Allow MetaDataStop only on Input file transitions if (!m_allowMetaDataStop && !ignoreInputFile) { return(StatusCode::FAILURE); } - //FileIncident metaDataStopIncident(name(), "MetaDataStop", inc.fileName(), inc.fileGuid()); - //m_incSvc->fireIncident(metaDataStopIncident); + Incident metaDataStopIncident(name(), "MetaDataStop"); + m_incSvc->fireIncident(metaDataStopIncident); // Set to be listener for end of event - //ATH_CHECK(this->prepareOutput(metaDataStopIncident)); - ATH_CHECK(this->prepareOutput(inc)); + ATH_CHECK(this->prepareOutput()); AthCnvSvc* cnvSvc = dynamic_cast<AthCnvSvc*>(m_addrCrtr.operator->()); if (cnvSvc) { diff --git a/Control/AthenaServices/src/MetaDataSvc.h b/Control/AthenaServices/src/MetaDataSvc.h index 67a401a245744ada1ff22077975aba5eff99e925..b91b43e337ef446c516650ce9a28bd8f6f2da0d3 100644 --- a/Control/AthenaServices/src/MetaDataSvc.h +++ b/Control/AthenaServices/src/MetaDataSvc.h @@ -15,7 +15,6 @@ #include "GaudiKernel/Property.h" // no forward decl: typedef #include "GaudiKernel/IIncidentListener.h" #include "GaudiKernel/IIoComponent.h" -#include "GaudiKernel/FileIncident.h" #include "GaudiKernel/IFileMgr.h" // for FILEMGR_CALLBACK_ARGS #include "AthenaKernel/IAddressProvider.h" #include "AthenaBaseComps/AthService.h" @@ -76,7 +75,7 @@ public: // Non-static members /// Function called when the current state of metadata must be made /// ready for output - StatusCode prepareOutput(const Incident&); + StatusCode prepareOutput(); StatusCode proxyIncident(const Incident&); StatusCode queryInterface(const InterfaceID& riid, void** ppvInterface); @@ -98,7 +97,7 @@ public: // Non-static members void handle(const Incident& incident); /// Transition output metadata file - fire MeteDataStop incident to transition OutputStream - StatusCode transitionMetaDataFile(const FileIncident&, bool ignoreInputFile = false); + StatusCode transitionMetaDataFile(bool ignoreInputFile = false); /// Callback method to reinitialize the internal state of the component for I/O purposes (e.g. upon @c fork(2)) StatusCode io_reinit(); diff --git a/Control/AthenaServices/src/OutputStreamSequencerSvc.cxx b/Control/AthenaServices/src/OutputStreamSequencerSvc.cxx index f9fbfd5f114ddabb88d07ba449a2c38ee1568d9e..b00bdee427bcafdd170070e4e831f98277f9203e 100644 --- a/Control/AthenaServices/src/OutputStreamSequencerSvc.cxx +++ b/Control/AthenaServices/src/OutputStreamSequencerSvc.cxx @@ -75,13 +75,9 @@ StatusCode OutputStreamSequencerSvc::queryInterface(const InterfaceID& riid, voi void OutputStreamSequencerSvc::handle(const Incident& inc) { ATH_MSG_INFO("handle " << name() << " incident type " << inc.type()); if (m_fileSequenceNumber > 0 || !m_fileSequenceLabel.empty()) { // Do nothing for first call - const FileIncident* fileInc = dynamic_cast<const FileIncident*>(&inc); - if (fileInc != nullptr) { - if (!m_metaDataSvc->transitionMetaDataFile(*fileInc, m_ignoreInputFile.value()).isSuccess()) { - ATH_MSG_FATAL("Cannot transition MetaDataSvc."); - } + if (!m_metaDataSvc->transitionMetaDataFile(m_ignoreInputFile.value()).isSuccess()) { + ATH_MSG_FATAL("Cannot transition MetaDataSvc."); } - else ATH_MSG_FATAL("Cannot transition MetaDataSvc."); } m_fileSequenceNumber++; m_fileSequenceLabel.clear(); diff --git a/Control/AthenaServices/test/ConditionsCleanerSvc_test.cxx b/Control/AthenaServices/test/ConditionsCleanerSvc_test.cxx index 35247486ba461e464a1b71aec42aa12d073208fc..48266d65f87e3fd7efc25d9df9029b28f37e92fd 100644 --- a/Control/AthenaServices/test/ConditionsCleanerSvc_test.cxx +++ b/Control/AthenaServices/test/ConditionsCleanerSvc_test.cxx @@ -68,6 +68,8 @@ public: EventIDRange const**) const override { std::abort(); } virtual size_t nInserts() const override { std::abort(); } virtual size_t maxSize() const override { std::abort(); } + virtual StatusCode extendLastRange (const EventIDRange& /*newRange*/, + const EventContext& /*ctx*/) override { std::abort(); } private: RCUTest m_rcu; diff --git a/Control/AthenaServices/test/DelayedConditionsCleanerSvc_test.cxx b/Control/AthenaServices/test/DelayedConditionsCleanerSvc_test.cxx index 861c2c376d9f0ca19faf97f872994db794ad62c3..fc52680c26e283914449b7fbfdb7d1c84339156b 100644 --- a/Control/AthenaServices/test/DelayedConditionsCleanerSvc_test.cxx +++ b/Control/AthenaServices/test/DelayedConditionsCleanerSvc_test.cxx @@ -76,6 +76,8 @@ public: virtual size_t nInserts() const override { return 0; } virtual size_t maxSize() const override { return 0; } + virtual StatusCode extendLastRange (const EventIDRange& /*newRange*/, + const EventContext& /*ctx*/) override { std::abort(); } virtual size_t entriesRunLBN() const override diff --git a/Control/DataModelRoot/src/RootType.cxx b/Control/DataModelRoot/src/RootType.cxx index 58f03590ae1d84eb78daa83e4d3c13a60a08837a..644ba04310986962aab221e6f26af5a2f89e39b8 100644 --- a/Control/DataModelRoot/src/RootType.cxx +++ b/Control/DataModelRoot/src/RootType.cxx @@ -551,27 +551,14 @@ TScopeAdapter TScopeAdapter::ByName( const std::string& name, Bool_t load, Bool_t quiet ) { return TScopeAdapter(name, load, quiet); - - /* MN: causes problems in ROOT6, do we need it? - if (klass.GetClass() && klass->GetListOfAllPublicMethods()->GetSize() == 0) { - // sometimes I/O interferes, leading to zero methods: reload from CINT - ClassInfo_t* cl = gInterpreter->ClassInfo_Factory( name.c_str() ); - if ( cl ) { - gInterpreter->SetClassInfo( klass, kTRUE ); - gInterpreter->ClassInfo_Delete(cl); - } - } - return klass.GetClass(); - */ } //____________________________________________________________________________ TScopeAdapter TScopeAdapter::TypeAt( size_t nth ) { -// this is dreadful, but is the way checkDictionary() works ... it better make -// sure that it does not load extra classes inside its loop (seems to be how -// it should be, but is not how it is) - return TScopeAdapter( gClassTable->At( nth ) ); + const char *class_name = gClassTable->At( nth ); + // prevent autoloading, as it could change gClassTable + return class_name? TScopeAdapter( string(class_name), false, false ) : TScopeAdapter(); } //____________________________________________________________________________ diff --git a/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref b/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref index c6665410b07e93051475b4010123373bebe1ccd7..2d3913edcfe3fc4325564be55e191a00c9cb753e 100644 --- a/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref +++ b/Control/DataModelTest/DataModelRunTests/share/ByteStreamTestRead.ref @@ -1,21 +1,21 @@ -Tue Oct 9 18:41:42 CEST 2018 +Fri Nov 9 19:19:08 CET 2018 Preloading tcmalloc_minimal.so Py:Athena INFO including file "AthenaCommon/Preparation.py" -Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc8-dbg] [atlas-work3/eea13fb904b] -- built on [2018-10-09T1607] +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/7a133dcd071] -- built on [2018-11-09T1652] 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 "DataModelRunTests/ByteStreamTestRead_jo.py" Py:Athena INFO including file "DataModelRunTests/loadReadDicts.py" -Py:ConfigurableDb INFO Read module info for 5504 configurables from 72 genConfDb files +Py:ConfigurableDb INFO Read module info for 5557 configurables from 49 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Py:Athena INFO including file "AthenaCommon/runbatch.py" [?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on lxplus028.cern.ch on Tue Oct 9 18:42:06 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus050.cern.ch on Fri Nov 9 19:19:25 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -49,15 +49,15 @@ PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.x PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-08T2213/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-dbg/share/dbreplica.config -DBReplicaSvc INFO Total of 10 servers found for host lxplus028.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-08T0031/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus050.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm 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] ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 -ClassIDSvc INFO getRegistryEntries: read 3412 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 3449 CLIDRegistry entries for module ALL TrigSerializeCn... INFO initialize() HistogramPersis...WARNING Histograms saving not required. EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 @@ -84,8 +84,7 @@ Warning in <TClass::Init>: no dictionary for class MdtTrackSegmentCollection_p1 Warning in <TClass::Init>: no dictionary for class MdtTrackSegment_p1 is available Warning in <TClass::Init>: no dictionary for class MdtTrackSegmentCollection_p2 is available ToolSvc.TrigSer... INFO Initializing - Package version: TrigSerializeTP-00-00-00 -APR:DbReflex:fo...WARNING doing GUID scan on ALL types for Class ID=10DE610D-5634-4D42-80D4-80B0A8C16452 -APR:DbReflex:fo...WARNING doing GUID scan on ALL types for Class ID=2577D84A-BC0F-4CD2-9539-9F0A4EFC64AA +APR:DbReflex:fo...WARNING doing GUID scan on ALL types for Class ID=EAD7484F-1F40-4344-A667-BB9C47536BE6 APR:DbReflex:fo...WARNING doing GUID scan on ALL types for Class ID=740C4020-F0A3-40B3-88E1-B15A8055DB64 HLT_DMTest__CVec_cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt Type of aux store: DMTest::CAuxContainer_v1 diff --git a/Control/DataModelTest/DataModelRunTests/share/loadReadDicts.py b/Control/DataModelTest/DataModelRunTests/share/loadReadDicts.py index abf47867a1d165749aea0ddbd0ab1b8da5dd7780..376ac6a10177950aa981dccd24c2614e28b1c8f7 100644 --- a/Control/DataModelTest/DataModelRunTests/share/loadReadDicts.py +++ b/Control/DataModelTest/DataModelRunTests/share/loadReadDicts.py @@ -22,6 +22,9 @@ class LoadReadDicts (Alg): cppyy.loadDictionary("libDataModelTestDataCommonDict") cppyy.loadDictionary("libDataModelTestDataReadDict") ROOT.DMTest.B + ROOT.gROOT.GetClass('DMTest::HAuxContainer_v1') + ROOT.gROOT.GetClass('DataVector<DMTest::H_v1>') + ROOT.gROOT.GetClass('DMTest::HView_v1') ROOT.DMTest.setConverterLibrary ('libDataModelTestDataReadCnvPoolCnv.so') ROOT.DMTest.setTrigConverterLibrary ('libDataModelTestDataReadSerCnv.so') return StatusCode.Success diff --git a/Control/DataModelTest/DataModelRunTests/share/xAODTestRead.ref b/Control/DataModelTest/DataModelRunTests/share/xAODTestRead.ref index 5f17c9791b1f87b33eaa8f6b2d4a5b01bd58dbd6..7bc8524fdf15ad338cc3378ec52c355348f77337 100644 --- a/Control/DataModelTest/DataModelRunTests/share/xAODTestRead.ref +++ b/Control/DataModelTest/DataModelRunTests/share/xAODTestRead.ref @@ -1,12 +1,12 @@ -Tue Oct 9 18:23:59 CEST 2018 +Thu Nov 8 04:02:04 CET 2018 Preloading tcmalloc_minimal.so Py:Athena INFO including file "AthenaCommon/Preparation.py" -Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc8-dbg] [atlas-work3/eea13fb904b] -- built on [2018-10-09T1607] +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [atlas-work3/3a1173767ab] -- built on [2018-11-07T2213] 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 "DataModelRunTests/xAODTestRead_jo.py" -Py:ConfigurableDb INFO Read module info for 5504 configurables from 72 genConfDb files +Py:ConfigurableDb INFO Read module info for 5556 configurables from 46 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Py:Athena INFO including file "DataModelRunTests/loadReadDicts.py" Py:Athena INFO including file "EventAthenaPool/EventAthenaPoolItemList_joboptions.py" @@ -16,8 +16,8 @@ Py:Athena INFO including file "AthenaCommon/runbatch.py" ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on lxplus028.cern.ch on Tue Oct 9 18:25:06 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus076.cern.ch on Thu Nov 8 04:02:22 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -34,8 +34,8 @@ AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version Athena PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-08T2213/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-dbg/share/dbreplica.config -DBReplicaSvc INFO Total of 10 servers found for host lxplus028.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2342/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus076.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is file:xAODTestRead_catalog.xml @@ -79,7 +79,7 @@ Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 1AA9ED5 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] 2B74C915-B4B3-8B42-93AE-5CF3267D253C +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A Domain[ROOT_All] INFO xaoddata.root RootDatabase.open INFO xaoddata.root File version:61404 ClassIDSvc INFO getRegistryEntries: read 2046 CLIDRegistry entries for module ALL @@ -113,11 +113,11 @@ HistogramPersis...WARNING Histograms saving not required. AthenaEventLoopMgr INFO Setup EventSelector service EventSelector ApplicationMgr INFO Application Manager Initialized successfully xaoddata.root INFO Database being retired... -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 2B74C915-B4B3-8B42-93AE-5CF3267D253C +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A 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] 2B74C915-B4B3-8B42-93AE-5CF3267D253C +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A Domain[ROOT_All] INFO xaoddata.root RootDatabase.open INFO xaoddata.root File version:61404 ApplicationMgr INFO Application Manager Started successfully @@ -126,20 +126,20 @@ AthenaPoolConve... INFO massageEventInfo: unable to get OverrideRunNumberFromI AthenaEventLoopMgr INFO ===>>> start of run 0 <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #0, run #0 0 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 0 -MetaInputLoader INFO createMetaObj for MetaCAux. and sid 2B74C915-B4B3-8B42-93AE-5CF3267D253C -MetaInputLoader INFO address0 0x2d4ef100 +MetaInputLoader INFO createMetaObj for MetaCAux. and sid 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A +MetaInputLoader INFO address0 0x2f70d900 MetaDataStore_ImplWARNING record_impl: Doing auto-symlinks for object with CLID 9723 and SG key MetaCAux.: Proxy already set for base CLID 187169987; not making auto-symlink. -MetaInputLoader INFO address1 0x2d4ef100 +MetaInputLoader INFO address1 0x2f70d900 MetaInputLoader INFO Now have mcb with 1 entries MetaInputLoader INFO Retrieved mcb with entries = 0 -MetaInputLoader INFO createMetaObj for MetaS1 and sid 2B74C915-B4B3-8B42-93AE-5CF3267D253C -MetaInputLoader INFO address0 0x2d4b7700 -MetaInputLoader INFO address1 0x2d4b7700 +MetaInputLoader INFO createMetaObj for MetaS1 and sid 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A +MetaInputLoader INFO address0 0x43d00d00 +MetaInputLoader INFO address1 0x43d00d00 MetaInputLoader INFO Now have mcb with 1 entries MetaInputLoader INFO Retrieved mcb with entries = 0 -MetaInputLoader INFO createMetaObj for MetaC and sid 2B74C915-B4B3-8B42-93AE-5CF3267D253C -MetaInputLoader INFO address0 0x2d4eff00 -MetaInputLoader INFO address1 0x2d4eff00 +MetaInputLoader INFO createMetaObj for MetaC and sid 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A +MetaInputLoader INFO address0 0x2fa29700 +MetaInputLoader INFO address1 0x2fa29700 MetaInputLoader INFO Now have mcb with 1 entries ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL DMTest::MetaRea... INFO MetaS1: 24 @@ -217,7 +217,7 @@ hview: 420.5 419.5 418.5 417.5 416.5 415.5 414.5 413.5 412.5 411.5 410.5 409.5 4 ClassIDSvc INFO getRegistryEntries: read 32 CLIDRegistry entries for module ALL DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain UPDATE [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] C41FD46A-98D6-4145-8D54-6608050DBD95 +Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] 5D76A6A3-0A74-C945-93AE-8CE7B91D3215 Domain[ROOT_All] INFO xaoddata2.root RootDatabase.open INFO xaoddata2.root File version:61404 StorageSvc INFO Building shape according to reflection information using shape ID for: @@ -233,17 +233,17 @@ StorageSvc INFO xAOD::ShallowAuxContainer [C63C39D7-9501-49DC-B1B0-6AD StorageSvc INFO Building shape according to reflection information using shape ID for: StorageSvc INFO xAOD::AuxContainerBase [C87C71B3-B03F-42FC-AF99-DF497F148397] ClassIDSvc INFO getRegistryEntries: read 18 CLIDRegistry entries for module ALL -Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] DC37F379-36A2-AA49-B453-782E51D4A734 +Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] D377F64B-6875-0D41-A87B-A42EF4325D45 Domain[ROOT_All] INFO xaoddata2b.root RootDatabase.open INFO xaoddata2b.root File version:61404 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #0 1 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #1, run #0 1 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -318,11 +318,11 @@ hview: 820.5 819.5 818.5 817.5 816.5 815.5 814.5 813.5 812.5 811.5 810.5 809.5 8 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #0 2 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #2, run #0 2 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -397,11 +397,11 @@ hview: 1220.5 1219.5 1218.5 1217.5 1216.5 1215.5 1214.5 1213.5 1212.5 1211.5 121 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #0 3 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #3, run #0 3 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -476,11 +476,11 @@ hview: 1620.5 1619.5 1618.5 1617.5 1616.5 1615.5 1614.5 1613.5 1612.5 1611.5 161 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #0 4 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #4, run #0 4 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -515,11 +515,11 @@ hview: 2020.5 2019.5 2018.5 2017.5 2016.5 2015.5 2014.5 2013.5 2012.5 2011.5 201 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #0 5 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #5, run #0 5 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -594,11 +594,11 @@ hview: 2420.5 2419.5 2418.5 2417.5 2416.5 2415.5 2414.5 2413.5 2412.5 2411.5 241 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #0 6 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #6, run #0 6 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -673,11 +673,11 @@ hview: 2820.5 2819.5 2818.5 2817.5 2816.5 2815.5 2814.5 2813.5 2812.5 2811.5 281 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #0 7 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #7, run #0 7 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -752,11 +752,11 @@ hview: 3220.5 3219.5 3218.5 3217.5 3216.5 3215.5 3214.5 3213.5 3212.5 3211.5 321 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #0 8 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #8, run #0 8 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -831,11 +831,11 @@ hview: 3620.5 3619.5 3618.5 3617.5 3616.5 3615.5 3614.5 3613.5 3612.5 3611.5 361 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #0 9 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #9, run #0 9 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -910,11 +910,11 @@ hview: 4020.5 4019.5 4018.5 4017.5 4016.5 4015.5 4014.5 4013.5 4012.5 4011.5 401 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #0 10 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #10, run #0 10 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -989,11 +989,11 @@ hview: 4420.5 4419.5 4418.5 4417.5 4416.5 4415.5 4414.5 4413.5 4412.5 4411.5 441 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #0 11 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #11, run #0 11 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -1068,11 +1068,11 @@ hview: 4820.5 4819.5 4818.5 4817.5 4816.5 4815.5 4814.5 4813.5 4812.5 4811.5 481 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #0 12 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #12, run #0 12 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -1147,11 +1147,11 @@ hview: 5220.5 5219.5 5218.5 5217.5 5216.5 5215.5 5214.5 5213.5 5212.5 5211.5 521 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #0 13 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #13, run #0 13 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -1226,11 +1226,11 @@ hview: 5620.5 5619.5 5618.5 5617.5 5616.5 5615.5 5614.5 5613.5 5612.5 5611.5 561 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #0 14 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #14, run #0 14 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -1305,11 +1305,11 @@ hview: 6020.5 6019.5 6018.5 6017.5 6016.5 6015.5 6014.5 6013.5 6012.5 6011.5 601 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #0 15 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #15, run #0 15 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -1384,11 +1384,11 @@ hview: 6420.5 6419.5 6418.5 6417.5 6416.5 6415.5 6414.5 6413.5 6412.5 6411.5 641 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #0 16 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #16, run #0 16 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -1463,11 +1463,11 @@ hview: 6820.5 6819.5 6818.5 6817.5 6816.5 6815.5 6814.5 6813.5 6812.5 6811.5 681 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #0 17 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #17, run #0 17 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -1542,11 +1542,11 @@ hview: 7220.5 7219.5 7218.5 7217.5 7216.5 7215.5 7214.5 7213.5 7212.5 7211.5 721 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #0 18 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #18, run #0 18 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -1621,11 +1621,11 @@ hview: 7620.5 7619.5 7618.5 7617.5 7616.5 7615.5 7614.5 7613.5 7612.5 7611.5 761 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #0 19 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #19, run #0 19 events processed so far <<<=== MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::CInfoAuxContainer' , 'MetaCAux.' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::S1' , 'MetaS1' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A MetaInputLoader INFO Retrieved mcb with entries = 1 -MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 2B74C915-B4B3-8B42-93AE-5CF3267D253C +MetaInputLoader INFO MetaObj ( 'DMTest::C' , 'MetaC' ) is still valid for 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A DMTest::MetaRea... INFO MetaS1: 24 DMTest::MetaRea... INFO MetaC: 3 2.5 cvec aux items: aFloat anInt anInt2 cEL dInt1 dVar1 dpInt1 dpvFloat pFloat pInt pvFloat pvInt @@ -1702,11 +1702,11 @@ ClassIDSvc INFO getRegistryEntries: read 4 CLIDRegistry entries for m Stream1 INFO Records written: 21 Stream2 INFO Records written: 21 xaoddata.root INFO Database being retired... -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 2B74C915-B4B3-8B42-93AE-5CF3267D253C +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 7D0F3B68-ECFB-3044-A80B-8AB0F8552F9A xaoddata2.root INFO Database being retired... -Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] C41FD46A-98D6-4145-8D54-6608050DBD95 +Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] 5D76A6A3-0A74-C945-93AE-8CE7B91D3215 xaoddata2b.root INFO Database being retired... -Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] DC37F379-36A2-AA49-B453-782E51D4A734 +Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] D377F64B-6875-0D41-A87B-A42EF4325D45 Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize diff --git a/Control/DataModelTest/DataModelRunTests/share/xAODTestRead_jo.py b/Control/DataModelTest/DataModelRunTests/share/xAODTestRead_jo.py index 5b864600d877cd80e93cba611ac5677fd088f521..f4a0c5408e94bbc45905dd135d0d81ce79f1a4c8 100755 --- a/Control/DataModelTest/DataModelRunTests/share/xAODTestRead_jo.py +++ b/Control/DataModelTest/DataModelRunTests/share/xAODTestRead_jo.py @@ -84,7 +84,7 @@ fullItemList+=["xAOD::ShallowAuxContainer#scopy_cvecWDAux."] fullItemList+=["DMTest::CVec#scopy_ctrig"] fullItemList+=["xAOD::ShallowAuxContainer#scopy_ctrigAux."] fullItemList+=["DMTest::C#scopy_cinfo"] -fullItemList+=["xAOD::ShallowAuxContainer#scopy_cinfoAux."] +fullItemList+=["xAOD::ShallowAuxInfo#scopy_cinfoAux."] fullItemList+=["DMTest::HVec#scopy_hvec"] fullItemList+=["xAOD::ShallowAuxContainer#scopy_hvecAux."] diff --git a/Control/DataModelTest/DataModelRunTests/test/post.sh b/Control/DataModelTest/DataModelRunTests/test/post.sh index 82a893e89761a2ecedc3d35181e03f6145bec8ad..23b2ffe1fe5057a1850a7c207a70d3733a30c037 100755 --- a/Control/DataModelTest/DataModelRunTests/test/post.sh +++ b/Control/DataModelTest/DataModelRunTests/test/post.sh @@ -221,6 +221,9 @@ PP="$PP"'|MetaInputLoader *INFO address' # MetaInputLoader SIDs PP="$PP"'|is still valid for| and sid ' +PP="$PP"'|INFO Found MetaDataTools' +PP="$PP"'|INFO AthenaOutputStream' + test=$1 if [ -z "$testStatus" ]; then diff --git a/Control/IOVSvc/CMakeLists.txt b/Control/IOVSvc/CMakeLists.txt index 566e1d22c105282e1853253ddd98e078d81da80c..4f280fd87c3b4901f20a4c6d56ed9830958f80a6 100644 --- a/Control/IOVSvc/CMakeLists.txt +++ b/Control/IOVSvc/CMakeLists.txt @@ -45,6 +45,14 @@ atlas_add_test( IOVSvcTool_test EXTRA_PATTERNS "^HistogramPersis.* INFO|^IOVSvc +DEBUG|^IOVSvcTool +DEBUG" ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" ) +atlas_add_test( IOVSvc_test + SOURCES + test/IOVSvc_test.cxx + INCLUDE_DIRS ${Boost_INCLUDE_DIRS} + LINK_LIBRARIES ${Boost_LIBRARIES} AthenaBaseComps AthenaKernel SGTools StoreGateLib SGtests GaudiKernel TestTools EventInfo IOVSvcLib xAODEventInfo PersistentDataModel + EXTRA_PATTERNS "^HistogramPersis.* INFO|^IOVSvc +DEBUG|^IOVSvcTool +DEBUG" + ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" ) + # Install files from the package: atlas_install_joboptions( share/IOVSvc.txt share/IOVSvc.py ) diff --git a/Control/IOVSvc/share/IOVSvc_test.ref b/Control/IOVSvc/share/IOVSvc_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..3ffb86b4f5a95b13bf70010623eb32425b2a67ae --- /dev/null +++ b/Control/IOVSvc/share/IOVSvc_test.ref @@ -0,0 +1,24 @@ +IOVSvc_test + + +Initializing Gaudi ApplicationMgr using job opts ../share/IOVSvc_test.txt +JobOptionsSvc INFO # =======> /home/sss/atlas/dvtest/build/../tests/../share/IOVSvc_test.txt +JobOptionsSvc INFO # (1,1): ApplicationMgr.CreateSvc += ["StoreGateSvc/DetectorStore"] +JobOptionsSvc INFO Job options successfully read in from ../share/IOVSvc_test.txt +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v27r1p99) + running on karma on Mon Oct 29 16:20:22 2018 +==================================================================================================================================== +ApplicationMgr INFO Application Manager Configured successfully +ClassIDSvc INFO getRegistryEntries: read 1617 CLIDRegistry entries for module ALL +EventLoopMgr WARNING Unable to locate service "EventSelector" +EventLoopMgr WARNING No events will be processed from external input. +HistogramPersis...WARNING Histograms saving not required. +ApplicationMgr INFO Application Manager Initialized successfully +ApplicationMgr Ready +test1 +ClassIDSvc INFO getRegistryEntries: read 426 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVSvc ERROR unable to get range from db for 932847540 key diff --git a/Control/IOVSvc/share/IOVSvc_test.txt b/Control/IOVSvc/share/IOVSvc_test.txt new file mode 100644 index 0000000000000000000000000000000000000000..fb3065646b840f945b908485dca606674e507e55 --- /dev/null +++ b/Control/IOVSvc/share/IOVSvc_test.txt @@ -0,0 +1 @@ +ApplicationMgr.CreateSvc += { "StoreGateSvc/DetectorStore" }; diff --git a/Control/IOVSvc/src/CondInputLoader.cxx b/Control/IOVSvc/src/CondInputLoader.cxx index 162cbe6d716e410e3cc76bb7102de7781b118e73..a7b9a4b2386068000ac5c364f56723d80238c2c3 100644 --- a/Control/IOVSvc/src/CondInputLoader.cxx +++ b/Control/IOVSvc/src/CondInputLoader.cxx @@ -336,7 +336,7 @@ CondInputLoader::execute() // number with the conditions run number from the event context, // if it is defined. EventIDBase::number_type conditionsRun = - getContext().template getExtension<Atlas::ExtendedEventContext>()->conditionsRun(); + getContext().template getExtension<Atlas::ExtendedEventContext>().conditionsRun(); if (conditionsRun != EventIDBase::UNDEFNUM) { now.set_run_number (conditionsRun); } diff --git a/Control/IOVSvc/src/IOVSvc.cxx b/Control/IOVSvc/src/IOVSvc.cxx index 938289b648e9cb0d581b2e52a0dccf6b6115a2c7..82b22fd482e5017c4af096a4b8777e502c46adfc 100755 --- a/Control/IOVSvc/src/IOVSvc.cxx +++ b/Control/IOVSvc/src/IOVSvc.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /***************************************************************************** @@ -31,6 +31,33 @@ using namespace std; const std::string defaultStore = "StoreGateSvc"; + +namespace { + + +/** + * @brief Helper to check two EventIDBase objects for equality. + * Check either/both of run+lbn or timestamp. + * Don't use operator== for EventIDBase; that compares run+event+lbn only. + */ +bool eventIDMatch (const EventIDBase& e1, const EventIDBase& e2) +{ + if (e1.isRunLumi()) { + if (e1.run_number() != e2.run_number()) return false; + if (e1.lumi_block() != e2.lumi_block()) return false; + } + if (e1.isTimeStamp()) { + if (e1.time_stamp() != e2.time_stamp()) return false; + if (e1.time_stamp_ns_offset() != e2.time_stamp_ns_offset()) return false; + } + return true; +} + + +} // anonymous namespace + + + // /////////////////////////////////////////////////////////////////////////// // @@ -355,6 +382,8 @@ StatusCode IOVSvc::setRange(const CLID& clid, const std::string& key, IOVRange& iovr) { + std::lock_guard<std::recursive_mutex> lock(m_lock); + IIOVSvcTool *ist = getTool( clid, key ); if (ist == 0) { @@ -869,6 +898,18 @@ IOVSvc::createCondObj(CondContBase* ccb, const DataObjID& id, ATH_MSG_DEBUG( " new range for ID " << id << " : " << range << " IOA: " << ioa); + // If the start of the new range matches the start of the last range, then + // extend the last range rather than trying to insert a new range. + // This can happen when a folder is tagged as `extensible' in IOVDbSvc. + EventIDRange r; + if (ccb->range (range.start(), r) && + eventIDMatch (r.start(), range.start())) + { + if (ccb->extendLastRange (range).isSuccess()) { + return StatusCode::SUCCESS; + } + } + if (ccb->proxy() == nullptr) { SG::DataProxy* dp = p_detStore->proxy (id.clid(), sgKey); ATH_MSG_DEBUG( " found DataProxy " << dp << " for " << id ); diff --git a/Control/IOVSvc/src/IOVSvcTool.cxx b/Control/IOVSvc/src/IOVSvcTool.cxx index a618e660b34e58ea8704fe99fc5d09445a9ecc60..689b3a3958d9ee81ba27322ada16e19aef50eb96 100644 --- a/Control/IOVSvc/src/IOVSvcTool.cxx +++ b/Control/IOVSvc/src/IOVSvcTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include "IOVSvc/IOVSvcTool.h" @@ -1409,18 +1409,6 @@ IOVSvcTool::regFcn(SG::DataProxy* dp, m_names[dp] = fullname; } - // if using old compiler, can't detect between non-virtual functions, - // so issue an error. - -#if (__GNUC__ < 3) - if (c.offset() == 0x7fff) { - m_log << MSG::ERROR << "Callback function " << c.name() - << " is not virtual." << " Cannot bind it to " << fullname << endmsg; - return StatusCode::FAILURE; - } -#endif - - // check if this prox/function pair already registered std::pair<pmITR,pmITR> fitr = m_proxyMap.equal_range( dp ); diff --git a/Control/IOVSvc/test/IOVSvc_test.cxx b/Control/IOVSvc/test/IOVSvc_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..059fd75c1af9401497fd2ba08ebf275b4bfa44c4 --- /dev/null +++ b/Control/IOVSvc/test/IOVSvc_test.cxx @@ -0,0 +1,352 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file IOVSvc/test/IOVSvc_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Some tests for IOVSvc. Not complete! + */ + + +#undef NDEBUG +#include "TestTools/initGaudi.h" +#include "StoreGate/StoreGateSvc.h" +#include "SGTools/DataProxy.h" +#include "AthenaKernel/IIOVSvc.h" +#include "AthenaKernel/IIOVDbSvc.h" +#include "AthenaKernel/CLASS_DEF.h" +#include "AthenaKernel/CondCont.h" +#include "AthenaKernel/IAddressProvider.h" +#include "AthenaKernel/IOVTime.h" +#include "AthenaKernel/IOVRange.h" +#include "AthenaKernel/StorableConversions.h" +#include "GaudiKernel/ServiceHandle.h" +#include "GaudiKernel/IOpaqueAddress.h" +#include <sstream> +#include <cassert> +#include <iostream> + + +class Payload +{ +public: + Payload (int x) : m_x (x) {} + int m_x; +}; + +CLASS_DEF(Payload, 932847540, 0) +CLASS_DEF(CondCont<Payload>, 932847546, 0) + + +class TestRCUSvc + : public Athena::IRCUSvc +{ +public: + virtual StatusCode remove (Athena::IRCUObject* /*obj*/) override + { + return StatusCode::SUCCESS; + } + virtual size_t getNumSlots() const override + { return 1; } + virtual void add (Athena::IRCUObject* /*obj*/) override + { } + + virtual unsigned long addRef() override { std::abort(); } + virtual unsigned long release() override { std::abort(); } + virtual StatusCode queryInterface(const InterfaceID &/*ti*/, void** /*pp*/) override { std::abort(); } +}; + + +class TestAddress + : public IOpaqueAddress +{ +public: + TestAddress (int); + DataObject* dobj(); + + virtual unsigned long addRef() override + { std::abort(); } + virtual unsigned long release() override + { std::abort(); } + virtual const CLID& clID() const override + { std::abort(); } + virtual long svcType() const override + { std::abort(); } + virtual IRegistry* registry() const override + { std::abort(); } + virtual void setRegistry( IRegistry* /*r*/ ) override + { std::abort(); } + virtual const std::string* par() const override + { std::abort(); } + virtual const unsigned long* ipar() const override + { std::abort(); } + + +private: + DataObject* m_dobj; +}; + + +TestAddress::TestAddress (int x) +{ + Payload* payload = new Payload (x); + m_dobj = SG::asStorable (payload); +} + + +DataObject* TestAddress::dobj() +{ + return m_dobj; +} + + +class TestLoader + : public IConverter +{ +public: + virtual StatusCode createObj( IOpaqueAddress* pAddress, DataObject*& refpObject ) override; + + virtual unsigned long addRef() override { return 1; } + virtual unsigned long release() override { return 1; } + virtual StatusCode queryInterface(const InterfaceID &/*ti*/, void** /*pp*/) override { std::abort(); } + + virtual StatusCode initialize() override + { std::abort(); } + virtual StatusCode finalize() override + { std::abort(); } + virtual const CLID& objType() const override + { std::abort(); } + virtual long repSvcType() const override + { std::abort(); } + virtual StatusCode setDataProvider( IDataProviderSvc* /*pService*/ ) override + { std::abort(); } + virtual SmartIF<IDataProviderSvc>& dataProvider() const override + { std::abort(); } + virtual StatusCode setConversionSvc( IConversionSvc* /*pService*/ ) override + { std::abort(); } + virtual SmartIF<IConversionSvc>& conversionSvc() const override + { std::abort(); } + virtual StatusCode setAddressCreator( IAddressCreator* /*creator*/ ) override + { std::abort(); } + virtual SmartIF<IAddressCreator>& addressCreator() const override + { std::abort(); } + virtual StatusCode fillObjRefs( IOpaqueAddress* /*pAddress*/, DataObject* /*pObject*/ ) override + { std::abort(); } + virtual StatusCode updateObj( IOpaqueAddress* /*pAddress*/, DataObject* /*refpObject*/ ) override + { std::abort(); } + virtual StatusCode updateObjRefs( IOpaqueAddress* /*pAddress*/, DataObject* /*pObject*/ ) override + { std::abort(); } + virtual StatusCode createRep( DataObject* /*pObject*/, IOpaqueAddress*& /*refpAddress*/ ) override + { std::abort(); } + virtual StatusCode fillRepRefs( IOpaqueAddress* /*pAddress*/, DataObject* /*pObject*/ ) override + { std::abort(); } + virtual StatusCode updateRep( IOpaqueAddress* /*pAddress*/, DataObject* /*pObject*/ ) override + { std::abort(); } + virtual StatusCode updateRepRefs( IOpaqueAddress* /*pAddress*/, DataObject* /*pObject*/ ) override + { std::abort(); } +}; + + +StatusCode TestLoader::createObj( IOpaqueAddress* pAddress, DataObject*& refpObject ) +{ + if (TestAddress* addr = dynamic_cast<TestAddress*> (pAddress)) { + refpObject = addr->dobj(); + return StatusCode::SUCCESS; + } + return StatusCode::FAILURE; +} + + +class TestDBSvc + : public IAddressProvider, public IIOVDbSvc +{ +public: + TestDBSvc(); + + virtual unsigned long addRef() override { std::abort(); } + virtual unsigned long release() override { std::abort(); } + virtual StatusCode queryInterface( const InterfaceID& /*ti*/, void** /*pp*/ ) override + { std::abort(); } + + virtual StatusCode updateAddress(StoreID::type /*storeID*/, + SG::TransientAddress* /*pTAd*/, + const EventContext& /*ctx*/) override + { std::abort(); } + + virtual StatusCode getRange (const CLID& /*clid*/, + const std::string& /*dbKey*/, + const IOVTime& /*time*/, + IOVRange& /*range*/, + std::string& /*tag*/, + IOpaqueAddress*& /*ioa*/) override; + + virtual StatusCode setRange (const CLID& /*clid*/, + const std::string& /*dbKey*/, + const IOVRange& /*range*/, + const std::string& /*tag*/ ) override + { std::abort(); } + + virtual StatusCode signalBeginRun(const IOVTime& /*beginRunTime*/, + const EventContext& /*ctx*/) override + { std::abort(); } + + virtual void signalEndProxyPreload() override + { std::abort(); } + + virtual StatusCode registerTagInfoCallback() override + { std::abort(); } + + virtual std::vector<std::string> getKeyList() override + { std::abort(); } + + virtual bool getKeyInfo(const std::string& /*key*/, std::string& /*foldername*/, + std::string& /*tag*/, IOVRange& /*range*/, bool& /*retrieved*/, + unsigned long long& /*bytesRead*/, float& /*readTime*/) override + { std::abort(); } + + virtual bool dropObject(const std::string& /*key*/, + const bool /*resetCache*/=false) override + { std::abort(); } + + +private: + std::unique_ptr<IOpaqueAddress> m_addr1; + std::unique_ptr<IOpaqueAddress> m_addr2; + std::unique_ptr<IOpaqueAddress> m_addr3; +}; + + +TestDBSvc::TestDBSvc() + : m_addr1 (std::make_unique<TestAddress> (1)), + m_addr2 (std::make_unique<TestAddress> (2)), + m_addr3 (std::make_unique<TestAddress> (3)) +{ +} + + +StatusCode TestDBSvc::getRange (const CLID& /*clid*/, + const std::string& /*dbKey*/, + const IOVTime& time, + IOVRange& range, + std::string& /*tag*/, + IOpaqueAddress*& ioa) +{ + uint32_t lbn = time.event(); + + if (lbn >= 10 && lbn < 20) { + range = IOVRange (IOVTime (10, 10), IOVTime (10, 20)); + ioa = m_addr1.get(); + return StatusCode::SUCCESS; + } + + if (lbn >= 30 && lbn < 40) { + range = IOVRange (IOVTime (10, 30), IOVTime (10, lbn+1)); + ioa = m_addr2.get(); + return StatusCode::SUCCESS; + } + + if (lbn >= 50) { + range = IOVRange (IOVTime (10, 50), + IOVTime (10, IOVTime::MAXEVENT)); + ioa = m_addr3.get(); + return StatusCode::SUCCESS; + } + + return StatusCode::FAILURE; +} + + +std::string dump_cc (const CondCont<Payload>& cc) +{ + std::ostringstream ss; + for (const EventIDRange& r : cc.ranges()) { + const Payload* p = nullptr; + assert (cc.find (r.start(), p)); + ss << r << " [" << p->m_x << "]\n"; + } + return ss.str(); +} + + +// Testing extending containers. +void test1 (TestRCUSvc& rcusvc, StoreGateSvc& detStore, IIOVSvc& iovsvc) +{ + std::cout << "test1\n"; + + TestLoader testLoader; + DataObjID id (ClassID_traits<Payload>::ID(), "key"); + SG::DataProxy* proxy = new SG::DataProxy + (SG::TransientAddress (id.clid(), id.key()), &testLoader); + assert( detStore.addToStore (id.clid(), proxy).isSuccess() ); + + TestDBSvc testDBSvc; + proxy->setProvider (&testDBSvc, StoreID::EVENT_STORE); + + assert (iovsvc.regProxy(proxy, id.key()).isSuccess()); + + CondCont<Payload> ccb (rcusvc, id, proxy); + + EventIDBase now; + now.set_run_number (10); + now.set_lumi_block (15); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n"); + + now.set_lumi_block (17); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n"); + + now.set_lumi_block (25); + assert( iovsvc.createCondObj (&ccb, id, now).isFailure() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n"); + + now.set_lumi_block (32); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n" + "{[10,l:30] - [10,l:33]} [2]\n"); + + now.set_lumi_block (36); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n" + "{[10,l:30] - [10,l:37]} [2]\n"); + + now.set_lumi_block (34); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n" + "{[10,l:30] - [10,l:37]} [2]\n"); + + now.set_lumi_block (55); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n" + "{[10,l:30] - [10,l:37]} [2]\n" + "{[10,l:50] - [INVALID]} [3]\n"); + + now.set_lumi_block (1000); + assert( iovsvc.createCondObj (&ccb, id, now).isSuccess() ); + assert (dump_cc(ccb) == "{[10,l:10] - [10,l:20]} [1]\n" + "{[10,l:30] - [10,l:37]} [2]\n" + "{[10,l:50] - [INVALID]} [3]\n"); + + //std::cout << dump_cc (ccb); +} + + +int main() +{ + std::cout << "IOVSvc_test\n"; + ISvcLocator* svcLoc; + if (!Athena_test::initGaudi("IOVSvc_test.txt", svcLoc)) + return 1; + + ServiceHandle<IIOVSvc> iovsvc ("IOVSvc", "test"); + if (iovsvc.retrieve().isFailure()) return 1; + + ServiceHandle<StoreGateSvc> detStore ("DetectorStore", "test"); + if (detStore.retrieve().isFailure()) return 1; + + TestRCUSvc rcusvc; + test1 (rcusvc, *detStore.get(), *iovsvc.get()); + + return 0; +} diff --git a/Control/PerformanceMonitoring/PerfMonTests/share/LeakyAlg.ref b/Control/PerformanceMonitoring/PerfMonTests/share/LeakyAlg.ref index 3ecdcd19c192b54303f39c94ecf2a9d5353d6322..48cb7c0a0f40ac94bb75fc45b374e5b74f987349 100644 --- a/Control/PerformanceMonitoring/PerfMonTests/share/LeakyAlg.ref +++ b/Control/PerformanceMonitoring/PerfMonTests/share/LeakyAlg.ref @@ -7,9 +7,9 @@ Py:Athena INFO including file "PerfMonTests/atn_test_perfMonSvc_leaky ################################################################################ ## testing PerfMonSvc [PerfMonTests/test_perfMonSvc_leakyalg.py] - ==> [perfmon.leakyalg.root]... (10000) - :::running [....................] ==> [OK] - :::running [...............] ==> [OK] + ==> [perfmon.leakyalg.root]... (5000) + :::running [...............................] ==> [OK] + :::running [..............................] ==> [OK] :::running [perfmon.py]... ## [DONE] diff --git a/Control/PerformanceMonitoring/PerfMonTests/share/NoopAlg.ref b/Control/PerformanceMonitoring/PerfMonTests/share/NoopAlg.ref index 5a9f9e46b6b274a11b59598a4136a1b681505b9a..e8fc832cc9c92e19c52b48bedf360a23e54422ce 100644 --- a/Control/PerformanceMonitoring/PerfMonTests/share/NoopAlg.ref +++ b/Control/PerformanceMonitoring/PerfMonTests/share/NoopAlg.ref @@ -7,9 +7,9 @@ Py:Athena INFO including file "PerfMonTests/atn_test_perfMonSvc_noopa ################################################################################ ## testing PerfMonSvc [PerfMonTests/test_perfMonSvc_noopalg.py] - ==> [perfmon.noopalg.root]... (10000) - :::running [..............] ==> [OK] - :::running [.......................] ==> [OK] + ==> [perfmon.noopalg.root]... (5000) + :::running [...............................] ==> [OK] + :::running [............................] ==> [OK] :::running [perfmon.py]... ## [DONE] diff --git a/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_leakyalg.py b/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_leakyalg.py index 4642ac738c9717b050592cee4ec4806922e4e116..f9fb889caf4ba7a7e0b9e3049f9f9a707aa28331 100755 --- a/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_leakyalg.py +++ b/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_leakyalg.py @@ -25,7 +25,7 @@ bench = BenchSequence( "PerfMonTest" ) bench += testPerfMon( "PerfMonTests/test_perfMonSvc_leakyalg.py", "perfmon.leakyalg.root", - evtMax = 10000 ) + evtMax = 5000 ) print "" print "#"*80 diff --git a/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_noopalg.py b/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_noopalg.py index f18db024764d66e95600770259700f1e29476ac2..5ad0f0fff3bf31149413e1e6ac026af05e2c742f 100755 --- a/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_noopalg.py +++ b/Control/PerformanceMonitoring/PerfMonTests/share/tests/atn_test_perfMonSvc_noopalg.py @@ -25,7 +25,7 @@ bench = BenchSequence( "PerfMonTest" ) bench += testPerfMon( "PerfMonTests/test_perfMonSvc_noopalg.py", "perfmon.noopalg.root", - evtMax = 10000 ) + evtMax = 5000 ) print "" print "#"*80 diff --git a/Control/PerformanceMonitoring/PerfMonTests/test/BaseLine.sh b/Control/PerformanceMonitoring/PerfMonTests/test/BaseLine.sh index 1dedb83e37b4ff93efb223eda4686b9ea6ac7be6..6c18d67aa7e51f8f956a8ecd94d85da8f44fb486 100755 --- a/Control/PerformanceMonitoring/PerfMonTests/test/BaseLine.sh +++ b/Control/PerformanceMonitoring/PerfMonTests/test/BaseLine.sh @@ -7,6 +7,5 @@ # Run the test: mkdir -p BaseLine cd BaseLine -echo PYTHONPATH $PYTHONPATH chappy.py PerfMonTests/atn_test_perfMonSvc_baseline_bench.py diff --git a/Control/StoreGate/CMakeLists.txt b/Control/StoreGate/CMakeLists.txt index d8dd609d3d30de03bd363448bc560234b6821b29..431493987d4fdecfaf8666c2d614981bf443b42a 100644 --- a/Control/StoreGate/CMakeLists.txt +++ b/Control/StoreGate/CMakeLists.txt @@ -174,6 +174,18 @@ atlas_add_test( CondHandleKeyArray_test LINK_LIBRARIES StoreGateLib AthContainers TestTools ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" ) +atlas_add_test( WriteDecorHandleKeyArray_test + SOURCES test/WriteDecorHandleKeyArray_test.cxx + INCLUDE_DIRS ${Boost_INCLUDE_DIRS} + LINK_LIBRARIES StoreGateLib TestTools + ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" ) + +atlas_add_test( ReadDecorHandleKeyArray_test + SOURCES test/ReadDecorHandleKeyArray_test.cxx + INCLUDE_DIRS ${Boost_INCLUDE_DIRS} + LINK_LIBRARIES StoreGateLib TestTools + ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" ) + # Install files from the package: atlas_install_python_modules( python/*.py ) atlas_install_joboptions( share/StoreGate_jobOptions.txt diff --git a/Control/StoreGate/StoreGate/DecorHandleKeyArray.h b/Control/StoreGate/StoreGate/DecorHandleKeyArray.h new file mode 100644 index 0000000000000000000000000000000000000000..a0806e7746eff4740d989ed9089f68cf66f1ccb7 --- /dev/null +++ b/Control/StoreGate/StoreGate/DecorHandleKeyArray.h @@ -0,0 +1,29 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef STOREGATE_DECORHANDLEKEYARRAY_H +#define STOREGATE_DECORHANDLEKEYARRAY_H 1 + +#include "StoreGate/HandleKeyArray.h" + +namespace SG { + + /** + * @class SG::DecorHandleKeyArray<T> + * @brief class to hold an array of DecorHandleKeys + * + * since it inherits from std::vector, all vector operations are + * permitted. + * + * This can be converted to a class if it needs customization + * + * Note: makeHandles only works if the type is the same; otherwise have do do individually + * + */ + template <class T_Handle, class T_HandleKey, Gaudi::DataHandle::Mode MODE> + using DecorHandleKeyArray = HandleKeyArray< T_Handle, T_HandleKey, MODE>; + +} // namespace SG + +#endif diff --git a/Control/StoreGate/StoreGate/MetaHandleKey.icc b/Control/StoreGate/StoreGate/MetaHandleKey.icc index 1bfa1f608995964a729539da78bf99f9502b3c90..21d85907e7439091020f6fece80967e31da7b2ff 100644 --- a/Control/StoreGate/StoreGate/MetaHandleKey.icc +++ b/Control/StoreGate/StoreGate/MetaHandleKey.icc @@ -40,18 +40,14 @@ namespace SG { // If container does not exist, then create it in the store // otherwise cache pointer to container if (m_store->contains< MetaCont<T> > (SG::VarHandleKey::key())) { - MsgStream msg(Athena::getMessageSvc(), "MetaHandleKey"); if (m_store->retrieve(m_cont, SG::VarHandleKey::key()).isFailure()) { + MsgStream msg(Athena::getMessageSvc(), "MetaHandleKey"); msg << MSG::ERROR << "MetaHandleKey::init(): unable to retrieve MetaCont of " << Gaudi::DataHandle::fullKey() << " from MetaDataStore" << endmsg; return StatusCode::FAILURE; } - else { - msg << MSG::INFO << "MetaCont found with key= " - << SG::VarHandleKey::key() << endmsg; - } } else { m_cont = new MetaCont<T>(SG::VarHandleKey::key()); if (m_store->record(m_cont, SG::VarHandleKey::key()).isFailure()) { diff --git a/Control/StoreGate/StoreGate/ReadCondHandle.h b/Control/StoreGate/StoreGate/ReadCondHandle.h index ab34f1c10e03e6b0f09155ab925922020c7ec2fc..5aed8dc7b1229d2091fdaeca6f0b75b078b46fbf 100644 --- a/Control/StoreGate/StoreGate/ReadCondHandle.h +++ b/Control/StoreGate/StoreGate/ReadCondHandle.h @@ -90,7 +90,7 @@ namespace SG { m_hkey(key) { EventIDBase::number_type conditionsRun = - ctx.template getExtension<Atlas::ExtendedEventContext>()->conditionsRun(); + ctx.template getExtension<Atlas::ExtendedEventContext>().conditionsRun(); if (conditionsRun != EventIDBase::UNDEFNUM) { m_eid.set_run_number (conditionsRun); } diff --git a/Control/StoreGate/StoreGate/ReadDecorHandleKeyArray.h b/Control/StoreGate/StoreGate/ReadDecorHandleKeyArray.h new file mode 100644 index 0000000000000000000000000000000000000000..211045a8b78c272da41d146775d1ce729e87c5f1 --- /dev/null +++ b/Control/StoreGate/StoreGate/ReadDecorHandleKeyArray.h @@ -0,0 +1,40 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef STOREGATE_READDECORHANDLEKEYARRAY_H +#define STOREGATE_READDECORHANDLEKEYARRAY_H 1 + +#include "StoreGate/DecorHandleKeyArray.h" + +#include "StoreGate/ReadDecorHandleKey.h" +#include "StoreGate/ReadDecorHandle.h" + +namespace SG { + + /** + * @class SG::ReadDecorHandleKeyArray<T> + * @brief class to hold an array of ReadDecorHandleKeys + * + * since it inherits from std::vector, all vector operations are + * permitted. + * + * initialization can be done in three ways. + * 1: with an std::vector<ReadDecorHandleKey> as a parameter + * SG::ReadDecorHandleKeyArray<foo> m_foo ( std::vector<ReadDecorHandleKey> ); + * 2: with an initializer list of ReadDecorHandleKeys + * SG::ReadDecorHandleKeyArray<foo> m_foo { ReadDecorHandleKey<foo> k1, ReadDecorHandleKey<foo> k2 }; + * 3: with an initializer list of std::strings, that will be used to + * internally create ReadDecorHandleKeys with those initializers + * SG::ReadDecorHandleKeyArray<foo> m_foo { "key1", "key2", "key3" }; + * + * Note: makeHandles only works if the type is the same; otherwise have do do individually + * + */ + template <class T, class S = float> + using ReadDecorHandleKeyArray = DecorHandleKeyArray<ReadDecorHandle<T, S>, ReadDecorHandleKey<T>, Gaudi::DataHandle::Reader >; + + +} // namespace SG + +#endif diff --git a/Control/StoreGate/StoreGate/ReadMetaHandle.h b/Control/StoreGate/StoreGate/ReadMetaHandle.h index 801eab14982cedbc6862dd7fc9d021e4d85988bc..b30c901cdb260477152b7555b3f2643445b2edce 100644 --- a/Control/StoreGate/StoreGate/ReadMetaHandle.h +++ b/Control/StoreGate/StoreGate/ReadMetaHandle.h @@ -80,7 +80,7 @@ namespace SG { ReadMetaHandle<T>::ReadMetaHandle(const SG::ReadMetaHandleKey<T>& key, const EventContext& ctx): SG::VarHandleBase( key, &ctx ), - m_sid( ctx.getExtension<Atlas::ExtendedEventContext>()->proxy()->sourceID() ), + m_sid( ctx.getExtension<Atlas::ExtendedEventContext>().proxy()->sourceID() ), m_cont( key.getContainer() ), m_hkey(key) { diff --git a/Control/StoreGate/StoreGate/VarHandleKeyArray.h b/Control/StoreGate/StoreGate/VarHandleKeyArray.h index 540e0503d89530a7d47fbcdee3f1472430ebe31a..97c4f9e4c15ef74864e827ae3a100ec5138c1418 100644 --- a/Control/StoreGate/StoreGate/VarHandleKeyArray.h +++ b/Control/StoreGate/StoreGate/VarHandleKeyArray.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef STOREGATE_VARHANDLEKEYARRAY_H @@ -39,6 +39,10 @@ namespace SG { virtual bool renounced() const = 0; virtual void declare(IDataHandleHolder*) = 0; + virtual void setOwner( IDataHandleHolder* o ) = 0; + virtual const IDataHandleHolder* owner() const = 0; + virtual IDataHandleHolder* owner() = 0; + }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ @@ -127,11 +131,14 @@ namespace SG { virtual void declare( IDataHandleHolder* ) override; + virtual void setOwner( IDataHandleHolder* o ) override { m_owner = o; } + virtual const IDataHandleHolder* owner() const override { return m_owner; } + virtual IDataHandleHolder* owner() override { return m_owner; } + private: - - bool m_isRenounced{ false }; + IDataHandleHolder* m_owner{ nullptr }; }; diff --git a/Control/StoreGate/StoreGate/VarHandleKeyArray.icc b/Control/StoreGate/StoreGate/VarHandleKeyArray.icc index bcd0725160613c2e5fefc5885fbb8421a54caebd..abe39fad627d2cd3dbd3d4a09008ad6afda0dc94 100644 --- a/Control/StoreGate/StoreGate/VarHandleKeyArray.icc +++ b/Control/StoreGate/StoreGate/VarHandleKeyArray.icc @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ @@ -17,7 +17,11 @@ namespace SG { StatusCode VarHandleKeyArrayCommon<Base>::initialize (bool used /*= true*/) { StatusCode sc(StatusCode::SUCCESS); if (used) { + IDataHandleHolder* const owner = this->owner(); for (Base& b : *this) { + if (owner != nullptr) { + b.setOwner(owner); + } if ( b.initialize().isFailure() ) { sc = StatusCode::FAILURE; } diff --git a/Control/StoreGate/StoreGate/WriteCondHandle.h b/Control/StoreGate/StoreGate/WriteCondHandle.h index 79c5498d8c016a6b38690c3fab4a2931d216ea04..c690a56c7deb46d239dc193cd209d8f6215ee17f 100644 --- a/Control/StoreGate/StoreGate/WriteCondHandle.h +++ b/Control/StoreGate/StoreGate/WriteCondHandle.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef STOREGATE_WRITECONDHANDLE_H @@ -44,6 +44,20 @@ namespace SG { StatusCode record(const EventIDRange& range, T* t); StatusCode record(const EventIDRange& range, std::unique_ptr<T> t); + + + /** + * @brief Extend the range of the last IOV. + * @param range New validity range. + * @param ctx Event context. + * + * Returns failure if the start time of @c range does not match the start time + * of the last IOV in the container. Otherwise, the end time for the last + * IOV is changed to the end time for @c range. (If the end time for @c range + * is before the end of the last IOV, then nothing is changed.) + */ + StatusCode extendLastRange(const EventIDRange& range, + const EventContext& ctx = Gaudi::Hive::currentContext()); const std::string& dbKey() const { return m_hkey.dbKey(); } @@ -122,6 +136,27 @@ namespace SG { return record (r, std::unique_ptr<T> (t)); } + //--------------------------------------------------------------------------- + + + /** + * @brief Extend the range of the last IOV. + * @param range New validity range. + * @param ctx Event context. + * + * Returns failure if the start time of @c range does not match the start time + * of the last IOV in the container. Otherwise, the end time for the last + * IOV is changed to the end time for @c range. (If the end time for @c range + * is before the end of the last IOV, then nothing is changed.) + */ + template <typename T> + StatusCode + WriteCondHandle<T>::extendLastRange (const EventIDRange& r, const EventContext& ctx) + { + return m_cc->extendLastRange (r, ctx); + } + + //--------------------------------------------------------------------------- template <typename T> diff --git a/Control/StoreGate/StoreGate/WriteDecorHandleKeyArray.h b/Control/StoreGate/StoreGate/WriteDecorHandleKeyArray.h new file mode 100644 index 0000000000000000000000000000000000000000..d5ff973d3e6652c39167fe5962a9342a7038017d --- /dev/null +++ b/Control/StoreGate/StoreGate/WriteDecorHandleKeyArray.h @@ -0,0 +1,39 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef STOREGATE_WRITEDECORHANDLEKEYARRAY_H +#define STOREGATE_WRITEDECORHANDLEKEYARRAY_H 1 + +#include "StoreGate/DecorHandleKeyArray.h" + +#include "StoreGate/WriteDecorHandleKey.h" +#include "StoreGate/WriteDecorHandle.h" + +namespace SG { + + /** + * @class SG::WriteDecorHandleKeyArray<T> + * @brief class to hold an array of WriteDecorHandleKeys + * + * since it inherits from std::vector, all vector operations are + * permitted. + * + * initialization can be done in three ways. + * 1: with an std::vector<WriteDecorHandleKey> as a parameter + * SG::WriteDecorHandleKeyArray<foo> m_foo ( std::vector<WriteDecorHandleKey> ); + * 2: with an initializer list of WriteDecorHandleKeys + * SG::WriteDecorHandleKeyArray<foo> m_foo { WriteDecorHandleKey<foo> k1, WriteDecorHandleKey<foo> k2 }; + * 3: with an initializer list of std::strings, that will be used to + * internally create WriteDecorHandleKeys with those initializers + * SG::WriteDecorHandleKeyArray<foo> m_foo { "key1", "key2", "key3" }; + * + * Note: makeHandles only works if the type is the same; otherwise have do do individually + * + */ + template <class T, class S = float> + using WriteDecorHandleKeyArray = DecorHandleKeyArray<WriteDecorHandle<T, S>,WriteDecorHandleKey<T>, Gaudi::DataHandle::Writer >; + +} // namespace SG + +#endif diff --git a/Control/StoreGate/StoreGate/WriteMetaHandle.h b/Control/StoreGate/StoreGate/WriteMetaHandle.h index 05645cfe9a850376ef26a0f6c350e82d195ba0c8..463154df8d3d9a34e716d1d111f276b0edb581c3 100644 --- a/Control/StoreGate/StoreGate/WriteMetaHandle.h +++ b/Control/StoreGate/StoreGate/WriteMetaHandle.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef STOREGATE_WRITEMETAHANDLE_H @@ -45,7 +45,7 @@ namespace SG { private: - const MetaContBase::SourceID& m_sid; + const MetaContBase::SourceID m_sid; MetaCont<T>* m_cont {nullptr}; StoreGateSvc* m_cs {nullptr}; @@ -66,7 +66,7 @@ namespace SG { WriteMetaHandle<T>::WriteMetaHandle( const SG::WriteMetaHandleKey<T>& key, const EventContext& ctx) : SG::VarHandleBase( key, &ctx ), - m_sid( MetaContBase::SourceID("") ), + m_sid( "" ), m_cont( key.getContainer() ), m_cs( key.getStore() ), m_hkey(key) diff --git a/Control/StoreGate/src/VarHandleBase.cxx b/Control/StoreGate/src/VarHandleBase.cxx index 677dc83ac810d8bf7a6ff92725145f1923e08ccc..c5147c4d24739567bd9ff6ae02e42f6ed9462bb7 100644 --- a/Control/StoreGate/src/VarHandleBase.cxx +++ b/Control/StoreGate/src/VarHandleBase.cxx @@ -961,10 +961,14 @@ namespace SG { { if (m_key->isEventStore()) { if (ctx) - return ctx->getExtension<Atlas::ExtendedEventContext>()->proxy(); + return ctx->getExtension<Atlas::ExtendedEventContext>().proxy(); if (m_storeWasSet && m_store) return m_store; - const Atlas::ExtendedEventContext *eec = Gaudi::Hive::currentContext().getExtension<Atlas::ExtendedEventContext>(); - return ( (eec == nullptr) ? nullptr : eec->proxy() ); + + if ( Gaudi::Hive::currentContext().hasExtension<Atlas::ExtendedEventContext>() ) { + return Gaudi::Hive::currentContext().getExtension<Atlas::ExtendedEventContext>().proxy(); + } else { + return nullptr; + } } if (m_storeWasSet && m_store) return m_store; @@ -992,7 +996,7 @@ namespace SG { } m_store = storeFromHandle (ctx); m_storeWasSet = (ctx && m_store == - ctx->getExtension<Atlas::ExtendedEventContext>()->proxy()); + ctx->getExtension<Atlas::ExtendedEventContext>().proxy()); return true; } diff --git a/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx b/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..1ec05060abfea64e8eb94af42cdcd1ee3835f337 --- /dev/null +++ b/Control/StoreGate/test/ReadDecorHandleKeyArray_test.cxx @@ -0,0 +1,146 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ + +// $Id$ +/** + * @file StoreGate/test/ReadDecorHandleKeyArrau_test.cxx + * @author Jovan Mitrevski <Jovan.Mitrevski.cern.ch> + * @date Oct, 2018 + * @brief Tests for ReadDecorHandleKeyArray; based on the tests for WriteDecorHandleKeyArray + */ + + +#undef NDEBUG +#include "SGTools/TestStore.h" +#include "SGTools/CLASS_DEF.h" +#include "StoreGate/ReadDecorHandleKeyArray.h" +#include "TestTools/initGaudi.h" +#include <cassert> +#include <iostream> + + +class MyObj {}; +CLASS_DEF (MyObj, 293847295, 1) + + +class TestHolder + : public IDataHandleHolder +{ +public: + virtual std::vector<Gaudi::DataHandle*> inputHandles() const override; + virtual std::vector<Gaudi::DataHandle*> outputHandles() const override; + virtual void addDependency(const DataObjID&, const Gaudi::DataHandle::Mode&) override; + + virtual unsigned long addRef() override { std::abort(); } + virtual unsigned long release() override { std::abort(); } + virtual StatusCode queryInterface(const InterfaceID &, void**) override { std::abort(); } + virtual const std::string& name() const override { std::abort(); } + + + virtual const DataObjIDColl& extraInputDeps() const override { std::abort(); } + virtual const DataObjIDColl& extraOutputDeps() const override { std::abort(); } + + virtual void acceptDHVisitor(IDataHandleVisitor*) const override { std::abort(); } + + virtual const DataObjIDColl& inputDataObjs() const override { std::abort(); } + virtual const DataObjIDColl& outputDataObjs() const override { std::abort(); } + + virtual void declare(Gaudi::DataHandle&) override { std::abort(); } + virtual void renounce(Gaudi::DataHandle&) override { std::abort(); } + + std::vector<Gaudi::DataHandle*> m_inputHandles; + std::vector<Gaudi::DataHandle*> m_outputHandles; + std::vector<DataObjID> m_deps; +}; + + +std::vector<Gaudi::DataHandle*> TestHolder::inputHandles() const +{ + return m_inputHandles; +} + + +std::vector<Gaudi::DataHandle*> TestHolder::outputHandles() const +{ + return m_outputHandles; +} + + +void TestHolder::addDependency(const DataObjID& id, const Gaudi::DataHandle::Mode&) +{ + m_deps.push_back (id); +} + + + +void test1() +{ + std::cout << "test1\n"; + + SG::ReadDecorHandleKeyArray<MyObj> k1{"aaa.dec1", "aaa.dec2"}; + assert (k1[0].clid() == 293847295); + assert (k1[0].key() == "aaa.dec1"); + assert (k1[0].mode() == Gaudi::DataHandle::Reader); + assert (k1[0].storeHandle().name() == "StoreGateSvc"); + assert (!k1[0].storeHandle().isSet()); + + assert (k1.initialize().isSuccess()); + assert (k1[0].storeHandle().isSet()); + + k1 = {"bbb.foo1", "bbb.foo2", "bbb.foo3"}; + assert (k1[2].key() == "bbb.foo3"); + + k1.assign ({"ccc.fee1", "ccc.fee2", "ccc.fee3"}); + assert (k1[1].key() == "ccc.fee2"); +} + +void test1a() +{ + std::cout << "test1a\n"; + + SG::ReadDecorHandleKeyArray<MyObj, int> k1{"aaa.dec1", "aaa.dec2"}; + assert (k1[0].clid() == 293847295); + assert (k1[0].key() == "aaa.dec1"); + assert (k1[0].mode() == Gaudi::DataHandle::Reader); + assert (k1[0].storeHandle().name() == "StoreGateSvc"); + assert (!k1[0].storeHandle().isSet()); + + assert (k1.initialize().isSuccess()); + assert (k1[0].storeHandle().isSet()); + + k1 = {"bbb.foo1", "bbb.foo2", "bbb.foo3"}; + assert (k1[2].key() == "bbb.foo3"); + + k1.assign ({"ccc.fee1", "ccc.fee2", "ccc.fee3"}); + assert (k1[1].key() == "ccc.fee2"); + +} + + +void test2() +{ + std::cout << "test2" << std::endl; + + TestHolder h; + SG::ReadDecorHandleKeyArray<MyObj> k1{"aaa.dec1", "aaa.dec2"}; + k1.setOwner(&h); + + SG::ReadHandleKey<MyObj> r1 ("rrr"); + SG::WriteHandleKey<MyObj> w1 ("sss"); + h.m_inputHandles.push_back (&r1); + h.m_outputHandles.push_back (&w1); + assert (k1.initialize().isSuccess()); +} + + +int main() +{ + ISvcLocator* pDum; + Athena_test::initGaudi(pDum); //need MessageSvc + + test1(); + test1a(); + test2(); + return 0; +} diff --git a/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx b/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..b62874a9674e267af1871a42e0b2e4f9ea944468 --- /dev/null +++ b/Control/StoreGate/test/WriteDecorHandleKeyArray_test.cxx @@ -0,0 +1,182 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ + +// $Id$ +/** + * @file StoreGate/test/WriteDecorHandleKeyArrau_test.cxx + * @author Jovan Mitrevski <Jovan.Mitrevski.cern.ch> + * @date Oct, 2018 + * @brief Tests for WriteDecorHandleKeyArray; based on the tests for WriteDecorHandleKey + */ + + +#undef NDEBUG +#include "SGTools/TestStore.h" +#include "SGTools/CLASS_DEF.h" +#include "StoreGate/WriteDecorHandleKeyArray.h" +#include "TestTools/initGaudi.h" +#include <cassert> +#include <iostream> + + +class MyObj {}; +CLASS_DEF (MyObj, 293847295, 1) + + +class TestHolder + : public IDataHandleHolder +{ +public: + virtual std::vector<Gaudi::DataHandle*> inputHandles() const override; + virtual std::vector<Gaudi::DataHandle*> outputHandles() const override; + virtual void addDependency(const DataObjID&, const Gaudi::DataHandle::Mode&) override; + + virtual unsigned long addRef() override { std::abort(); } + virtual unsigned long release() override { std::abort(); } + virtual StatusCode queryInterface(const InterfaceID &, void**) override { std::abort(); } + virtual const std::string& name() const override { std::abort(); } + + + virtual const DataObjIDColl& extraInputDeps() const override { std::abort(); } + virtual const DataObjIDColl& extraOutputDeps() const override { std::abort(); } + + virtual void acceptDHVisitor(IDataHandleVisitor*) const override { std::abort(); } + + virtual const DataObjIDColl& inputDataObjs() const override { std::abort(); } + virtual const DataObjIDColl& outputDataObjs() const override { std::abort(); } + + virtual void declare(Gaudi::DataHandle&) override { std::abort(); } + virtual void renounce(Gaudi::DataHandle&) override { std::abort(); } + + std::vector<Gaudi::DataHandle*> m_inputHandles; + std::vector<Gaudi::DataHandle*> m_outputHandles; + std::vector<DataObjID> m_deps; +}; + + +std::vector<Gaudi::DataHandle*> TestHolder::inputHandles() const +{ + return m_inputHandles; +} + + +std::vector<Gaudi::DataHandle*> TestHolder::outputHandles() const +{ + return m_outputHandles; +} + + +void TestHolder::addDependency(const DataObjID& id, const Gaudi::DataHandle::Mode&) +{ + m_deps.push_back (id); +} + + + +void test1() +{ + std::cout << "test1\n"; + + SG::WriteDecorHandleKeyArray<MyObj> k1{"aaa.dec1", "aaa.dec2"}; + assert (k1[0].clid() == 293847295); + assert (k1[0].key() == "aaa.dec1"); + assert (k1[0].mode() == Gaudi::DataHandle::Writer); + assert (k1[0].storeHandle().name() == "StoreGateSvc"); + assert (!k1[0].storeHandle().isSet()); + + assert (k1.initialize().isSuccess()); + assert (k1[0].storeHandle().isSet()); + + assert (k1[1].contHandleKey().clid() == 293847295); + assert (k1[1].contHandleKey().key() == "aaa"); + assert (k1[1].contHandleKey().mode() == Gaudi::DataHandle::Reader); + assert (k1[1].contHandleKey().storeHandle().name() == "StoreGateSvc"); + assert (k1[1].contHandleKey().storeHandle().isSet()); + + k1 = {"bbb.foo1", "bbb.foo2", "bbb.foo3"}; + assert (k1[2].key() == "bbb.foo3"); + assert (k1[2].contHandleKey().key() == "bbb"); + + k1.assign ({"ccc.fee1", "ccc.fee2", "ccc.fee3"}); + assert (k1[1].key() == "ccc.fee2"); + assert (k1[1].contHandleKey().key() == "ccc"); + +} + +void test1a() +{ + std::cout << "test1a\n"; + + SG::WriteDecorHandleKeyArray<MyObj, int> k1{"aaa.dec1", "aaa.dec2"}; + assert (k1[0].clid() == 293847295); + assert (k1[0].key() == "aaa.dec1"); + assert (k1[0].mode() == Gaudi::DataHandle::Writer); + assert (k1[0].storeHandle().name() == "StoreGateSvc"); + assert (!k1[0].storeHandle().isSet()); + + assert (k1.initialize().isSuccess()); + assert (k1[0].storeHandle().isSet()); + + assert (k1[1].contHandleKey().clid() == 293847295); + assert (k1[1].contHandleKey().key() == "aaa"); + assert (k1[1].contHandleKey().mode() == Gaudi::DataHandle::Reader); + assert (k1[1].contHandleKey().storeHandle().name() == "StoreGateSvc"); + assert (k1[1].contHandleKey().storeHandle().isSet()); + + k1 = {"bbb.foo1", "bbb.foo2", "bbb.foo3"}; + assert (k1[2].key() == "bbb.foo3"); + assert (k1[2].contHandleKey().key() == "bbb"); + + k1.assign ({"ccc.fee1", "ccc.fee2", "ccc.fee3"}); + assert (k1[1].key() == "ccc.fee2"); + assert (k1[1].contHandleKey().key() == "ccc"); + +} + + +void test2() +{ + std::cout << "test2" << std::endl; + + TestHolder h; + SG::WriteDecorHandleKeyArray<MyObj> k1{"aaa.dec1", "aaa.dec2"}; + k1.setOwner(&h); + + SG::ReadHandleKey<MyObj> r1 ("rrr"); + SG::WriteHandleKey<MyObj> w1 ("sss"); + h.m_inputHandles.push_back (&r1); + h.m_outputHandles.push_back (&w1); + assert (k1.initialize().isSuccess()); + + // are the below values what is expected? + assert (h.m_deps.size() == 2); + assert (h.m_deps[0].fullKey() == "MyObj/StoreGateSvc+aaa"); + + // Don't really know what the stuff below is testing. + h.m_deps.clear(); + SG::ReadHandleKey<MyObj> r2 ("aaa"); + h.m_inputHandles.push_back (&r2); + assert (k1.initialize().isSuccess()); + assert (h.m_deps.empty()); + h.m_inputHandles.pop_back(); + + h.m_deps.clear(); + SG::WriteHandleKey<MyObj> w2 ("aaa"); + h.m_outputHandles.push_back (&w2); + assert (k1.initialize().isSuccess()); + assert (h.m_deps.empty()); + h.m_outputHandles.pop_back(); +} + + +int main() +{ + ISvcLocator* pDum; + Athena_test::initGaudi(pDum); //need MessageSvc + + test1(); + test1a(); + test2(); + return 0; +} diff --git a/DataQuality/DataQualityConfigurations/config/Pixel/cosmics_run.config b/DataQuality/DataQualityConfigurations/config/Pixel/cosmics_run.config index f9ab2d3de961e73831f501fb1d669782bbf7a3cc..710fc92863d4a383ad3efd0bc4fbc783da9eee35 100644 --- a/DataQuality/DataQualityConfigurations/config/Pixel/cosmics_run.config +++ b/DataQuality/DataQualityConfigurations/config/Pixel/cosmics_run.config @@ -1,4758 +1,6040 @@ -# ********************************************************************** -# $Id: cosmics_run.config 744376 2016-05-03 08:57:23Z dyamaguc $ -# ********************************************************************** - -############# -# Output -############# - -output top_level { - output InnerDetector { - output Pixel { - output PixelExpert { - output GeneralAllHits { - } - output GeneralOnTrack { - } - output TimingAllHits { - } - output Tracks_fromIDglobal { - } - output Tracks { - } - output Errors { - output ALL { - } - output Bad_Module_Errors { - output Synchronization_Module_BCID1 { - } - output Synchronization_Module_BCID2 { - } - output Synchronization_Module_LVL1ID { - } - output Synchronization_ROD_BCID { - } - output Synchronization_ROD_LVL1ID { - } - output Truncation_Module_EoC { - } - output Truncation_Module_EoE_Overflow { - } - output Truncation_Module_Hit_Overflow { - } - output Truncation_ROD_FIFO_Overflow { - } - output Truncation_ROD_HT_Limit { - } - output Optical_Errors { - } - output ROD_Timeout { - } - output SEU_Hamming { - } - output SEU_Hit_Parity { - } - output SEU_Register_Parity { - } - output FE_Warning { - } - #output Synchronization_Correlations { - #} - } - } - } - #output DQShift { - # output ClusterOccupancy { - # } - # output LBDependence { - # } - # output LBDependenceOnTrack { - # } - #} - #output ALL { - # output Hits { - # } - # output DisableAndErrors { - # } - # output CombinedTrack { - # } - # output PixelOnlyTrack { - # } - # output Timing { - # } - # output LBdependence { - # } - # output _Experts { - # } - #} - output DBM { - output ClusterHits { - } - output Hits { - } - output Timing { - } - } - output PIXIBL { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _DCS { - output ModuleTemperature { - } - output ModuleLowVoltage { - } - output ModuleHighVoltage { - } - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIX0 { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIX1 { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIX2 { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIXECA { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIXECC { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - } - } -} - - - -########################################################### -# Pixel -########################################################### - -####################### -# Histogram Assessments -####################### - -dir Pixel { - - dir Hits { - hist num_hits { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Occupancy_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_DBMA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_DBMC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Occupancy_IBL_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B0_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B1_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B2_byPostProcess { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECA_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECC_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Occupancy_per_pixel_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - #hist Average_Occupancy_IBL2D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_IBL3D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECC/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - #hist Average_PixOcc_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECC/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - hist AvgOcc_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - } - hist AvgOcc_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - } - hist AvgOcc_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - } - hist AvgOcc_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - } - hist AvgOcc_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - } - hist AvgOcc_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - } - - hist Hits_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - output = InnerDetector/Pixel/DQShift/LBDependence - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Hits_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Hit_ToT { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox,AxisRange(0,256,"X") - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Hit_ToT_IBL2D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_IBL3D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_IBL { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_B0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_B1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_B2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_DBMA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_DBMC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist AvgOcc_RatioIBLB0_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - } - - - dir Timing { - hist Lvl1A { - algorithm = Pix_HitTiming_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = <LogY,StatBox> - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Lvl1A_B0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_B1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_B2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_IBL { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_DBMA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/DBM/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_DBMC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/DBM/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist LvlID { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - } - - hist Pixel_BCID { - algorithm = Pix_BCID_NoEmptyBins - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Atlas_BCID { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Cluster_LVL1A { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Clus_LVL1A_SizeCut_ECA { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_ECC { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL2D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL3D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B0 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B1 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B2 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Atlas_BCID { - algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox,AxisRange(0,500,"X") - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - #hist Atlas_BCID@1 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(0,500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@2 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(500,1000,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@3 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(1000,1500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@4 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(1500,2000,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@5 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(2000,2500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@6 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(2500,3000,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@7 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(3000,3500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - hist Atlas_BCID_Hits { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - #hist Cluster_LVL1A { - # algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - # hist trigger { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_B0 { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_B1 { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_B2 { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_ECA { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_ECC { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - - hist Lvl1ID_diff_ATLAS_mod { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = <LogY,StatBox> - } - - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/Timing - } - } - - - dir TimingOnTrack { - hist Cluster_LVL1A_OnTrack { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Cluster_LVL1A_ECA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_ECC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_IBL { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_B0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX0/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_B1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX1/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_B2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX2/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Cluster_LVL1A_Mod_ECA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_ECC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_IBL2D { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_IBL3D { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_B0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX0/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_B1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX1/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_B2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX2/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Clus_LVL1A_SizeCut_IBL2D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL3D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B0 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B1 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B2 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_ECA { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_ECC { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - } - - - dir Clusters { - hist Cluster_Occupancy_DBMA { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/DBM/ClusterHits - } - hist Cluster_Occupancy_DBMC { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/DBM/ClusterHits - } - hist Cluster_Occupancy_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Cluster_Occupancy_IBL_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B0_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B1_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B2_byPostProcess { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECA_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECC_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Clus_Occ_SizeCut_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - #hist Average_Cluster_Occupancy_IBL2D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL3D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - hist Cluster_ToT_IBL2D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL3D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Cluster_Q_ECA { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_IBL { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist num_clusters { - algorithm = Pix_Noise_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = AxisRange(0.0,50.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize_B0 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX0/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B1 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX1/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B2 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX2/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECA { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECC { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_IBL { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - #hist Cluster_groupsize@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_groupsize@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - hist TotalClusters_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist LargeClusters_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist VeryLargeClusters_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist HighNClusters_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Cluster_Size_Map_B0 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_B1 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_B2 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_ECA { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_ECC { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_IBL { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - } - - - dir ClustersOnTrack { - hist Cluster_Occupancy_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - #hist Average_Cluster_Occupancy_IBL2D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL3D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - hist Cluster_Q_ECA { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_IBL { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Cluster_charge_ECA { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_ECC { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_IBL { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_B0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_B1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_B2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Cluster_ToT_IBL2D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL3D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist num_clusters { - algorithm = PixTrack_Noise_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = AxisRange(0.0,50.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize_OnTrack { - algorithm = Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize_B0 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B1 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B2 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECA { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECC { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_IBL { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - #hist Cluster_groupsize@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_groupsize@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - - hist TotalClusters_per_lumi_OnTrack { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi_OnTrack { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist LargeClusters_per_lumi_OnTrack { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist VeryLargeClusters_per_lumi_OnTrack { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist HighNClusters_per_lumi_OnTrack { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - } - - - dir Status { - hist Map_Of_Modules_Status_IBL { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_IBL2D { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_IBL3D { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_B0 { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_B1 { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_B2 { - algorithm = Pix_DisabledMod_B2 - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_ECA { - algorithm = Pix_DisabledMod_Endcap - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_ECC { - algorithm = Pix_DisabledMod_Endcap - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - - hist Ok_modules_ECA { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_ECC { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_IBL2D { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_IBL3D { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_B0 { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_B1 { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_B2 { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - - hist DisabledModules_per_lumi { - algorithm = Pix_DisabledLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist DisabledModules_per_lumi_ECA { - algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_ECC { - algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_IBL { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_IBL2D { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_IBL3D { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_B0 { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_B1 { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_B2 { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B2&GatherData - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist BadModules_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist BadModules_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_IBL2D { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_IBL3D { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - } - - - dir Errors { - hist Error_per_lumi_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist ErrorBit_per_lumi_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SEUErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SEUErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - #hist SEU_Errors_IBL { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_B0 { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIX0/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_B1 { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIX1/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_B2 { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIX2/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_A { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECA/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_C { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECC/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_ECA { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECA/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_ECC { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECC/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - - hist SEUErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TimeoutErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TimeoutErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TimeoutErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist OpticalErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist OpticalErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - - hist OpticalErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - - hist TruncationErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_Mod_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_ROD_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - - hist SyncErrors_Mod_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrors_ROD_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist errors_per_lumi { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist errors_per_lumi_ECA { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_ECC { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_IBL { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_B0 { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_B1 { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_B2 { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist OpticalErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist OpticalErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SEU_Errors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SEU_Errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TimeoutErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TimeoutErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TruncationErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TruncationErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SyncErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SyncErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - #hist SyncErrorsFrac_per_event_IBL { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_B0 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_B1 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_B2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_ECA { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_ECC { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - - #hist OpticalErrorsFrac_per_event_IBL { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_B0 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_B1 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_B2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_ECA { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_ECC { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - - #hist SEUErrorsFrac_per_event_IBL { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_B0 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_B1 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_B2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_ECA { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_ECC { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - - ## POST PROCESS - hist DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_IBL2D_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_IBL3D_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_ECA_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_ECC_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - - } - - - dir ErrorsExpert { - hist Bad_Module_Errors_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - - hist Errors_EtaID_per_event_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - } - - hist FE_Warning_per_lumiMap_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - - hist FE_Warning_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - - hist FE_Warning_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - - hist Mod_Sync_BCID1_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - - hist Mod_Sync_BCID2_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - - hist Mod_Sync_LVL1ID_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - - hist Mod_Trunc_EOC_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - - hist Optical_Errors_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - - hist Optical_Errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - - hist ROD_Sync_BCID_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - - hist ROD_Sync_LVL1ID_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - - hist ROD_Timeout_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - - hist ROD_Timeout_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - - hist ROD_Trunc_HT_Limit_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - - hist ROD_Trunc_ROD_OF_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - - hist SEUErrors_Hamming_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - - hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - - hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - - hist SEU_Hamming_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - - hist SEU_Hit_Parity_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - - hist SEU_Register_Parity_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - - hist SyncErrors_rod_BCID_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - - hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - - hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - - hist TruncErrors_mod_EOC_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - - hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - - hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - - } - - - #Track histograms from PixelMonitoring - #Below plot Combined Tracks - dir TrackOnTrack { - #hist m_Pixel_track_res_phi { - # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox,AxisRange(-0.05,0.05,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_res_eta { - # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_d0 { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_z0 { - # algorithm = Pix_track_z0_CheckHisto_Mean&GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_phi0 { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_eta { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_qOverP { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_pt { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - hist m_Pixel_track_chi2 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist tracks_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/Tracks - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist trackRate_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/Tracks - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist tracksPerEvt_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/Tracks - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - #hist ClustersOnOffTrack_per_lumi { - # algorithm = Pix_LB_Bins_Diff_FromAvg - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_dedx { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = <LogZ,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_mass_dedx { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - - ### Track State On Surface: Hole - hist TSOS_Hole_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Track State On Surface: Measurement - hist TSOS_Measurement_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Track State On Surface: Outlier - hist TSOS_Outlier_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Degradation Factor map for IP resolution - hist degFactorMap { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist degFactorMap_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist degFactorMap_eta_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist degFactorMap_phi_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - } - - dir SpacePoint { - hist pixel_sp_r_vs_z { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - } - hist pixel_sp_x_vs_y { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - } - } - - dir DCS { - hist moduleTemperature_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S01 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S02 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S03 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S04 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S05 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S06 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S07 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S08 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S09 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S10 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S11 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S12 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S13 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S14 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - - hist LV_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_LV { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LVcurrent_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_LVcurrent { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - - hist HV_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_HV { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist HVcurrent_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_HVcurrent { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - } - -} -# now get the pixel relevant plots from InDetGlobal -dir InDetGlobal { - dir Pixel { - hist m_Pixel_track_res_phi { - algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-0.2,0.2,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_res_eta { - algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-0.3,0.3,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_d0 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-20.0,20.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_z0 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-390.0,390.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_phi0 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_eta { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_qOverP { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_chi2 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(0.0,10.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - } - dir Track { - #hist COMB_goodPixTrk_eta_phi { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - # hist COMB_goodPixTrk_eta { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - # display = AxisRange(0.0,4000000.0,"Y"),StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - # } - # hist COMB_goodPixTrk_phi { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - # display = AxisRange(0.0,4000000.0,"Y"),StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - # } - } - dir Hits { - #hist m_ID_hitmap_x_y@2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist m_ID_hitmap_z_r@2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - } -} - -############# -# Algorithms -############# - -algorithm Pix_Bins_Diff_FromAvg { - libname = libdqm_algorithms.so - name = Bins_Diff_FromAvg - thresholds = Pix_Diff_FromAvg -} -algorithm Pix_LB_Bins_Diff_FromAvg { - libname = libdqm_algorithms.so - name = Bins_Diff_FromAvg - NSigma = 10 - PublishBins = 1 - thresholds = Pix_LB_Diff_FromAvg -} -compositeAlgorithm Pix_Bins_GreaterThan_Threshold&BinPrint { - libnames = libdqm_algorithms.so - subalgs = Bins_GreaterThan_Threshold,BinPrint -} -### For Errors -algorithm Pix_NonZero_Errors { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_NonZero_Errors_Threshold - UnMask_All = 10 - UseValue = 2 - Value = 0 -} -algorithm Pix_Frac_Errors { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_ErrorFrac_Threshold - UnMask_All = 10 - UseValue = 2 - Value = 0 -} -algorithm Pix_DisabledMod_Endcap { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0.5 - thresholds = Pix_DisabledMod_Endcap_Threshold - UnMask_All = 0 -} -algorithm Pix_DisabledMod_B0B1 { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0.5 - thresholds = Pix_DisabledMod_B0B1_Threshold - UnMask_All = 0 -} -algorithm Pix_DisabledMod_B2 { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0.5 - thresholds = Pix_DisabledMod_B2_Threshold - UnMask_All = 0 -} -compositeAlgorithm Pix_Bins_Equal_Threshold&BinPrint { - libnames = libdqm_algorithms.so - subalgs = Bins_Equal_Threshold,BinPrint -} -algorithm Pix_Occupancy_Endcap { - name = Pix_Bins_Equal_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_DisabledMod_Endcap_Threshold - UnMask_All = 10 - UseValue = -1 - Value = 0 - MinStat = 500 -} -algorithm Pix_Occupancy_B0B1 { - name = Pix_Bins_Equal_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_DisabledMod_B0B1_Threshold - UnMask_All = 10 - UseValue = -1 - Value = 0 - MinStat = 1500 -} -algorithm Pix_Occupancy_B2 { - name = Pix_Bins_Equal_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_DisabledMod_B2_Threshold - UnMask_All = 10 - UseValue = -1 - Value = 0 - MinStat = 2500 -} -algorithm Pix_GatherData { - libname = libdqm_algorithms.so - name = GatherData - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm Plain_GatherData { - libname = libdqm_algorithms.so - name = GatherData -} -algorithm Pix_Histogram_Not_Empty { - libname = libdqm_algorithms.so - name = Histogram_Not_Empty - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm PixGlobal_Histogram_Not_Empty { - libname = libdqm_algorithms.so - name = Histogram_Not_Empty - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm Pix_BinPrint { - libname = libdqm_algorithms.so - name = BinPrint - UnMask_All = 4 - Mask_2 = 1 - Mask_3 = 1 -} -compositeAlgorithm Pix_CheckHisto_Mean&GatherData { - subalgs = GatherData,CheckHisto_Mean - libnames = libdqm_algorithms.so - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -compositeAlgorithm Pix_CheckHisto_Mean&BinPrint { - subalgs = CheckHisto_Mean,BinPrint - libnames = libdqm_algorithms.so - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm Pix_Timing_CheckHisto_Mean&BinPrint { - name = Pix_CheckHisto_Mean&BinPrint - UnMask_All = 5 - Mask_6 = 1 - Mask_7 = 1 - Mask_8 = 1 - SubtractFromXMean = 0.0 - MinStat = 100 - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - thresholds = Pix_Timing_CheckMean_Thresh -} -algorithm Pix_HitTiming_CheckHisto_Mean&BinPrint { - name = Pix_CheckHisto_Mean&BinPrint - UnMask_All = 5 - Mask_6 = 1 - Mask_7 = 1 - Mask_8 = 1 - SubtractFromXMean = 0.0 - MinStat = 100 - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - thresholds = Pix_HitTiming_CheckMean_Thresh -} -algorithm Pix_Noise_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - SubtractFromXMean = 2000 - thresholds = Pix_Noise_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_track_z0_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_track_z0_Thresh - MinStat = 100 -} -algorithm PixTrack_Noise_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - SubtractFromXMean = 500 - thresholds = PixTrack_Noise_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_ToT_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_ToT_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_Npix_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -#algorithm Pix_Npix_CheckHisto_Mean&GatherData { -# reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -# name = Pix_CheckHisto_Mean&GatherData -# thresholds = Pix_Npix_CheckMean_Thresh -# MinStat = 100 -#} -algorithm Pix_BCID_NoEmptyBins { - libname = libdqm_algorithms.so - xmin = 0.0 - xmax = 255.0 - name = Bins_LessThan_Threshold - BinThreshold = 1 - MinStat = 3000 - thresholds = Pix_BCID_NoEmptyBins_Thresholds -} -algorithm Pix_BCID_GreaterThan_Threshold&BinPrint { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_BCID_Thresh - UnMask_All = 20 - UseValue = 2 - Value = 10000 -} -algorithm Pix_Charge_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_Charge_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh_Endcap - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh_B0B1 - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean_B2&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh_B2 - MinStat = 100 -} -algorithm Pix_ErrorLB_CheckHisto_Mean&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_ErrorLB_CheckMean_Thresh - MinStat = 100 -} -compositeAlgorithm InDetGlobal_Pix_CheckHisto_Mean&GatherData { - subalgs = GatherData,CheckHisto_Mean - libnames = libdqm_algorithms.so -} -algorithm InDetGlobal_Pix_ToT_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_Pix_ToT_CheckMean_Thresh - MinStat = 100 -} -algorithm InDetGlobal_Pix_Npix_CheckHisto_Mean&GatherData { - reference = CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_Pix_Npix_CheckMean_Thresh - MinStat = 100 -} -algorithm InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_Pix_Res_CheckMean_Thresh - MinStat = 100 -} -algorithm InDetGlobal_Pix_ntrk_LB_CheckHisto_Mean&GatherData { - reference = CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh - MinStat = 100 -} - -# -############## -## Thresholds -############## -# -thresholds Pix_Diff_FromAvg { - -} -thresholds Pix_LB_Diff_FromAvg { - limits NBins { - warning = 1 - error = 9999 - } -} -thresholds Pix_NonZero_Errors_Threshold { - limits NBins { - warning = 0 - error = 1000 - } -} -thresholds Pix_ErrorFrac_Threshold { - limits NBins { - warning = 0.05 - error = 0.3 - } -} -thresholds Pix_DisabledMod_Endcap_Threshold { - limits NBins { - warning = 10 - error = 100 - } -} -thresholds Pix_DisabledMod_B0B1_Threshold { - limits NBins { - warning = 15 - error = 150 - } -} -thresholds Pix_DisabledMod_B2_Threshold { - limits NBins { - warning = 40 - error = 400 - } -} -thresholds Pix_Timing_CheckMean_Thresh { - limits AbsXMean { - warning = 0.01 - error = 0.1 - } -} -thresholds Pix_HitTiming_CheckMean_Thresh { - limits AbsXMean { - warning = 0.01 - error = 0.1 - } -} -thresholds Pix_Noise_CheckMean_Thresh { - limits AbsXMean { - warning = 750 - error = 9999 - } -} -thresholds PixTrack_Noise_CheckMean_Thresh { - limits AbsXMean { - warning = 500 - error = 9999 - } -} -thresholds Pix_track_z0_Thresh { - limits AbsXMean { - warning = 50 - error = 9999 - } -} -thresholds Pix_ToT_CheckMean_Thresh { - limits AbsXMean { - warning = 100 - error = 999 - } -} -thresholds Pix_Hits_Noise_lumi_Thresh { - limits AbsYMean { - warning = 100 - error = 999 - } -} -thresholds Pix_Cluster_Noise_lumi_Thresh { - limits AbsYMean { - warning = 10 - error = 99 - } -} -thresholds Pix_Hits_Noise_Thresh { - limits AbsXMean { - warning = 100 - error = 999 - } -} -thresholds Pix_Cluster_Noise_Thresh { - limits AbsXMean { - warning = 10 - error = 99 - } -} -thresholds Pix_Npix_CheckMean_Thresh { - limits AbsXMean { - warning = 4 - error = 999 - } -} -thresholds InDetGlobal_Pix_ToT_CheckMean_Thresh { - limits AbsXMean { - warning = 50 - error = 999 - } -} -thresholds InDetGlobal_Pix_Npix_CheckMean_Thresh { - limits AbsXMean { - warning = 4 - error = 999 - } -} -thresholds InDetGlobal_Pix_Res_CheckMean_Thresh { - limits AbsXMean { - warning = 0.1 - error = 999 - } -} -thresholds InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh { - limits AbsYMean { - warning = 150 - error = 10000 - } -} -thresholds Pix_BCID_NoEmptyBins_Thresholds { - limits NBins { - warning = 1 - error = 999 - } -} -thresholds Pix_BCID_Thresh { - limits NBins { - warning = 5000 - error = 9999 - } -} -thresholds Pix_Charge_CheckMean_Thresh { - limits AbsXMean { - warning = 75000 - error = 150000 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh { - limits AbsYMean { - warning = 80 - error = 1000 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh_Endcap { - limits AbsYMean { - warning = 10 - error = 140 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh_B0B1 { - limits AbsYMean { - warning = 17 - error = 250 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh_B2 { - limits AbsYMean { - warning = 55 - error = 600 - } -} -thresholds Pix_ErrorLB_CheckMean_Thresh { - limits AbsYMean { - warning = 100 - error = 10000 - } -} +# ********************************************************************** +# $Id: collisions_run.config 770713 2016-08-29 21:45:04Z dyamaguc $ +# ********************************************************************** + +############# +# Output +############# + +output top_level { + output InnerDetector { + output Pixel { + output PixelExpert { + output GeneralAllHits { + } + output GeneralOnTrack { + } + output TimingAllHits { + } + output Tracks_fromIDglobal { + } + output Tracks { + } + output Errors { + output ALL { + } + output Bad_Module_Errors { + output Synchronization_Module_BCID1 { + } + output Synchronization_Module_BCID2 { + } + output Synchronization_Module_LVL1ID { + } + output Synchronization_ROD_BCID { + } + output Synchronization_ROD_LVL1ID { + } + output Truncation_Module_EoC { + } + output Truncation_Module_EoE_Overflow { + } + output Truncation_Module_Hit_Overflow { + } + output Truncation_ROD_FIFO_Overflow { + } + output Truncation_ROD_HT_Limit { + } + output Optical_Errors { + } + output ROD_Timeout { + } + output SEU_Hamming { + } + output SEU_Hit_Parity { + } + output SEU_Register_Parity { + } + output FE_Warning { + } + #output Synchronization_Correlations { + #} + } + } + } + #output DQShift { + # output ClusterOccupancy { + # } + # output LBDependence { + # } + # output LBDependenceOnTrack { + # } + #} + #output ALL { + # output Hits { + # } + # output DisableAndErrors { + # } + # output CombinedTrack { + # } + # output PixelOnlyTrack { + # } + # output Timing { + # } + # output LBdependence { + # } + # output _Experts { + # } + #} + output DBM { + output ClusterHits { + } + output Hits { + } + output Timing { + } + } + output PIXIBL { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _DCS { + output ModuleTemperature { + } + output ModuleLowVoltage { + } + output ModuleHighVoltage { + } + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIX0 { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIX1 { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIX2 { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIXECA { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIXECC { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + } + } +} + + + +########################################################### +# Pixel +########################################################### + +####################### +# Histogram Assessments +####################### + +dir Pixel { + dir Hits { + + hist Occupancy_per_pixel_event_B0 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_B1 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_B2 { + algorithm = Pix_Occupancy_B2 + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_ECA { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_ECC { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_IBL { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Occupancy_Summary_B0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_B1 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_B2 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_ECA { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_ECC { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist num_hits { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + #hist Average_Occupancy_IBL2D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_IBL3D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECC/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + #hist Average_PixOcc_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECC/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + hist AvgOcc_active_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + } + + hist AvgOcc_per_BCID_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB + display = StatBox + } + + hist Hits_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + output = InnerDetector/Pixel/DQShift/LBDependence + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Hits_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Hit_ToT { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox,AxisRange(0,256,"X") + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist Hit_ToT_IBL2D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_IBL3D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Hit_ToT_IBL { + # algorithm = Pix_ToT_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Hit_ToT_B0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_B1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_B2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_DBMA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/DBM/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_DBMC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/DBM/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist AvgOcc_RatioIBLB0_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir Timing { + hist Lvl1A { + algorithm = Pix_HitTiming_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = <LogY,StatBox> + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Lvl1A_B0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_B1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_B2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_IBL { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_DBMA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/DBM/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_DBMC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/DBM/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist LvlID { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + } + + hist Pixel_BCID { + algorithm = Pix_BCID_NoEmptyBins + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Atlas_BCID { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Cluster_LVL1A { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Clus_LVL1A_SizeCut_ECA { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_ECC { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Clus_LVL1A_SizeCut_IBL { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B1 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B2 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Atlas_BCID { + algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox,AxisRange(0,500,"X") + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + #hist Atlas_BCID@1 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(0,500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@2 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(500,1000,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@3 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(1000,1500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@4 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(1500,2000,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@5 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(2000,2500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@6 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(2500,3000,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@7 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(3000,3500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + hist Atlas_BCID_Hits { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + #hist Cluster_LVL1A { + # algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + # hist trigger { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_B0 { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_B1 { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_B2 { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_ECA { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_ECC { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + + hist Lvl1ID_diff_ATLAS_mod { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = <LogY,StatBox> + } + + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/Timing + } + } + + + dir TimingOnTrack { + hist Cluster_LVL1A_OnTrack { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Cluster_LVL1A_ECA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_ECC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_IBL { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_B0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX0/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_B1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX1/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_B2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX2/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Cluster_LVL1A_Mod_ECA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_ECC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_IBL2D { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_IBL3D { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_B0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX0/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_B1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX1/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_B2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX2/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_IBL { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B1 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B2 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_ECA { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_ECC { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + } + + + dir Clusters { + + hist Cluster_Size_Map_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + # hist Cluster_Size_Map_IBL2D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + # hist Cluster_Size_Map_IBL3D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + + hist Clusters_column_width_per_lumi_B0 { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B1 { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B2 { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECA { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECC { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_column_width_per_lumi_IBL2D { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_IBL3D { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_row_width_per_lumi_B0 { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B1 { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B2 { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECA { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECC { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_row_width_per_lumi_IBL2D { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_IBL3D { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clus_Occ_SizeCut_IBL { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_B0 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_B1 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_B2 { + algorithm = Pix_Occupancy_B2 + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_ECA { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_ECC { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + #hist Average_Cluster_Occupancy_IBL2D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL3D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + hist Cluster_ToT_IBL2D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_IBL3D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Cluster_ToT_IBL { + # algorithm = Pix_ToT_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Cluster_ToT_ECA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECA0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECA1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECA2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_B0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_B1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_B2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist Cluster_Q_ECA { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECA0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECA1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECA2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Cluster_Q_IBL { + # algorithm = Pix_Charge_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Cluster_Q_B0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_B1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_B2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist num_clusters { + algorithm = Pix_Noise_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = AxisRange(0.0,50.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + #hist Cluster_groupsize@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_groupsize@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + hist TotalClusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist LargeClusters_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist VeryLargeClusters_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist HighNClusters_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir ClustersOnTrack { + + hist Cluster_Occupancy_IBL { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_B0 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_B1 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_B2 { + algorithm = Pix_Occupancy_B2 + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_ECA { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_ECC { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + #hist Average_Cluster_Occupancy_IBL2D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL3D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + + hist Cluster_charge_ECA { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_ECC { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_IBL { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_B0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_B1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_B2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + +hist Cluster_QxCosAlpha_ECA { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECA0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECA1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECA2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Cluster_QxCosAlpha_IBL { + # algorithm = Pix_Charge_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Cluster_QxCosAlpha_IBL2D { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_IBL3D { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_B0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_B1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_B2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + +hist Cluster_ToTxCosAlpha_IBL2D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_IBL3D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_B0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_B1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_B2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist num_clusters { + algorithm = PixTrack_Noise_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = AxisRange(0.0,50.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize_OnTrack { + algorithm = Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_Size_Map_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + # hist Cluster_Size_Map_IBL2D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + # hist Cluster_Size_Map_IBL3D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + + hist Clusters_column_width_per_lumi_B0_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B1_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B2_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECA_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECC_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_column_width_per_lumi_IBL2D_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_IBL3D_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + + hist Clusters_row_width_per_lumi_B0_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B1_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B2_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECA_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECC_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_row_width_per_lumi_IBL2D_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_IBL3D_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + #hist Cluster_groupsize@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_groupsize@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + + hist TotalClusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist LargeClusters_per_lumi_OnTrack { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist VeryLargeClusters_per_lumi_OnTrack { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist HighNClusters_per_lumi_OnTrack { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir Status { + hist Map_Of_Modules_Status_IBL { + algorithm = Pix_DisabledMod_B0B1 + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + + hist Map_Of_Modules_Status_B0 { + algorithm = Pix_DisabledMod_B0B1 + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_B1 { + algorithm = Pix_DisabledMod_B0B1 + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_B2 { + algorithm = Pix_DisabledMod_B2 + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_ECA { + algorithm = Pix_DisabledMod_Endcap + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_ECC { + algorithm = Pix_DisabledMod_Endcap + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + + hist DisabledModules_per_lumi { + algorithm = Pix_DisabledLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist DisabledModules_per_lumi_ECA { + algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_ECC { + algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_IBL { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_IBL2D { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_IBL3D { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_B0 { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_B1 { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_B2 { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B2&GatherData + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist BadModules_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist BadModules_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_IBL2D { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_IBL3D { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir Errors { + + hist SyncErrors_Mod_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_ROD_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_Mod_Frac_per_event_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_Mod_Frac_per_event_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_ROD_Frac_per_event_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_ROD_Frac_per_event_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_ECA_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_ECC_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist ErrorBit_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SEUErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + #hist SEU_Errors_IBL { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_B0 { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIX0/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_B1 { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIX1/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_B2 { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIX2/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_A { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECA/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_C { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECC/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_ECA { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECA/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_ECC { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECC/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + + hist SEUErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist TimeoutErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist TimeoutErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist OpticalErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + + hist OpticalErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist TruncErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + + hist TruncationErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + # adding SyncErrors_Mod_per_lumi + hist SyncErrors_Mod_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_IBL2D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_IBL3D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + ################################ + # adding SyncErrors_ROD_per_lumi + hist SyncErrors_ROD_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_IBL2D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_IBL3D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + ###################################### + hist SyncErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist errors_per_lumi { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist errors_per_lumi_ECA { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_ECC { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_IBL { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_B0 { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_B1 { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_B2 { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist OpticalErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist OpticalErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SEU_Errors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SEU_Errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TimeoutErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TimeoutErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TruncationErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TruncationErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SyncErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SyncErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + #hist OpticalErrorsFrac_per_event_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_B0 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_B1 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_B2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_ECA { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_ECC { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + + #hist SEUErrorsFrac_per_event_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_B0 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_B1 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_B2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_ECA { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_ECC { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + + ## POST PROCESS + hist DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_IBL2D_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_IBL3D_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_ECA_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_ECC_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + dir ErrorsExpert { + ##B0 B1 B2 ECA ECC _Experts/DisableAndErrors + + hist FE_Warning_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID1_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID2_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_LVLID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EOC_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EoE_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist _Mod_Trunc_EoE_Overflow_errors_MapB1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_Hit_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Optical_Errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_BCIS_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_LVL1ID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Timeout_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_HT_Limit_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_ROD_OF_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hamming_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hit_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Register_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + ##IBL _Experts/DisableAndErrors + hist Address_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist BCID_counter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist BCID_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist CMD_decoder_SEU_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist CMD_decoder_bitflip_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Data_bus_address_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Hamming_code_0_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Hamming_code_1_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Hamming_code_2_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_Trigger_ID_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_incounter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_register_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_request_counter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist LVL1ID_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Limit_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Masked_link_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Other_CMD_decoder_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Preamble_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Readout_processor_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Row_Column_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + # hist ServiceRecord_Count_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # display = StatBox + # } + #hist ServiceRecord_Unweighted_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # display = LogY + # } + #hist ServiceRecord_Weighted_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # display = LogY + # } + hist Skipped_trig_counter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Timeout_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Triple_redundant_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Triple_redundant_errors2_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Truncated_event_flag_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Write_reg_data_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + + + ##B0 B1 B2 ECA ECC _Experts/DisableAndErrors + + + hist FE_Warning_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID1_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID2_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_LVLID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B1 { + algorithm = Plain_GatherData + + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EOC_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EoE_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist _Mod_Trunc_EoE_Overflow_errors_MapB1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_Hit_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Optical_Errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_BCID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_LVL1ID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Timeout_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_HT_Limit_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_ROD_OF_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hamming_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hit_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Register_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + + + + +############# + hist Bad_Module_Errors_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + + hist FE_Warning_per_lumiMap_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + + hist FE_Warning_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + + hist FE_Warning_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + + hist Mod_Sync_BCID1_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + + hist Mod_Sync_BCID2_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + + hist Mod_Sync_LVL1ID_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + + hist Mod_Trunc_EOC_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + + hist Optical_Errors_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + + hist Optical_Errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + + hist ROD_Sync_BCID_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + + hist ROD_Sync_LVL1ID_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + + hist ROD_Timeout_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + + hist ROD_Timeout_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + + hist ROD_Trunc_HT_Limit_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + + hist ROD_Trunc_ROD_OF_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + + hist SEUErrors_Hamming_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + + hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + + hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + + hist SEU_Hamming_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + + hist SEU_Hit_Parity_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + + hist SEU_Register_Parity_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + + hist SyncErrors_rod_BCID_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + + hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + + hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + + hist TruncErrors_mod_EOC_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + + hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + + hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + + } + + + #Track histograms from PixelMonitoring + #Below plot Combined Tracks + dir TrackOnTrack { + #hist m_Pixel_track_res_phi { + # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox,AxisRange(-0.05,0.05,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_res_eta { + # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_d0 { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_z0 { + # algorithm = Pix_track_z0_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_phi0 { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_eta { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_qOverP { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_pt { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + hist m_Pixel_track_chi2 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist tracks_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/Tracks + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist trackRate_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/Tracks + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist tracksPerEvt_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/Tracks + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + #hist ClustersOnOffTrack_per_lumi { + # algorithm = Pix_LB_Bins_Diff_FromAvg + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_dedx { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = <LogZ,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_mass_dedx { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + + ### Track State On Surface: Hole + hist TSOS_Hole_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Track State On Surface: Measurement + hist TSOS_Measurement_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Track State On Surface: Outlier + hist TSOS_Outlier_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Degradation Factor map for IP resolution + hist degFactorMap { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist degFactorMap_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist degFactorMap_eta_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist degFactorMap_phi_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Hit efficiency + hist HitEff_all_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + } + + dir SpacePoint { + hist pixel_sp_r_vs_z { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + } + hist pixel_sp_x_vs_y { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + } + } + + dir DCS { + hist moduleTemperature_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S01 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S02 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S03 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S04 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S05 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S06 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S07 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S08 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S09 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S10 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S11 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S12 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S13 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S14 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + + hist LV_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_LV { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LVcurrent_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_LVcurrent { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + + hist HV_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_HV { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist HVcurrent_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_HVcurrent { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + } + +} +# now get the pixel relevant plots from InDetGlobal +dir InDetGlobal { + dir Pixel { + hist m_Pixel_track_res_phi { + algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-0.2,0.2,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_res_eta { + algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-0.3,0.3,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_d0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-20.0,20.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_z0 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-390.0,390.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_phi0 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_eta { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_qOverP { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_chi2 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(0.0,10.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + } + dir Track { + #hist COMB_goodPixTrk_eta_phi { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + # hist COMB_goodPixTrk_eta { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + # display = AxisRange(0.0,4000000.0,"Y"),StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + # } + # hist COMB_goodPixTrk_phi { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + # display = AxisRange(0.0,4000000.0,"Y"),StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + # } + } + dir Hits { + #hist m_ID_hitmap_x_y@2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist m_ID_hitmap_z_r@2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + } +} + +############# +# Algorithms +############# + +algorithm Pix_Bins_Diff_FromAvg { + libname = libdqm_algorithms.so + name = Bins_Diff_FromAvg + thresholds = Pix_Diff_FromAvg +} +algorithm Pix_LB_Bins_Diff_FromAvg { + libname = libdqm_algorithms.so + name = Bins_Diff_FromAvg + NSigma = 10 + PublishBins = 1 + thresholds = Pix_LB_Diff_FromAvg +} +compositeAlgorithm Pix_Bins_GreaterThan_Threshold&BinPrint { + libnames = libdqm_algorithms.so + subalgs = Bins_GreaterThan_Threshold,BinPrint +} + +compositeAlgorithm Pix_Bins_LessThan_Threshold&BinPrint { + libnames = libdqm_algorithms.so + subalgs = Bins_LessThan_Threshold,BinPrint +} + +### For Errors + +algorithm Pix_Clusters_Row_LB { + name = Pix_Bins_LessThan_Threshold&BinPrint + BinThreshold = 2.4 + thresholds = Pix_Clusters_ColumnRow_LB_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} + +algorithm Pix_Clusters_Column_LB { + name = Pix_Bins_LessThan_Threshold&BinPrint + BinThreshold = 1.4 + thresholds = Pix_Clusters_ColumnRow_LB_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} + +algorithm Pix_Disabled_Synch_Errors { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.1 + thresholds = Pix_Disabled_Synch_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} + +algorithm Pix_NonZero_Errors { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_NonZero_Errors_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} +algorithm Pix_Frac_Errors { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_ErrorFrac_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} +algorithm Pix_DisabledMod_Endcap { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.5 + thresholds = Pix_DisabledMod_Endcap_Threshold + UnMask_All = 0 +} +algorithm Pix_DisabledMod_B0B1 { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.5 + thresholds = Pix_DisabledMod_B0B1_Threshold + UnMask_All = 0 +} +algorithm Pix_DisabledMod_B2 { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.5 + thresholds = Pix_DisabledMod_B2_Threshold + UnMask_All = 0 +} +compositeAlgorithm Pix_Bins_Equal_Threshold&BinPrint { + libnames = libdqm_algorithms.so + subalgs = Bins_Equal_Threshold,BinPrint +} + +algorithm Pix_Occupancy_Endcap { + name = Pix_Bins_Equal_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_DisabledMod_Endcap_Threshold + UnMask_All = 10 + UseValue = -1 + Value = 0 + MinStat = 500 +} +algorithm Pix_Occupancy_B0B1 { + name = Pix_Bins_Equal_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_DisabledMod_B0B1_Threshold + UnMask_All = 10 + UseValue = -1 + Value = 0 + MinStat = 1500 +} +algorithm Pix_Occupancy_B2 { + name = Pix_Bins_Equal_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_DisabledMod_B2_Threshold + UnMask_All = 10 + UseValue = -1 + Value = 0 + MinStat = 2500 +} +algorithm Pix_GatherData { + libname = libdqm_algorithms.so + name = GatherData + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm Plain_GatherData { + libname = libdqm_algorithms.so + name = GatherData +} +algorithm Pix_Histogram_Not_Empty { + libname = libdqm_algorithms.so + name = Histogram_Not_Empty + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm PixGlobal_Histogram_Not_Empty { + libname = libdqm_algorithms.so + name = Histogram_Not_Empty + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm Pix_BinPrint { + libname = libdqm_algorithms.so + name = BinPrint + UnMask_All = 4 + Mask_2 = 1 + Mask_3 = 1 +} +compositeAlgorithm Pix_CheckHisto_Mean&GatherData { + subalgs = GatherData,CheckHisto_Mean + libnames = libdqm_algorithms.so + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +compositeAlgorithm Pix_CheckHisto_Mean&BinPrint { + subalgs = CheckHisto_Mean,BinPrint + libnames = libdqm_algorithms.so + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm Pix_Timing_CheckHisto_Mean&BinPrint { + name = Pix_CheckHisto_Mean&BinPrint + UnMask_All = 5 + Mask_6 = 1 + Mask_7 = 1 + Mask_8 = 1 + SubtractFromXMean = 0.0 + MinStat = 100 + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + thresholds = Pix_Timing_CheckMean_Thresh +} +algorithm Pix_HitTiming_CheckHisto_Mean&BinPrint { + name = Pix_CheckHisto_Mean&BinPrint + UnMask_All = 5 + Mask_6 = 1 + Mask_7 = 1 + Mask_8 = 1 + SubtractFromXMean = 0.0 + MinStat = 100 + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + thresholds = Pix_HitTiming_CheckMean_Thresh +} +algorithm Pix_Noise_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + SubtractFromXMean = 2000 + thresholds = Pix_Noise_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_track_z0_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_track_z0_Thresh + MinStat = 100 +} +algorithm PixTrack_Noise_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + SubtractFromXMean = 500 + thresholds = PixTrack_Noise_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_ToT_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_ToT_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_Npix_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +#algorithm Pix_Npix_CheckHisto_Mean&GatherData { +# reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +# name = Pix_CheckHisto_Mean&GatherData +# thresholds = Pix_Npix_CheckMean_Thresh +# MinStat = 100 +#} +algorithm Pix_BCID_NoEmptyBins { + libname = libdqm_algorithms.so + xmin = 0.0 + xmax = 255.0 + name = Bins_LessThan_Threshold + BinThreshold = 1 + MinStat = 3000 + thresholds = Pix_BCID_NoEmptyBins_Thresholds +} +algorithm Pix_BCID_GreaterThan_Threshold&BinPrint { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_BCID_Thresh + UnMask_All = 20 + UseValue = 2 + Value = 10000 +} +algorithm Pix_Charge_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_Charge_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh_Endcap + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh_B0B1 + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean_B2&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh_B2 + MinStat = 100 +} +algorithm Pix_ErrorLB_CheckHisto_Mean&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_ErrorLB_CheckMean_Thresh + MinStat = 100 +} +compositeAlgorithm InDetGlobal_Pix_CheckHisto_Mean&GatherData { + subalgs = GatherData,CheckHisto_Mean + libnames = libdqm_algorithms.so +} +algorithm InDetGlobal_Pix_ToT_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_Pix_ToT_CheckMean_Thresh + MinStat = 100 +} +algorithm InDetGlobal_Pix_Npix_CheckHisto_Mean&GatherData { + reference = CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_Pix_Npix_CheckMean_Thresh + MinStat = 100 +} +algorithm InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_Pix_Res_CheckMean_Thresh + MinStat = 100 +} +algorithm InDetGlobal_Pix_ntrk_LB_CheckHisto_Mean&GatherData { + reference = CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh + MinStat = 100 +} + +# +############## +## Thresholds +############## +# +thresholds Pix_Diff_FromAvg { + +} +thresholds Pix_LB_Diff_FromAvg { + limits NBins { + warning = 1 + error = 9999 + } +} +thresholds Pix_NonZero_Errors_Threshold { + limits NBins { + warning = 0 + error = 1000 + } +} + +thresholds Pix_Clusters_ColumnRow_LB_Threshold { + limits NBins { + warning = 1 + error = 5 + } +} + + + +thresholds Pix_Disabled_Synch_Threshold { + limits NBins { + warning = 1 + error = 5 + } +} + +thresholds Pix_ErrorFrac_Threshold { + limits NBins { + warning = 0.05 + error = 0.3 + } +} +thresholds Pix_DisabledMod_Endcap_Threshold { + limits NBins { + warning = 10 + error = 100 + } +} + +thresholds Pix_DisabledMod_B0B1_Threshold { + limits NBins { + warning = 15 + error = 150 + } +} +thresholds Pix_DisabledMod_B2_Threshold { + limits NBins { + warning = 40 + error = 400 + } +} +thresholds Pix_Timing_CheckMean_Thresh { + limits AbsXMean { + warning = 0.01 + error = 0.1 + } +} +thresholds Pix_HitTiming_CheckMean_Thresh { + limits AbsXMean { + warning = 0.01 + error = 0.1 + } +} +thresholds Pix_Noise_CheckMean_Thresh { + limits AbsXMean { + warning = 750 + error = 9999 + } +} +thresholds PixTrack_Noise_CheckMean_Thresh { + limits AbsXMean { + warning = 500 + error = 9999 + } +} +thresholds Pix_track_z0_Thresh { + limits AbsXMean { + warning = 50 + error = 9999 + } +} +thresholds Pix_ToT_CheckMean_Thresh { + limits AbsXMean { + warning = 100 + error = 999 + } +} +thresholds Pix_Hits_Noise_lumi_Thresh { + limits AbsYMean { + warning = 100 + error = 999 + } +} +thresholds Pix_Cluster_Noise_lumi_Thresh { + limits AbsYMean { + warning = 10 + error = 99 + } +} +thresholds Pix_Hits_Noise_Thresh { + limits AbsXMean { + warning = 100 + error = 999 + } +} +thresholds Pix_Cluster_Noise_Thresh { + limits AbsXMean { + warning = 10 + error = 99 + } +} +thresholds Pix_Npix_CheckMean_Thresh { + limits AbsXMean { + warning = 4 + error = 999 + } +} +thresholds InDetGlobal_Pix_ToT_CheckMean_Thresh { + limits AbsXMean { + warning = 50 + error = 999 + } +} +thresholds InDetGlobal_Pix_Npix_CheckMean_Thresh { + limits AbsXMean { + warning = 4 + error = 999 + } +} +thresholds InDetGlobal_Pix_Res_CheckMean_Thresh { + limits AbsXMean { + warning = 0.1 + error = 999 + } +} +thresholds InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh { + limits AbsYMean { + warning = 150 + error = 10000 + } +} +thresholds Pix_BCID_NoEmptyBins_Thresholds { + limits NBins { + warning = 1 + error = 999 + } +} +thresholds Pix_BCID_Thresh { + limits NBins { + warning = 5000 + error = 9999 + } +} +thresholds Pix_Charge_CheckMean_Thresh { + limits AbsXMean { + warning = 75000 + error = 150000 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh { + limits AbsYMean { + warning = 80 + error = 1000 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh_Endcap { + limits AbsYMean { + warning = 10 + error = 140 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh_B0B1 { + limits AbsYMean { + warning = 17 + error = 250 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh_B2 { + limits AbsYMean { + warning = 55 + error = 600 + } +} +thresholds Pix_ErrorLB_CheckMean_Thresh { + limits AbsYMean { + warning = 100 + error = 10000 + } +} + diff --git a/DataQuality/DataQualityConfigurations/config/Pixel/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/Pixel/heavyions_run.config index c17c530d25248594b25bdb8a33e6b653aa343d6b..710fc92863d4a383ad3efd0bc4fbc783da9eee35 100644 --- a/DataQuality/DataQualityConfigurations/config/Pixel/heavyions_run.config +++ b/DataQuality/DataQualityConfigurations/config/Pixel/heavyions_run.config @@ -1,5054 +1,6040 @@ -# ********************************************************************** -# $Id: heavyions_run.config 778592 2016-10-14 17:48:24Z dyamaguc $ -# ********************************************************************** - -############# -# Output -############# - -output top_level { - output InnerDetector { - output Pixel { - output PixelExpert { - output GeneralAllHits { - } - output GeneralOnTrack { - } - output TimingAllHits { - } - output Tracks_fromIDglobal { - } - output Tracks { - } - output Errors { - output ALL { - } - output Bad_Module_Errors { - output Synchronization_Module_BCID1 { - } - output Synchronization_Module_BCID2 { - } - output Synchronization_Module_LVL1ID { - } - output Synchronization_ROD_BCID { - } - output Synchronization_ROD_LVL1ID { - } - output Truncation_Module_EoC { - } - output Truncation_Module_EoE_Overflow { - } - output Truncation_Module_Hit_Overflow { - } - output Truncation_ROD_FIFO_Overflow { - } - output Truncation_ROD_HT_Limit { - } - output Optical_Errors { - } - output ROD_Timeout { - } - output SEU_Hamming { - } - output SEU_Hit_Parity { - } - output SEU_Register_Parity { - } - output FE_Warning { - } - #output Synchronization_Correlations { - #} - } - } - } - #output DQShift { - # output ClusterOccupancy { - # } - # output LBDependence { - # } - # output LBDependenceOnTrack { - # } - #} - #output ALL { - # output Hits { - # } - # output DisableAndErrors { - # } - # output CombinedTrack { - # } - # output PixelOnlyTrack { - # } - # output Timing { - # } - # output LBdependence { - # } - # output _Experts { - # } - #} - output DBM { - output ClusterHits { - } - output Hits { - } - output Timing { - } - } - output PIXIBL { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _DCS { - output ModuleTemperature { - } - output ModuleLowVoltage { - } - output ModuleHighVoltage { - } - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIX0 { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIX1 { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIX2 { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIXECA { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - output PIXECC { - output ClusterHits { - } - output ClusterHitsOnTrack { - } - output Hits { - } - output HitsOnTrack { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output _Experts { - output ClusterHits { - } - output ClusterHitsLB { - } - output ClusterHitsOnTrackLB { - } - output Hits { - } - output HitsLB { - } - output DisableAndErrors { - } - output DisableAndErrorsLB { - } - output Timing { - } - output TimingOnTrack { - } - } - } - } - } -} - - - -########################################################### -# Pixel -########################################################### - -####################### -# Histogram Assessments -####################### - -dir Pixel { - - dir Hits { - hist num_hits { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Occupancy_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_DBMA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_DBMC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Occupancy_IBL_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B0_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B1_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_B2_byPostProcess { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECA_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_ECC_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Occupancy_per_pixel_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Occupancy_per_pixel_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/_Experts/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - #hist Average_Occupancy_IBL2D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_IBL3D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Occupancy_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECC/_Experts/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - #hist Average_PixOcc_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_PixOcc_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECC/Hits - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - hist AvgOcc_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - } - hist AvgOcc_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - } - hist AvgOcc_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - } - hist AvgOcc_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - } - hist AvgOcc_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - } - hist AvgOcc_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - } - - hist AvgOcc_per_BCID_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/HitsLB - display = StatBox - } - hist AvgOcc_per_BCID_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/HitsLB - display = StatBox - } - hist AvgOcc_per_BCID_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/HitsLB - display = StatBox - } - hist AvgOcc_per_BCID_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB - display = StatBox - } - hist AvgOcc_per_BCID_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB - display = StatBox - } - hist AvgOcc_per_BCID_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - } - - hist Hits_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - output = InnerDetector/Pixel/DQShift/LBDependence - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Hits_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Hits_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Hit_ToT { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox,AxisRange(0,256,"X") - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Hit_ToT_IBL2D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_IBL3D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_IBL { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_B0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_B1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_B2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECA0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECA1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECA2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECC0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECC1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_ECC2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_DBMA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Hit_ToT_DBMC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/DBM/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist AvgOcc_RatioIBLB0_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - } - - - dir Timing { - hist Lvl1A { - algorithm = Pix_HitTiming_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = <LogY,StatBox> - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Lvl1A_B0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX0/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_B1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX1/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_B2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX2/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECA0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECA1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECA2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECC0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECC1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_ECC2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_IBL { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/Hits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_DBMA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/DBM/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Lvl1A_DBMC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/DBM/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist LvlID { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - } - - hist Pixel_BCID { - algorithm = Pix_BCID_NoEmptyBins - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Atlas_BCID { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Cluster_LVL1A { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Clus_LVL1A_SizeCut_ECA { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_ECC { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL2D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL3D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B0 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B1 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B2 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/Timing - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Atlas_BCID { - algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox,AxisRange(0,500,"X") - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - #hist Atlas_BCID@1 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(0,500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@2 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(500,1000,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@3 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(1000,1500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@4 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(1500,2000,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@5 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(2000,2500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@6 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(2500,3000,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - #hist Atlas_BCID@7 { - # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = StatBox,AxisRange(3000,3500,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - hist Atlas_BCID_Hits { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - #hist Cluster_LVL1A { - # algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - # output = InnerDetector/Pixel/PixelExpert/TimingAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing - #} - # hist trigger { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_B0 { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_B1 { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_B2 { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_ECA { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - # hist trigger_ECC { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Trigger - # } - - hist Lvl1ID_diff_ATLAS_mod { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = <LogY,StatBox> - } - - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/Timing - } - hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/Timing - } - } - - - dir TimingOnTrack { - hist Cluster_LVL1A_OnTrack { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PixelExpert/TimingAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Cluster_LVL1A_ECA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_ECC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_IBL { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_B0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX0/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_B1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX1/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_B2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX2/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Cluster_LVL1A_Mod_ECA { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECA/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_ECC { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXECC/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_IBL2D { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_IBL3D { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIXIBL/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_B0 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX0/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_B1 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX1/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Cluster_LVL1A_Mod_B2 { - algorithm = Pix_Timing_CheckHisto_Mean&BinPrint - output = InnerDetector/Pixel/PIX2/HitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - - hist Clus_LVL1A_SizeCut_IBL2D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL3D { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_IBL { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B0 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B1 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_B2 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_ECA { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - hist Clus_LVL1A_SizeCut_ECC { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/TimingOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing - } - } - - - dir Clusters { - hist Cluster_Occupancy_DBMA { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/DBM/ClusterHits - } - hist Cluster_Occupancy_DBMC { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/DBM/ClusterHits - } - hist Cluster_Occupancy_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Cluster_Occupancy_IBL_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B0_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B1_byPostProcess { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B2_byPostProcess { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECA_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECC_byPostProcess { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - hist Clus_Occ_SizeCut_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Clus_Occ_SizeCut_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHits - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - #hist Average_Cluster_Occupancy_IBL2D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL3D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - hist Cluster_ToT_IBL2D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL3D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Cluster_Q_ECA { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECA0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECA1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECA2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_IBL { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist num_clusters { - algorithm = Pix_Noise_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = AxisRange(0.0,50.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize_B0 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX0/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B1 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX1/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B2 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX2/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECA { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECA/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECC { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECC/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_IBL { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - #hist Cluster_groupsize@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_groupsize@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - hist TotalClusters_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist LargeClusters_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist VeryLargeClusters_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist HighNClusters_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Cluster_Size_Map_B0 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_B1 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_B2 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_ECA { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_ECC { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_Size_Map_IBL { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - } - - - dir ClustersOnTrack { - hist Cluster_Occupancy_IBL2D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL3D { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_IBL { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B0 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B1 { - algorithm = Pix_Occupancy_B0B1 - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_B2 { - algorithm = Pix_Occupancy_B2 - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECA { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - hist Cluster_Occupancy_ECC { - algorithm = Pix_Occupancy_Endcap - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - } - - #hist Average_Cluster_Occupancy_IBL2D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL3D { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_IBL { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B0 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B1 { - # algorithm = Pix_Occupancy_B0B1 - # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_B2 { - # algorithm = Pix_Occupancy_B2 - # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECA { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - #hist Average_Cluster_Occupancy_ECC { - # algorithm = Pix_Occupancy_Endcap - # output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies - #} - - hist Cluster_Q_ECA { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECA0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECA1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECA2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_ECC2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_IBL { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_Q_B2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Cluster_charge_ECA { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_ECC { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_IBL { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_B0 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_B1 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_charge_B2 { - algorithm = Pix_Charge_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist Cluster_ToT_IBL2D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL3D { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_IBL { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECA2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_ECC2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B0 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B1 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - hist Cluster_ToT_B2 { - algorithm = Pix_ToT_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT - } - - hist num_clusters { - algorithm = PixTrack_Noise_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = AxisRange(0.0,50.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize_OnTrack { - algorithm = Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - hist Cluster_groupsize_B0 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B1 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_B2 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECA { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_ECC { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - hist Cluster_groupsize_IBL { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - } - - #hist Cluster_groupsize@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_groupsize@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_column_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@1 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = StatBox,AxisRange(0,20,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist Cluster_row_width@2 { - # algorithm = Pix_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - # display = <LogY,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - - hist TotalClusters_per_lumi_OnTrack { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi_OnTrack { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist Clusters_per_lumi_ECA { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_ECC { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_IBL { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B0 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B1 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist Clusters_per_lumi_B2 { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist LargeClusters_per_lumi_OnTrack { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist VeryLargeClusters_per_lumi_OnTrack { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist HighNClusters_per_lumi_OnTrack { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - } - - - dir Status { - hist Map_Of_Modules_Status_IBL { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_IBL2D { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_IBL3D { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_B0 { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_B1 { - algorithm = Pix_DisabledMod_B0B1 - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_B2 { - algorithm = Pix_DisabledMod_B2 - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_ECA { - algorithm = Pix_DisabledMod_Endcap - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - hist Map_Of_Modules_Status_ECC { - algorithm = Pix_DisabledMod_Endcap - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules - } - - hist Ok_modules_ECA { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_ECC { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_IBL2D { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_IBL3D { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_B0 { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_B1 { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - hist Ok_modules_B2 { - algorithm = All_Bins_Filled - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#DQMF - } - - hist DisabledModules_per_lumi { - algorithm = Pix_DisabledLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist DisabledModules_per_lumi_ECA { - algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_ECC { - algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_IBL { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_IBL2D { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_IBL3D { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_B0 { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_B1 { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledModules_per_lumi_B2 { - algorithm = Pix_DisabledLB_CheckHisto_Mean_B2&GatherData - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist BadModules_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist BadModules_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_IBL2D { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_IBL3D { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist BadModules_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - } - - - dir Errors { - hist Error_per_lumi_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist Error_per_lumi_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist ErrorBit_per_lumi_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist ErrorBit_per_lumi_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SEUErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SEUErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - #hist SEU_Errors_IBL { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_B0 { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIX0/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_B1 { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIX1/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_B2 { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIX2/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_A { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECA/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_C { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECC/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_ECA { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECA/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - #hist SEU_Errors_ECC { - # algorithm = Pix_NonZero_Errors - # output = InnerDetector/Pixel/PIXECC/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - #} - - hist SEUErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SEUErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TimeoutErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TimeoutErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TimeoutErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TimeoutErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist OpticalErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist OpticalErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - - hist OpticalErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist OpticalErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - - hist TruncationErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncationErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_Mod_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_Mod_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist TruncErrors_ROD_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist TruncErrors_ROD_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrors_IBL { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrors_IBL_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B0_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B1_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_B2_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECA_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ECC_byPostProcess { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - - hist SyncErrors_Mod_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_Mod_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrors_ROD_B0 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_B1 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_B2 { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_ECA { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrors_ROD_ECC { - algorithm = Pix_NonZero_Errors - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist SyncErrorsFrac_per_event_IBL { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_B0 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_B1 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_B2 { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_ECA { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - hist SyncErrorsFrac_per_event_ECC { - #algorithm = Pix_NonZero_Errors - algorithm = Pix_Frac_Errors - output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors - } - - hist errors_per_lumi { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist errors_per_lumi_ECA { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_ECC { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_IBL { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_B0 { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_B1 { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist errors_per_lumi_B2 { - algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist OpticalErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist OpticalErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist OpticalErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SEU_Errors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SEU_Errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SEU_Errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TimeoutErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TimeoutErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TimeoutErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TruncationErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist TruncationErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist TruncationErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SyncErrors_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/ALL - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - hist SyncErrors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist SyncErrors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - #hist SyncErrorsFrac_per_event_IBL { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_B0 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_B1 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_B2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_ECA { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SyncErrorsFrac_per_event_ECC { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - - #hist OpticalErrorsFrac_per_event_IBL { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_B0 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_B1 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_B2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_ECA { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist OpticalErrorsFrac_per_event_ECC { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - - #hist SEUErrorsFrac_per_event_IBL { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_B0 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_B1 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_B2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_ECA { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - #hist SEUErrorsFrac_per_event_ECC { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - #} - - ## POST PROCESS - hist DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_IBL2D_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_IBL3D_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_ECA_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - hist DisabledAndSyncErrorsModules_per_lumi_ECC_byPostProcess { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence - } - - - } - - - dir ErrorsExpert { - hist Bad_Module_Errors_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - hist Bad_Module_Errors_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors - display = LogY - } - - hist Errors_EtaID_per_event_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors - } - hist Errors_EtaID_per_event_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors - } - - hist FE_Warning_per_lumiMap_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumiMap_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - - hist FE_Warning_per_lumi_PIX { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - - hist FE_Warning_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - hist FE_Warning_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning - } - - hist Mod_Sync_BCID1_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist Mod_Sync_BCID1_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - - hist Mod_Sync_BCID2_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist Mod_Sync_BCID2_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - - hist Mod_Sync_LVL1ID_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist Mod_Sync_LVL1ID_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - - hist Mod_Trunc_EOC_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist Mod_Trunc_EOC_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - - hist Optical_Errors_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - - hist Optical_Errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - hist Optical_Errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors - } - - hist ROD_Sync_BCID_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist ROD_Sync_BCID_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - - hist ROD_Sync_LVL1ID_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist ROD_Sync_LVL1ID_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - - hist ROD_Timeout_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - - hist ROD_Timeout_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - hist ROD_Timeout_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout - } - - hist ROD_Trunc_HT_Limit_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist ROD_Trunc_HT_Limit_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - - hist ROD_Trunc_ROD_OF_errors_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist ROD_Trunc_ROD_OF_errors_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - - hist SEUErrors_Hamming_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEUErrors_Hamming_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - - hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEUErrors_Hit_Parity_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - - hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEUErrors_Reg_Parity_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - - hist SEU_Hamming_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - hist SEU_Hamming_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming - } - - hist SEU_Hit_Parity_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - hist SEU_Hit_Parity_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity - } - - hist SEU_Register_Parity_per_lumi_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - hist SEU_Register_Parity_per_lumi_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity - } - - hist SyncErrors_rod_BCID_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - hist SyncErrors_rod_BCID_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID - } - - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID - } - - hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - hist SyncErrors_mod_BCID1_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 - } - - hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - hist SyncErrors_mod_BCID2_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 - } - - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID - } - - hist TruncErrors_mod_EOC_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - hist TruncErrors_mod_EOC_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC - } - - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow - } - - hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - hist TruncErrors_mod_hitOF_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow - } - - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow - } - - hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - hist TruncErrors_rod_HTlim_int_LB_2D_Map_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit - } - - } - - - #Track histograms from PixelMonitoring - #Below plot Combined Tracks - dir TrackOnTrack { - #hist m_Pixel_track_res_phi { - # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox,AxisRange(-0.05,0.05,"X") - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_res_eta { - # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_d0 { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_z0 { - # algorithm = Pix_track_z0_CheckHisto_Mean&GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_phi0 { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_eta { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_qOverP { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_pt { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - hist m_Pixel_track_chi2 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist tracks_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/Tracks - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist trackRate_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/Tracks - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist tracksPerEvt_per_lumi { - algorithm = Pix_LB_Bins_Diff_FromAvg - output = InnerDetector/Pixel/PixelExpert/Tracks - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - #hist ClustersOnOffTrack_per_lumi { - # algorithm = Pix_LB_Bins_Diff_FromAvg - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_dedx { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = <LogZ,StatBox> - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - #hist m_Pixel_track_mass_dedx { - # algorithm = PixGlobal_Histogram_Not_Empty - # output = InnerDetector/Pixel/PixelExpert/Tracks - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - - ### Track State On Surface: Hole - hist TSOS_Hole_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Hole_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Track State On Surface: Measurement - hist TSOS_Measurement_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Measurement_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Track State On Surface: Outlier - hist TSOS_Outlier_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist TSOS_Outlier_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Degradation Factor map for IP resolution - hist degFactorMap { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist degFactorMap_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist degFactorMap_eta_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist degFactorMap_phi_per_lumi { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - ### Hit efficiency - hist HitEff_all_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_all_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_all_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_all_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_all_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_all_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_actv_IBL { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_actv_B0 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_actv_B1 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_actv_B2 { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_actv_ECA { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - hist HitEff_actv_ECC { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks - } - } - - dir SpacePoint { - hist pixel_sp_r_vs_z { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - } - hist pixel_sp_x_vs_y { - algorithm = Plain_GatherData - output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - } - } - - dir DCS { - hist moduleTemperature_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S01 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S02 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S03 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S04 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S05 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S06 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S07 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S08 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S09 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S10 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S11 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S12 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S13 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist moduleTemperature_ModuleNumber_S14 { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - - hist LV_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_LV { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LVcurrent_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_LVcurrent { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - - hist HV_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_HV { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist HVcurrent_EtaPhi { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - hist LB_staveID_HVcurrent { - algorithm = Pix_Histogram_Not_Empty - output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS - } - } - -} -# now get the pixel relevant plots from InDetGlobal -dir InDetGlobal { - dir Pixel { - hist m_Pixel_track_res_phi { - algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-0.2,0.2,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_res_eta { - algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-0.3,0.3,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_d0 { - algorithm = Pix_GatherData - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-20.0,20.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_z0 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(-390.0,390.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_phi0 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_eta { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_qOverP { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - hist m_Pixel_track_chi2 { - algorithm = PixGlobal_Histogram_Not_Empty - output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - display = AxisRange(0.0,10.0,"X"),StatBox - description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - } - } - dir Track { - #hist COMB_goodPixTrk_eta_phi { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - # display = StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - #} - # hist COMB_goodPixTrk_eta { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - # display = AxisRange(0.0,4000000.0,"Y"),StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - # } - # hist COMB_goodPixTrk_phi { - # algorithm = Pix_GatherData - # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal - # display = AxisRange(0.0,4000000.0,"Y"),StatBox - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks - # } - } - dir Hits { - #hist m_ID_hitmap_x_y@2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - #hist m_ID_hitmap_z_r@2 { - # algorithm = Plain_GatherData - # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits - # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits - #} - } -} - -############# -# Algorithms -############# - -algorithm Pix_Bins_Diff_FromAvg { - libname = libdqm_algorithms.so - name = Bins_Diff_FromAvg - thresholds = Pix_Diff_FromAvg -} -algorithm Pix_LB_Bins_Diff_FromAvg { - libname = libdqm_algorithms.so - name = Bins_Diff_FromAvg - NSigma = 10 - PublishBins = 1 - thresholds = Pix_LB_Diff_FromAvg -} -compositeAlgorithm Pix_Bins_GreaterThan_Threshold&BinPrint { - libnames = libdqm_algorithms.so - subalgs = Bins_GreaterThan_Threshold,BinPrint -} -### For Errors -algorithm Pix_NonZero_Errors { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_NonZero_Errors_Threshold - UnMask_All = 10 - UseValue = 2 - Value = 0 -} -algorithm Pix_Frac_Errors { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_ErrorFrac_Threshold - UnMask_All = 10 - UseValue = 2 - Value = 0 -} -algorithm Pix_DisabledMod_Endcap { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0.5 - thresholds = Pix_DisabledMod_Endcap_Threshold - UnMask_All = 0 -} -algorithm Pix_DisabledMod_B0B1 { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0.5 - thresholds = Pix_DisabledMod_B0B1_Threshold - UnMask_All = 0 -} -algorithm Pix_DisabledMod_B2 { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0.5 - thresholds = Pix_DisabledMod_B2_Threshold - UnMask_All = 0 -} -compositeAlgorithm Pix_Bins_Equal_Threshold&BinPrint { - libnames = libdqm_algorithms.so - subalgs = Bins_Equal_Threshold,BinPrint -} -algorithm Pix_Occupancy_Endcap { - name = Pix_Bins_Equal_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_DisabledMod_Endcap_Threshold - UnMask_All = 10 - UseValue = -1 - Value = 0 - MinStat = 500 -} -algorithm Pix_Occupancy_B0B1 { - name = Pix_Bins_Equal_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_DisabledMod_B0B1_Threshold - UnMask_All = 10 - UseValue = -1 - Value = 0 - MinStat = 1500 -} -algorithm Pix_Occupancy_B2 { - name = Pix_Bins_Equal_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_DisabledMod_B2_Threshold - UnMask_All = 10 - UseValue = -1 - Value = 0 - MinStat = 2500 -} -algorithm Pix_GatherData { - libname = libdqm_algorithms.so - name = GatherData - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm Plain_GatherData { - libname = libdqm_algorithms.so - name = GatherData -} -algorithm Pix_Histogram_Not_Empty { - libname = libdqm_algorithms.so - name = Histogram_Not_Empty - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm PixGlobal_Histogram_Not_Empty { - libname = libdqm_algorithms.so - name = Histogram_Not_Empty - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm Pix_BinPrint { - libname = libdqm_algorithms.so - name = BinPrint - UnMask_All = 4 - Mask_2 = 1 - Mask_3 = 1 -} -compositeAlgorithm Pix_CheckHisto_Mean&GatherData { - subalgs = GatherData,CheckHisto_Mean - libnames = libdqm_algorithms.so - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -compositeAlgorithm Pix_CheckHisto_Mean&BinPrint { - subalgs = CheckHisto_Mean,BinPrint - libnames = libdqm_algorithms.so - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -algorithm Pix_Timing_CheckHisto_Mean&BinPrint { - name = Pix_CheckHisto_Mean&BinPrint - UnMask_All = 5 - Mask_6 = 1 - Mask_7 = 1 - Mask_8 = 1 - SubtractFromXMean = 0.0 - MinStat = 100 - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - thresholds = Pix_Timing_CheckMean_Thresh -} -algorithm Pix_HitTiming_CheckHisto_Mean&BinPrint { - name = Pix_CheckHisto_Mean&BinPrint - UnMask_All = 5 - Mask_6 = 1 - Mask_7 = 1 - Mask_8 = 1 - SubtractFromXMean = 0.0 - MinStat = 100 - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - thresholds = Pix_HitTiming_CheckMean_Thresh -} -algorithm Pix_Noise_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - SubtractFromXMean = 2000 - thresholds = Pix_Noise_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_track_z0_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_track_z0_Thresh - MinStat = 100 -} -algorithm PixTrack_Noise_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - SubtractFromXMean = 500 - thresholds = PixTrack_Noise_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_ToT_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_ToT_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_Npix_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -} -#algorithm Pix_Npix_CheckHisto_Mean&GatherData { -# reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences -# name = Pix_CheckHisto_Mean&GatherData -# thresholds = Pix_Npix_CheckMean_Thresh -# MinStat = 100 -#} -algorithm Pix_BCID_NoEmptyBins { - libname = libdqm_algorithms.so - xmin = 0.0 - xmax = 255.0 - name = Bins_LessThan_Threshold - BinThreshold = 1 - MinStat = 3000 - thresholds = Pix_BCID_NoEmptyBins_Thresholds -} -algorithm Pix_BCID_GreaterThan_Threshold&BinPrint { - name = Pix_Bins_GreaterThan_Threshold&BinPrint - BinThreshold = 0 - thresholds = Pix_BCID_Thresh - UnMask_All = 20 - UseValue = 2 - Value = 10000 -} -algorithm Pix_Charge_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_Charge_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh_Endcap - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh_B0B1 - MinStat = 100 -} -algorithm Pix_DisabledLB_CheckHisto_Mean_B2&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_DisabledLB_CheckMean_Thresh_B2 - MinStat = 100 -} -algorithm Pix_ErrorLB_CheckHisto_Mean&GatherData { - name = Pix_CheckHisto_Mean&GatherData - thresholds = Pix_ErrorLB_CheckMean_Thresh - MinStat = 100 -} -compositeAlgorithm InDetGlobal_Pix_CheckHisto_Mean&GatherData { - subalgs = GatherData,CheckHisto_Mean - libnames = libdqm_algorithms.so -} -algorithm InDetGlobal_Pix_ToT_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_Pix_ToT_CheckMean_Thresh - MinStat = 100 -} -algorithm InDetGlobal_Pix_Npix_CheckHisto_Mean&GatherData { - reference = CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_Pix_Npix_CheckMean_Thresh - MinStat = 100 -} -algorithm InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData { - reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_Pix_Res_CheckMean_Thresh - MinStat = 100 -} -algorithm InDetGlobal_Pix_ntrk_LB_CheckHisto_Mean&GatherData { - reference = CentrallyManagedReferences - name = InDetGlobal_Pix_CheckHisto_Mean&GatherData - thresholds = InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh - MinStat = 100 -} - -# -############## -## Thresholds -############## -# -thresholds Pix_Diff_FromAvg { - -} -thresholds Pix_LB_Diff_FromAvg { - limits NBins { - warning = 1 - error = 9999 - } -} -thresholds Pix_NonZero_Errors_Threshold { - limits NBins { - warning = 0 - error = 1000 - } -} -thresholds Pix_ErrorFrac_Threshold { - limits NBins { - warning = 0.05 - error = 0.3 - } -} -thresholds Pix_DisabledMod_Endcap_Threshold { - limits NBins { - warning = 10 - error = 100 - } -} -thresholds Pix_DisabledMod_B0B1_Threshold { - limits NBins { - warning = 15 - error = 150 - } -} -thresholds Pix_DisabledMod_B2_Threshold { - limits NBins { - warning = 40 - error = 400 - } -} -thresholds Pix_Timing_CheckMean_Thresh { - limits AbsXMean { - warning = 0.01 - error = 0.1 - } -} -thresholds Pix_HitTiming_CheckMean_Thresh { - limits AbsXMean { - warning = 0.01 - error = 0.1 - } -} -thresholds Pix_Noise_CheckMean_Thresh { - limits AbsXMean { - warning = 750 - error = 9999 - } -} -thresholds PixTrack_Noise_CheckMean_Thresh { - limits AbsXMean { - warning = 500 - error = 9999 - } -} -thresholds Pix_track_z0_Thresh { - limits AbsXMean { - warning = 50 - error = 9999 - } -} -thresholds Pix_ToT_CheckMean_Thresh { - limits AbsXMean { - warning = 100 - error = 999 - } -} -thresholds Pix_Hits_Noise_lumi_Thresh { - limits AbsYMean { - warning = 100 - error = 999 - } -} -thresholds Pix_Cluster_Noise_lumi_Thresh { - limits AbsYMean { - warning = 10 - error = 99 - } -} -thresholds Pix_Hits_Noise_Thresh { - limits AbsXMean { - warning = 100 - error = 999 - } -} -thresholds Pix_Cluster_Noise_Thresh { - limits AbsXMean { - warning = 10 - error = 99 - } -} -thresholds Pix_Npix_CheckMean_Thresh { - limits AbsXMean { - warning = 4 - error = 999 - } -} -thresholds InDetGlobal_Pix_ToT_CheckMean_Thresh { - limits AbsXMean { - warning = 50 - error = 999 - } -} -thresholds InDetGlobal_Pix_Npix_CheckMean_Thresh { - limits AbsXMean { - warning = 4 - error = 999 - } -} -thresholds InDetGlobal_Pix_Res_CheckMean_Thresh { - limits AbsXMean { - warning = 0.1 - error = 999 - } -} -thresholds InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh { - limits AbsYMean { - warning = 150 - error = 10000 - } -} -thresholds Pix_BCID_NoEmptyBins_Thresholds { - limits NBins { - warning = 1 - error = 999 - } -} -thresholds Pix_BCID_Thresh { - limits NBins { - warning = 5000 - error = 9999 - } -} -thresholds Pix_Charge_CheckMean_Thresh { - limits AbsXMean { - warning = 75000 - error = 150000 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh { - limits AbsYMean { - warning = 80 - error = 1000 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh_Endcap { - limits AbsYMean { - warning = 10 - error = 140 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh_B0B1 { - limits AbsYMean { - warning = 17 - error = 250 - } -} -thresholds Pix_DisabledLB_CheckMean_Thresh_B2 { - limits AbsYMean { - warning = 55 - error = 600 - } -} -thresholds Pix_ErrorLB_CheckMean_Thresh { - limits AbsYMean { - warning = 100 - error = 10000 - } -} +# ********************************************************************** +# $Id: collisions_run.config 770713 2016-08-29 21:45:04Z dyamaguc $ +# ********************************************************************** + +############# +# Output +############# + +output top_level { + output InnerDetector { + output Pixel { + output PixelExpert { + output GeneralAllHits { + } + output GeneralOnTrack { + } + output TimingAllHits { + } + output Tracks_fromIDglobal { + } + output Tracks { + } + output Errors { + output ALL { + } + output Bad_Module_Errors { + output Synchronization_Module_BCID1 { + } + output Synchronization_Module_BCID2 { + } + output Synchronization_Module_LVL1ID { + } + output Synchronization_ROD_BCID { + } + output Synchronization_ROD_LVL1ID { + } + output Truncation_Module_EoC { + } + output Truncation_Module_EoE_Overflow { + } + output Truncation_Module_Hit_Overflow { + } + output Truncation_ROD_FIFO_Overflow { + } + output Truncation_ROD_HT_Limit { + } + output Optical_Errors { + } + output ROD_Timeout { + } + output SEU_Hamming { + } + output SEU_Hit_Parity { + } + output SEU_Register_Parity { + } + output FE_Warning { + } + #output Synchronization_Correlations { + #} + } + } + } + #output DQShift { + # output ClusterOccupancy { + # } + # output LBDependence { + # } + # output LBDependenceOnTrack { + # } + #} + #output ALL { + # output Hits { + # } + # output DisableAndErrors { + # } + # output CombinedTrack { + # } + # output PixelOnlyTrack { + # } + # output Timing { + # } + # output LBdependence { + # } + # output _Experts { + # } + #} + output DBM { + output ClusterHits { + } + output Hits { + } + output Timing { + } + } + output PIXIBL { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _DCS { + output ModuleTemperature { + } + output ModuleLowVoltage { + } + output ModuleHighVoltage { + } + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIX0 { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIX1 { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIX2 { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIXECA { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + output PIXECC { + output ClusterHits { + } + output ClusterHitsOnTrack { + } + output Hits { + } + output HitsOnTrack { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output _Experts { + output ClusterHits { + } + output ClusterHitsLB { + } + output ClusterHitsOnTrackLB { + } + output Hits { + } + output HitsLB { + } + output DisableAndErrors { + } + output DisableAndErrorsLB { + } + output Timing { + } + output TimingOnTrack { + } + } + } + } + } +} + + + +########################################################### +# Pixel +########################################################### + +####################### +# Histogram Assessments +####################### + +dir Pixel { + dir Hits { + + hist Occupancy_per_pixel_event_B0 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_B1 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_B2 { + algorithm = Pix_Occupancy_B2 + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_ECA { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_ECC { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_per_pixel_event_IBL { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Occupancy_Summary_B0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_B1 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_B2 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_ECA { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Occupancy_Summary_ECC { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist num_hits { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + #hist Average_Occupancy_IBL2D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_IBL3D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Occupancy_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECC/_Experts/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + #hist Average_PixOcc_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_PixOcc_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECC/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + hist AvgOcc_active_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + } + hist AvgOcc_active_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + } + + hist AvgOcc_per_BCID_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB + display = StatBox + } + hist AvgOcc_per_BCID_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB + display = StatBox + } + + hist Hits_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + output = InnerDetector/Pixel/DQShift/LBDependence + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Hits_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Hits_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Hit_ToT { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox,AxisRange(0,256,"X") + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist Hit_ToT_IBL2D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_IBL3D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Hit_ToT_IBL { + # algorithm = Pix_ToT_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/Hits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Hit_ToT_B0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_B1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_B2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECA2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_ECC2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_DBMA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/DBM/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Hit_ToT_DBMC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/DBM/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist AvgOcc_RatioIBLB0_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/_Experts/HitsLB + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir Timing { + hist Lvl1A { + algorithm = Pix_HitTiming_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = <LogY,StatBox> + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Lvl1A_B0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX0/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_B1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX1/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_B2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX2/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECA2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_ECC2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_IBL { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/Hits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_DBMA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/DBM/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Lvl1A_DBMC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/DBM/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist LvlID { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + } + + hist Pixel_BCID { + algorithm = Pix_BCID_NoEmptyBins + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Atlas_BCID { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Cluster_LVL1A { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Clus_LVL1A_SizeCut_ECA { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_ECC { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Clus_LVL1A_SizeCut_IBL { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B1 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B2 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/Timing + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Atlas_BCID { + algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox,AxisRange(0,500,"X") + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + #hist Atlas_BCID@1 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(0,500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@2 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(500,1000,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@3 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(1000,1500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@4 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(1500,2000,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@5 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(2000,2500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@6 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(2500,3000,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + #hist Atlas_BCID@7 { + # algorithm = Pix_BCID_GreaterThan_Threshold&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = StatBox,AxisRange(3000,3500,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + hist Atlas_BCID_Hits { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + #hist Cluster_LVL1A { + # algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + # output = InnerDetector/Pixel/PixelExpert/TimingAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Timing + #} + # hist trigger { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_B0 { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_B1 { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_B2 { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_ECA { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + # hist trigger_ECC { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Trigger + # } + + hist Lvl1ID_diff_ATLAS_mod { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = <LogY,StatBox> + } + + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/Timing + } + hist Lvl1ID_diff_ATLAS_mod_per_LB_2D_Profile_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/Timing + } + } + + + dir TimingOnTrack { + hist Cluster_LVL1A_OnTrack { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PixelExpert/TimingAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Cluster_LVL1A_ECA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_ECC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_IBL { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_B0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX0/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_B1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX1/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_B2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX2/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + + hist Cluster_LVL1A_Mod_ECA { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECA/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_ECC { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXECC/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_IBL2D { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_IBL3D { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIXIBL/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_B0 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX0/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_B1 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX1/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Cluster_LVL1A_Mod_B2 { + algorithm = Pix_Timing_CheckHisto_Mean&BinPrint + output = InnerDetector/Pixel/PIX2/HitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_IBL { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B1 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_B2 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_ECA { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + hist Clus_LVL1A_SizeCut_ECC { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/TimingOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Timing + } + } + + + dir Clusters { + + hist Cluster_Size_Map_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + # hist Cluster_Size_Map_IBL2D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + # hist Cluster_Size_Map_IBL3D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + + hist Clusters_column_width_per_lumi_B0 { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B1 { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B2 { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECA { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECC { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_column_width_per_lumi_IBL2D { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_IBL3D { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_row_width_per_lumi_B0 { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B1 { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B2 { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECA { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECC { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_row_width_per_lumi_IBL2D { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_IBL3D { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clus_Occ_SizeCut_IBL { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_B0 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_B1 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_B2 { + algorithm = Pix_Occupancy_B2 + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_ECA { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clus_Occ_SizeCut_ECC { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHits + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + #hist Average_Cluster_Occupancy_IBL2D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL3D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + hist Cluster_ToT_IBL2D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_IBL3D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Cluster_ToT_IBL { + # algorithm = Pix_ToT_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Cluster_ToT_ECA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECA0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECA1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECA2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_ECC2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_B0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_B1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToT_B2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist Cluster_Q_ECA { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECA0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECA1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECA2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_ECC2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Cluster_Q_IBL { + # algorithm = Pix_Charge_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/ClusterHits + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Cluster_Q_B0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_B1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_Q_B2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist num_clusters { + algorithm = Pix_Noise_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = AxisRange(0.0,50.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + #hist Cluster_groupsize@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_groupsize@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + hist TotalClusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/ClusterHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist LargeClusters_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist VeryLargeClusters_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist HighNClusters_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir ClustersOnTrack { + + hist Cluster_Occupancy_IBL { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_B0 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_B1 { + algorithm = Pix_Occupancy_B0B1 + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_B2 { + algorithm = Pix_Occupancy_B2 + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_ECA { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Occupancy_ECC { + algorithm = Pix_Occupancy_Endcap + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + #hist Average_Cluster_Occupancy_IBL2D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL3D { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_IBL { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B0 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B1 { + # algorithm = Pix_Occupancy_B0B1 + # output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_B2 { + # algorithm = Pix_Occupancy_B2 + # output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECA { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + #hist Average_Cluster_Occupancy_ECC { + # algorithm = Pix_Occupancy_Endcap + # output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + #} + + + hist Cluster_charge_ECA { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_ECC { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_IBL { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_B0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_B1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_charge_B2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + +hist Cluster_QxCosAlpha_ECA { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECA0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECA1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECA2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_ECC2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + #hist Cluster_QxCosAlpha_IBL { + # algorithm = Pix_Charge_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + #} + hist Cluster_QxCosAlpha_IBL2D { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_IBL3D { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_B0 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_B1 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_QxCosAlpha_B2 { + algorithm = Pix_Charge_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + +hist Cluster_ToTxCosAlpha_IBL2D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_IBL3D { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECA2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_ECC2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_B0 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_B1 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + hist Cluster_ToTxCosAlpha_B2 { + algorithm = Pix_ToT_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Charge_and_ToT + } + + hist num_clusters { + algorithm = PixTrack_Noise_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = AxisRange(0.0,50.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize_OnTrack { + algorithm = Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_groupsize_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + hist Cluster_groupsize_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + } + + hist Cluster_Size_Map_B0 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B1 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_B2 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECA { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_ECC { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Cluster_Size_Map_IBL { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + # hist Cluster_Size_Map_IBL2D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + # hist Cluster_Size_Map_IBL3D { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + # } + + hist Clusters_column_width_per_lumi_B0_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B1_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_B2_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECA_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_ECC_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_column_width_per_lumi_IBL2D_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_column_width_per_lumi_IBL3D_OnTrack { + algorithm = Pix_Clusters_Column_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + + hist Clusters_row_width_per_lumi_B0_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX0/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B1_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX1/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_B2_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIX2/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECA_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECA/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_ECC_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXECC/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + hist Clusters_row_width_per_lumi_IBL2D_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + hist Clusters_row_width_per_lumi_IBL3D_OnTrack { + algorithm = Pix_Clusters_Row_LB + output = InnerDetector/Pixel/PIXIBL/_Experts/ClusterHitsOnTrackLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Occupancies + } + + #hist Cluster_groupsize@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_groupsize@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_column_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@1 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = StatBox,AxisRange(0,20,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist Cluster_row_width@2 { + # algorithm = Pix_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + # display = <LogY,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + + hist TotalClusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist Clusters_per_lumi_ECA { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECA/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_ECC { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXECC/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_IBL { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIXIBL/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B0 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX0/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B1 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX1/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist Clusters_per_lumi_B2 { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PIX2/ClusterHitsOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist LargeClusters_per_lumi_OnTrack { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist VeryLargeClusters_per_lumi_OnTrack { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist HighNClusters_per_lumi_OnTrack { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralOnTrack + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir Status { + hist Map_Of_Modules_Status_IBL { + algorithm = Pix_DisabledMod_B0B1 + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + + hist Map_Of_Modules_Status_B0 { + algorithm = Pix_DisabledMod_B0B1 + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_B1 { + algorithm = Pix_DisabledMod_B0B1 + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_B2 { + algorithm = Pix_DisabledMod_B2 + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_ECA { + algorithm = Pix_DisabledMod_Endcap + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + hist Map_Of_Modules_Status_ECC { + algorithm = Pix_DisabledMod_Endcap + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Disabled_Modules + } + + hist DisabledModules_per_lumi { + algorithm = Pix_DisabledLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist DisabledModules_per_lumi_ECA { + algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_ECC { + algorithm = Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_IBL { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_IBL2D { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_IBL3D { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_B0 { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_B1 { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledModules_per_lumi_B2 { + algorithm = Pix_DisabledLB_CheckHisto_Mean_B2&GatherData + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist BadModules_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist BadModules_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_IBL2D { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_IBL3D { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist BadModules_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + + + dir Errors { + + hist SyncErrors_Mod_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_ROD_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_Mod_Frac_per_event_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_Mod_Frac_per_event_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_Frac_per_event_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_ROD_Frac_per_event_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_ROD_Frac_per_event_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_Frac_per_event_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_ECA_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist DisabledAndSyncErrorsModules_per_lumi_ECC_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist ErrorBit_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist ErrorBit_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SEUErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + #hist SEU_Errors_IBL { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_B0 { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIX0/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_B1 { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIX1/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_B2 { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIX2/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_A { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECA/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_C { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECC/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_ECA { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECA/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + #hist SEU_Errors_ECC { + # algorithm = Pix_NonZero_Errors + # output = InnerDetector/Pixel/PIXECC/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + #} + + hist SEUErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SEUErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist TimeoutErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist TimeoutErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TimeoutErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist OpticalErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + + hist OpticalErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist OpticalErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist TruncErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + + hist TruncationErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist TruncationErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist SyncErrors_IBL_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_B0_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_B1_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_B2_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ECA_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ECC_byPostProcess { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrors + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + # adding SyncErrors_Mod_per_lumi + hist SyncErrors_Mod_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_IBL2D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_IBL3D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_Mod_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + ################################ + # adding SyncErrors_ROD_per_lumi + hist SyncErrors_ROD_per_lumi_IBL { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_IBL2D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_IBL3D { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_B0 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_B1 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_B2 { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_ECA { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrors_ROD_per_lumi_ECC { + algorithm = Pix_NonZero_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + ###################################### + hist SyncErrorsFrac_per_event_IBL { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_B0 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX0/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_B1 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX1/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_B2 { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIX2/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_ECA { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECA/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + hist SyncErrorsFrac_per_event_ECC { + #algorithm = Pix_NonZero_Errors + algorithm = Pix_Frac_Errors + output = InnerDetector/Pixel/PIXECC/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelOfflineShiftInstructionsDQRun2#Errors + } + + hist errors_per_lumi { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist errors_per_lumi_ECA { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_ECC { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_IBL { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_B0 { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_B1 { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist errors_per_lumi_B2 { + algorithm = Pix_ErrorLB_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist OpticalErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist OpticalErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist OpticalErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SEU_Errors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SEU_Errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SEU_Errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TimeoutErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TimeoutErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TimeoutErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TruncationErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist TruncationErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist TruncationErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SyncErrors_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/ALL + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + hist SyncErrors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist SyncErrors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + + #hist OpticalErrorsFrac_per_event_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_B0 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_B1 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_B2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_ECA { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist OpticalErrorsFrac_per_event_ECC { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + + #hist SEUErrorsFrac_per_event_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_B0 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_B1 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_B2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_ECA { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + #hist SEUErrorsFrac_per_event_ECC { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + #} + + ## POST PROCESS + hist DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_IBL2D_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_IBL3D_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_ECA_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + hist DisabledAndSyncErrorsModules_per_lumi_ECC_byPostProcess { + algorithm = Pix_Disabled_Synch_Errors + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrorsLB + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#LB_Dependence + } + } + dir ErrorsExpert { + ##B0 B1 B2 ECA ECC _Experts/DisableAndErrors + + hist FE_Warning_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID1_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID2_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_LVLID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EOC_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EoE_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist _Mod_Trunc_EoE_Overflow_errors_MapB1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_Hit_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Optical_Errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_BCIS_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCIS_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_LVL1ID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Timeout_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_HT_Limit_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_ROD_OF_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hamming_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hit_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Register_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + ##IBL _Experts/DisableAndErrors + hist Address_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist BCID_counter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist BCID_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist CMD_decoder_SEU_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist CMD_decoder_bitflip_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Data_bus_address_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Hamming_code_0_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Hamming_code_1_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Hamming_code_2_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_Trigger_ID_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_incounter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_register_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist L1_request_counter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist LVL1ID_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Limit_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Masked_link_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Other_CMD_decoder_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Preamble_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Readout_processor_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + hist Row_Column_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + # hist ServiceRecord_Count_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # display = StatBox + # } + #hist ServiceRecord_Unweighted_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # display = LogY + # } + #hist ServiceRecord_Weighted_IBL { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + # display = LogY + # } + hist Skipped_trig_counter_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Timeout_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Triple_redundant_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Triple_redundant_errors2_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Truncated_event_flag_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + hist Write_reg_data_errors_Map_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrors + display = StatBox + } + + + + ##B0 B1 B2 ECA ECC _Experts/DisableAndErrors + + + hist FE_Warning_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist FE_Warning_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID1_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID1_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_BCID2_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_BCID2_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Sync_LVLID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B1 { + algorithm = Plain_GatherData + + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Sync_LVLID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EOC_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EOC_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_EoE_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist _Mod_Trunc_EoE_Overflow_errors_MapB1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_EoE_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Mod_Trunc_Hit_Overflow_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Mod_Trunc_Hit_Overflow_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist Optical_Errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist Optical_Errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_BCID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_BCID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Sync_LVL1ID_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Sync_LVL1ID_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Timeout_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Timeout_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_HT_Limit_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_HT_Limit_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist ROD_Trunc_ROD_OF_errors_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist ROD_Trunc_ROD_OF_errors_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hamming_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hamming_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Hit_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Hit_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + hist SEU_Register_Parity_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX0/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX1/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIX2/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECA/_Experts/DisableAndErrors + display = StatBox + } + hist SEU_Register_Parity_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PIXECC/_Experts/DisableAndErrors + display = StatBox + } + + + + + + +############# + hist Bad_Module_Errors_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + hist Bad_Module_Errors_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors + display = LogY + } + + hist FE_Warning_per_lumiMap_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumiMap_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + + hist FE_Warning_per_lumi_PIX { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + + hist FE_Warning_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + hist FE_Warning_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/FE_Warning + } + + hist Mod_Sync_BCID1_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist Mod_Sync_BCID1_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + + hist Mod_Sync_BCID2_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist Mod_Sync_BCID2_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + + hist Mod_Sync_LVL1ID_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist Mod_Sync_LVL1ID_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + + hist Mod_Trunc_EOC_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist Mod_Trunc_EOC_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_EoE_Overflow_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist Mod_Trunc_Hit_Overflow_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + + hist Optical_Errors_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + + hist Optical_Errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + hist Optical_Errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Optical_Errors + } + + hist ROD_Sync_BCID_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist ROD_Sync_BCID_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + + hist ROD_Sync_LVL1ID_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist ROD_Sync_LVL1ID_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + + hist ROD_Timeout_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + + hist ROD_Timeout_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + hist ROD_Timeout_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/ROD_Timeout + } + + hist ROD_Trunc_HT_Limit_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist ROD_Trunc_HT_Limit_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + + hist ROD_Trunc_ROD_OF_errors_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist ROD_Trunc_ROD_OF_errors_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + + hist SEUErrors_Hamming_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEUErrors_Hamming_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + + hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEUErrors_Hit_Parity_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + + hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEUErrors_Reg_Parity_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + + hist SEU_Hamming_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + hist SEU_Hamming_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hamming + } + + hist SEU_Hit_Parity_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + hist SEU_Hit_Parity_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Hit_Parity + } + + hist SEU_Register_Parity_per_lumi_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + hist SEU_Register_Parity_per_lumi_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/SEU_Register_Parity + } + + hist SyncErrors_rod_BCID_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + hist SyncErrors_rod_BCID_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_BCID + } + + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + hist SyncErrors_rod_LVL1ID_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_ROD_LVL1ID + } + + hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + hist SyncErrors_mod_BCID1_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID1 + } + + hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + hist SyncErrors_mod_BCID2_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_BCID2 + } + + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + hist SyncErrors_mod_LVL1ID_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Synchronization_Module_LVL1ID + } + + hist TruncErrors_mod_EOC_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + hist TruncErrors_mod_EOC_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoC + } + + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + hist TruncErrors_mod_EoEOF_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_EoE_Overflow + } + + hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + hist TruncErrors_mod_hitOF_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_Module_Hit_Overflow + } + + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + hist TruncErrors_rod_FIFOOF_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_FIFO_Overflow + } + + hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + hist TruncErrors_rod_HTlim_int_LB_2D_Map_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Errors/Bad_Module_Errors/Truncation_ROD_HT_Limit + } + + } + + + #Track histograms from PixelMonitoring + #Below plot Combined Tracks + dir TrackOnTrack { + #hist m_Pixel_track_res_phi { + # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox,AxisRange(-0.05,0.05,"X") + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_res_eta { + # algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_d0 { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_z0 { + # algorithm = Pix_track_z0_CheckHisto_Mean&GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_phi0 { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_eta { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_qOverP { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_pt { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + hist m_Pixel_track_chi2 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist tracks_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/Tracks + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist trackRate_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/Tracks + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist tracksPerEvt_per_lumi { + algorithm = Pix_LB_Bins_Diff_FromAvg + output = InnerDetector/Pixel/PixelExpert/Tracks + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + #hist ClustersOnOffTrack_per_lumi { + # algorithm = Pix_LB_Bins_Diff_FromAvg + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_dedx { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = <LogZ,StatBox> + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + #hist m_Pixel_track_mass_dedx { + # algorithm = PixGlobal_Histogram_Not_Empty + # output = InnerDetector/Pixel/PixelExpert/Tracks + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + + ### Track State On Surface: Hole + hist TSOS_Hole_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Hole_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Track State On Surface: Measurement + hist TSOS_Measurement_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Measurement_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Track State On Surface: Outlier + hist TSOS_Outlier_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist TSOS_Outlier_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Degradation Factor map for IP resolution + hist degFactorMap { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist degFactorMap_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist degFactorMap_eta_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist degFactorMap_phi_per_lumi { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + ### Hit efficiency + hist HitEff_all_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_all_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_IBL { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_B0 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_B1 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_B2 { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_ECA { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + hist HitEff_actv_ECC { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks + } + } + + dir SpacePoint { + hist pixel_sp_r_vs_z { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + } + hist pixel_sp_x_vs_y { + algorithm = Plain_GatherData + output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + } + } + + dir DCS { + hist moduleTemperature_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S01 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S02 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S03 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S04 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S05 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S06 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S07 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S08 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S09 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S10 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S11 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S12 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S13 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist moduleTemperature_ModuleNumber_S14 { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleTemperature + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + + hist LV_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_LV { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LVcurrent_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_LVcurrent { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleLowVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + + hist HV_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_HV { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist HVcurrent_EtaPhi { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + hist LB_staveID_HVcurrent { + algorithm = Pix_Histogram_Not_Empty + output = InnerDetector/Pixel/PIXIBL/_DCS/ModuleHighVoltage + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQRun2#DCS + } + } + +} +# now get the pixel relevant plots from InDetGlobal +dir InDetGlobal { + dir Pixel { + hist m_Pixel_track_res_phi { + algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-0.2,0.2,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_res_eta { + algorithm = InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-0.3,0.3,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_d0 { + algorithm = Pix_GatherData + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-20.0,20.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_z0 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(-390.0,390.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_phi0 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_eta { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_qOverP { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + hist m_Pixel_track_chi2 { + algorithm = PixGlobal_Histogram_Not_Empty + output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + display = AxisRange(0.0,10.0,"X"),StatBox + description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + } + } + dir Track { + #hist COMB_goodPixTrk_eta_phi { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + # display = StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + #} + # hist COMB_goodPixTrk_eta { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + # display = AxisRange(0.0,4000000.0,"Y"),StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + # } + # hist COMB_goodPixTrk_phi { + # algorithm = Pix_GatherData + # output = InnerDetector/Pixel/PixelExpert/Tracks_fromIDglobal + # display = AxisRange(0.0,4000000.0,"Y"),StatBox + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#Tracks + # } + } + dir Hits { + #hist m_ID_hitmap_x_y@2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + #hist m_ID_hitmap_z_r@2 { + # algorithm = Plain_GatherData + # output = InnerDetector/Pixel/PixelExpert/GeneralAllHits + # description = https://twiki.cern.ch/twiki/bin/view/Atlas/PixelOfflineShiftInstructionsDQ#General_Hits + #} + } +} + +############# +# Algorithms +############# + +algorithm Pix_Bins_Diff_FromAvg { + libname = libdqm_algorithms.so + name = Bins_Diff_FromAvg + thresholds = Pix_Diff_FromAvg +} +algorithm Pix_LB_Bins_Diff_FromAvg { + libname = libdqm_algorithms.so + name = Bins_Diff_FromAvg + NSigma = 10 + PublishBins = 1 + thresholds = Pix_LB_Diff_FromAvg +} +compositeAlgorithm Pix_Bins_GreaterThan_Threshold&BinPrint { + libnames = libdqm_algorithms.so + subalgs = Bins_GreaterThan_Threshold,BinPrint +} + +compositeAlgorithm Pix_Bins_LessThan_Threshold&BinPrint { + libnames = libdqm_algorithms.so + subalgs = Bins_LessThan_Threshold,BinPrint +} + +### For Errors + +algorithm Pix_Clusters_Row_LB { + name = Pix_Bins_LessThan_Threshold&BinPrint + BinThreshold = 2.4 + thresholds = Pix_Clusters_ColumnRow_LB_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} + +algorithm Pix_Clusters_Column_LB { + name = Pix_Bins_LessThan_Threshold&BinPrint + BinThreshold = 1.4 + thresholds = Pix_Clusters_ColumnRow_LB_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} + +algorithm Pix_Disabled_Synch_Errors { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.1 + thresholds = Pix_Disabled_Synch_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} + +algorithm Pix_NonZero_Errors { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_NonZero_Errors_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} +algorithm Pix_Frac_Errors { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_ErrorFrac_Threshold + UnMask_All = 10 + UseValue = 2 + Value = 0 +} +algorithm Pix_DisabledMod_Endcap { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.5 + thresholds = Pix_DisabledMod_Endcap_Threshold + UnMask_All = 0 +} +algorithm Pix_DisabledMod_B0B1 { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.5 + thresholds = Pix_DisabledMod_B0B1_Threshold + UnMask_All = 0 +} +algorithm Pix_DisabledMod_B2 { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0.5 + thresholds = Pix_DisabledMod_B2_Threshold + UnMask_All = 0 +} +compositeAlgorithm Pix_Bins_Equal_Threshold&BinPrint { + libnames = libdqm_algorithms.so + subalgs = Bins_Equal_Threshold,BinPrint +} + +algorithm Pix_Occupancy_Endcap { + name = Pix_Bins_Equal_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_DisabledMod_Endcap_Threshold + UnMask_All = 10 + UseValue = -1 + Value = 0 + MinStat = 500 +} +algorithm Pix_Occupancy_B0B1 { + name = Pix_Bins_Equal_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_DisabledMod_B0B1_Threshold + UnMask_All = 10 + UseValue = -1 + Value = 0 + MinStat = 1500 +} +algorithm Pix_Occupancy_B2 { + name = Pix_Bins_Equal_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_DisabledMod_B2_Threshold + UnMask_All = 10 + UseValue = -1 + Value = 0 + MinStat = 2500 +} +algorithm Pix_GatherData { + libname = libdqm_algorithms.so + name = GatherData + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm Plain_GatherData { + libname = libdqm_algorithms.so + name = GatherData +} +algorithm Pix_Histogram_Not_Empty { + libname = libdqm_algorithms.so + name = Histogram_Not_Empty + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm PixGlobal_Histogram_Not_Empty { + libname = libdqm_algorithms.so + name = Histogram_Not_Empty + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm Pix_BinPrint { + libname = libdqm_algorithms.so + name = BinPrint + UnMask_All = 4 + Mask_2 = 1 + Mask_3 = 1 +} +compositeAlgorithm Pix_CheckHisto_Mean&GatherData { + subalgs = GatherData,CheckHisto_Mean + libnames = libdqm_algorithms.so + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +compositeAlgorithm Pix_CheckHisto_Mean&BinPrint { + subalgs = CheckHisto_Mean,BinPrint + libnames = libdqm_algorithms.so + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +algorithm Pix_Timing_CheckHisto_Mean&BinPrint { + name = Pix_CheckHisto_Mean&BinPrint + UnMask_All = 5 + Mask_6 = 1 + Mask_7 = 1 + Mask_8 = 1 + SubtractFromXMean = 0.0 + MinStat = 100 + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + thresholds = Pix_Timing_CheckMean_Thresh +} +algorithm Pix_HitTiming_CheckHisto_Mean&BinPrint { + name = Pix_CheckHisto_Mean&BinPrint + UnMask_All = 5 + Mask_6 = 1 + Mask_7 = 1 + Mask_8 = 1 + SubtractFromXMean = 0.0 + MinStat = 100 + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + thresholds = Pix_HitTiming_CheckMean_Thresh +} +algorithm Pix_Noise_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + SubtractFromXMean = 2000 + thresholds = Pix_Noise_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_track_z0_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_track_z0_Thresh + MinStat = 100 +} +algorithm PixTrack_Noise_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + SubtractFromXMean = 500 + thresholds = PixTrack_Noise_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_ToT_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_ToT_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_Npix_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +} +#algorithm Pix_Npix_CheckHisto_Mean&GatherData { +# reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences +# name = Pix_CheckHisto_Mean&GatherData +# thresholds = Pix_Npix_CheckMean_Thresh +# MinStat = 100 +#} +algorithm Pix_BCID_NoEmptyBins { + libname = libdqm_algorithms.so + xmin = 0.0 + xmax = 255.0 + name = Bins_LessThan_Threshold + BinThreshold = 1 + MinStat = 3000 + thresholds = Pix_BCID_NoEmptyBins_Thresholds +} +algorithm Pix_BCID_GreaterThan_Threshold&BinPrint { + name = Pix_Bins_GreaterThan_Threshold&BinPrint + BinThreshold = 0 + thresholds = Pix_BCID_Thresh + UnMask_All = 20 + UseValue = 2 + Value = 10000 +} +algorithm Pix_Charge_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_Charge_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean_Endcap&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh_Endcap + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean_B0B1&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh_B0B1 + MinStat = 100 +} +algorithm Pix_DisabledLB_CheckHisto_Mean_B2&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_DisabledLB_CheckMean_Thresh_B2 + MinStat = 100 +} +algorithm Pix_ErrorLB_CheckHisto_Mean&GatherData { + name = Pix_CheckHisto_Mean&GatherData + thresholds = Pix_ErrorLB_CheckMean_Thresh + MinStat = 100 +} +compositeAlgorithm InDetGlobal_Pix_CheckHisto_Mean&GatherData { + subalgs = GatherData,CheckHisto_Mean + libnames = libdqm_algorithms.so +} +algorithm InDetGlobal_Pix_ToT_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_Pix_ToT_CheckMean_Thresh + MinStat = 100 +} +algorithm InDetGlobal_Pix_Npix_CheckHisto_Mean&GatherData { + reference = CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_Pix_Npix_CheckMean_Thresh + MinStat = 100 +} +algorithm InDetGlobal_Pix_Res_CheckHisto_Mean&GatherData { + reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_Pix_Res_CheckMean_Thresh + MinStat = 100 +} +algorithm InDetGlobal_Pix_ntrk_LB_CheckHisto_Mean&GatherData { + reference = CentrallyManagedReferences + name = InDetGlobal_Pix_CheckHisto_Mean&GatherData + thresholds = InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh + MinStat = 100 +} + +# +############## +## Thresholds +############## +# +thresholds Pix_Diff_FromAvg { + +} +thresholds Pix_LB_Diff_FromAvg { + limits NBins { + warning = 1 + error = 9999 + } +} +thresholds Pix_NonZero_Errors_Threshold { + limits NBins { + warning = 0 + error = 1000 + } +} + +thresholds Pix_Clusters_ColumnRow_LB_Threshold { + limits NBins { + warning = 1 + error = 5 + } +} + + + +thresholds Pix_Disabled_Synch_Threshold { + limits NBins { + warning = 1 + error = 5 + } +} + +thresholds Pix_ErrorFrac_Threshold { + limits NBins { + warning = 0.05 + error = 0.3 + } +} +thresholds Pix_DisabledMod_Endcap_Threshold { + limits NBins { + warning = 10 + error = 100 + } +} + +thresholds Pix_DisabledMod_B0B1_Threshold { + limits NBins { + warning = 15 + error = 150 + } +} +thresholds Pix_DisabledMod_B2_Threshold { + limits NBins { + warning = 40 + error = 400 + } +} +thresholds Pix_Timing_CheckMean_Thresh { + limits AbsXMean { + warning = 0.01 + error = 0.1 + } +} +thresholds Pix_HitTiming_CheckMean_Thresh { + limits AbsXMean { + warning = 0.01 + error = 0.1 + } +} +thresholds Pix_Noise_CheckMean_Thresh { + limits AbsXMean { + warning = 750 + error = 9999 + } +} +thresholds PixTrack_Noise_CheckMean_Thresh { + limits AbsXMean { + warning = 500 + error = 9999 + } +} +thresholds Pix_track_z0_Thresh { + limits AbsXMean { + warning = 50 + error = 9999 + } +} +thresholds Pix_ToT_CheckMean_Thresh { + limits AbsXMean { + warning = 100 + error = 999 + } +} +thresholds Pix_Hits_Noise_lumi_Thresh { + limits AbsYMean { + warning = 100 + error = 999 + } +} +thresholds Pix_Cluster_Noise_lumi_Thresh { + limits AbsYMean { + warning = 10 + error = 99 + } +} +thresholds Pix_Hits_Noise_Thresh { + limits AbsXMean { + warning = 100 + error = 999 + } +} +thresholds Pix_Cluster_Noise_Thresh { + limits AbsXMean { + warning = 10 + error = 99 + } +} +thresholds Pix_Npix_CheckMean_Thresh { + limits AbsXMean { + warning = 4 + error = 999 + } +} +thresholds InDetGlobal_Pix_ToT_CheckMean_Thresh { + limits AbsXMean { + warning = 50 + error = 999 + } +} +thresholds InDetGlobal_Pix_Npix_CheckMean_Thresh { + limits AbsXMean { + warning = 4 + error = 999 + } +} +thresholds InDetGlobal_Pix_Res_CheckMean_Thresh { + limits AbsXMean { + warning = 0.1 + error = 999 + } +} +thresholds InDetGlobal_ntrk_LB_CheckHisto_Mean_Thresh { + limits AbsYMean { + warning = 150 + error = 10000 + } +} +thresholds Pix_BCID_NoEmptyBins_Thresholds { + limits NBins { + warning = 1 + error = 999 + } +} +thresholds Pix_BCID_Thresh { + limits NBins { + warning = 5000 + error = 9999 + } +} +thresholds Pix_Charge_CheckMean_Thresh { + limits AbsXMean { + warning = 75000 + error = 150000 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh { + limits AbsYMean { + warning = 80 + error = 1000 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh_Endcap { + limits AbsYMean { + warning = 10 + error = 140 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh_B0B1 { + limits AbsYMean { + warning = 17 + error = 250 + } +} +thresholds Pix_DisabledLB_CheckMean_Thresh_B2 { + limits AbsYMean { + warning = 55 + error = 600 + } +} +thresholds Pix_ErrorLB_CheckMean_Thresh { + limits AbsYMean { + warning = 100 + error = 10000 + } +} + diff --git a/DataQuality/DataQualityConfigurations/python/TestDisplay.py b/DataQuality/DataQualityConfigurations/python/TestDisplay.py index 34fc6fc29a60447e557712f6e8644ae5b4b216b9..8011d1d1aca20b443dd2ceb802da9d8bf37fc482 100644 --- a/DataQuality/DataQualityConfigurations/python/TestDisplay.py +++ b/DataQuality/DataQualityConfigurations/python/TestDisplay.py @@ -17,7 +17,7 @@ else: print "DataQualityConfigurations data directory not found, using $PWD instead." print "Looking for collisions_*.hcfg files in %s" % (hcfg_dir) -dqconfig.hcfg = "%s/collisions_run.hcfg" % (hcfg_dir) +dqconfig.hcfg = "%s/heavyions_run.hcfg" % (hcfg_dir) dqconfig.hcfg_min10 = "%s/collisions_minutes10.hcfg" % (hcfg_dir) dqconfig.hcfg_min30 = "%s/collisions_minutes30.hcfg" % (hcfg_dir) diff --git a/DataQuality/DataQualityTools/share/DataQualityMon_jobOptions.py b/DataQuality/DataQualityTools/share/DataQualityMon_jobOptions.py index da955be17dfda7884556b23028bb66fdef4025b0..d63767d8481beac48272dafc418e1e66ccb568a7 100644 --- a/DataQuality/DataQualityTools/share/DataQualityMon_jobOptions.py +++ b/DataQuality/DataQualityTools/share/DataQualityMon_jobOptions.py @@ -35,7 +35,7 @@ if athenaCommonFlags.isOnline==True: from RecExConfig.RecFlags import rec if rec.doHeavyIon(): - JetCollectionKey='antikt4HIItrEM_TowerJets' + JetCollectionKey='AntiKt4HIJets' else: JetCollectionKey='AntiKt4EMTopoJets' diff --git a/DataQuality/DataQualityUtils/python/hancoolmod.py b/DataQuality/DataQualityUtils/python/hancoolmod.py index 3f6425b91946df9cc68ea65ae0294936e541454a..ec729409dceab935facce7f83c1a53e5dabda9c1 100644 --- a/DataQuality/DataQualityUtils/python/hancoolmod.py +++ b/DataQuality/DataQualityUtils/python/hancoolmod.py @@ -507,7 +507,11 @@ def hancool_defects(runNumber, filePath="./", dbConnection="", db_tag='HEAD', is globname = fnames[0][0] filename = os.path.basename(globname) since, until = getLimits(filename) - defects += pix_defect.execute(runNumber, globname, until-1) + try: + defects += pix_defect.execute(runNumber, globname, until-1) + except Exception, e: + logging.warning('Unable to execute pixel hancool code') + logging.warning('--> %s: %s' % (type(e).__name__, e)) from DQDefects import DefectsDB ddb = DefectsDB(dbConnection, read_only=False) diff --git a/DataQuality/DataQualityUtils/python/pix_defect.py b/DataQuality/DataQualityUtils/python/pix_defect.py index 0ec2f464d5f8332cd1d41f87453137aacdfa50bf..4f95205cf01ec9486e4f2c0653382274331745a7 100644 --- a/DataQuality/DataQualityUtils/python/pix_defect.py +++ b/DataQuality/DataQualityUtils/python/pix_defect.py @@ -16,6 +16,7 @@ def find_standby(nlayer, hhits, lb_max, standby_lb): start = 0 start_lb = 0 end_lb = 0 + nbin = hhits[i].GetNbinsX() start_lb = 0 @@ -44,10 +45,12 @@ def find_standby(nlayer, hhits, lb_max, standby_lb): def find_notready(nlayer, hist, pct_low, pct_high, notready_lb): + for i in range(0, nlayer): start = 0 start_lb = 0 end_lb = 0 + nbin = hist[i].GetNbinsX() if i == 2: for j in range(1, nbin-1): @@ -144,6 +147,7 @@ def execute(run, sfile, lb_max): sdisabled = [] sdisabled.append("InnerDetector/Pixel/PIXIBL/_Experts/DisableAndErrorsLB/DisabledAndSyncErrorsModules_per_lumi_IBL2D_byPostProcess") + #sdisabled.append("InnerDetector/Pixel/PIXIBL/DisableAndErrorsLB/DisabledAndSyncErrorsModules_per_lumi_IBL_byPostProcess") sdisabled.append("InnerDetector/Pixel/PIX0/DisableAndErrorsLB/DisabledAndSyncErrorsModules_per_lumi_B0_byPostProcess") sdisabled.append("InnerDetector/Pixel/PIX1/DisableAndErrorsLB/DisabledAndSyncErrorsModules_per_lumi_B1_byPostProcess") sdisabled.append("InnerDetector/Pixel/PIX2/DisableAndErrorsLB/DisabledAndSyncErrorsModules_per_lumi_B2_byPostProcess") @@ -153,23 +157,36 @@ def execute(run, sfile, lb_max): nlayer = 6 hhits = [] hdisabled = [] + fexist_hhits = True + fexist_hdisabled = True for i in range(0, nlayer): + if not file.Get(shits[i]): + fexist_hhits = False + continue + + if not file.Get(sdisabled[i]): + fexist_hdisabled = False + continue + hhits.append(file.Get(shits[i])) hdisabled.append(file.Get(sdisabled[i])) standby_lb = [] - find_standby(nlayer, hhits, lb_max, standby_lb) + if fexist_hhits == True: + find_standby(nlayer, hhits, lb_max, standby_lb) notready5to7pct_lb = [] notready7to10pct_lb = [] notready10to20pct_lb = [] notready20to30pct_lb = [] notready_gt30pct_lb = [] - find_notready(nlayer, hdisabled, 0.05, 0.07, notready5to7pct_lb) - find_notready(nlayer, hdisabled, 0.07, 0.1, notready7to10pct_lb) - find_notready(nlayer, hdisabled, 0.1, 0.2, notready10to20pct_lb) - find_notready(nlayer, hdisabled, 0.2, 0.3, notready20to30pct_lb) - find_notready(nlayer, hdisabled, 0.3, 1., notready_gt30pct_lb) + + if fexist_hhits == True and fexist_hdisabled == True: + find_notready(nlayer, hdisabled, 0.05, 0.07, notready5to7pct_lb) + find_notready(nlayer, hdisabled, 0.07, 0.1, notready7to10pct_lb) + find_notready(nlayer, hdisabled, 0.1, 0.2, notready10to20pct_lb) + find_notready(nlayer, hdisabled, 0.2, 0.3, notready20to30pct_lb) + find_notready(nlayer, hdisabled, 0.3, 1., notready_gt30pct_lb) #print_def("standby", standby_lb) #user = "atlpixdq" diff --git a/Database/APR/RootStorageSvc/src/RootOODb.h b/Database/APR/RootStorageSvc/src/RootOODb.h index c686d1ada6c63445fd16fd6b1eca874bb91d9ebd..41ce3715f26b9d2b72eaea7596343a02cb6e1abe 100755 --- a/Database/APR/RootStorageSvc/src/RootOODb.h +++ b/Database/APR/RootStorageSvc/src/RootOODb.h @@ -79,7 +79,7 @@ namespace pool { /// Standard Constructor RootOOTreeIndex() : RootOODb(ROOTTREEINDEX_StorageType) { } /// Label of the specific class - static const char* catalogLabel() { return "ROOT_TreeIndex"; } + static const char* catalogLabel() { return "ROOT_Tree"; } }; } // end namespace pool diff --git a/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.cpp b/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.cpp index 9ceaf9f778cb5774e82eb45b7ad5106666ed09aa..dedcc116ab9074d7cb07386f4023b1e0f0f0032f 100644 --- a/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.cpp +++ b/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.cpp @@ -32,17 +32,38 @@ long long int RootTreeIndexContainer::nextRecordId() { s = s << 32; if (m_tree != nullptr) { if (m_index_foreign != nullptr) { - s += m_index_foreign->GetEntries(); + s += m_index_foreign->GetEntries(); } else { m_index_foreign = (TBranch*)m_tree->GetBranch("index_ref"); if (m_index_foreign != nullptr) { - s += m_index_foreign->GetEntries(); + s += m_index_foreign->GetEntries(); + } else { + s += RootTreeContainer::nextRecordId(); } } } return s; } +DbStatus RootTreeIndexContainer::writeObject(TransactionStack::value_type& ent) { + long long int s = 0; + if( m_tree != nullptr && isBranchContainer() ) { + TBranch * pBranch = m_tree->GetBranch(m_branchName.c_str()); + if (pBranch != nullptr) s = pBranch->GetEntries(); + } else { + s = m_tree->GetEntries(); + } + if (m_index_ref != nullptr && s >= m_index_ref->GetEntries()) { + *m_index = this->nextRecordId(); + m_index_ref->SetAddress(m_index); + if (this->isBranchContainer()) m_index_ref->Fill(); + } + if( isBranchContainer() && !m_treeFillMode ) m_tree->SetEntries(s); + DbStatus status = RootTreeContainer::writeObject(ent); + if( isBranchContainer() && !m_treeFillMode ) m_tree->SetEntries(s + 1); + return status; +} + DbStatus RootTreeIndexContainer::transAct(Transaction::Action action) { if (action == Transaction::TRANSACT_COMMIT) { if (m_tree == nullptr) return Error; @@ -50,11 +71,13 @@ DbStatus RootTreeIndexContainer::transAct(Transaction::Action action) { if (m_index_foreign == nullptr && m_tree->GetBranch("index_ref") == nullptr) { m_index_ref = (TBranch*)m_tree->Branch("index_ref", m_index); } +/* if (m_index_ref != nullptr && RootTreeContainer::size() > m_index_ref->GetEntries()) { *m_index = this->nextRecordId(); m_index_ref->SetAddress(m_index); if (!m_treeFillMode) m_index_ref->Fill(); } +*/ } } DbStatus status = RootTreeContainer::transAct(action); diff --git a/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.h b/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.h index 84b5e6334d995d105aa805bd66b7d0f9f35ee8e1..1a06600a86142a012e806cdae717ecf90b479304 100644 --- a/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.h +++ b/Database/APR/RootStorageSvc/src/RootTreeIndexContainer.h @@ -42,9 +42,6 @@ namespace pool { /// Number of entries within the container virtual long long int nextRecordId(); - /// Execute Transaction action - virtual DbStatus transAct(Transaction::Action action); - /// Find object by object identifier and load it into memory /** @param call [IN] Callback to load data * @param oid [OUT] Object OID @@ -56,6 +53,12 @@ namespace pool { Token::OID_t& oid, DbAccessMode mode); + /// Commit single entry to container + virtual DbStatus writeObject(TransactionStack::value_type& entry); + + /// Execute Transaction action + virtual DbStatus transAct(Transaction::Action action); + private: /// Pointer to index branch TBranch* m_index_ref; diff --git a/Database/APR/StorageSvc/src/DbReflex.cpp b/Database/APR/StorageSvc/src/DbReflex.cpp index 9870baf574274933fdc189ade2a5049f9c822498..d2bcc0eed17a381fea9b3fc5fcf4041ba547a3c2 100644 --- a/Database/APR/StorageSvc/src/DbReflex.cpp +++ b/Database/APR/StorageSvc/src/DbReflex.cpp @@ -13,6 +13,8 @@ #include "StorageSvc/DbTransform.h" #include "POOLCore/DbPrint.h" +#include "TInterpreter.h" + #include <cstring> #include "AthContainers/tools/threading.h" @@ -39,7 +41,7 @@ static TypeMap& type_mapping() { /// Access to reflection information by type name const TypeH DbReflex::forTypeName(const string& name) { - return TypeH::ByName(name); + return TypeH(name); } /// Access to reflection information by type info @@ -63,12 +65,6 @@ Guid DbReflex::guid(const TypeH& type) } string idstr; if( type ) { -# if ROOT_VERSION_CODE < ROOT_VERSION(5,99,0) - Reflex::PropertyList pl = type.Properties(); - if( pl.HasProperty("ClassID") ) { - idstr = pl.PropertyAsString("ClassID"); - } -# else idstr = type.Properties().PropertyAsString("id"); /* if( idstr.empty() ) { @@ -77,7 +73,6 @@ Guid DbReflex::guid(const TypeH& type) } cout << "GUID: Class " << type.Name() << " has GUID= " << idstr << endl; */ -# endif lock.upgrade(); if( !idstr.empty() ) { Guid id(idstr); @@ -97,6 +92,7 @@ Guid DbReflex::guid(const TypeH& type) return Guid::null(); } + /// Access to reflection information by Guid const TypeH DbReflex::forGuid(const Guid& id) { @@ -126,6 +122,20 @@ const TypeH DbReflex::forGuid(const Guid& id) // GUID not in the map: scan all known types. refresh the map log << DbPrintLvl::Warning << " doing GUID scan on ALL types for Class ID=" << id << DbPrint::endmsg; + // disable TClass autoloading/parsing, restore settings on return + class AutoloadGuard { + public: + int al = 0, ap = 0; + AutoloadGuard() { + al = gInterpreter->SetClassAutoloading( 0 ); + ap = gInterpreter->SetClassAutoparsing( 0 ); + } + ~AutoloadGuard() { + gInterpreter->SetClassAutoloading( al ); + gInterpreter->SetClassAutoparsing( ap ); + } + } ALG; + for(size_t i=0; i<TypeH::TypeSize(); ++i) { TypeH t = TypeH::TypeAt(i); if( t.IsClass() || t.IsStruct() ) { diff --git a/Database/APR/StorageSvc/src/DbType.cpp b/Database/APR/StorageSvc/src/DbType.cpp index bbeac4c4863b7437bf0683e5489876e32e2665ab..487106b615bd9adb1209ca6da3f649e3678f4699 100644 --- a/Database/APR/StorageSvc/src/DbType.cpp +++ b/Database/APR/StorageSvc/src/DbType.cpp @@ -20,6 +20,8 @@ DbType DbType::getType(const std::string& name) { return ROOTKEY_StorageType; else if ( "ROOT_Tree" == name ) return ROOTTREE_StorageType; + else if ( "ROOT_TreeIndex" == name ) + return ROOTTREEINDEX_StorageType; else if ( "ROOT_All" == name ) return ROOT_StorageType; else if ( "POOL_RDBMS" == name ) @@ -61,6 +63,8 @@ const std::string DbType::storageName() const { return "ROOT_Key"; else if ( match(ROOTTREE_StorageType) ) return "ROOT_Tree"; + else if ( match(ROOTTREEINDEX_StorageType) ) + return "ROOT_Tree"; else if ( *this == ROOT_StorageType ) return "ROOT_All"; else if ( match( POOL_RDBMS_HOMOGENEOUS_StorageType ) ) diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/AthenaPoolCnvSvc/IAthenaPoolCnvSvc.h b/Database/AthenaPOOL/AthenaPoolCnvSvc/AthenaPoolCnvSvc/IAthenaPoolCnvSvc.h index 56249c82a4fcc83009d77d30a1ac5131521bccb5..7a1f80cde020d393f8a21e0fbef81d55edb38b1b 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/AthenaPoolCnvSvc/IAthenaPoolCnvSvc.h +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/AthenaPoolCnvSvc/IAthenaPoolCnvSvc.h @@ -51,7 +51,7 @@ public: const std::string& key = "") const = 0; /// Access to the technology type for the current output connection - virtual pool::DbType technologyType() const = 0; + virtual pool::DbType technologyType(const std::string& containerName) const = 0; /// @return pointer to PoolSvc instance. virtual IPoolSvc* getPoolSvc() = 0; diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/AthenaPool.py b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/AthenaPool.py index 068aad0e61e54af9e984b684a4218bb6692b7aa6..69225eb1809b8d1188a8c4bde1683388d0b88f33 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/AthenaPool.py +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/AthenaPool.py @@ -2,7 +2,7 @@ ## @file AthenaPool_jobOptions.py ## @brief Core job options file for AthenaPOOL to setup the basic sercives. -## @author Peter van Gemmeren <gemmeren@bnl.gov> +## @author Peter van Gemmeren <gemmeren@anl.gov> ## $Id: AthenaPool.py,v 1.10 2008-11-18 22:44:00 binet Exp $ ############################################################### # @@ -36,34 +36,12 @@ def _loadBasicAthenaPool(): svcMgr += CfgMgr.AthenaPoolCnvSvc() - """ - from AthenaCommon.AppMgr import theApp - theApp.Dlls += [ - ## FIXME - # needed: why isn't this guy being picked up through genmap ?? - "DBDataModelAthenaPoolPoolCnv", - ] - """ - if not hasattr (svcMgr, 'EventPersistencySvc'): svcMgr += CfgMgr.EvtPersistencySvc( "EventPersistencySvc" ) svcMgr.EventPersistencySvc.CnvServices += [ "AthenaPoolCnvSvc" ] if not hasattr (svcMgr, 'ProxyProviderSvc'): svcMgr += CfgMgr.ProxyProviderSvc() - """ - # - # Make sure AthenaSealSvc is loaded for dict check - svcMgr += CfgMgr.AthenaSealSvc() - - # - # Make sure AthenaPoolServices is loaded for custom streamer - svcMgr += CfgMgr.AthenaRootStreamerSvc() - - # Load streamer allowing conversion of old CLHEP classes - import AtlasSealCLHEP.OldCLHEPStreamers - """ - # Add in MetaDataSvc svcMgr += CfgMgr.MetaDataSvc( "MetaDataSvc" ) diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/WriteAthenaPool.py b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/WriteAthenaPool.py index a6416a64c40d42072b89b3b0d075ed2e573b2394..9b3b086c1865d52e360059fe08a623b7b089bc5e 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/WriteAthenaPool.py +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/WriteAthenaPool.py @@ -45,7 +45,6 @@ def _configureWriteAthenaPool(): svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "ContainerName = 'POOLContainerForm(DataHeaderForm)'; BRANCH_BASKET_SIZE = '1024000'" ] svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "ContainerName = 'TTree=POOLContainerForm(DataHeaderForm)'; CONTAINER_SPLITLEVEL = '99'" ] - svcMgr.AthenaPoolCnvSvc.PoolContainerPrefix = "CollectionTree" svcMgr.AthenaPoolCnvSvc.TopLevelContainerName = "" svcMgr.AthenaPoolCnvSvc.SubLevelBranchName = "<type>/<key>" diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx index f9fe7223de93e05a138245922a3a64d6cef058fc..a6d2834afad826a442b88f6d1daab9db8071083d 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.cxx @@ -277,10 +277,16 @@ StatusCode AthenaPoolCnvSvc::connectOutput(const std::string& outputConnectionSp StatusCode AthenaPoolCnvSvc::connectOutput(const std::string& outputConnectionSpec) { // This is called before DataObjects are being converted. // Reset streaming parameters to CnvSvc properties. - m_dhContainerPrefix = "POOLContainer"; m_containerPrefix = m_containerPrefixProp.value(); m_containerNameHint = m_containerNameHintProp.value(); m_branchNameHint = m_branchNameHintProp.value(); + // Get Technology from m_containerPrefix + std::size_t colonPos = m_containerPrefix.find(":"); + if (colonPos != std::string::npos) { + m_dhContainerPrefix = m_containerPrefix.substr(0, colonPos + 1) + "POOLContainer"; + } else { + m_dhContainerPrefix = "POOLContainer"; + } // Override streaming parameters from StreamTool if requested. std::string::size_type pos1 = outputConnectionSpec.find("["); @@ -644,7 +650,14 @@ std::string AthenaPoolCnvSvc::getOutputContainer(const std::string& typeName, return(ret); } //______________________________________________________________________________ -pool::DbType AthenaPoolCnvSvc::technologyType() const { +pool::DbType AthenaPoolCnvSvc::technologyType(const std::string& containerName) const { + if (containerName.find("ROOTKEY:") == 0) { + return(pool::DbType(pool::ROOTKEY_StorageType)); + } else if (containerName.find("ROOTTREE:") == 0) { + return(pool::DbType(pool::ROOTTREE_StorageType)); + } else if (containerName.find("ROOTTREEINDEX:") == 0) { + return(pool::DbType(pool::ROOTTREEINDEX_StorageType)); + } return(m_dbType); } //__________________________________________________________________________ @@ -1106,8 +1119,8 @@ AthenaPoolCnvSvc::AthenaPoolCnvSvc(const std::string& name, ISvcLocator* pSvcLoc ::AthCnvSvc(name, pSvcLocator, POOL_StorageType), m_dbType(), m_outputConnectionSpec(), - m_dhContainerPrefix("POOLContainer"), - m_collContainerPrefix("POOLCollectionTree"), + m_dhContainerPrefix(), + m_collContainerPrefix("ROOTTREE:POOLCollectionTree"), m_lastFileName(), m_poolSvc("PoolSvc", name), m_chronoStatSvc("ChronoStatSvc", name), @@ -1122,7 +1135,7 @@ AthenaPoolCnvSvc::AthenaPoolCnvSvc(const std::string& name, ISvcLocator* pSvcLoc m_domainMaxFileSize(10000000000LL), m_doChronoStat(true) { declareProperty("UseDetailChronoStat", m_useDetailChronoStat = false); - declareProperty("PoolContainerPrefix", m_containerPrefixProp = "CollectionTree"); + declareProperty("PoolContainerPrefix", m_containerPrefixProp = "ROOTTREE:CollectionTree"); declareProperty("TopLevelContainerName", m_containerNameHintProp = ""); declareProperty("SubLevelBranchName", m_branchNameHintProp = "<type>/<key>"); declareProperty("PoolAttributes", m_poolAttr); diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.h b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.h index 11bdea8b082a99641fa09a47d8e70c9227d8638c..cb0cdea962071d8d13d00ab453aa6c180fd27b2f 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.h +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolCnvSvc.h @@ -88,7 +88,7 @@ public: std::string getOutputContainer(const std::string& typeName, const std::string& key = "") const; /// Access to the technology type for the current output connection - pool::DbType technologyType() const; + pool::DbType technologyType(const std::string& containerName) const; /// @return pointer to PoolSvc instance. IPoolSvc* getPoolSvc(); diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx index 9e3d65c22ef122443926e6c34613d2f9c59b8cbc..885d503ece7b8e36f2a6b22dada455d92e5b184e 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx @@ -175,25 +175,24 @@ void AthenaPoolConverter::setPlacementWithType(const std::string& tname, const s // Create placement for this converter if needed m_placement = new Placement(); } - // Use technology from AthenaPoolCnvSvc - if (m_athenaPoolCnvSvc->technologyType().type() == 0) { - // error if type is 0 - ATH_MSG_WARNING("technology UNDEFINED for type " << tname); - } - m_placement->setTechnology(m_athenaPoolCnvSvc->technologyType().type()); // Set DB and Container names - const std::string fileName = m_athenaPoolCnvSvc->getOutputConnectionSpec(); - m_placement->setFileName(fileName); + m_placement->setFileName(m_athenaPoolCnvSvc->getOutputConnectionSpec()); + std::string containerName; if (key.empty()) { // No key will result in a separate tree by type for the data object - m_placement->setContainerName(m_athenaPoolCnvSvc->getOutputContainer(tname)); + containerName = m_athenaPoolCnvSvc->getOutputContainer(tname); } else if (m_placementHints.find(tname + key) != m_placementHints.end()) { // PlacementHint already generated? - m_placement->setContainerName(m_placementHints[tname + key]); + containerName = m_placementHints[tname + key]; } else { // Generate PlacementHint - const std::string containerName = m_athenaPoolCnvSvc->getOutputContainer(tname, key); - const std::pair<std::string, std::string> entry(key, containerName); - m_placementHints.insert(entry); - m_placement->setContainerName(containerName); + containerName = m_athenaPoolCnvSvc->getOutputContainer(tname, key); + m_placementHints.insert(std::pair<std::string, std::string>(key, containerName)); + } + m_placement->setTechnology(m_athenaPoolCnvSvc->technologyType(containerName).type()); + // Remove Technology from containerName + std::size_t colonPos = containerName.find(":"); + if (colonPos != std::string::npos) { + containerName.erase(0, colonPos + 1); } + m_placement->setContainerName(containerName); } //__________________________________________________________________________ const DataObject* AthenaPoolConverter::getDataObject() const { diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/test/TestCnvSvcBase.icc b/Database/AthenaPOOL/AthenaPoolCnvSvc/test/TestCnvSvcBase.icc index 054ea5cc3f3320d8137bd9d16fe4f0f8766399d9..802ec5fcc9f3179b426e724d81aa96305cb3a27e 100644 --- a/Database/AthenaPOOL/AthenaPoolCnvSvc/test/TestCnvSvcBase.icc +++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/test/TestCnvSvcBase.icc @@ -32,7 +32,7 @@ public: virtual std::string getOutputContainer(const std::string& /*typeName*/, const std::string& /*key*/ = "") const override { std::abort(); } - virtual pool::DbType technologyType() const override + virtual pool::DbType technologyType(const std::string& /*containerName*/) const override { std::abort(); } virtual IPoolSvc* getPoolSvc() override { std::abort(); } diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/CMakeLists.txt b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/CMakeLists.txt index 9403d72601c318ce7ecf5c071d4a420f2724cf6f..a2a0b3969b36acd8b8d5b0c89e7ae0412e508960 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/CMakeLists.txt +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/CMakeLists.txt @@ -75,62 +75,59 @@ endfunction( _add_test ) # Write 'Hits', with multistreamand TAGs _add_test( AthenaPoolExample_Write "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_WriteJobOptions.py" - EXTRA_PATTERNS "RootCollection DEBUG File|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" PRE_EXEC test/pre_check.sh ) -# Append to existing file -_add_test( AthenaPoolExample_Append - "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_AppendJobOptions.py" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Write_ctest - EXTRA_PATTERNS "RootCollection DEBUG File|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" ) # Read 'Hits' and write 'Tracks' _add_test( AthenaPoolExample_ReWrite "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_RWJobOptions.py" - EXTRA_PATTERNS "RootCollection DEBUG File|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Append_ctest ) +# DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Append_ctest + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Write_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Read all output _add_test( AthenaPoolExample_Read "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py" - EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_ReWrite_ctest ) + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_ReWrite_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Copy 'Hits' file without extending provenance _add_test( AthenaPoolExample_Copy "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_CopyJobOptions.py" DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Read_ctest - EXTRA_PATTERNS "DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" ) + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Read copied 'Hits' and write 'Tracks' _add_test( AthenaPoolExample_ReWriteAgain "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_ReWriteAgainJobOptions.py" DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Copy_ctest - EXTRA_PATTERNS "DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Unable to register collection" ) + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) _add_test( AthenaPoolExample_ReWriteNext "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_ReWriteNextJobOptions.py" - EXTRA_PATTERNS "RootCollection DEBUG File|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_ReWriteAgain_ctest ) + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_ReWriteAgain_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Read via TAGs and use query to filter events _add_test( AthenaPoolExample_Filter "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_FilterJobOptions.py" - EXTRA_PATTERNS "RootCollection DEBUG File|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_ReWriteNext_ctest ) + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_ReWriteNext_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) _add_test( AthenaPoolExample_RFilter "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_RFilterJobOptions.py" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Filter_ctest ) + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Filter_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Read all (including bad files, skipped for now expected failure) _add_test( AthenaPoolExample_ReadAgain "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadAgainJobOptions.py" - EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_RFilter_ctest ) + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_RFilter_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Concatenate jobs write 'Hits' and 'Tracks' to different streams _add_test( AthenaPoolExample_Concat "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_ConcatJobOptions.py" DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_RFilter_ctest AthenaPoolExampleAlgorithms_AthenaPoolExample_ReadAgain_ctest - EXTRA_PATTERNS "DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" PRE_EXEC test/pre_check.sh ) _add_test( AthenaPoolExample_ReadConcat "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py" - EXTRA_PATTERNS "BYTES_READ|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" - DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Concat_ctest ) + DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_Concat_ctest + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Testing 'Conditions' I/O _add_test( AthenaPoolExample_WCond @@ -140,15 +137,15 @@ _add_test( AthenaPoolExample_WCond _add_test( AthenaPoolExample_RCond "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_RCondJobOptions.py" DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_WCond_ctest - EXTRA_PATTERNS "DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" ) + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) # Testing 'Metadata' I/O _add_test( AthenaPoolExample_WMeta "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_WMetaJobOptions.py" DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_RCond_ctest - EXTRA_PATTERNS "DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" PRE_EXEC test/pre_check.sh ) _add_test( AthenaPoolExample_RMeta "athena.py AthenaPoolExampleAlgorithms/AthenaPoolExample_RMetaJobOptions.py" DEPENDS AthenaPoolExampleAlgorithms_AthenaPoolExample_WMeta_ctest - EXTRA_PATTERNS "Bytes:|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO" ) + EXTRA_PATTERNS "BYTES_READ|READ_CALLS|DEBUG lookupPFN|DEBUG registered PFN|XMLCatalog +INFO|Found address:" ) diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Append.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Append.ref index 7eadff74abe690fca12016c9cd5dce8877023853..4d557c0ca70d2a2322f60ed3a8a47d09728fd8f9 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Append.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Append.ref @@ -1,19 +1,19 @@ -Thu Sep 6 17:03:06 CDT 2018 +Wed Jul 18 18:17:35 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_AppendJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files +Py:ConfigurableDb INFO Read module info for 5511 configurables from 52 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 17:03:14 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r2) + running on lxplus052.cern.ch on Wed Jul 18 18:17:42 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -21,7 +21,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve StatusCodeSvc INFO initialize AthDictLoaderSvc INFO in initialize... AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2428 CLIDRegistry entries for module ALL CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL @@ -35,16 +35,15 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:Catalog1.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-07-17T2058/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus052.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray([]) WriteData DEBUG input handles: 0 WriteData DEBUG output handles: 2 WriteData DEBUG Data Deps for WriteData @@ -53,7 +52,7 @@ WriteData DEBUG Data Deps for WriteData WriteTag INFO in initialize() Stream1 DEBUG Property update for OutputLevel : new value = 2 Stream1.Stream1... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 1504 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 1304 CLIDRegistry entries for module ALL Stream1 DEBUG In initialize Stream1 DEBUG Found IDecisionSvc. DecisionSvc INFO Inserting stream: Stream1 with no Algs @@ -83,6 +82,7 @@ AthenaEventLoopMgr INFO Setup EventSelector service EventSelector ApplicationMgr INFO Application Manager Initialized successfully ApplicationMgr INFO Application Manager Started successfully EventPersistenc... INFO Added successfully Conversion service:McCnvSvc +ClassIDSvc INFO getRegistryEntries: read 460 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> start of run 2 <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #20, run #2 0 events processed so far <<<=== WriteData DEBUG in execute() @@ -122,25 +122,25 @@ SimplePoolFile2... DEBUG --> Access DbContainer CREA/UPDA [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile2... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (6 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (6 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (7 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (8 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (9 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [20?] (a , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (b , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (c , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (c , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 11 Entries in total. SimplePoolFile2... DEBUG --> Access DbContainer CREA/UPDA [ROOT_All] ##Params @@ -153,7 +153,7 @@ SimplePoolFile2... DEBUG --->Reading Param:POOL_VSN=[1.1] SimplePoolFile2... DEBUG --->Reading Param:FORMAT_VSN=[1.1] ##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. AthenaPoolCnvSvc DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile2.root and cont: TTree=POOLContainerForm(DataHeaderForm) -ClassIDSvc INFO getRegistryEntries: read 514 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 53 CLIDRegistry entries for module ALL Stream1 DEBUG addItemObjects(2101,"*") called Stream1 DEBUG Key:* Stream1 DEBUG Added object 2101,"McEventInfo" @@ -196,6 +196,7 @@ POOLCollectionT... DEBUG Branch container 'MagicNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile2.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile2.root and cont: POOLContainerForm(DataHeaderForm) +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 1 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #21, run #2 1 events processed so far <<<=== WriteData DEBUG in execute() @@ -203,7 +204,6 @@ WriteData INFO EventInfo event: 21 run: 2 WriteData INFO registered all data WriteTag INFO EventInfo event: 21 run: 2 WriteTag INFO registered all data -ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL Stream1 DEBUG addItemObjects(2101,"*") called Stream1 DEBUG Key:* Stream1 DEBUG Added object 2101,"McEventInfo" @@ -426,7 +426,7 @@ Stream1 DEBUG Added object 2101,"McEventInfo" Stream1 DEBUG Collected objects: Stream1 DEBUG Object/count: EventInfo_McEventInfo, 20 AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 20 events processed so far <<<=== -Stream1 INFO AthenaOutputStream Stream1 ::stop() +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -437,7 +437,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (d , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (d , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) MetaDataHdrForm... DEBUG Opening @@ -450,6 +450,7 @@ MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree Stream1 INFO Records written: 21 +Stream1 DEBUG Leaving handle Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] Domain[ROOT_All] INFO -> Deaccess DbDatabase UPDATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] @@ -469,11 +470,11 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** +commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 cRep_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.238(+- 1.52)/ 0/ 10 [ms] #= 42 -commitOutput INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.476(+- 2.13)/ 0/ 10 [ms] #= 21 fRep_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.238(+- 1.52)/ 0/ 10 [ms] #= 42 cRepR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.0699(+-0.833)/ 0/ 10 [ms] #=143 -ChronoStatSvc INFO Time User : Tot= 0.69 [s] #= 1 +ChronoStatSvc INFO Time User : Tot= 0.77 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref index 33f8792539f4a72d5cf1083ee7c7b455895e11c1..166792a2a63ca73062a93f03a8d897e9ea097a3b 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref @@ -1,19 +1,19 @@ -Thu Sep 6 17:05:21 CDT 2018 +Wed Jul 18 20:05:04 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ConcatJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files +Py:ConfigurableDb INFO Read module info for 5511 configurables from 52 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 17:05:29 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r2) + running on lxplus052.cern.ch on Wed Jul 18 20:05:12 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -21,11 +21,11 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve StatusCodeSvc INFO initialize AthDictLoaderSvc INFO in initialize... AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2428 CLIDRegistry entries for module ALL CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL -ClassIDSvc INFO getRegistryEntries: read 385 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 384 CLIDRegistry entries for module ALL WriteData DEBUG Property update for OutputLevel : new value = 2 WriteData INFO in initialize() MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 @@ -36,16 +36,15 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:Catalog1.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-07-17T2058/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus052.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray([]) WriteData DEBUG input handles: 0 WriteData DEBUG output handles: 2 WriteData DEBUG Data Deps for WriteData @@ -53,7 +52,7 @@ WriteData DEBUG Data Deps for WriteData + OUTPUT ( 'ExampleHitContainer' , 'StoreGateSvc+PetersHits' ) Stream1 DEBUG Property update for OutputLevel : new value = 2 Stream1.Stream1... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 1472 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 1272 CLIDRegistry entries for module ALL Stream1 DEBUG In initialize Stream1 DEBUG Found IDecisionSvc. DecisionSvc INFO Inserting stream: Stream1 with no Algs @@ -116,6 +115,7 @@ AthenaEventLoopMgr INFO Setup EventSelector service EventSelector ApplicationMgr INFO Application Manager Initialized successfully ApplicationMgr INFO Application Manager Started successfully EventPersistenc... INFO Added successfully Conversion service:McCnvSvc +ClassIDSvc INFO getRegistryEntries: read 108 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 0 events processed so far <<<=== WriteData DEBUG in execute() @@ -148,7 +148,6 @@ SimplePoolFile1... DEBUG --->Adding Assoc :????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Params DEBUG No objects passing selection criteria... Container has 0 Entries in total. AthenaPoolCnvSvc DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile1.root and cont: TTree=POOLContainerForm(DataHeaderForm) -ClassIDSvc INFO getRegistryEntries: read 108 CLIDRegistry entries for module ALL Stream1 DEBUG addItemObjects(2101,"*") called Stream1 DEBUG Key:* Stream1 DEBUG Added object 2101,"McEventInfo" @@ -165,7 +164,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:EventInfo_p4 @@ -177,7 +176,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:ExampleHitContainer_p1 @@ -189,7 +188,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:DataHeaderForm_p5 @@ -201,13 +200,14 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:DataHeader_p5 SimplePoolFile1... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile1.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile1.root and cont: POOLContainerForm(DataHeaderForm) +ClassIDSvc INFO getRegistryEntries: read 80 CLIDRegistry entries for module ALL ReWriteData DEBUG in execute() ReWriteData INFO Hit x = 1.2345 y = 97.655 z = 226.672 detector = DummyHitDetector ReWriteData INFO Hit x = 4.4445 y = 91.9761 z = 94.7318 detector = DummyHitDetector @@ -255,7 +255,6 @@ SimplePoolFile3... DEBUG --->Adding Assoc :????/##Params [200] (2 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? ##Params DEBUG No objects passing selection criteria... Container has 0 Entries in total. AthenaPoolCnvSvc DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile3.root and cont: TTree=POOLContainerForm(DataHeaderForm) -ClassIDSvc INFO getRegistryEntries: read 80 CLIDRegistry entries for module ALL Stream2 DEBUG addItemObjects(2101,"*") called Stream2 DEBUG Key:* Stream2 DEBUG Added object 2101,"McEventInfo" @@ -270,7 +269,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:EventInfo_p4 @@ -282,7 +281,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:ExampleTrackContainer_p1 @@ -292,7 +291,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:DataHeaderForm_p5 @@ -302,7 +301,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:DataHeader_p5 @@ -1242,7 +1241,7 @@ Stream2 DEBUG Collected objects: Stream2 DEBUG Object/count: EventInfo_McEventInfo, 20 Stream2 DEBUG Object/count: ExampleTrackContainer_MyTracks, 20 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 20 events processed so far <<<=== -Stream1 INFO AthenaOutputStream Stream1 ::stop() +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -1255,7 +1254,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:EventStreamInfo_p3 @@ -1265,18 +1264,19 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ClassIDSvc INFO getRegistryEntries: read 7 CLIDRegistry entries for module ALL Stream1 INFO Records written: 21 -Stream2 INFO AthenaOutputStream Stream2 ::stop() +Stream1 DEBUG Leaving handle +Stream2 DEBUG handle() incident type: MetaDataStop Stream2 DEBUG addItemObjects(167728019,"Stream2") called Stream2 DEBUG Key:Stream2 Stream2 DEBUG Added object 167728019,"Stream2" @@ -1287,7 +1287,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream2' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream2) [202] (7 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream2) [20?] (7 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:EventStreamInfo_p3 @@ -1297,16 +1297,17 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? Stream2 INFO Records written: 21 +Stream2 DEBUG Leaving handle Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? @@ -1331,10 +1332,10 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 42 -cRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.323(+- 2.52)/ 0/ 20 [ms] #=124 -cRepR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max= 0.12(+- 1.09)/ 0/ 10 [ms] #=166 -fRep_ALL INFO Time User : Tot= 50 [ms] Ave/Min/Max=0.403(+- 2.34)/ 0/ 20 [ms] #=124 -ChronoStatSvc INFO Time User : Tot= 0.7 [s] #= 1 +cRepR_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.181(+- 1.33)/ 0/ 10 [ms] #=166 +fRep_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.242(+- 1.54)/ 0/ 10 [ms] #=124 +cRep_ALL INFO Time User : Tot= 50 [ms] Ave/Min/Max=0.403(+- 2.66)/ 0/ 20 [ms] #=124 +ChronoStatSvc INFO Time User : Tot= 0.78 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref index 132c0ec3050579e4c75a21860bfa4f28efd6c802..b90e95634a57b9da9a477e2192c87a027d692caf 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:35:23 CDT 2018 +Fri Oct 19 21:07:10 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_CopyJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:35:33 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:07:26 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -40,16 +40,15 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:Catalog1.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -83,27 +82,27 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -161,9 +160,9 @@ AthenaPoolCnvSvc DEBUG setAttribute TREE_CACHE to -1 for db: SimplePoolFile1. ClassIDSvc INFO getRegistryEntries: read 339 CLIDRegistry entries for module ALL EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -235,7 +234,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? SimplePoolRepli... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolRepli... DEBUG ---->Class:EventInfo_p4 @@ -245,7 +244,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? SimplePoolRepli... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolRepli... DEBUG ---->Class:ExampleHitContainer_p1 @@ -255,7 +254,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? SimplePoolRepli... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolRepli... DEBUG ---->Class:DataHeaderForm_p5 @@ -265,7 +264,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? SimplePoolRepli... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolRepli... DEBUG ---->Class:DataHeader_p5 @@ -275,9 +274,9 @@ AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: Sim AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -294,9 +293,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 2 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -313,9 +312,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 3 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -332,9 +331,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 4 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -351,9 +350,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 5 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -370,9 +369,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 6 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -389,9 +388,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 7 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -408,9 +407,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 8 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -427,9 +426,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 9 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -446,9 +445,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 10 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -465,9 +464,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 11 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -484,9 +483,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 12 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -503,9 +502,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 13 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -522,9 +521,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 14 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -541,9 +540,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 15 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -560,9 +559,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 16 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -579,9 +578,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 17 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -598,9 +597,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 18 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -617,9 +616,9 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 19 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -638,7 +637,7 @@ EventSelector INFO Disconnecting input sourceID: ???? Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] AthenaEventLoopMgr INFO No more events in event selection -Stream1 INFO AthenaOutputStream Stream1 ::stop() +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -651,7 +650,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? SimplePoolRepli... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolRepli... DEBUG ---->Class:EventStreamInfo_p3 @@ -661,16 +660,17 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? SimplePoolRepli... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolRepli... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolRepli... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? Stream1 INFO Records written: 21 +Stream1 DEBUG Leaving handle Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] ApplicationMgr INFO Application Manager Stopped successfully @@ -687,11 +687,11 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 62 -cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.154(+- 1.23)/ 0/ 10 [ms] #= 65 -cRepR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max= 0.12(+- 1.09)/ 0/ 10 [ms] #= 83 -fRep_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.323(+- 1.77)/ 0/ 10 [ms] #= 62 -cObj_ALL INFO Time User : Tot= 50 [ms] Ave/Min/Max=0.806(+- 3.72)/ 0/ 20 [ms] #= 62 -ChronoStatSvc INFO Time User : Tot= 0.75 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 65 +fRep_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.484(+- 2.15)/ 0/ 10 [ms] #= 62 +cRepR_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.361(+- 1.87)/ 0/ 10 [ms] #= 83 +cObj_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.645(+- 3.04)/ 0/ 20 [ms] #= 62 +ChronoStatSvc INFO Time User : Tot= 1.01 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref index 7c56942fd9ae768de6bdb8d2d71ba06e1d6ce3bb..9b72d626ff5c367a8dd8756d4e8b57f00383c1d1 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref @@ -1,19 +1,19 @@ -Thu Sep 6 17:04:42 CDT 2018 +Wed Jul 18 18:56:51 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_FilterJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files +Py:ConfigurableDb INFO Read module info for 5511 configurables from 52 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 17:04:50 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r2) + running on lxplus052.cern.ch on Wed Jul 18 18:56:58 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -21,7 +21,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve StatusCodeSvc INFO initialize AthDictLoaderSvc INFO in initialize... AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2428 CLIDRegistry entries for module ALL CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL @@ -35,9 +35,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-07-17T2058/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus052.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -45,15 +45,11 @@ PoolSvc DEBUG POOL ReadCatalog is file:Catalog.xml PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully EventSelector.Q... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 2218 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 1969 CLIDRegistry entries for module ALL EventSelector.Q... INFO in initialize() EventSelector INFO reinitialization... EventSelector INFO EventSelection with query EventNumber > 5 @@ -88,27 +84,27 @@ SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -125,7 +121,6 @@ MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -ClassIDSvc INFO getRegistryEntries: read 74 CLIDRegistry entries for module ALL EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) MetaDataHdrForm... DEBUG Opening @@ -133,12 +128,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -148,7 +137,7 @@ ReadData DEBUG Data Deps for ReadData + INPUT ( 'ExampleTrackContainer' , 'StoreGateSvc+MyTracks' ) Stream1 DEBUG Property update for OutputLevel : new value = 2 Stream1.Stream1... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 2 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 76 CLIDRegistry entries for module ALL Stream1 DEBUG In initialize Stream1 DEBUG Found IDecisionSvc. DecisionSvc INFO Inserting stream: Stream1 with no Algs @@ -176,7 +165,7 @@ Stream1 DEBUG Data Deps for Stream1 WriteTag INFO in initialize() RegStream1 DEBUG Property update for OutputLevel : new value = 2 RegStream1.RegS... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 337 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 336 CLIDRegistry entries for module ALL RegStream1 DEBUG In initialize RegStream1 DEBUG Found IDecisionSvc. DecisionSvc INFO Inserting stream: RegStream1 with no Algs @@ -185,6 +174,8 @@ RegStream1 DEBUG In initialize RegStream1 DEBUG Found 'StoreName':StoreGateSvc store. RegStream1.TagTool DEBUG Property update for OutputLevel : new value = 2 RegStream1 DEBUG Tool initialized +RegStream1 DEBUG Retrieved IncidentSvc +RegStream1 DEBUG Added MetaDataStop listener RegStream1 DEBUG Not class requested by Tool, skipping (40774349,"RunEventTag") RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") RegStream1 DEBUG End initialize @@ -200,38 +191,36 @@ ApplicationMgr INFO Application Manager Started successfully MetaDataSvc DEBUG handle() BeginInputFile for FID:???? MetaDataSvc DEBUG initInputMetaDataStore: file name FID:???? MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for FID:???? -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. EventSelector INFO Request skipping event from: EventSelector.QueryTag EventSelector INFO skipping event 1 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. EventSelector INFO Request skipping event from: EventSelector.QueryTag EventSelector INFO skipping event 2 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. EventSelector INFO Request skipping event from: EventSelector.QueryTag EventSelector INFO skipping event 3 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. EventSelector INFO Request skipping event from: EventSelector.QueryTag EventSelector INFO skipping event 4 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -316,7 +305,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:EventInfo_p4 @@ -326,7 +315,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:ExampleTrackContainer_p1 @@ -336,7 +325,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:DataHeaderForm_p5 @@ -346,7 +335,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:DataHeader_p5 @@ -357,10 +346,10 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000A] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000A] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") @@ -369,9 +358,9 @@ RegStream1.TagTool INFO No Primary Key defined AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -404,19 +393,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000B] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000B] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -449,19 +438,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000C] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000C] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -494,19 +483,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000D] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000D] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -539,19 +528,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000E] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000E] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -584,19 +573,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000F] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000F] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -629,19 +618,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000010] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000010] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -674,19 +663,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000011] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000011] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -719,19 +708,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000012] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000012] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -764,10 +753,10 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"RunEventTag") RegStream1 DEBUG get ref for (222376821,"*") RegStream1 DEBUG Retrieved DataHeader with key Stream1 for requested key=* -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] for Stream1_derived -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] for Stream1_derived +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000013] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000013] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to RunEventTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"*") @@ -777,8 +766,7 @@ Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection -Stream1 INFO AthenaOutputStream Stream1 ::stop() -MetaDataSvc DEBUG calling metaDataStop for MetaDataSvc.IOVDbMetaDataTool +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -791,7 +779,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:EventStreamInfo_p3 @@ -801,17 +789,20 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? Stream1 INFO Records written: 11 +Stream1 DEBUG Leaving handle +RegStream1 DEBUG handle() incident type: MetaDataStop RegStream1.TagTool INFO Collection Events output: 10 +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] ApplicationMgr INFO Application Manager Stopped successfully @@ -834,8 +825,8 @@ cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0 fRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 32 cRepR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 43 cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.286(+- 1.67)/ 0/ 10 [ms] #= 35 -cObj_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.606(+- 2.39)/ 0/ 10 [ms] #= 33 -ChronoStatSvc INFO Time User : Tot= 0.85 [s] #= 1 +cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.909(+- 2.87)/ 0/ 10 [ms] #= 33 +ChronoStatSvc INFO Time User : Tot= 0.83 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RCond.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RCond.ref index fc6911d49bde528a41e6199903aaf1c9d5a13397..0ba02c8056df44e5260e13b181b7c61ecf328d9d 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RCond.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RCond.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:37:30 CDT 2018 +Fri Oct 19 21:10:30 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_RCondJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:37:40 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:10:46 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -40,9 +40,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -51,10 +51,6 @@ PoolSvc DEBUG POOL ReadCatalog is file:Catalog1.xml PoolSvc INFO POOL WriteCatalog is file:Catalog2.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -85,19 +81,19 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -129,12 +125,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully CondProxyProvider DEBUG Property update for OutputLevel : new value = 2 @@ -161,11 +151,11 @@ SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile4... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/ConditionsContainer(ExampleHitContainer_p1/PedestalWriteData) [202] (3 , ffffffff) +SimplePoolFile4... DEBUG --->Reading Assoc:????/ConditionsContainer(ExampleHitContainer_p1/PedestalWriteData) [20?] (3 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -211,19 +201,19 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -254,14 +244,12 @@ MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree ClassIDSvc INFO getRegistryEntries: read 2 CLIDRegistry entries for module ALL MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 @@ -333,9 +321,9 @@ ReadData INFO Hit x = 30.1245 y = 46.5449 z = 43.831 detector = Dumm AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -366,9 +354,9 @@ ReadData INFO Hit x = 130.125 y = 46.5449 z = -56.169 detector = Dum AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -399,9 +387,9 @@ ReadData INFO Hit x = 230.125 y = 46.5449 z = -156.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -432,9 +420,9 @@ ReadData INFO Hit x = 330.125 y = 46.5449 z = -256.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -465,9 +453,9 @@ ReadData INFO Hit x = 430.125 y = 46.5449 z = -356.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -498,9 +486,9 @@ ReadData INFO Hit x = 530.125 y = 46.5449 z = -456.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -531,9 +519,9 @@ ReadData INFO Hit x = 630.125 y = 46.5449 z = -556.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -564,9 +552,9 @@ ReadData INFO Hit x = 730.125 y = 46.5449 z = -656.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -597,9 +585,9 @@ ReadData INFO Hit x = 830.125 y = 46.5449 z = -756.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -630,9 +618,9 @@ ReadData INFO Hit x = 930.125 y = 46.5449 z = -856.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -663,9 +651,9 @@ ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -696,9 +684,9 @@ ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -729,9 +717,9 @@ ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -762,9 +750,9 @@ ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -795,9 +783,9 @@ ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -828,9 +816,9 @@ ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -861,9 +849,9 @@ ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -894,9 +882,9 @@ ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -927,9 +915,9 @@ ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -963,6 +951,7 @@ MetaDataSvc DEBUG handle() EndInputFile for FID:???? EventSelector INFO Disconnecting input sourceID: ???? MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize @@ -976,9 +965,9 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.204(+- 1.41)/ 0/ 10 [ms] #= 49 +cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 49 cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.652(+- 2.47)/ 0/ 10 [ms] #= 46 -ChronoStatSvc INFO Time User : Tot= 0.67 [s] #= 1 +ChronoStatSvc INFO Time User : Tot= 0.98 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RFilter.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RFilter.ref index 5c3a3102a89c9b6994cf41e1c19a2eb9c198dd77..2d2f7ff7e8eb9a9f11b0f8a8a4fab3d2c8268b26 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RFilter.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RFilter.ref @@ -1,19 +1,19 @@ -Thu Sep 6 17:04:54 CDT 2018 +Wed Jul 18 18:57:01 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_RFilterJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files +Py:ConfigurableDb INFO Read module info for 5511 configurables from 52 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 17:05:05 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r2) + running on lxplus052.cern.ch on Wed Jul 18 18:57:09 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -21,7 +21,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve StatusCodeSvc INFO initialize AthDictLoaderSvc INFO in initialize... AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2428 CLIDRegistry entries for module ALL CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL @@ -35,9 +35,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-07-17T2058/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus052.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -46,10 +46,6 @@ PoolSvc DEBUG POOL ReadCatalog is file:Catalog1.xml PoolSvc INFO POOL WriteCatalog is file:Catalog2.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -71,10 +67,10 @@ EventSelector DEBUG Try item: "SimplePoolCollection5.root" from the collec ApplicationMgr INFO Application Manager Started successfully EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO SimplePoolFile5.root @@ -99,19 +95,19 @@ SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile5... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -137,13 +133,14 @@ AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks AlgResourcePool INFO TopAlg list empty. Recovering the one of Application Manager +ClassIDSvc INFO getRegistryEntries: read 78 CLIDRegistry entries for module ALL SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree AthenaPoolConve... INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector -ClassIDSvc INFO getRegistryEntries: read 1978 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 15 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 0 events processed so far <<<=== ReadData DEBUG in execute() @@ -158,13 +155,14 @@ CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_ ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits +ClassIDSvc INFO getRegistryEntries: read 10 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -179,10 +177,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -197,10 +195,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -215,10 +213,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -233,10 +231,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -251,10 +249,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -269,10 +267,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -287,10 +285,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -305,10 +303,10 @@ ReadData INFO Could not find ExampleHitContainer/MyHits AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 2 -EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Stream1_derived_ref = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = Stream1_ref = [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -324,6 +322,7 @@ AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize ReadData INFO in finalize() @@ -333,9 +332,9 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 100 [ms] Ave/Min/Max= 3.23(+- 15.9)/ 0/ 90 [ms] #= 31 -cObj_ALL INFO Time User : Tot= 110 [ms] Ave/Min/Max= 3.67(+- 16.2)/ 0/ 90 [ms] #= 30 -ChronoStatSvc INFO Time User : Tot= 0.75 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 80 [ms] Ave/Min/Max= 2.58(+- 14.1)/ 0/ 80 [ms] #= 31 +cObj_ALL INFO Time User : Tot= 100 [ms] Ave/Min/Max= 3.33(+- 16.2)/ 0/ 90 [ms] #= 30 +ChronoStatSvc INFO Time User : Tot= 0.74 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref index 96c3bfd9bfa39a1897ec7e647683c7fbbe31533f..76048d1836df75003849a64d8e0b122899b63b3a 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_RMeta.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:37:55 CDT 2018 +Fri Oct 19 21:01:34 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_RMetaJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:38:08 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:01:54 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -37,9 +37,9 @@ PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:Catalog2.xml) [ok PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -47,12 +47,7 @@ PoolSvc DEBUG POOL ReadCatalog is xmlcatalog_file:Catalog2.xml PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc.Ath... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.Ath... INFO in initialize() -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool','AthPoolEx::ReadMeta']) +ToolSvc.AthPool... INFO in initialize() EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -83,21 +78,21 @@ SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile5... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [202] (7 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [20?] (7 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (8 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (8 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (9 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (9 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (a , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (a , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 9 Entries in total. SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -129,12 +124,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -174,21 +163,21 @@ SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile5... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [202] (7 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [20?] (7 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (8 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (8 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (9 , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (9 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? -SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (a , ffffffff) +SimplePoolFile5... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (a , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 9 Entries in total. SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -219,24 +208,19 @@ MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree ClassIDSvc INFO getRegistryEntries: read 2 CLIDRegistry entries for module ALL MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.AthPoolEx::ReadMeta -MetaDataSvc.Ath... DEBUG saw BeginInputFile incident. +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.AthPoolEx::ReadMeta SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(ExampleHitContainer_p1/PedestalWriteData) MetaData(Exampl... DEBUG Opening MetaData(Exampl... DEBUG attributes# = 1 MetaData(Exampl... DEBUG Branch container 'ExampleHitContainer_p1_PedestalWriteData' MetaData(Exampl... DEBUG Opened container MetaData(ExampleHitContainer_p1/PedestalWriteData) of type ROOT_Tree -MetaDataSvc.Ath... INFO Pedestal x = 193136 y = -5580.01 z = -175208 string = <..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o> -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile5.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData -MetaDataSvc.Ath... DEBUG handle() BeginInputFile -MetaDataSvc.Ath... DEBUG handle() BeginInputFile for SimplePoolFile5.root +ToolSvc.AthPool... INFO Pedestal x = 193136 y = -5580.01 z = -175208 string = <..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o> EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolFile5... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 @@ -288,9 +272,9 @@ ReadData INFO Hit x = 30.1245 y = -53.4551 z = 43.831 detector = Dum AthenaEventLoopMgr INFO ===>>> done processing event #0, run #0 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -319,9 +303,9 @@ ReadData INFO Hit x = 130.125 y = -53.4551 z = -56.169 detector = Du AthenaEventLoopMgr INFO ===>>> done processing event #1, run #0 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -350,9 +334,9 @@ ReadData INFO Hit x = 230.125 y = -53.4551 z = -156.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #2, run #0 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -381,9 +365,9 @@ ReadData INFO Hit x = 330.125 y = -53.4551 z = -256.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #3, run #0 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -412,9 +396,9 @@ ReadData INFO Hit x = 430.125 y = -53.4551 z = -356.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #4, run #0 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -443,9 +427,9 @@ ReadData INFO Hit x = 530.125 y = -53.4551 z = -456.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #5, run #0 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -474,9 +458,9 @@ ReadData INFO Hit x = 630.125 y = -53.4551 z = -556.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #6, run #0 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -505,9 +489,9 @@ ReadData INFO Hit x = 730.125 y = -53.4551 z = -656.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #7, run #0 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -536,9 +520,9 @@ ReadData INFO Hit x = 830.125 y = -53.4551 z = -756.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #8, run #0 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -567,9 +551,9 @@ ReadData INFO Hit x = 930.125 y = -53.4551 z = -856.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #9, run #0 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -598,9 +582,9 @@ ReadData INFO Hit x = 1030.12 y = -53.4551 z = -956.169 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #10, run #0 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -629,9 +613,9 @@ ReadData INFO Hit x = 1130.12 y = -53.4551 z = -1056.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #11, run #0 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -660,9 +644,9 @@ ReadData INFO Hit x = 1230.12 y = -53.4551 z = -1156.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #12, run #0 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -691,9 +675,9 @@ ReadData INFO Hit x = 1330.12 y = -53.4551 z = -1256.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #13, run #0 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -722,9 +706,9 @@ ReadData INFO Hit x = 1430.12 y = -53.4551 z = -1356.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #14, run #0 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -753,9 +737,9 @@ ReadData INFO Hit x = 1530.12 y = -53.4551 z = -1456.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #15, run #0 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -784,9 +768,9 @@ ReadData INFO Hit x = 1630.12 y = -53.4551 z = -1556.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #16, run #0 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -815,9 +799,9 @@ ReadData INFO Hit x = 1730.12 y = -53.4551 z = -1656.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #17, run #0 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -846,9 +830,9 @@ ReadData INFO Hit x = 1830.12 y = -53.4551 z = -1756.17 detector = D AthenaEventLoopMgr INFO ===>>> done processing event #18, run #0 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -881,19 +865,21 @@ MetaDataSvc DEBUG handle() EndInputFile for FID:???? EventSelector INFO Disconnecting input sourceID: ???? MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.AthPoolEx::ReadMeta ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize ReadData INFO in finalize() IncidentProcAlg2 INFO Finalize AthDictLoaderSvc INFO in finalize... ToolSvc INFO Removing all tools created by ToolSvc -MetaDataSvc.Ath... INFO in finalize() +ToolSvc.AthPool... INFO in finalize() *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 47 -cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.667(+- 2.49)/ 0/ 10 [ms] #= 45 -ChronoStatSvc INFO Time User : Tot= 0.73 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.213(+- 1.44)/ 0/ 10 [ms] #= 47 +cObj_ALL INFO Time User : Tot= 50 [ms] Ave/Min/Max= 1.11(+- 4.33)/ 0/ 20 [ms] #= 45 +ChronoStatSvc INFO Time User : Tot= 0.98 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref index 202ff7c450698b5fe890d758da3c0894f68eea05..eaf3d4939f7bee8f76962f32d92f84193f19097c 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:34:56 CDT 2018 +Fri Oct 19 20:56:49 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_RWJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:35:06 2018 + running on lxplus060.cern.ch on Fri Oct 19 20:57:03 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,9 +36,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -46,10 +46,6 @@ PoolSvc DEBUG POOL ReadCatalog is file:Catalog.xml PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -85,27 +81,27 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -130,12 +126,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -190,6 +180,8 @@ RegStream1 DEBUG In initialize RegStream1 DEBUG Found 'StoreName':StoreGateSvc store. RegStream1.TagTool DEBUG Property update for OutputLevel : new value = 2 RegStream1 DEBUG Tool initialized +RegStream1 DEBUG Retrieved IncidentSvc +RegStream1 DEBUG Added MetaDataStop listener RegStream1 DEBUG Not class requested by Tool, skipping (40774349,"MagicTag") RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") RegStream1 DEBUG End initialize @@ -210,14 +202,12 @@ AthenaPoolCnvSvc DEBUG setAttribute TREE_CACHE to -1 for db: SimplePoolFile1. MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile1.root MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile1.root MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -344,7 +334,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:EventInfo_p4 @@ -356,7 +346,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:ExampleTrackContainer_p1 @@ -366,7 +356,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:DataHeaderForm_p5 @@ -376,7 +366,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:DataHeader_p5 @@ -386,7 +376,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'Token' POOLCollectionT... DEBUG Opened container POOLCollectionTree(Token) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:Token @@ -396,7 +386,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'RunNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(RunNumber) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[5 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:unsigned int @@ -406,14 +396,14 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'EventNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(EventNumber) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] POOLCollectionTree(MagicNumber) POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'MagicNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile3.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile3.root and cont: POOLContainerForm(DataHeaderForm) @@ -421,8 +411,8 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") @@ -431,9 +421,9 @@ RegStream1.TagTool INFO No Primary Key defined AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -502,17 +492,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -581,17 +571,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -660,17 +650,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -739,17 +729,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -818,17 +808,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -897,17 +887,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -976,17 +966,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1055,17 +1045,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1134,17 +1124,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1213,17 +1203,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1292,17 +1282,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1371,17 +1361,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1450,17 +1440,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1529,17 +1519,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1608,17 +1598,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1687,17 +1677,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1766,17 +1756,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1845,17 +1835,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1924,8 +1914,8 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") @@ -1936,8 +1926,7 @@ Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection -Stream1 INFO AthenaOutputStream Stream1 ::stop() -MetaDataSvc DEBUG calling metaDataStop for MetaDataSvc.IOVDbMetaDataTool +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -1950,7 +1939,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[6 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:EventStreamInfo_p3 @@ -1960,17 +1949,20 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? Stream1 INFO Records written: 21 +Stream1 DEBUG Leaving handle +RegStream1 DEBUG handle() incident type: MetaDataStop RegStream1.TagTool INFO Collection Events output: 20 +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] ApplicationMgr INFO Application Manager Stopped successfully @@ -1992,11 +1984,11 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 62 -cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 66 -fRep_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.323(+- 2.52)/ 0/ 20 [ms] #= 62 -cRepR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.123(+- 1.56)/ 0/ 20 [ms] #=163 +cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.152(+- 1.22)/ 0/ 10 [ms] #= 66 +fRep_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.323(+- 1.77)/ 0/ 10 [ms] #= 62 +cRepR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.123(+- 1.1)/ 0/ 10 [ms] #=163 cObj_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.635(+- 2.44)/ 0/ 10 [ms] #= 63 -ChronoStatSvc INFO Time User : Tot= 0.83 [s] #= 1 +ChronoStatSvc INFO Time User : Tot= 0.96 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref index 06f5e43618f395aee5e259e0e4b33e0190c7ff02..2822d61be002c955511ce91c1ae05b674ae6673e 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:35:37 CDT 2018 +Fri Oct 19 21:07:30 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReWriteAgainJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:35:49 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:07:46 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,9 +36,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -46,10 +46,6 @@ PoolSvc DEBUG POOL ReadCatalog is file:Catalog.xml PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -80,19 +76,19 @@ SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolRepli... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -124,12 +120,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -184,6 +174,8 @@ RegStream1 DEBUG In initialize RegStream1 DEBUG Found 'StoreName':StoreGateSvc store. RegStream1.TagTool DEBUG Property update for OutputLevel : new value = 2 RegStream1 DEBUG Tool initialized +RegStream1 DEBUG Retrieved IncidentSvc +RegStream1 DEBUG Added MetaDataStop listener RegStream1 DEBUG Not class requested by Tool, skipping (40774349,"MagicTag") RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") RegStream1 DEBUG End initialize @@ -223,19 +215,19 @@ SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolRepli... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -266,14 +258,12 @@ MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolReplica1.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 @@ -394,7 +384,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:EventInfo_p4 @@ -406,7 +396,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:ExampleTrackContainer_p1 @@ -416,7 +406,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:DataHeaderForm_p5 @@ -426,7 +416,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:DataHeader_p5 @@ -438,7 +428,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'Token' POOLCollectionT... DEBUG Opened container POOLCollectionTree(Token) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:Token @@ -450,7 +440,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'RunNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(RunNumber) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[5 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:unsigned int @@ -460,14 +450,14 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'EventNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(EventNumber) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] POOLCollectionTree(MagicNumber) POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'MagicNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile3.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile3.root and cont: POOLContainerForm(DataHeaderForm) @@ -475,8 +465,8 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") @@ -485,9 +475,9 @@ RegStream1.TagTool INFO No Primary Key defined AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -557,17 +547,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -636,17 +626,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -715,17 +705,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -794,17 +784,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -873,17 +863,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -952,17 +942,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1031,17 +1021,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1110,17 +1100,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1189,17 +1179,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1268,17 +1258,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1347,17 +1337,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1426,17 +1416,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1505,17 +1495,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1584,17 +1574,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1663,17 +1653,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1742,17 +1732,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1821,17 +1811,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1900,17 +1890,17 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1979,8 +1969,8 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") @@ -1991,8 +1981,7 @@ MetaDataSvc DEBUG handle() EndInputFile for FID:???? EventSelector INFO Disconnecting input sourceID: ???? MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection -Stream1 INFO AthenaOutputStream Stream1 ::stop() -MetaDataSvc DEBUG calling metaDataStop for MetaDataSvc.IOVDbMetaDataTool +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -2005,7 +1994,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --->Adding Shape[6 , ????]: [1 Column(s)] SimplePoolFile3... DEBUG ---->Class:EventStreamInfo_p3 @@ -2015,18 +2004,21 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? SimplePoolFile3... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile3... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? Stream1 INFO Records written: 21 +Stream1 DEBUG Leaving handle +RegStream1 DEBUG handle() incident type: MetaDataStop RegStream1.TagTool INFO Collection Events output: 20 RegStream1.TagTool INFO Unable to register collection: PFN 'RootCollection||PFN:SimplePoolCollection3.root' already registered ( POOL : "registerPFN" from "FileCatalog" ) +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] ApplicationMgr INFO Application Manager Stopped successfully @@ -2046,13 +2038,13 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 62 commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 +cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 62 cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.154(+- 1.23)/ 0/ 10 [ms] #= 65 -cObj_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.317(+- 1.75)/ 0/ 10 [ms] #= 63 -cRepR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.123(+- 1.1)/ 0/ 10 [ms] #=163 -fRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.645(+- 2.46)/ 0/ 10 [ms] #= 62 -ChronoStatSvc INFO Time User : Tot= 0.86 [s] #= 1 +cRepR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.123(+- 1.56)/ 0/ 20 [ms] #=163 +fRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.645(+- 3.04)/ 0/ 20 [ms] #= 62 +cObj_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.635(+- 3.02)/ 0/ 20 [ms] #= 63 +ChronoStatSvc INFO Time User : Tot= 1.12 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref index db49a8989363aa30524ebb8d0a2ad55be716f298..58f9bfd7c8bd9d7e8195aa862408741588cfed88 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:35:53 CDT 2018 +Fri Oct 19 21:15:56 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReWriteNextJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:36:03 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:16:21 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,9 +36,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -46,10 +46,6 @@ PoolSvc DEBUG POOL ReadCatalog is file:Catalog.xml PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -85,27 +81,27 @@ SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile3... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -130,12 +126,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -190,6 +180,8 @@ RegStream1 DEBUG In initialize RegStream1 DEBUG Found 'StoreName':StoreGateSvc store. RegStream1.TagTool DEBUG Property update for OutputLevel : new value = 2 RegStream1 DEBUG Tool initialized +RegStream1 DEBUG Retrieved IncidentSvc +RegStream1 DEBUG Added MetaDataStop listener RegStream1 DEBUG Not class requested by Tool, skipping (40774349,"MagicTag") RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") RegStream1 DEBUG End initialize @@ -210,14 +202,12 @@ AthenaPoolCnvSvc DEBUG setAttribute TREE_CACHE to -1 for db: SimplePoolFile3. MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -312,7 +302,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:EventInfo_p4 @@ -322,7 +312,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:ExampleTrackContainer_p1 @@ -332,7 +322,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:DataHeaderForm_p5 @@ -342,7 +332,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:DataHeader_p5 @@ -352,7 +342,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'Token' POOLCollectionT... DEBUG Opened container POOLCollectionTree(Token) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:Token @@ -362,7 +352,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'RunNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(RunNumber) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[5 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:unsigned int @@ -372,14 +362,14 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'EventNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(EventNumber) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] POOLCollectionTree(MagicNumber) POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'MagicNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile4.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile4.root and cont: POOLContainerForm(DataHeaderForm) @@ -387,10 +377,10 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000000] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000000] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") @@ -399,9 +389,9 @@ RegStream1.TagTool INFO No Primary Key defined AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -438,19 +428,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000001] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000001] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -487,19 +477,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000002] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000002] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -536,19 +526,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000003] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000003] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -585,19 +575,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000004] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000004] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -634,19 +624,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000005] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000005] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -683,19 +673,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000006] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000006] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -732,19 +722,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000007] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000007] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -781,19 +771,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000008] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000008] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -830,19 +820,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000009] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000009] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -879,19 +869,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000A] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000A] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -928,19 +918,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000B] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000B] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -977,19 +967,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000C] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000C] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1026,19 +1016,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000D] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000D] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1075,19 +1065,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000E] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000E] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1124,19 +1114,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-0000000F] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-0000000F] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1173,19 +1163,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000010] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000010] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1222,19 +1212,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000011] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000011] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1271,19 +1261,19 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000012] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000012] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks @@ -1320,10 +1310,10 @@ RegStream1 DEBUG RegistrationStream execute RegStream1 DEBUG getRefs: Not DataHeader, skipping (40774349,"MagicTag") RegStream1 DEBUG get ref for (222376821,"Stream1") RegStream1 DEBUG Retrieved DataHeader with key Stream1 -RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +RegStream1 DEBUG Pushing back ref [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] for Stream1 +RegStream1 DEBUG Found ref for input header [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] RegStream1 DEBUG Adding ref for Stream1 -RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=00000202][OID=00000006-00000013] +RegStream1 DEBUG Found ref for input header [DB=????][CNT=][CLID=????][TECH=0000020?][OID=00000006-00000013] RegStream1 DEBUG Adding ref for Stream1 RegStream1 DEBUG Setting tagKey to MagicTag RegStream1 DEBUG Not class requested by Tool, skipping (222376821,"Stream1") @@ -1334,8 +1324,7 @@ Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection -Stream1 INFO AthenaOutputStream Stream1 ::stop() -MetaDataSvc DEBUG calling metaDataStop for MetaDataSvc.IOVDbMetaDataTool +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -1348,7 +1337,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[6 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:EventStreamInfo_p3 @@ -1358,17 +1347,20 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? Stream1 INFO Records written: 21 +Stream1 DEBUG Leaving handle +RegStream1 DEBUG handle() incident type: MetaDataStop RegStream1.TagTool INFO Collection Events output: 20 +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] ApplicationMgr INFO Application Manager Stopped successfully @@ -1388,13 +1380,13 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 62 -cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 65 +commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 +cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.154(+- 1.23)/ 0/ 10 [ms] #= 65 cRepR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.0613(+-0.781)/ 0/ 10 [ms] #=163 fRep_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.323(+- 1.77)/ 0/ 10 [ms] #= 62 -cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.476(+- 2.13)/ 0/ 10 [ms] #= 63 -ChronoStatSvc INFO Time User : Tot= 0.84 [s] #= 1 +cObj_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.635(+- 3.51)/ 0/ 20 [ms] #= 63 +ChronoStatSvc INFO Time User : Tot= 1.16 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref index a61aa3b607ee4c53185726760fd299c4255a73b7..f09b644e02b2658776a0a9017dc6db0d8a26a9c3 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Read.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:35:10 CDT 2018 +Wed Nov 7 11:52:31 CST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5414 configurables from 4 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:35:20 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on hepd-0004 on Wed Nov 7 11:52:38 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,18 +36,14 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2331/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 1 servers found for host hepd-0004.lcrc.anl.gov [ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -75,11 +71,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -128,27 +124,27 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -173,12 +169,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -210,11 +200,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -243,9 +233,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? EventSelector DEBUG Try item: "SimplePoolFile1.root" from the collection list. @@ -264,10 +252,7 @@ PoolSvc INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_ MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile1.root MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile1.root MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector INFO skipping event 1 EventSelector INFO skipping event 2 EventSelector INFO skipping event 3 @@ -280,9 +265,9 @@ EventSelector INFO skipping event 9 EventSelector INFO skipping event 10 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -336,14 +321,14 @@ ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = Du ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -369,14 +354,14 @@ ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = Du ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -402,14 +387,14 @@ ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = Du ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -435,14 +420,14 @@ ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = Du ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -468,14 +453,14 @@ ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = Du ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -501,14 +486,14 @@ ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = Du ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -534,14 +519,14 @@ ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = Du ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -567,14 +552,14 @@ ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = Du ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -600,14 +585,14 @@ ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = Du ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -633,7 +618,7 @@ ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = Du ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20107 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20102 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? @@ -663,11 +648,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -696,10 +681,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -732,29 +714,27 @@ SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile2... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (6 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (6 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (7 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (8 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (9 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [20?] (a , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (b , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (c , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (c , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (d , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. +##Links DEBUG No objects passing selection criteria... Container has 11 Entries in total. SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Params ##Params DEBUG Opening ##Params DEBUG attributes# = 1 @@ -769,7 +749,7 @@ RootDatabase.se... DEBUG File name SimplePoolFile2.root RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG Request tree cache RootDatabase.se... DEBUG File name SimplePoolFile2.root RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 @@ -788,15 +768,12 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000] SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -816,17 +793,6 @@ CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 10 events processed so far <<<=== ReadData DEBUG in execute() -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2) MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 @@ -842,14 +808,14 @@ ReadData INFO EventInfo event: 0 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 11 events processed so far <<<=== @@ -860,24 +826,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 1 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 12 events processed so far <<<=== @@ -888,24 +848,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 2 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 13 events processed so far <<<=== @@ -916,24 +870,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 3 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 14 events processed so far <<<=== @@ -944,24 +892,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 4 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 15 events processed so far <<<=== @@ -972,24 +914,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 16 events processed so far <<<=== @@ -1000,24 +936,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 17 events processed so far <<<=== @@ -1028,24 +958,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 7 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 18 events processed so far <<<=== @@ -1056,24 +980,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 8 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 19 events processed so far <<<=== @@ -1084,24 +1002,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 20 events processed so far <<<=== @@ -1112,24 +1024,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 10 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 21 events processed so far <<<=== @@ -1140,24 +1046,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 11 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 22 events processed so far <<<=== @@ -1168,24 +1068,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 23 events processed so far <<<=== @@ -1196,24 +1090,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 13 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 24 events processed so far <<<=== @@ -1224,24 +1112,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 14 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 25 events processed so far <<<=== @@ -1252,24 +1134,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 26 events processed so far <<<=== @@ -1280,24 +1156,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 27 events processed so far <<<=== @@ -1308,24 +1178,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 17 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 28 events processed so far <<<=== @@ -1336,24 +1200,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 29 events processed so far <<<=== @@ -1364,691 +1222,121 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 19 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== +MetaDataSvc DEBUG handle() EndInputFile for FID:???? +EventSelector INFO Disconnecting input sourceID: ???? +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +EventSelector DEBUG Try item: "SimplePoolFile3.root" from the collection list. +PersistencySvc:... DEBUG lookupPFN: SimplePoolFile3.root returned FID: '????' tech=ROOT_All +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? +Domain[ROOT_All] INFO SimplePoolFile3.root +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes +##Shapes DEBUG Opening +##Shapes DEBUG attributes# = 1 +##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree +SimplePoolFile3... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 +##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links +##Links DEBUG Opening +##Links DEBUG attributes# = 1 +##Links DEBUG Opened container ##Links of type ROOT_Tree +SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params +##Params DEBUG Opening +##Params DEBUG attributes# = 1 +##Params DEBUG Opened container ##Params of type ROOT_Tree +SimplePoolFile3... DEBUG --->Reading Param:FID=[????] +SimplePoolFile3... DEBUG --->Reading Param:PFN=[SimplePoolFile3.root] +SimplePoolFile3... DEBUG --->Reading Param:POOL_VSN=[1.1] +SimplePoolFile3... DEBUG --->Reading Param:FORMAT_VSN=[1.1] +##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. +RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG File name SimplePoolFile3.root +RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 +RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 +RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 +RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG File name SimplePoolFile3.root +RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 +RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000 +MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root +MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) +MetaDataHdr(Dat... DEBUG Opening +MetaDataHdr(Dat... DEBUG attributes# = 1 +MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' +MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) +MetaDataHdrForm... DEBUG Opening +MetaDataHdrForm... DEBUG attributes# = 1 +MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' +MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree +MetaDataSvc DEBUG Loaded input meta data store proxies +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start of run 2 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #20, run #2 30 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 20 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 31 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #21, run #2 31 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 21 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #21, run #2 32 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #22, run #2 32 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 22 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #22, run #2 33 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #23, run #2 33 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 23 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #23, run #2 34 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #24, run #2 34 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 24 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #24, run #2 35 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #25, run #2 35 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 25 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #25, run #2 36 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #26, run #2 36 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 26 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #26, run #2 37 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #27, run #2 37 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 27 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #27, run #2 38 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #28, run #2 38 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 28 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #28, run #2 39 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #29, run #2 39 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 29 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #29, run #2 40 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #30, run #2 40 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 30 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #30, run #2 41 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #31, run #2 41 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 31 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #31, run #2 42 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #32, run #2 42 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 32 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #32, run #2 43 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #33, run #2 43 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 33 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #33, run #2 44 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #34, run #2 44 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 34 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #34, run #2 45 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #35, run #2 45 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 35 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #35, run #2 46 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #36, run #2 46 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 36 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #36, run #2 47 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #37, run #2 47 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 37 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #37, run #2 48 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #38, run #2 48 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 38 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #38, run #2 49 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #39, run #2 49 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 39 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 50 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -EventSelector INFO Disconnecting input sourceID: ???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile3.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile3.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Param:FID=[????] -SimplePoolFile3... DEBUG --->Reading Param:PFN=[SimplePoolFile3.root] -SimplePoolFile3... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile3... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile3.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile3.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) +POOLContainer(D... DEBUG Opening +POOLContainer(D... DEBUG attributes# = 1 +POOLContainer(D... DEBUG Branch container 'DataHeader' +POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) +POOLContainerFo... DEBUG Opening +POOLContainerFo... DEBUG attributes# = 1 +POOLContainerFo... DEBUG Branch container 'DataHeaderForm' +POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree +AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) @@ -2056,8 +1344,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 30 events processed so far <<<=== ReadData DEBUG in execute() SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) MetaData(EventS... DEBUG Opening @@ -2082,18 +1369,18 @@ ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 31 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 31 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2108,18 +1395,18 @@ ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 32 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 32 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2134,18 +1421,18 @@ ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 33 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 33 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2160,18 +1447,18 @@ ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 34 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 34 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2186,18 +1473,18 @@ ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 35 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 35 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2212,18 +1499,18 @@ ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 36 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 36 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2238,18 +1525,18 @@ ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 37 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 37 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2264,18 +1551,18 @@ ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 38 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 38 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2290,18 +1577,18 @@ ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 39 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 39 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2316,18 +1603,18 @@ ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 40 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 40 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2342,18 +1629,18 @@ ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 41 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 41 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2368,18 +1655,18 @@ ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 42 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 42 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2394,18 +1681,18 @@ ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 43 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 43 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2420,18 +1707,18 @@ ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 44 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 44 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2446,18 +1733,18 @@ ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 45 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 45 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2472,18 +1759,18 @@ ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 46 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 46 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2498,18 +1785,18 @@ ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 47 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 47 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2524,18 +1811,18 @@ ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 48 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 48 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2550,18 +1837,18 @@ ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 49 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 49 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2576,15 +1863,16 @@ ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18968 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18971 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 50 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? EventSelector INFO Disconnecting input sourceID: ???? Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize ReadData INFO in finalize() @@ -2594,9 +1882,9 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.161(+- 1.26)/ 0/ 10 [ms] #=124 -cObj_ALL INFO Time User : Tot= 60 [ms] Ave/Min/Max=0.526(+- 2.6)/ 0/ 20 [ms] #=114 -ChronoStatSvc INFO Time User : Tot= 0.82 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.198(+- 1.39)/ 0/ 10 [ms] #=101 +cObj_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.435(+- 2.04)/ 0/ 10 [ms] #= 92 +ChronoStatSvc INFO Time User : Tot= 490 [ms] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref index 90560152bd4951a12ee62ffaea4d27b497261984..c76b9fa46d8220dae7fcc013fbc3c3734086364f 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadAgain.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:36:32 CDT 2018 +Wed Nov 7 11:53:30 CST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadAgainJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5414 configurables from 4 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:36:42 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on hepd-0004 on Wed Nov 7 11:53:37 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,18 +36,14 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2331/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 1 servers found for host hepd-0004.lcrc.anl.gov [ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -75,11 +71,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -123,19 +119,19 @@ SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolRepli... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -167,12 +163,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -208,11 +198,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -241,9 +231,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -274,19 +262,19 @@ SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolRepli... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? -SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolRepli... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolRepli... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -309,7 +297,7 @@ RootDatabase.se... DEBUG File name SimplePoolReplica1.root RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG Request tree cache RootDatabase.se... DEBUG File name SimplePoolReplica1.root RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 @@ -328,10 +316,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolReplica1.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolReplica1.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector INFO skipping event 1 EventSelector INFO skipping event 2 EventSelector INFO skipping event 3 @@ -344,9 +329,9 @@ EventSelector INFO skipping event 9 EventSelector INFO skipping event 10 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] SimplePoolRepli... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 @@ -400,9 +385,9 @@ PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CAL AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -433,9 +418,9 @@ PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CAL AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -466,9 +451,9 @@ PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CAL AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -499,9 +484,9 @@ PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CAL AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -532,9 +517,9 @@ PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CAL AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -565,9 +550,9 @@ PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CAL AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -598,9 +583,9 @@ PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CAL AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -631,9 +616,9 @@ PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CAL AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -664,9 +649,9 @@ PoolSvc INFO Database (SimplePoolReplica1.root) attribute [READ_CAL AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -722,11 +707,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -755,10 +740,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -791,29 +773,27 @@ SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile2... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (6 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (6 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (7 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (8 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (9 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [20?] (a , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (c , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (b , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (d , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (c , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. +##Links DEBUG No objects passing selection criteria... Container has 11 Entries in total. SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Params ##Params DEBUG Opening ##Params DEBUG attributes# = 1 @@ -848,15 +828,12 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000] SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -876,17 +853,6 @@ CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 10 events processed so far <<<=== ReadData DEBUG in execute() -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2) MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 @@ -902,14 +868,14 @@ ReadData INFO EventInfo event: 0 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 11 events processed so far <<<=== @@ -920,24 +886,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 1 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 12 events processed so far <<<=== @@ -948,24 +908,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 2 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 13 events processed so far <<<=== @@ -976,24 +930,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 3 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 14 events processed so far <<<=== @@ -1004,24 +952,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 4 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 15 events processed so far <<<=== @@ -1032,24 +974,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 16 events processed so far <<<=== @@ -1060,24 +996,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 17 events processed so far <<<=== @@ -1088,24 +1018,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 7 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 18 events processed so far <<<=== @@ -1116,24 +1040,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 8 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 19 events processed so far <<<=== @@ -1144,24 +1062,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 20 events processed so far <<<=== @@ -1172,24 +1084,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 10 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 21 events processed so far <<<=== @@ -1200,24 +1106,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 11 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 22 events processed so far <<<=== @@ -1228,24 +1128,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 23 events processed so far <<<=== @@ -1256,24 +1150,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 13 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 24 events processed so far <<<=== @@ -1284,24 +1172,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 14 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 25 events processed so far <<<=== @@ -1312,24 +1194,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 26 events processed so far <<<=== @@ -1340,24 +1216,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 27 events processed so far <<<=== @@ -1368,24 +1238,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 17 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 28 events processed so far <<<=== @@ -1396,24 +1260,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 29 events processed so far <<<=== @@ -1424,691 +1282,121 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 19 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== +MetaDataSvc DEBUG handle() EndInputFile for FID:???? +EventSelector INFO Disconnecting input sourceID: ???? +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +EventSelector DEBUG Try item: "SimplePoolFile4.root" from the collection list. +PersistencySvc:... DEBUG lookupPFN: SimplePoolFile4.root returned FID: '????' tech=ROOT_All +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? +Domain[ROOT_All] INFO SimplePoolFile4.root +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes +##Shapes DEBUG Opening +##Shapes DEBUG attributes# = 1 +##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree +SimplePoolFile4... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile4... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile4... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile4... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile4... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 +SimplePoolFile4... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 +SimplePoolFile4... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] +SimplePoolFile4... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 +##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Links +##Links DEBUG Opening +##Links DEBUG attributes# = 1 +##Links DEBUG Opened container ##Links of type ROOT_Tree +SimplePoolFile4... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (7 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +SimplePoolFile4... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) +SimplePoolFile4... DEBUG ---->ClassID:???? +##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Params +##Params DEBUG Opening +##Params DEBUG attributes# = 1 +##Params DEBUG Opened container ##Params of type ROOT_Tree +SimplePoolFile4... DEBUG --->Reading Param:FID=[????] +SimplePoolFile4... DEBUG --->Reading Param:PFN=[SimplePoolFile4.root] +SimplePoolFile4... DEBUG --->Reading Param:POOL_VSN=[1.1] +SimplePoolFile4... DEBUG --->Reading Param:FORMAT_VSN=[1.1] +##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. +RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG File name SimplePoolFile4.root +RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 +RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 +RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 +RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG File name SimplePoolFile4.root +RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 +RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [TREE_CACHE_SIZE]: 100000 +MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile4.root +MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile4.root +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) +MetaDataHdr(Dat... DEBUG Opening +MetaDataHdr(Dat... DEBUG attributes# = 1 +MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' +MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) +MetaDataHdrForm... DEBUG Opening +MetaDataHdrForm... DEBUG attributes# = 1 +MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' +MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree +MetaDataSvc DEBUG Loaded input meta data store proxies +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start of run 2 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #20, run #2 30 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 20 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 31 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #21, run #2 31 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 21 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #21, run #2 32 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #22, run #2 32 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 22 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #22, run #2 33 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #23, run #2 33 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 23 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #23, run #2 34 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #24, run #2 34 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 24 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #24, run #2 35 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #25, run #2 35 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 25 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #25, run #2 36 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #26, run #2 36 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 26 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #26, run #2 37 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #27, run #2 37 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 27 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #27, run #2 38 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #28, run #2 38 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 28 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #28, run #2 39 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #29, run #2 39 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 29 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #29, run #2 40 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #30, run #2 40 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 30 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #30, run #2 41 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #31, run #2 41 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 31 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #31, run #2 42 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #32, run #2 42 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 32 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #32, run #2 43 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #33, run #2 43 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 33 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #33, run #2 44 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #34, run #2 44 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 34 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #34, run #2 45 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #35, run #2 45 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 35 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #35, run #2 46 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #36, run #2 46 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 36 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #36, run #2 47 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #37, run #2 47 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 37 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #37, run #2 48 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #38, run #2 48 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 38 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #38, run #2 49 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #39, run #2 49 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 39 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 50 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -EventSelector INFO Disconnecting input sourceID: ???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile4.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile4.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile4.root -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile4... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile4... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile4... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile4... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile4... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile4... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile4... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile4... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile4... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -SimplePoolFile4... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile4... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile4... DEBUG --->Reading Param:FID=[????] -SimplePoolFile4... DEBUG --->Reading Param:PFN=[SimplePoolFile4.root] -SimplePoolFile4... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile4... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile4.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile4.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile4.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile4.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile4.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile4.root -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile4.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile4.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) +POOLContainer(D... DEBUG Opening +POOLContainer(D... DEBUG attributes# = 1 +POOLContainer(D... DEBUG Branch container 'DataHeader' +POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree +SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) +POOLContainerFo... DEBUG Opening +POOLContainerFo... DEBUG attributes# = 1 +POOLContainerFo... DEBUG Branch container 'DataHeaderForm' +POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree +AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) @@ -2116,8 +1404,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 30 events processed so far <<<=== ReadData DEBUG in execute() SimplePoolFile4... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) MetaData(EventS... DEBUG Opening @@ -2142,18 +1429,18 @@ ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 31 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 31 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2168,18 +1455,18 @@ ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 32 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 32 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2194,18 +1481,18 @@ ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 33 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 33 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2220,18 +1507,18 @@ ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 34 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 34 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2246,18 +1533,18 @@ ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 35 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 35 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2272,18 +1559,18 @@ ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 36 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 36 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2298,18 +1585,18 @@ ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 37 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 37 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2324,18 +1611,18 @@ ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 38 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 38 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2350,18 +1637,18 @@ ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 39 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 39 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2376,18 +1663,18 @@ ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 40 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 40 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2402,18 +1689,18 @@ ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 41 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 41 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2428,18 +1715,18 @@ ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 42 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 42 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2454,18 +1741,18 @@ ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 43 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 43 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2480,18 +1767,18 @@ ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 44 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 44 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2506,18 +1793,18 @@ ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 45 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 45 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2532,18 +1819,18 @@ ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 46 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 46 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2558,18 +1845,18 @@ ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 47 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 47 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2584,18 +1871,18 @@ ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 48 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 48 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2610,18 +1897,18 @@ ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 49 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 49 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2636,15 +1923,16 @@ ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19064 +PoolSvc INFO Database (SimplePoolFile4.root) attribute [BYTES_READ]: 19066 PoolSvc INFO Database (SimplePoolFile4.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 50 events processed so far <<<=== MetaDataSvc DEBUG handle() EndInputFile for FID:???? EventSelector INFO Disconnecting input sourceID: ???? Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize ReadData INFO in finalize() @@ -2654,9 +1942,9 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #=124 -cObj_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.175(+- 1.31)/ 0/ 10 [ms] #=114 -ChronoStatSvc INFO Time User : Tot= 0.79 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.099(+- 0.99)/ 0/ 10 [ms] #=101 +cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.326(+- 1.78)/ 0/ 10 [ms] #= 92 +ChronoStatSvc INFO Time User : Tot= 0.51 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBN.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBN.ref deleted file mode 100644 index 01f968c229097713833f9ff5b041c76a18674f6f..0000000000000000000000000000000000000000 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadBN.ref +++ /dev/null @@ -1,3089 +0,0 @@ -Fri Sep 28 09:36:06 CDT 2018 -Preloading tcmalloc_minimal.so -Athena INFO including file "AthenaCommon/Preparation.py" -Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" -Athena INFO executing ROOT6Setup -Athena INFO including file "AthenaCommon/Execution.py" -Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadBNJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5500 configurables from 17 genConfDb files -Py:ConfigurableDb INFO No duplicates have been found: that's good ! -Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 -ApplicationMgr SUCCESS -==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Fri Sep 28 09:36:15 2018 -==================================================================================================================================== -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 -AthDictLoaderSvc INFO in initialize... -AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2946 CLIDRegistry entries for module ALL -CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) -AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 -ClassIDSvc INFO getRegistryEntries: read 889 CLIDRegistry entries for module ALL -ReadData DEBUG Property update for OutputLevel : new value = 2 -ReadData INFO in initialize() -MetaDataSvc DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 -MetaDataSvc DEBUG Service base class initialized successfully -AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 -PoolSvc DEBUG Property update for OutputLevel : new value = 2 -PoolSvc DEBUG Service base class initialized successfully -PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled -PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-24T2109/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] -PoolSvc INFO Successfully setup replica sorting algorithm -PoolSvc DEBUG OutputLevel is -PoolSvc INFO Setting up APR FileCatalog and Streams -PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) -EventSelector DEBUG Property update for OutputLevel : new value = 2 -EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 -EventSelector DEBUG Service base class initialized successfully -IoComponentMgr INFO IoComponent EventSelector has already had file EmptyPoolFile.root registered with i/o mode READ -EventSelector INFO reinitialization... -EventSelector INFO EventSelection with query -EventSelector DEBUG Try item: "EmptyPoolFile.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '????' tech=ROOT_All -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 3 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Param:FID=[????] -EmptyPoolFile.root DEBUG --->Reading Param:PFN=[EmptyPoolFile.root] -EmptyPoolFile.root DEBUG --->Reading Param:POOL_VSN=[1.1] -EmptyPoolFile.root DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -PoolSvc INFO Failed to find container POOLContainer(DataHeader) to create POOL collection. -PoolSvc INFO Failed to find container POOLContainer_DataHeader to create POOL collection. -EventSelector DEBUG No events found in: EmptyPoolFile.root skipped!!! -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile1.root" from the collection list. -MetaDataSvc DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc DEBUG initInputMetaDataStore: file name FID:???? -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile1.root -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Param:FID=[????] -SimplePoolFile1... DEBUG --->Reading Param:PFN=[SimplePoolFile1.root] -SimplePoolFile1... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile1... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -ClassIDSvc INFO getRegistryEntries: read 1964 CLIDRegistry entries for module ALL -EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 -AthenaPoolAddre... DEBUG Service base class initialized successfully -AthenaPoolAddre... INFO BackNavigationScope for: ExampleHitContainer#MyHits :: Stream1 -ReadData DEBUG input handles: 2 -ReadData DEBUG output handles: 0 -ReadData DEBUG Data Deps for ReadData - + INPUT ( 'ExampleHitContainer' , 'StoreGateSvc+MyHits' ) - + INPUT ( 'ExampleTrackContainer' , 'StoreGateSvc+MyTracks' ) -HistogramPersis...WARNING Histograms saving not required. -AthenaEventLoopMgr INFO Setup EventSelector service EventSelector -ApplicationMgr INFO Application Manager Initialized successfully -EventSelector DEBUG Try item: "EmptyPoolFile.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '????' tech=ROOT_All -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 3 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Param:FID=[????] -EmptyPoolFile.root DEBUG --->Reading Param:PFN=[EmptyPoolFile.root] -EmptyPoolFile.root DEBUG --->Reading Param:POOL_VSN=[1.1] -EmptyPoolFile.root DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -PoolSvc INFO Failed to find container POOLContainer(DataHeader) to create POOL collection. -PoolSvc INFO Failed to find container POOLContainer_DataHeader to create POOL collection. -EventSelector DEBUG No events found in: EmptyPoolFile.root skipped!!! -MetaDataSvc DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc DEBUG initInputMetaDataStore: file name EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -ClassIDSvc INFO getRegistryEntries: read 2 CLIDRegistry entries for module ALL -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData -MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -EventSelector DEBUG Try item: "SimplePoolFile1.root" from the collection list. -ApplicationMgr INFO Application Manager Started successfully -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile1.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile1.root -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector INFO skipping event 1 -EventSelector INFO skipping event 2 -EventSelector INFO skipping event 3 -EventSelector INFO skipping event 4 -EventSelector INFO skipping event 5 -EventSelector INFO skipping event 6 -EventSelector INFO skipping event 7 -EventSelector INFO skipping event 8 -EventSelector INFO skipping event 9 -EventSelector INFO skipping event 10 -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AlgResourcePool INFO TopAlg list empty. Recovering the one of Application Manager -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' -CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaPoolConve... INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector -ClassIDSvc INFO getRegistryEntries: read 15 CLIDRegistry entries for module ALL -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 0 events processed so far <<<=== -ReadData DEBUG in execute() -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -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 = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 10 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' -CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -ReadData INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector -ReadData INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector -ReadData INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector -ReadData INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector -ReadData INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector -ReadData INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector -ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector -ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector -ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector -ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -ClassIDSvc INFO getRegistryEntries: read 10 CLIDRegistry entries for module ALL -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 1 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector -ReadData INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector -ReadData INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector -ReadData INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector -ReadData INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector -ReadData INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector -ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector -ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector -ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector -ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 2 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector -ReadData INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector -ReadData INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector -ReadData INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector -ReadData INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector -ReadData INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector -ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector -ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector -ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector -ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 3 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 13 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector -ReadData INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector -ReadData INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector -ReadData INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector -ReadData INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector -ReadData INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector -ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector -ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector -ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector -ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 4 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector -ReadData INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector -ReadData INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector -ReadData INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector -ReadData INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector -ReadData INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector -ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector -ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector -ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector -ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 5 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector -ReadData INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector -ReadData INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector -ReadData INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector -ReadData INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector -ReadData INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector -ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector -ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector -ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector -ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 6 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector -ReadData INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector -ReadData INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector -ReadData INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector -ReadData INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector -ReadData INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector -ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector -ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector -ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector -ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 7 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector -ReadData INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector -ReadData INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector -ReadData INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector -ReadData INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector -ReadData INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector -ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector -ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector -ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector -ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 8 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector -ReadData INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector -ReadData INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector -ReadData INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector -ReadData INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector -ReadData INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector -ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector -ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector -ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector -ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 9 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector -ReadData INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector -ReadData INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector -ReadData INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector -ReadData INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector -ReadData INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector -ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector -ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector -ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector -ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20090 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -EventSelector INFO Disconnecting input sourceID: ???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "EmptyPoolFile.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 3 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Param:FID=[????] -EmptyPoolFile.root DEBUG --->Reading Param:PFN=[EmptyPoolFile.root] -EmptyPoolFile.root DEBUG --->Reading Param:POOL_VSN=[1.1] -EmptyPoolFile.root DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -PoolSvc INFO Failed to find container POOLContainer(DataHeader) to create POOL collection. -PoolSvc INFO Failed to find container POOLContainer_DataHeader to create POOL collection. -EventSelector DEBUG No events found in: EmptyPoolFile.root skipped!!! -MetaDataSvc DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc DEBUG initInputMetaDataStore: file name EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile2.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile2.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile2.root -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile2... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 6 Entries in total. -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile2... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (6 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (c , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (d , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile2... DEBUG --->Reading Param:FID=[????] -SimplePoolFile2... DEBUG --->Reading Param:PFN=[SimplePoolFile2.root] -SimplePoolFile2... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile2... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile2.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile2.root -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000] -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' -CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 10 events processed so far <<<=== -ReadData DEBUG in execute() -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream2' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 11 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 1 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 12 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 2 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 13 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 3 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 14 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 4 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 15 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 5 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 16 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 17 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 7 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 18 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 8 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 19 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 20 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 10 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 21 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 22 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 23 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 13 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 24 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 25 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 26 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 27 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 28 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 29 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18809 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start of run 2 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #20, run #2 30 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 20 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 31 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #21, run #2 31 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 21 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #21, run #2 32 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #22, run #2 32 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 22 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #22, run #2 33 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #23, run #2 33 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 23 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #23, run #2 34 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #24, run #2 34 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 24 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #24, run #2 35 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #25, run #2 35 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 25 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #25, run #2 36 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #26, run #2 36 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 26 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #26, run #2 37 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #27, run #2 37 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 27 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #27, run #2 38 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #28, run #2 38 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 28 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #28, run #2 39 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #29, run #2 39 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 29 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #29, run #2 40 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #30, run #2 40 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 30 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #30, run #2 41 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #31, run #2 41 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 31 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #31, run #2 42 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #32, run #2 42 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 32 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #32, run #2 43 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #33, run #2 43 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 33 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #33, run #2 44 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #34, run #2 44 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 34 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #34, run #2 45 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #35, run #2 45 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 35 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #35, run #2 46 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #36, run #2 46 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 36 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #36, run #2 47 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #37, run #2 47 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 37 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #37, run #2 48 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #38, run #2 48 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 38 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #38, run #2 49 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #39, run #2 49 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 39 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20432 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 25 -AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 50 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -EventSelector INFO Disconnecting input sourceID: ???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile3.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile3.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Param:FID=[????] -SimplePoolFile3... DEBUG --->Reading Param:PFN=[SimplePoolFile3.root] -SimplePoolFile3... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile3... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile3.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' -CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 50 events processed so far <<<=== -ReadData DEBUG in execute() -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' -CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector = Track made in: DummyHitDetector -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile1.root -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Param:FID=[????] -SimplePoolFile1... DEBUG --->Reading Param:PFN=[SimplePoolFile1.root] -SimplePoolFile1... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile1... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG Found Address: 0x???? -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' -CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -ReadData INFO ElementLink1 = 1.2345 -ReadData INFO ElementLink2 = 30.1245 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1.2345 -ReadData INFO Element = 0x???? : 4.4445 -ReadData INFO Element = 0x???? : 10.8645 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1.2345 -ReadData INFO Element = 0x???? : 17.2845 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1.2345 -ReadData INFO Element = 0x???? : 17.2845 -ReadData INFO Element = 0x???? : 10.8645 -ReadData INFO Hit x = 1.2345 y = 97.655 z = 226.672 detector = DummyHitDetector -ReadData INFO Hit x = 4.4445 y = 91.9761 z = 94.7318 detector = DummyHitDetector -ReadData INFO Hit x = 7.6545 y = 86.2972 z = 70.2348 detector = DummyHitDetector -ReadData INFO Hit x = 10.8645 y = 80.6183 z = 59.9142 detector = DummyHitDetector -ReadData INFO Hit x = 14.0745 y = 74.9394 z = 54.2259 detector = DummyHitDetector -ReadData INFO Hit x = 17.2845 y = 69.2605 z = 50.6227 detector = DummyHitDetector -ReadData INFO Hit x = 20.4945 y = 63.5816 z = 48.1358 detector = DummyHitDetector -ReadData INFO Hit x = 23.7045 y = 57.9027 z = 46.3159 detector = DummyHitDetector -ReadData INFO Hit x = 26.9145 y = 52.2238 z = 44.9265 detector = DummyHitDetector -ReadData INFO Hit x = 30.1245 y = 46.5449 z = 43.831 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 51 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 51 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 1 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 101.234 -ReadData INFO ElementLink2 = 130.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 101.234 -ReadData INFO Element = 0x???? : 104.444 -ReadData INFO Element = 0x???? : 110.864 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 101.234 -ReadData INFO Element = 0x???? : 117.284 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 101.234 -ReadData INFO Element = 0x???? : 117.284 -ReadData INFO Element = 0x???? : 110.864 -ReadData INFO Hit x = 101.234 y = 97.655 z = 126.672 detector = DummyHitDetector -ReadData INFO Hit x = 104.444 y = 91.9761 z = -5.26816 detector = DummyHitDetector -ReadData INFO Hit x = 107.654 y = 86.2972 z = -29.7652 detector = DummyHitDetector -ReadData INFO Hit x = 110.864 y = 80.6183 z = -40.0858 detector = DummyHitDetector -ReadData INFO Hit x = 114.075 y = 74.9394 z = -45.7741 detector = DummyHitDetector -ReadData INFO Hit x = 117.284 y = 69.2605 z = -49.3773 detector = DummyHitDetector -ReadData INFO Hit x = 120.494 y = 63.5816 z = -51.8642 detector = DummyHitDetector -ReadData INFO Hit x = 123.704 y = 57.9027 z = -53.6841 detector = DummyHitDetector -ReadData INFO Hit x = 126.915 y = 52.2238 z = -55.0735 detector = DummyHitDetector -ReadData INFO Hit x = 130.125 y = 46.5449 z = -56.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 52 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 52 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 2 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 201.234 -ReadData INFO ElementLink2 = 230.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 201.234 -ReadData INFO Element = 0x???? : 204.445 -ReadData INFO Element = 0x???? : 210.864 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 201.234 -ReadData INFO Element = 0x???? : 217.285 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 201.234 -ReadData INFO Element = 0x???? : 217.285 -ReadData INFO Element = 0x???? : 210.864 -ReadData INFO Hit x = 201.234 y = 97.655 z = 26.6723 detector = DummyHitDetector -ReadData INFO Hit x = 204.445 y = 91.9761 z = -105.268 detector = DummyHitDetector -ReadData INFO Hit x = 207.654 y = 86.2972 z = -129.765 detector = DummyHitDetector -ReadData INFO Hit x = 210.864 y = 80.6183 z = -140.086 detector = DummyHitDetector -ReadData INFO Hit x = 214.075 y = 74.9394 z = -145.774 detector = DummyHitDetector -ReadData INFO Hit x = 217.285 y = 69.2605 z = -149.377 detector = DummyHitDetector -ReadData INFO Hit x = 220.494 y = 63.5816 z = -151.864 detector = DummyHitDetector -ReadData INFO Hit x = 223.704 y = 57.9027 z = -153.684 detector = DummyHitDetector -ReadData INFO Hit x = 226.915 y = 52.2238 z = -155.073 detector = DummyHitDetector -ReadData INFO Hit x = 230.125 y = 46.5449 z = -156.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 53 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 53 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 3 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 301.235 -ReadData INFO ElementLink2 = 330.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 301.235 -ReadData INFO Element = 0x???? : 304.445 -ReadData INFO Element = 0x???? : 310.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 301.235 -ReadData INFO Element = 0x???? : 317.285 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 301.235 -ReadData INFO Element = 0x???? : 317.285 -ReadData INFO Element = 0x???? : 310.865 -ReadData INFO Hit x = 301.235 y = 97.655 z = -73.3277 detector = DummyHitDetector -ReadData INFO Hit x = 304.445 y = 91.9761 z = -205.268 detector = DummyHitDetector -ReadData INFO Hit x = 307.655 y = 86.2972 z = -229.765 detector = DummyHitDetector -ReadData INFO Hit x = 310.865 y = 80.6183 z = -240.086 detector = DummyHitDetector -ReadData INFO Hit x = 314.075 y = 74.9394 z = -245.774 detector = DummyHitDetector -ReadData INFO Hit x = 317.285 y = 69.2605 z = -249.377 detector = DummyHitDetector -ReadData INFO Hit x = 320.495 y = 63.5816 z = -251.864 detector = DummyHitDetector -ReadData INFO Hit x = 323.705 y = 57.9027 z = -253.684 detector = DummyHitDetector -ReadData INFO Hit x = 326.915 y = 52.2238 z = -255.073 detector = DummyHitDetector -ReadData INFO Hit x = 330.125 y = 46.5449 z = -256.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 54 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 54 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 4 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 401.235 -ReadData INFO ElementLink2 = 430.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 401.235 -ReadData INFO Element = 0x???? : 404.445 -ReadData INFO Element = 0x???? : 410.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 401.235 -ReadData INFO Element = 0x???? : 417.285 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 401.235 -ReadData INFO Element = 0x???? : 417.285 -ReadData INFO Element = 0x???? : 410.865 -ReadData INFO Hit x = 401.235 y = 97.655 z = -173.328 detector = DummyHitDetector -ReadData INFO Hit x = 404.445 y = 91.9761 z = -305.268 detector = DummyHitDetector -ReadData INFO Hit x = 407.655 y = 86.2972 z = -329.765 detector = DummyHitDetector -ReadData INFO Hit x = 410.865 y = 80.6183 z = -340.086 detector = DummyHitDetector -ReadData INFO Hit x = 414.075 y = 74.9394 z = -345.774 detector = DummyHitDetector -ReadData INFO Hit x = 417.285 y = 69.2605 z = -349.377 detector = DummyHitDetector -ReadData INFO Hit x = 420.495 y = 63.5816 z = -351.864 detector = DummyHitDetector -ReadData INFO Hit x = 423.705 y = 57.9027 z = -353.684 detector = DummyHitDetector -ReadData INFO Hit x = 426.915 y = 52.2238 z = -355.073 detector = DummyHitDetector -ReadData INFO Hit x = 430.125 y = 46.5449 z = -356.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 55 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 55 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 5 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 501.235 -ReadData INFO ElementLink2 = 530.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 501.235 -ReadData INFO Element = 0x???? : 504.445 -ReadData INFO Element = 0x???? : 510.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 501.235 -ReadData INFO Element = 0x???? : 517.284 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 501.235 -ReadData INFO Element = 0x???? : 517.284 -ReadData INFO Element = 0x???? : 510.865 -ReadData INFO Hit x = 501.235 y = 97.655 z = -273.328 detector = DummyHitDetector -ReadData INFO Hit x = 504.445 y = 91.9761 z = -405.268 detector = DummyHitDetector -ReadData INFO Hit x = 507.655 y = 86.2972 z = -429.765 detector = DummyHitDetector -ReadData INFO Hit x = 510.865 y = 80.6183 z = -440.086 detector = DummyHitDetector -ReadData INFO Hit x = 514.075 y = 74.9394 z = -445.774 detector = DummyHitDetector -ReadData INFO Hit x = 517.284 y = 69.2605 z = -449.377 detector = DummyHitDetector -ReadData INFO Hit x = 520.495 y = 63.5816 z = -451.864 detector = DummyHitDetector -ReadData INFO Hit x = 523.705 y = 57.9027 z = -453.684 detector = DummyHitDetector -ReadData INFO Hit x = 526.914 y = 52.2238 z = -455.073 detector = DummyHitDetector -ReadData INFO Hit x = 530.125 y = 46.5449 z = -456.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 56 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 56 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 601.235 -ReadData INFO ElementLink2 = 630.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 601.235 -ReadData INFO Element = 0x???? : 604.445 -ReadData INFO Element = 0x???? : 610.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 601.235 -ReadData INFO Element = 0x???? : 617.284 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 601.235 -ReadData INFO Element = 0x???? : 617.284 -ReadData INFO Element = 0x???? : 610.865 -ReadData INFO Hit x = 601.235 y = 97.655 z = -373.328 detector = DummyHitDetector -ReadData INFO Hit x = 604.445 y = 91.9761 z = -505.268 detector = DummyHitDetector -ReadData INFO Hit x = 607.654 y = 86.2972 z = -529.765 detector = DummyHitDetector -ReadData INFO Hit x = 610.865 y = 80.6183 z = -540.086 detector = DummyHitDetector -ReadData INFO Hit x = 614.075 y = 74.9394 z = -545.774 detector = DummyHitDetector -ReadData INFO Hit x = 617.284 y = 69.2605 z = -549.377 detector = DummyHitDetector -ReadData INFO Hit x = 620.495 y = 63.5816 z = -551.864 detector = DummyHitDetector -ReadData INFO Hit x = 623.705 y = 57.9027 z = -553.684 detector = DummyHitDetector -ReadData INFO Hit x = 626.914 y = 52.2238 z = -555.073 detector = DummyHitDetector -ReadData INFO Hit x = 630.125 y = 46.5449 z = -556.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 57 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 57 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 7 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 701.235 -ReadData INFO ElementLink2 = 730.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 701.235 -ReadData INFO Element = 0x???? : 704.445 -ReadData INFO Element = 0x???? : 710.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 701.235 -ReadData INFO Element = 0x???? : 717.284 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 701.235 -ReadData INFO Element = 0x???? : 717.284 -ReadData INFO Element = 0x???? : 710.865 -ReadData INFO Hit x = 701.235 y = 97.655 z = -473.328 detector = DummyHitDetector -ReadData INFO Hit x = 704.445 y = 91.9761 z = -605.268 detector = DummyHitDetector -ReadData INFO Hit x = 707.654 y = 86.2972 z = -629.765 detector = DummyHitDetector -ReadData INFO Hit x = 710.865 y = 80.6183 z = -640.086 detector = DummyHitDetector -ReadData INFO Hit x = 714.075 y = 74.9394 z = -645.774 detector = DummyHitDetector -ReadData INFO Hit x = 717.284 y = 69.2605 z = -649.377 detector = DummyHitDetector -ReadData INFO Hit x = 720.495 y = 63.5816 z = -651.864 detector = DummyHitDetector -ReadData INFO Hit x = 723.705 y = 57.9027 z = -653.684 detector = DummyHitDetector -ReadData INFO Hit x = 726.914 y = 52.2238 z = -655.073 detector = DummyHitDetector -ReadData INFO Hit x = 730.125 y = 46.5449 z = -656.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 58 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 58 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 8 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 801.235 -ReadData INFO ElementLink2 = 830.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 801.235 -ReadData INFO Element = 0x???? : 804.445 -ReadData INFO Element = 0x???? : 810.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 801.235 -ReadData INFO Element = 0x???? : 817.284 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 801.235 -ReadData INFO Element = 0x???? : 817.284 -ReadData INFO Element = 0x???? : 810.865 -ReadData INFO Hit x = 801.235 y = 97.655 z = -573.328 detector = DummyHitDetector -ReadData INFO Hit x = 804.445 y = 91.9761 z = -705.268 detector = DummyHitDetector -ReadData INFO Hit x = 807.654 y = 86.2972 z = -729.765 detector = DummyHitDetector -ReadData INFO Hit x = 810.865 y = 80.6183 z = -740.086 detector = DummyHitDetector -ReadData INFO Hit x = 814.075 y = 74.9394 z = -745.774 detector = DummyHitDetector -ReadData INFO Hit x = 817.284 y = 69.2605 z = -749.377 detector = DummyHitDetector -ReadData INFO Hit x = 820.495 y = 63.5816 z = -751.864 detector = DummyHitDetector -ReadData INFO Hit x = 823.705 y = 57.9027 z = -753.684 detector = DummyHitDetector -ReadData INFO Hit x = 826.914 y = 52.2238 z = -755.073 detector = DummyHitDetector -ReadData INFO Hit x = 830.125 y = 46.5449 z = -756.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 59 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 59 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 901.235 -ReadData INFO ElementLink2 = 930.125 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 901.235 -ReadData INFO Element = 0x???? : 904.445 -ReadData INFO Element = 0x???? : 910.865 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 901.235 -ReadData INFO Element = 0x???? : 917.284 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 901.235 -ReadData INFO Element = 0x???? : 917.284 -ReadData INFO Element = 0x???? : 910.865 -ReadData INFO Hit x = 901.235 y = 97.655 z = -673.328 detector = DummyHitDetector -ReadData INFO Hit x = 904.445 y = 91.9761 z = -805.268 detector = DummyHitDetector -ReadData INFO Hit x = 907.654 y = 86.2972 z = -829.765 detector = DummyHitDetector -ReadData INFO Hit x = 910.865 y = 80.6183 z = -840.086 detector = DummyHitDetector -ReadData INFO Hit x = 914.075 y = 74.9394 z = -845.774 detector = DummyHitDetector -ReadData INFO Hit x = 917.284 y = 69.2605 z = -849.377 detector = DummyHitDetector -ReadData INFO Hit x = 920.495 y = 63.5816 z = -851.864 detector = DummyHitDetector -ReadData INFO Hit x = 923.705 y = 57.9027 z = -853.684 detector = DummyHitDetector -ReadData INFO Hit x = 926.914 y = 52.2238 z = -855.073 detector = DummyHitDetector -ReadData INFO Hit x = 930.125 y = 46.5449 z = -856.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 60 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 60 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 10 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1001.23 -ReadData INFO ElementLink2 = 1030.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1001.23 -ReadData INFO Element = 0x???? : 1004.44 -ReadData INFO Element = 0x???? : 1010.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1001.23 -ReadData INFO Element = 0x???? : 1017.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1001.23 -ReadData INFO Element = 0x???? : 1017.28 -ReadData INFO Element = 0x???? : 1010.86 -ReadData INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector -ReadData INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector -ReadData INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector -ReadData INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector -ReadData INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector -ReadData INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector -ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector -ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector -ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector -ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 61 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 61 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1101.23 -ReadData INFO ElementLink2 = 1130.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1101.23 -ReadData INFO Element = 0x???? : 1104.44 -ReadData INFO Element = 0x???? : 1110.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1101.23 -ReadData INFO Element = 0x???? : 1117.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1101.23 -ReadData INFO Element = 0x???? : 1117.28 -ReadData INFO Element = 0x???? : 1110.86 -ReadData INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector -ReadData INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector -ReadData INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector -ReadData INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector -ReadData INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector -ReadData INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector -ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector -ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector -ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector -ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 62 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 62 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1201.23 -ReadData INFO ElementLink2 = 1230.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1201.23 -ReadData INFO Element = 0x???? : 1204.44 -ReadData INFO Element = 0x???? : 1210.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1201.23 -ReadData INFO Element = 0x???? : 1217.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1201.23 -ReadData INFO Element = 0x???? : 1217.28 -ReadData INFO Element = 0x???? : 1210.86 -ReadData INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector -ReadData INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector -ReadData INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector -ReadData INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector -ReadData INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector -ReadData INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector -ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector -ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector -ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector -ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 63 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 63 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 13 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1301.23 -ReadData INFO ElementLink2 = 1330.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1301.23 -ReadData INFO Element = 0x???? : 1304.44 -ReadData INFO Element = 0x???? : 1310.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1301.23 -ReadData INFO Element = 0x???? : 1317.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1301.23 -ReadData INFO Element = 0x???? : 1317.28 -ReadData INFO Element = 0x???? : 1310.86 -ReadData INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector -ReadData INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector -ReadData INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector -ReadData INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector -ReadData INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector -ReadData INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector -ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector -ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector -ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector -ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 64 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 64 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1401.23 -ReadData INFO ElementLink2 = 1430.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1401.23 -ReadData INFO Element = 0x???? : 1404.44 -ReadData INFO Element = 0x???? : 1410.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1401.23 -ReadData INFO Element = 0x???? : 1417.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1401.23 -ReadData INFO Element = 0x???? : 1417.28 -ReadData INFO Element = 0x???? : 1410.86 -ReadData INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector -ReadData INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector -ReadData INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector -ReadData INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector -ReadData INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector -ReadData INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector -ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector -ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector -ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector -ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 65 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 65 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1501.23 -ReadData INFO ElementLink2 = 1530.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1501.23 -ReadData INFO Element = 0x???? : 1504.44 -ReadData INFO Element = 0x???? : 1510.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1501.23 -ReadData INFO Element = 0x???? : 1517.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1501.23 -ReadData INFO Element = 0x???? : 1517.28 -ReadData INFO Element = 0x???? : 1510.86 -ReadData INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector -ReadData INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector -ReadData INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector -ReadData INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector -ReadData INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector -ReadData INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector -ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector -ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector -ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector -ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 66 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 66 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1601.23 -ReadData INFO ElementLink2 = 1630.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1601.23 -ReadData INFO Element = 0x???? : 1604.44 -ReadData INFO Element = 0x???? : 1610.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1601.23 -ReadData INFO Element = 0x???? : 1617.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1601.23 -ReadData INFO Element = 0x???? : 1617.28 -ReadData INFO Element = 0x???? : 1610.86 -ReadData INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector -ReadData INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector -ReadData INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector -ReadData INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector -ReadData INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector -ReadData INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector -ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector -ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector -ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector -ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 67 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 67 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1701.23 -ReadData INFO ElementLink2 = 1730.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1701.23 -ReadData INFO Element = 0x???? : 1704.44 -ReadData INFO Element = 0x???? : 1710.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1701.23 -ReadData INFO Element = 0x???? : 1717.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1701.23 -ReadData INFO Element = 0x???? : 1717.28 -ReadData INFO Element = 0x???? : 1710.86 -ReadData INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector -ReadData INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector -ReadData INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector -ReadData INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector -ReadData INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector -ReadData INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector -ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector -ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector -ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector -ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 68 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 68 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1801.23 -ReadData INFO ElementLink2 = 1830.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1801.23 -ReadData INFO Element = 0x???? : 1804.44 -ReadData INFO Element = 0x???? : 1810.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1801.23 -ReadData INFO Element = 0x???? : 1817.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1801.23 -ReadData INFO Element = 0x???? : 1817.28 -ReadData INFO Element = 0x???? : 1810.86 -ReadData INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector -ReadData INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector -ReadData INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector -ReadData INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector -ReadData INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector -ReadData INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector -ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector -ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector -ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector -ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 69 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 69 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = Track made in: DummyHitDetector -AthenaPoolAddre... DEBUG Found Address: 0x???? -ReadData INFO ElementLink1 = 1901.23 -ReadData INFO ElementLink2 = 1930.12 -ReadData INFO Link ElementLinkVector = 3 -ReadData INFO Element = 0x???? : 1901.23 -ReadData INFO Element = 0x???? : 1904.44 -ReadData INFO Element = 0x???? : 1910.86 -ReadData INFO Link Navigable = 2 -ReadData INFO Element = 0x???? : 1901.23 -ReadData INFO Element = 0x???? : 1917.28 -ReadData INFO Link Weighted Navigable = 3 -ReadData INFO Element = 0x???? : 1901.23 -ReadData INFO Element = 0x???? : 1917.28 -ReadData INFO Element = 0x???? : 1910.86 -ReadData INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector -ReadData INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector -ReadData INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector -ReadData INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector -ReadData INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector -ReadData INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector -ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector -ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector -ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector -ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18966 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 70 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -EventSelector INFO Disconnecting input sourceID: ???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -MetaDataSvc DEBUG handle() LastInputFile for end -AthenaEventLoopMgr INFO No more events in event selection -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -ApplicationMgr INFO Application Manager Stopped successfully -IncidentProcAlg1 INFO Finalize -ReadData INFO in finalize() -IncidentProcAlg2 INFO Finalize -AthDictLoaderSvc INFO in finalize... -ToolSvc INFO Removing all tools created by ToolSvc -*****Chrono***** INFO **************************************************************************************************** -*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) -*****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max= 0.11(+- 1.04)/ 0/ 10 [ms] #=272 -cObj_ALL INFO Time User : Tot= 70 [ms] Ave/Min/Max=0.317(+- 2.21)/ 0/ 20 [ms] #=221 -ChronoStatSvc INFO Time User : Tot= 0.9 [s] #= 1 -*****Chrono***** INFO **************************************************************************************************** -ChronoStatSvc.f... INFO Service finalized successfully -ApplicationMgr INFO Application Manager Finalized successfully -ApplicationMgr INFO Application Manager Terminated successfully -Athena INFO leaving with code 0: "successful run" diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref index 7dfe8a69e41aaaa5bd9831d5fecaf536f25c3589..13fa64849175a9f9b4f0ef72549d69b563d12a3d 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadConcat.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:37:02 CDT 2018 +Wed Nov 7 11:53:50 CST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5414 configurables from 4 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:37:12 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on hepd-0004 on Wed Nov 7 11:53:57 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -36,18 +36,14 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2331/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 1 servers found for host hepd-0004.lcrc.anl.gov [ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -75,11 +71,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -123,19 +119,19 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -167,12 +163,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -208,11 +198,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -241,9 +231,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -274,19 +262,19 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -328,10 +316,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector INFO skipping event 1 EventSelector INFO skipping event 2 EventSelector INFO skipping event 3 @@ -344,9 +329,9 @@ EventSelector INFO skipping event 9 EventSelector INFO skipping event 10 EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 @@ -395,14 +380,14 @@ ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = Du ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -428,14 +413,14 @@ ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = Du ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -461,14 +446,14 @@ ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = Du ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -494,14 +479,14 @@ ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = Du ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -527,14 +512,14 @@ ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = Du ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -560,14 +545,14 @@ ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = Du ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -593,14 +578,14 @@ ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = Du ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -626,14 +611,14 @@ ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = Du ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -659,14 +644,14 @@ ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = Du ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -692,7 +677,7 @@ ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = Du ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19699 +PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 19700 PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? @@ -722,11 +707,11 @@ EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -755,10 +740,7 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] @@ -791,29 +773,27 @@ SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile2... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (6 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [20?] (6 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [20?] (7 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [20?] (8 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [20?] (9 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [20?] (a , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (b , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (c , ffffffff) +SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (c , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (d , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. +##Links DEBUG No objects passing selection criteria... Container has 11 Entries in total. SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Params ##Params DEBUG Opening ##Params DEBUG attributes# = 1 @@ -848,15 +828,12 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000000] SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 @@ -876,17 +853,6 @@ CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 10 events processed so far <<<=== ReadData DEBUG in execute() -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2) MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 @@ -902,14 +868,14 @@ ReadData INFO EventInfo event: 0 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000001] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 11 events processed so far <<<=== @@ -920,24 +886,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 1 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000002] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 12 events processed so far <<<=== @@ -948,24 +908,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 2 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000003] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 13 events processed so far <<<=== @@ -976,24 +930,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 3 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000004] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 14 events processed so far <<<=== @@ -1004,24 +952,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 4 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000005] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 15 events processed so far <<<=== @@ -1032,24 +974,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 5 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000006] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 16 events processed so far <<<=== @@ -1060,24 +996,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000007] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 17 events processed so far <<<=== @@ -1088,24 +1018,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 7 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000008] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 18 events processed so far <<<=== @@ -1116,24 +1040,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 8 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000009] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 19 events processed so far <<<=== @@ -1144,24 +1062,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 20 events processed so far <<<=== @@ -1172,24 +1084,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 10 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 21 events processed so far <<<=== @@ -1200,24 +1106,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 11 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 22 events processed so far <<<=== @@ -1228,24 +1128,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 23 events processed so far <<<=== @@ -1256,24 +1150,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 13 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 24 events processed so far <<<=== @@ -1284,24 +1172,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 14 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 25 events processed so far <<<=== @@ -1312,24 +1194,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000010] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 26 events processed so far <<<=== @@ -1340,24 +1216,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000011] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 27 events processed so far <<<=== @@ -1368,24 +1238,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 17 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000012] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 28 events processed so far <<<=== @@ -1396,24 +1260,18 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000005-00000013] AthenaPoolAddre... DEBUG The current Event contains: 2 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 29 events processed so far <<<=== @@ -1424,679 +1282,109 @@ ReadData INFO CLID = 2101, key = McEventInfo ReadData INFO CLID = 222376821, key = StreamX ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: ReadData INFO EventInfo event: 19 run: 1 ReadData INFO Get Smart data ptr 1 ReadData INFO Could not find ExampleTrackContainer/MyTracks ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18816 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 22 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 16730 +PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 21 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== +MetaDataSvc DEBUG handle() EndInputFile for FID:???? +EventSelector INFO Disconnecting input sourceID: ???? +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +EventSelector DEBUG Try item: "SimplePoolFile3.root" from the collection list. +PersistencySvc:... DEBUG lookupPFN: SimplePoolFile3.root returned FID: '????' tech=ROOT_All +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? +Domain[ROOT_All] INFO SimplePoolFile3.root +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes +##Shapes DEBUG Opening +##Shapes DEBUG attributes# = 1 +##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree +SimplePoolFile3... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 +SimplePoolFile3... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] +SimplePoolFile3... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 +##Shapes DEBUG No objects passing selection criteria... Container has 5 Entries in total. +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links +##Links DEBUG Opening +##Links DEBUG attributes# = 1 +##Links DEBUG Opened container ##Links of type ROOT_Tree +SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [20?] (4 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [20?] (7 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) +SimplePoolFile3... DEBUG ---->ClassID:???? +##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params +##Params DEBUG Opening +##Params DEBUG attributes# = 1 +##Params DEBUG Opened container ##Params of type ROOT_Tree +SimplePoolFile3... DEBUG --->Reading Param:FID=[????] +SimplePoolFile3... DEBUG --->Reading Param:PFN=[SimplePoolFile3.root] +SimplePoolFile3... DEBUG --->Reading Param:POOL_VSN=[1.1] +SimplePoolFile3... DEBUG --->Reading Param:FORMAT_VSN=[1.1] +##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) +POOLContainer(D... DEBUG Opening +POOLContainer(D... DEBUG attributes# = 1 +POOLContainer(D... DEBUG Branch container 'DataHeader' +POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree +RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG File name SimplePoolFile3.root +RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 +RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 +RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 +RootDatabase.se... DEBUG Request tree cache +RootDatabase.se... DEBUG File name SimplePoolFile3.root +RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 +RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000 +MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root +MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) +MetaDataHdr(Dat... DEBUG Opening +MetaDataHdr(Dat... DEBUG attributes# = 1 +MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' +MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) +MetaDataHdrForm... DEBUG Opening +MetaDataHdrForm... DEBUG attributes# = 1 +MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' +MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree +MetaDataSvc DEBUG Loaded input meta data store proxies +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start of run 2 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #20, run #2 30 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 20 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 31 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #21, run #2 31 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 21 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #21, run #2 32 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #22, run #2 32 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 22 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #22, run #2 33 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #23, run #2 33 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 23 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #23, run #2 34 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #24, run #2 34 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 24 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #24, run #2 35 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #25, run #2 35 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 25 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #25, run #2 36 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #26, run #2 36 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 26 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #26, run #2 37 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #27, run #2 37 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 27 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #27, run #2 38 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #28, run #2 38 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 28 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #28, run #2 39 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #29, run #2 39 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 29 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #29, run #2 40 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #30, run #2 40 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 30 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #30, run #2 41 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #31, run #2 41 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 31 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #31, run #2 42 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #32, run #2 42 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 32 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #32, run #2 43 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #33, run #2 43 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 33 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #33, run #2 44 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #34, run #2 44 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 34 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #34, run #2 45 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #35, run #2 45 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 35 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #35, run #2 46 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #36, run #2 46 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 36 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #36, run #2 47 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #37, run #2 47 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 37 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #37, run #2 48 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #38, run #2 48 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 38 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #38, run #2 49 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #39, run #2 49 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 39 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 19203 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 50 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -EventSelector INFO Disconnecting input sourceID: ???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile3.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile3.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 5 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (7 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Param:FID=[????] -SimplePoolFile3... DEBUG --->Reading Param:PFN=[SimplePoolFile3.root] -SimplePoolFile3... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile3... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile3.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: -1 Nevents to learn with: -1 -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile3.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects +EventSelector DEBUG AttributeList size 0 +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] +SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) +POOLContainerFo... DEBUG Opening +POOLContainerFo... DEBUG attributes# = 1 +POOLContainerFo... DEBUG Branch container 'DataHeaderForm' +POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree +AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) @@ -2104,8 +1392,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 30 events processed so far <<<=== ReadData DEBUG in execute() SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2) MetaData(EventS... DEBUG Opening @@ -2130,18 +1417,18 @@ ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 31 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 31 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2156,18 +1443,18 @@ ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 32 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 32 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2182,18 +1469,18 @@ ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 33 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 33 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2208,18 +1495,18 @@ ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 34 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 34 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2234,18 +1521,18 @@ ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 35 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 35 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2260,18 +1547,18 @@ ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 36 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 36 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2286,18 +1573,18 @@ ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 37 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 37 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2312,18 +1599,18 @@ ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 38 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 38 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2338,18 +1625,18 @@ ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 39 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 39 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2364,18 +1651,18 @@ ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 40 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 40 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2390,18 +1677,18 @@ ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 41 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 41 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2416,18 +1703,18 @@ ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 42 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 42 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2442,18 +1729,18 @@ ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 43 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 43 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2468,18 +1755,18 @@ ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 44 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 44 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2494,18 +1781,18 @@ ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 45 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 45 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2520,18 +1807,18 @@ ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 46 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 46 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2546,18 +1833,18 @@ ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 47 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 47 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2572,18 +1859,18 @@ ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detecto DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 48 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 48 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2598,18 +1885,18 @@ ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detect DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 49 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 49 events processed so far <<<=== ReadData DEBUG in execute() ReadData INFO EventStreamInfo: Number of events = 20 ReadData INFO EventStreamInfo: ItemList: @@ -2624,15 +1911,16 @@ ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = DataProxy WARNING accessData: IOA pointer not set ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18596 +PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18597 PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 21 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 50 events processed so far <<<=== Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] MetaDataSvc DEBUG handle() EndInputFile for FID:???? EventSelector INFO Disconnecting input sourceID: ???? MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize ReadData INFO in finalize() @@ -2642,9 +1930,9 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO **************************************************************************************************** *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #=124 -cObj_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.263(+- 1.6)/ 0/ 10 [ms] #=114 -ChronoStatSvc INFO Time User : Tot= 0.76 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #=101 +cObj_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.109(+- 1.04)/ 0/ 10 [ms] #= 92 +ChronoStatSvc INFO Time User : Tot= 0.5 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBN.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBN.ref deleted file mode 100644 index fca15dc8446e8c2da5d2bd46b79abc66f27881dc..0000000000000000000000000000000000000000 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReadNoBN.ref +++ /dev/null @@ -1,2590 +0,0 @@ -Thu Sep 6 17:03:52 CDT 2018 -Preloading tcmalloc_minimal.so -Athena INFO including file "AthenaCommon/Preparation.py" -Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" -Athena INFO executing ROOT6Setup -Athena INFO including file "AthenaCommon/Execution.py" -Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_ReadNoBNJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files -Py:ConfigurableDb INFO No duplicates have been found: that's good ! -Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 -ApplicationMgr SUCCESS -==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 17:04:03 2018 -==================================================================================================================================== -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 -AthDictLoaderSvc INFO in initialize... -AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL -CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) -AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 -ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL -ReadData DEBUG Property update for OutputLevel : new value = 2 -ReadData INFO in initialize() -MetaDataSvc DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 -MetaDataSvc DEBUG Service base class initialized successfully -AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 -PoolSvc DEBUG Property update for OutputLevel : new value = 2 -PoolSvc DEBUG Service base class initialized successfully -PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled -PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] -PoolSvc INFO Successfully setup replica sorting algorithm -PoolSvc DEBUG OutputLevel is -PoolSvc INFO Setting up APR FileCatalog and Streams -PoolSvc INFO POOL WriteCatalog is file:Catalog1.xml -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) -EventSelector DEBUG Property update for OutputLevel : new value = 2 -EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 -EventSelector DEBUG Service base class initialized successfully -IoComponentMgr INFO IoComponent EventSelector has already had file EmptyPoolFile.root registered with i/o mode READ -EventSelector INFO reinitialization... -EventSelector INFO EventSelection with query -EventSelector DEBUG Try item: "EmptyPoolFile.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '????' tech=ROOT_All -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 3 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Param:FID=[????] -EmptyPoolFile.root DEBUG --->Reading Param:PFN=[EmptyPoolFile.root] -EmptyPoolFile.root DEBUG --->Reading Param:POOL_VSN=[1.1] -EmptyPoolFile.root DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -PoolSvc INFO Failed to find container POOLContainer(DataHeader) to create POOL collection. -PoolSvc INFO Failed to find container POOLContainer_DataHeader to create POOL collection. -EventSelector DEBUG No events found in: EmptyPoolFile.root skipped!!! -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile1.root" from the collection list. -MetaDataSvc DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc DEBUG initInputMetaDataStore: file name FID:???? -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile1.root -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:ExampleHitContainer_p1 Typ:ExampleHitContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile1... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile1... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile1... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile1... DEBUG --->Reading Param:FID=[????] -SimplePoolFile1... DEBUG --->Reading Param:PFN=[SimplePoolFile1.root] -SimplePoolFile1... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile1... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -ClassIDSvc INFO getRegistryEntries: read 1964 CLIDRegistry entries for module ALL -EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 -AthenaPoolAddre... DEBUG Service base class initialized successfully -ReadData DEBUG input handles: 2 -ReadData DEBUG output handles: 0 -ReadData DEBUG Data Deps for ReadData - + INPUT ( 'ExampleHitContainer' , 'StoreGateSvc+MyHits' ) - + INPUT ( 'ExampleTrackContainer' , 'StoreGateSvc+MyTracks' ) -HistogramPersis...WARNING Histograms saving not required. -AthenaEventLoopMgr INFO Setup EventSelector service EventSelector -ApplicationMgr INFO Application Manager Initialized successfully -EventSelector DEBUG Try item: "EmptyPoolFile.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '????' tech=ROOT_All -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 3 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Param:FID=[????] -EmptyPoolFile.root DEBUG --->Reading Param:PFN=[EmptyPoolFile.root] -EmptyPoolFile.root DEBUG --->Reading Param:POOL_VSN=[1.1] -EmptyPoolFile.root DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -PoolSvc INFO Failed to find container POOLContainer(DataHeader) to create POOL collection. -PoolSvc INFO Failed to find container POOLContainer_DataHeader to create POOL collection. -EventSelector DEBUG No events found in: EmptyPoolFile.root skipped!!! -MetaDataSvc DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc DEBUG initInputMetaDataStore: file name EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -ClassIDSvc INFO getRegistryEntries: read 2 CLIDRegistry entries for module ALL -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData -MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -EventSelector DEBUG Try item: "SimplePoolFile1.root" from the collection list. -ApplicationMgr INFO Application Manager Started successfully -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile1.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile1.root -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector INFO skipping event 1 -EventSelector INFO skipping event 2 -EventSelector INFO skipping event 3 -EventSelector INFO skipping event 4 -EventSelector INFO skipping event 5 -EventSelector INFO skipping event 6 -EventSelector INFO skipping event 7 -EventSelector INFO skipping event 8 -EventSelector INFO skipping event 9 -EventSelector INFO skipping event 10 -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AlgResourcePool INFO TopAlg list empty. Recovering the one of Application Manager -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' -CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaPoolConve... INFO massageEventInfo: unable to get OverrideRunNumberFromInput property from EventSelector -ClassIDSvc INFO getRegistryEntries: read 15 CLIDRegistry entries for module ALL -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 0 events processed so far <<<=== -ReadData DEBUG in execute() -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -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 = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 10 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(ExampleHitContainer_p1/MyHits) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' -CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -ReadData INFO Hit x = 1001.23 y = 97.655 z = -773.328 detector = DummyHitDetector -ReadData INFO Hit x = 1004.44 y = 91.9761 z = -905.268 detector = DummyHitDetector -ReadData INFO Hit x = 1007.65 y = 86.2972 z = -929.765 detector = DummyHitDetector -ReadData INFO Hit x = 1010.86 y = 80.6183 z = -940.086 detector = DummyHitDetector -ReadData INFO Hit x = 1014.07 y = 74.9394 z = -945.774 detector = DummyHitDetector -ReadData INFO Hit x = 1017.28 y = 69.2605 z = -949.377 detector = DummyHitDetector -ReadData INFO Hit x = 1020.49 y = 63.5816 z = -951.864 detector = DummyHitDetector -ReadData INFO Hit x = 1023.7 y = 57.9027 z = -953.684 detector = DummyHitDetector -ReadData INFO Hit x = 1026.91 y = 52.2238 z = -955.073 detector = DummyHitDetector -ReadData INFO Hit x = 1030.12 y = 46.5449 z = -956.169 detector = DummyHitDetector -ClassIDSvc INFO getRegistryEntries: read 10 CLIDRegistry entries for module ALL -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 1 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 1 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1101.23 y = 97.655 z = -873.328 detector = DummyHitDetector -ReadData INFO Hit x = 1104.44 y = 91.9761 z = -1005.27 detector = DummyHitDetector -ReadData INFO Hit x = 1107.65 y = 86.2972 z = -1029.77 detector = DummyHitDetector -ReadData INFO Hit x = 1110.86 y = 80.6183 z = -1040.09 detector = DummyHitDetector -ReadData INFO Hit x = 1114.07 y = 74.9394 z = -1045.77 detector = DummyHitDetector -ReadData INFO Hit x = 1117.28 y = 69.2605 z = -1049.38 detector = DummyHitDetector -ReadData INFO Hit x = 1120.49 y = 63.5816 z = -1051.86 detector = DummyHitDetector -ReadData INFO Hit x = 1123.7 y = 57.9027 z = -1053.68 detector = DummyHitDetector -ReadData INFO Hit x = 1126.91 y = 52.2238 z = -1055.07 detector = DummyHitDetector -ReadData INFO Hit x = 1130.12 y = 46.5449 z = -1056.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 2 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 2 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1201.23 y = 97.655 z = -973.328 detector = DummyHitDetector -ReadData INFO Hit x = 1204.44 y = 91.9761 z = -1105.27 detector = DummyHitDetector -ReadData INFO Hit x = 1207.65 y = 86.2972 z = -1129.77 detector = DummyHitDetector -ReadData INFO Hit x = 1210.86 y = 80.6183 z = -1140.09 detector = DummyHitDetector -ReadData INFO Hit x = 1214.07 y = 74.9394 z = -1145.77 detector = DummyHitDetector -ReadData INFO Hit x = 1217.28 y = 69.2605 z = -1149.38 detector = DummyHitDetector -ReadData INFO Hit x = 1220.49 y = 63.5816 z = -1151.86 detector = DummyHitDetector -ReadData INFO Hit x = 1223.7 y = 57.9027 z = -1153.68 detector = DummyHitDetector -ReadData INFO Hit x = 1226.91 y = 52.2238 z = -1155.07 detector = DummyHitDetector -ReadData INFO Hit x = 1230.12 y = 46.5449 z = -1156.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 3 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 3 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 13 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1301.23 y = 97.655 z = -1073.33 detector = DummyHitDetector -ReadData INFO Hit x = 1304.44 y = 91.9761 z = -1205.27 detector = DummyHitDetector -ReadData INFO Hit x = 1307.65 y = 86.2972 z = -1229.77 detector = DummyHitDetector -ReadData INFO Hit x = 1310.86 y = 80.6183 z = -1240.09 detector = DummyHitDetector -ReadData INFO Hit x = 1314.07 y = 74.9394 z = -1245.77 detector = DummyHitDetector -ReadData INFO Hit x = 1317.28 y = 69.2605 z = -1249.38 detector = DummyHitDetector -ReadData INFO Hit x = 1320.49 y = 63.5816 z = -1251.86 detector = DummyHitDetector -ReadData INFO Hit x = 1323.7 y = 57.9027 z = -1253.68 detector = DummyHitDetector -ReadData INFO Hit x = 1326.91 y = 52.2238 z = -1255.07 detector = DummyHitDetector -ReadData INFO Hit x = 1330.12 y = 46.5449 z = -1256.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 4 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 4 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1401.23 y = 97.655 z = -1173.33 detector = DummyHitDetector -ReadData INFO Hit x = 1404.44 y = 91.9761 z = -1305.27 detector = DummyHitDetector -ReadData INFO Hit x = 1407.65 y = 86.2972 z = -1329.77 detector = DummyHitDetector -ReadData INFO Hit x = 1410.86 y = 80.6183 z = -1340.09 detector = DummyHitDetector -ReadData INFO Hit x = 1414.07 y = 74.9394 z = -1345.77 detector = DummyHitDetector -ReadData INFO Hit x = 1417.28 y = 69.2605 z = -1349.38 detector = DummyHitDetector -ReadData INFO Hit x = 1420.49 y = 63.5816 z = -1351.86 detector = DummyHitDetector -ReadData INFO Hit x = 1423.7 y = 57.9027 z = -1353.68 detector = DummyHitDetector -ReadData INFO Hit x = 1426.91 y = 52.2238 z = -1355.07 detector = DummyHitDetector -ReadData INFO Hit x = 1430.12 y = 46.5449 z = -1356.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 5 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 5 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1501.23 y = 97.655 z = -1273.33 detector = DummyHitDetector -ReadData INFO Hit x = 1504.44 y = 91.9761 z = -1405.27 detector = DummyHitDetector -ReadData INFO Hit x = 1507.65 y = 86.2972 z = -1429.77 detector = DummyHitDetector -ReadData INFO Hit x = 1510.86 y = 80.6183 z = -1440.09 detector = DummyHitDetector -ReadData INFO Hit x = 1514.07 y = 74.9394 z = -1445.77 detector = DummyHitDetector -ReadData INFO Hit x = 1517.28 y = 69.2605 z = -1449.38 detector = DummyHitDetector -ReadData INFO Hit x = 1520.49 y = 63.5816 z = -1451.86 detector = DummyHitDetector -ReadData INFO Hit x = 1523.7 y = 57.9027 z = -1453.68 detector = DummyHitDetector -ReadData INFO Hit x = 1526.91 y = 52.2238 z = -1455.07 detector = DummyHitDetector -ReadData INFO Hit x = 1530.12 y = 46.5449 z = -1456.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 6 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 6 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1601.23 y = 97.655 z = -1373.33 detector = DummyHitDetector -ReadData INFO Hit x = 1604.44 y = 91.9761 z = -1505.27 detector = DummyHitDetector -ReadData INFO Hit x = 1607.65 y = 86.2972 z = -1529.77 detector = DummyHitDetector -ReadData INFO Hit x = 1610.86 y = 80.6183 z = -1540.09 detector = DummyHitDetector -ReadData INFO Hit x = 1614.07 y = 74.9394 z = -1545.77 detector = DummyHitDetector -ReadData INFO Hit x = 1617.28 y = 69.2605 z = -1549.38 detector = DummyHitDetector -ReadData INFO Hit x = 1620.49 y = 63.5816 z = -1551.86 detector = DummyHitDetector -ReadData INFO Hit x = 1623.7 y = 57.9027 z = -1553.68 detector = DummyHitDetector -ReadData INFO Hit x = 1626.91 y = 52.2238 z = -1555.07 detector = DummyHitDetector -ReadData INFO Hit x = 1630.12 y = 46.5449 z = -1556.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 7 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 7 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1701.23 y = 97.655 z = -1473.33 detector = DummyHitDetector -ReadData INFO Hit x = 1704.44 y = 91.9761 z = -1605.27 detector = DummyHitDetector -ReadData INFO Hit x = 1707.65 y = 86.2972 z = -1629.77 detector = DummyHitDetector -ReadData INFO Hit x = 1710.86 y = 80.6183 z = -1640.09 detector = DummyHitDetector -ReadData INFO Hit x = 1714.07 y = 74.9394 z = -1645.77 detector = DummyHitDetector -ReadData INFO Hit x = 1717.28 y = 69.2605 z = -1649.38 detector = DummyHitDetector -ReadData INFO Hit x = 1720.49 y = 63.5816 z = -1651.86 detector = DummyHitDetector -ReadData INFO Hit x = 1723.7 y = 57.9027 z = -1653.68 detector = DummyHitDetector -ReadData INFO Hit x = 1726.91 y = 52.2238 z = -1655.07 detector = DummyHitDetector -ReadData INFO Hit x = 1730.12 y = 46.5449 z = -1656.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 8 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 8 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1801.23 y = 97.655 z = -1573.33 detector = DummyHitDetector -ReadData INFO Hit x = 1804.44 y = 91.9761 z = -1705.27 detector = DummyHitDetector -ReadData INFO Hit x = 1807.65 y = 86.2972 z = -1729.77 detector = DummyHitDetector -ReadData INFO Hit x = 1810.86 y = 80.6183 z = -1740.09 detector = DummyHitDetector -ReadData INFO Hit x = 1814.07 y = 74.9394 z = -1745.77 detector = DummyHitDetector -ReadData INFO Hit x = 1817.28 y = 69.2605 z = -1749.38 detector = DummyHitDetector -ReadData INFO Hit x = 1820.49 y = 63.5816 z = -1751.86 detector = DummyHitDetector -ReadData INFO Hit x = 1823.7 y = 57.9027 z = -1753.68 detector = DummyHitDetector -ReadData INFO Hit x = 1826.91 y = 52.2238 z = -1755.07 detector = DummyHitDetector -ReadData INFO Hit x = 1830.12 y = 46.5449 z = -1756.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 9 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 9 events processed so far <<<=== -ReadData DEBUG in execute() -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 = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Hit x = 1901.23 y = 97.655 z = -1673.33 detector = DummyHitDetector -ReadData INFO Hit x = 1904.44 y = 91.9761 z = -1805.27 detector = DummyHitDetector -ReadData INFO Hit x = 1907.65 y = 86.2972 z = -1829.77 detector = DummyHitDetector -ReadData INFO Hit x = 1910.86 y = 80.6183 z = -1840.09 detector = DummyHitDetector -ReadData INFO Hit x = 1914.07 y = 74.9394 z = -1845.77 detector = DummyHitDetector -ReadData INFO Hit x = 1917.28 y = 69.2605 z = -1849.38 detector = DummyHitDetector -ReadData INFO Hit x = 1920.49 y = 63.5816 z = -1851.86 detector = DummyHitDetector -ReadData INFO Hit x = 1923.7 y = 57.9027 z = -1853.68 detector = DummyHitDetector -ReadData INFO Hit x = 1926.91 y = 52.2238 z = -1855.07 detector = DummyHitDetector -ReadData INFO Hit x = 1930.12 y = 46.5449 z = -1856.17 detector = DummyHitDetector -PoolSvc INFO Database (SimplePoolFile1.root) attribute [BYTES_READ]: 20097 -PoolSvc INFO Database (SimplePoolFile1.root) attribute [READ_CALLS]: 23 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 10 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "EmptyPoolFile.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -EmptyPoolFile.root DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -EmptyPoolFile.root DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 3 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -EmptyPoolFile.root DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) -EmptyPoolFile.root DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 4 Entries in total. -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Reading Param:FID=[????] -EmptyPoolFile.root DEBUG --->Reading Param:PFN=[EmptyPoolFile.root] -EmptyPoolFile.root DEBUG --->Reading Param:POOL_VSN=[1.1] -EmptyPoolFile.root DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -PoolSvc INFO Failed to find container POOLContainer(DataHeader) to create POOL collection. -PoolSvc INFO Failed to find container POOLContainer_DataHeader to create POOL collection. -EventSelector DEBUG No events found in: EmptyPoolFile.root skipped!!! -MetaDataSvc DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc DEBUG initInputMetaDataStore: file name EmptyPoolFile.root -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -EmptyPoolFile.root DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name EmptyPoolFile.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -MetaDataSvc DEBUG handle() EndInputFile for eventless EmptyPoolFile.root -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile2.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile2.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile2.root -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile2... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile2... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile2... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 6 Entries in total. -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile2... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (5 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (6 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (c , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -SimplePoolFile2... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (d , ffffffff) -SimplePoolFile2... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile2... DEBUG --->Reading Param:FID=[????] -SimplePoolFile2... DEBUG --->Reading Param:PFN=[SimplePoolFile2.root] -SimplePoolFile2... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile2... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile2.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile2.root -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile2.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000000] -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' -CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 10 events processed so far <<<=== -ReadData DEBUG in execute() -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -SimplePoolFile2... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream2) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream2' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 11 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000001] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 11 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 1 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 12 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000002] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 12 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 2 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 13 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000003] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 13 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 3 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 14 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000004] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 14 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 4 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 15 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000005] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 15 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 5 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 16 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000006] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 16 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 17 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000007] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 17 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 7 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 18 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000008] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 18 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 8 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 19 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000009] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 19 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 20 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 20 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 10 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 21 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 21 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 22 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 22 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 23 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 23 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 13 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 24 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 24 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 25 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000000F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 25 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 26 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000010] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 26 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 27 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000011] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 27 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 28 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000012] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 28 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 29 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000013] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 29 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 18812 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 26 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 30 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000014] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start of run 2 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #20, run #2 30 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 20 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #20, run #2 31 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000015] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #21, run #2 31 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 21 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #21, run #2 32 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000016] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #22, run #2 32 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 22 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #22, run #2 33 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000017] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #23, run #2 33 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 23 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #23, run #2 34 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000018] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #24, run #2 34 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 24 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #24, run #2 35 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000019] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #25, run #2 35 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 25 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #25, run #2 36 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001A] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #26, run #2 36 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 26 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #26, run #2 37 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001B] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #27, run #2 37 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 27 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #27, run #2 38 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001C] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #28, run #2 38 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 28 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #28, run #2 39 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001D] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #29, run #2 39 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 29 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #29, run #2 40 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001E] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #30, run #2 40 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 30 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #30, run #2 41 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-0000001F] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #31, run #2 41 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 31 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #31, run #2 42 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000020] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #32, run #2 42 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 32 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #32, run #2 43 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000021] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #33, run #2 43 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 33 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #33, run #2 44 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000022] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #34, run #2 44 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 34 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #34, run #2 45 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000023] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #35, run #2 45 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 35 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #35, run #2 46 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000024] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #36, run #2 46 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 36 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #36, run #2 47 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000025] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #37, run #2 47 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 37 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #37, run #2 48 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000026] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #38, run #2 48 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 38 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #38, run #2 49 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000005-00000027] -AthenaPoolAddre... DEBUG The current Event contains: 2 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaEventLoopMgr INFO ===>>> start processing event #39, run #2 49 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 39 run: 2 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Could not find ExampleTrackContainer/MyTracks -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20438 -PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 30 -AthenaEventLoopMgr INFO ===>>> done processing event #39, run #2 50 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -EventSelector DEBUG Try item: "SimplePoolFile3.root" from the collection list. -PersistencySvc:... DEBUG lookupPFN: SimplePoolFile3.root returned FID: '????' tech=ROOT_All -DbSession INFO Open DbSession -Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Shapes -##Shapes DEBUG Opening -##Shapes DEBUG attributes# = 1 -##Shapes DEBUG Opened container ##Shapes of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Shape[0 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventInfo_p4 Typ:EventInfo_p4 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[1 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:ExampleTrackContainer_p1 Typ:ExampleTrackContainer_p1 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[2 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeaderForm_p5 Typ:DataHeaderForm_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[3 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[4 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:Token Typ:Token [18] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[5 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:unsigned int Typ:unsigned int [3] Size:0 Offset:0 #Elements:1 -SimplePoolFile3... DEBUG --->Reading Shape[6 , ????]: [1 Column(s)] -SimplePoolFile3... DEBUG ---->[0]:EventStreamInfo_p3 Typ:EventStreamInfo_p3 [21] Size:0 Offset:0 #Elements:1 -##Shapes DEBUG No objects passing selection criteria... Container has 7 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Links -##Links DEBUG Opening -##Links DEBUG attributes# = 1 -##Links DEBUG Opened container ##Links of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/CollectionTree(ExampleTrackContainer_p1/MyTracks) [202] (4 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(Token) [202] (7 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -SimplePoolFile3... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (d , ffffffff) -SimplePoolFile3... DEBUG ---->ClassID:???? -##Links DEBUG No objects passing selection criteria... Container has 12 Entries in total. -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_All] ##Params -##Params DEBUG Opening -##Params DEBUG attributes# = 1 -##Params DEBUG Opened container ##Params of type ROOT_Tree -SimplePoolFile3... DEBUG --->Reading Param:FID=[????] -SimplePoolFile3... DEBUG --->Reading Param:PFN=[SimplePoolFile3.root] -SimplePoolFile3... DEBUG --->Reading Param:POOL_VSN=[1.1] -SimplePoolFile3... DEBUG --->Reading Param:FORMAT_VSN=[1.1] -##Params DEBUG No objects passing selection criteria... Container has 4 Entries in total. -RootDatabase.se... DEBUG TREE_CACHE_LEARN_EVENTS = 6 -RootDatabase.se... DEBUG Request tree cache -RootDatabase.se... DEBUG File name SimplePoolFile3.root -RootDatabase.se... DEBUG Got tree CollectionTree read entry -1 -RootDatabase.se... DEBUG Using Tree cache. Size: 100000 Nevents to learn with: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [TREE_CACHE_SIZE]: 100000 -MetaDataSvc DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc DEBUG initInputMetaDataStore: file name SimplePoolFile3.root -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdr(DataHeader) -MetaDataHdr(Dat... DEBUG Opening -MetaDataHdr(Dat... DEBUG attributes# = 1 -MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' -MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaDataHdrForm(DataHeaderForm) -MetaDataHdrForm... DEBUG Opening -MetaDataHdrForm... DEBUG attributes# = 1 -MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' -MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name SimplePoolFile3.root -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainer(DataHeader) -POOLContainer(D... DEBUG Opening -POOLContainer(D... DEBUG attributes# = 1 -POOLContainer(D... DEBUG Branch container 'DataHeader' -POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) -POOLContainerFo... DEBUG Opening -POOLContainerFo... DEBUG attributes# = 1 -POOLContainerFo... DEBUG Branch container 'DataHeaderForm' -POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(EventInfo_p4/McEventInfo) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' -CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== -AthenaEventLoopMgr INFO ===>>> start processing event #0, run #1 50 events processed so far <<<=== -ReadData DEBUG in execute() -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] MetaData(EventStreamInfo_p3/Stream1) -MetaData(EventS... DEBUG Opening -MetaData(EventS... DEBUG attributes# = 1 -MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' -MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -SimplePoolFile3... DEBUG --> Access DbContainer READ [ROOT_Tree] CollectionTree(ExampleTrackContainer_p1/MyTracks) -CollectionTree(... DEBUG Opening -CollectionTree(... DEBUG attributes# = 1 -CollectionTree(... DEBUG Branch container 'ExampleTrackContainer_p1_MyTracks' -CollectionTree(... DEBUG Opened container CollectionTree(ExampleTrackContainer_p1/MyTracks) of type ROOT_Tree -ReadData INFO Track pt = 74.8928 eta = 3.1676 phi = 2.6161 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 51 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #1, run #1 51 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 1 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 137.584 eta = -39.525 phi = 17.2679 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 52 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #2, run #1 52 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 2 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 228.154 eta = -6.2704 phi = 31.9197 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 53 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #3, run #1 53 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 3 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 324.306 eta = -15.8941 phi = 46.5715 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 54 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #4, run #1 54 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 4 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 422.255 eta = -13.279 phi = 61.2233 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 55 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #5, run #1 55 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 5 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 520.987 eta = -12.3511 phi = 75.8751 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 56 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #6, run #1 56 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 620.127 eta = -11.8468 phi = 90.5269 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 57 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #7, run #1 57 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 7 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 719.507 eta = -11.5247 phi = 105.179 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 58 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #8, run #1 58 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 8 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 819.038 eta = -11.2998 phi = 119.831 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 59 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #9, run #1 59 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 918.671 eta = -11.1334 phi = 134.482 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 60 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #10, run #1 60 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 10 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1018.38 eta = -11.0052 phi = 149.134 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 61 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #11, run #1 61 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 11 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1118.13 eta = -10.9031 phi = 163.786 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 62 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #12, run #1 62 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1217.93 eta = -10.82 phi = 178.438 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 63 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #13, run #1 63 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 13 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1317.76 eta = -10.751 phi = 193.09 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 64 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #14, run #1 64 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 14 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1417.61 eta = -10.6927 phi = 207.741 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 65 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #15, run #1 65 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1517.49 eta = -10.6429 phi = 222.393 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 66 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #16, run #1 66 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1617.37 eta = -10.5997 phi = 237.045 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 67 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #17, run #1 67 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 17 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1717.27 eta = -10.562 phi = 251.697 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 68 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #18, run #1 68 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -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: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1817.19 eta = -10.5288 phi = 266.349 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 69 events processed so far <<<=== -EventSelector DEBUG Get AttributeList from the collection -EventSelector DEBUG AttributeList size 3 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] -AthenaPoolAddre... DEBUG The current Event contains: 3 objects -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo -AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9103, name = MyTracks -AthenaEventLoopMgr INFO ===>>> start processing event #19, run #1 69 events processed so far <<<=== -ReadData DEBUG in execute() -ReadData INFO EventStreamInfo: Number of events = 20 -ReadData INFO EventStreamInfo: ItemList: -ReadData INFO CLID = 2101, key = McEventInfo -ReadData INFO CLID = 9103, key = MyTracks -ReadData INFO CLID = 222376821, key = StreamX -ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics -ReadData INFO TagInfo: -ReadData INFO EventInfo event: 19 run: 1 -ReadData INFO Get Smart data ptr 1 -ReadData INFO Track pt = 1917.11 eta = -10.4993 phi = 281 detector = Track made in: DummyHitDetector -DataProxy WARNING accessData: IOA pointer not set -ReadData WARNING Could not follow ExampleTrackContainer/MyTracks ElementLinks to ExampleHitContainer/MyHits -ReadData INFO Could not find ExampleHitContainer/MyHits -PoolSvc INFO Database (SimplePoolFile3.root) attribute [BYTES_READ]: 18967 -PoolSvc INFO Database (SimplePoolFile3.root) attribute [READ_CALLS]: 22 -AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 70 events processed so far <<<=== -MetaDataSvc DEBUG handle() EndInputFile for FID:???? -Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] ???? -Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] -MetaDataSvc DEBUG handle() LastInputFile for end -AthenaEventLoopMgr INFO No more events in event selection -ApplicationMgr INFO Application Manager Stopped successfully -IncidentProcAlg1 INFO Finalize -ReadData INFO in finalize() -IncidentProcAlg2 INFO Finalize -AthDictLoaderSvc INFO in finalize... -ToolSvc INFO Removing all tools created by ToolSvc -*****Chrono***** INFO **************************************************************************************************** -*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) -*****Chrono***** INFO **************************************************************************************************** -cObjR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.104(+- 1.01)/ 0/ 10 [ms] #=193 -cObj_ALL INFO Time User : Tot= 60 [ms] Ave/Min/Max=0.331(+- 2.08)/ 0/ 20 [ms] #=181 -ChronoStatSvc INFO Time User : Tot= 0.82 [s] #= 1 -*****Chrono***** INFO **************************************************************************************************** -ChronoStatSvc.f... INFO Service finalized successfully -ApplicationMgr INFO Application Manager Finalized successfully -ApplicationMgr INFO Application Manager Terminated successfully -Athena INFO leaving with code 0: "successful run" diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WCond.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WCond.ref index 6eb7a61a0ce081cdbcae969ed5a511edf12f6c96..70d4276612592ab0eae631c80989c959d684fe76 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WCond.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WCond.ref @@ -1,19 +1,19 @@ -Mon Oct 22 10:37:16 CDT 2018 +Fri Oct 19 21:19:05 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_WCondJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5377 configurables from 18 genConfDb files +Py:ConfigurableDb INFO Read module info for 5521 configurables from 57 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Mon Oct 22 10:37:26 2018 + running on lxplus060.cern.ch on Fri Oct 19 21:19:22 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -33,9 +33,9 @@ PoolSvc DEBUG Property update for OutputLevel : new value = 2 PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-19T2309/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-10-18T2340/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus060.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams @@ -50,10 +50,6 @@ ReadData INFO in initialize() MetaDataSvc DEBUG Property update for OutputLevel : new value = 2 MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 MetaDataSvc DEBUG Service base class initialized successfully -MetaDataSvc.IOV... DEBUG Property update for OutputLevel : new value = 2 -MetaDataSvc.IOV... DEBUG in initialize() -MetaDataSvc.IOV... DEBUG initialize(): need to modify folders -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray(['IOVDbMetaDataTool']) EventSelector DEBUG Property update for OutputLevel : new value = 2 EventSelector INFO Initializing EventSelector - package version EventSelectorAthenaPool-00-00-00 EventSelector DEBUG Service base class initialized successfully @@ -84,19 +80,19 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -128,12 +124,6 @@ MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc.IOV... DEBUG handle() FirstInputFile for FID:???? -MetaDataSvc.IOV... DEBUG begin checkOverrideRunNumber -MetaDataSvc.IOV... DEBUG checkOverrideRunNumber: check if tag is set in jobOpts -MetaDataSvc.IOV... DEBUG resetRunNumber: unable to get OverrideRunNumberFromInput property from EventSelector -MetaDataSvc.IOV... DEBUG processInputFileMetaData: file name FID:???? -MetaDataSvc.IOV... DEBUG Could not retrieve IOVMetaDataContainer objects from InputMetaDataStore - cannot process input file meta data AthenaPoolAddre... DEBUG Property update for OutputLevel : new value = 2 AthenaPoolAddre... DEBUG Service base class initialized successfully ReadData DEBUG input handles: 2 @@ -180,19 +170,19 @@ SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Links ##Links DEBUG Opened container ##Links of type ROOT_Tree SimplePoolFile1... DEBUG --->Reading Assoc:????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaData(EventStreamInfo_p3/Stream1) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdrForm(DataHeaderForm) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? -SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Reading Assoc:????/MetaDataHdr(DataHeader) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Links DEBUG No objects passing selection criteria... Container has 8 Entries in total. SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_All] ##Params @@ -223,14 +213,12 @@ MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree ClassIDSvc INFO getRegistryEntries: read 2 CLIDRegistry entries for module ALL MetaDataSvc DEBUG Loaded input meta data store proxies -MetaDataSvc DEBUG calling beginInputFile for MetaDataSvc.IOVDbMetaDataTool -MetaDataSvc.IOV... DEBUG handle() BeginInputFile for SimplePoolFile1.root -MetaDataSvc.IOV... DEBUG The first BeginInputFile incidence is fired along with the FirstInputFile incidence so we skip the processing of the Input File MetaData +MetaDataSvc DEBUG calling beginInputFile for ToolSvc.IOVDbMetaDataTool EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000000] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000000] SimplePoolFile1... DEBUG --> Access DbContainer READ [ROOT_Tree] POOLContainerForm(DataHeaderForm) POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 @@ -294,9 +282,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #0, run #1 1 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000001] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000001] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -337,9 +325,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #1, run #1 2 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000002] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000002] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -380,9 +368,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #2, run #1 3 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000003] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000003] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -423,9 +411,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #3, run #1 4 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000004] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000004] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -466,9 +454,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #4, run #1 5 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000005] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000005] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -509,9 +497,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #5, run #1 6 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000006] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000006] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -552,9 +540,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #6, run #1 7 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000007] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000007] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -595,9 +583,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #7, run #1 8 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000008] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000008] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -638,9 +626,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #8, run #1 9 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000009] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000009] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -681,9 +669,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #9, run #1 10 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000A] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000A] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -724,9 +712,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #10, run #1 11 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000B] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000B] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -767,9 +755,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #11, run #1 12 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000C] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000C] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -810,9 +798,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #12, run #1 13 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000D] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000D] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -853,9 +841,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #13, run #1 14 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000E] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000E] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -896,9 +884,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #14, run #1 15 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-0000000F] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-0000000F] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -939,9 +927,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #15, run #1 16 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000010] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000010] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -982,9 +970,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #16, run #1 17 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000011] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000011] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1025,9 +1013,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #17, run #1 18 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000012] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000012] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1068,9 +1056,9 @@ WriteCond INFO registered all data AthenaEventLoopMgr INFO ===>>> done processing event #18, run #1 19 events processed so far <<<=== EventSelector DEBUG Get AttributeList from the collection EventSelector DEBUG AttributeList size 0 -EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013]. -EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=00000202][OID=00000006-00000013] +EventSelector DEBUG record AthenaAttribute, name = Token = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG record AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013]. +EventSelector DEBUG found AthenaAttribute, name = eventRef = [DB=????][CNT=POOLContainer(DataHeader)][CLID=????][TECH=0000020?][OID=00000006-00000013] AthenaPoolAddre... DEBUG The current Event contains: 3 objects AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 2101, name = McEventInfo AthenaPoolAddre... DEBUG loadAddresses: DataObject address, clid = 9102, name = MyHits @@ -1117,6 +1105,7 @@ MetaDataSvc DEBUG handle() LastInputFile for end AthenaEventLoopMgr INFO No more events in event selection WriteCond INFO in finalize() WriteCond INFO Pedestal x = 193136 y = 14420 z = -175208 string = <..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o> +MetaDataSvc DEBUG calling metaDataStop for ToolSvc.IOVDbMetaDataTool ApplicationMgr INFO Application Manager Stopped successfully IncidentProcAlg1 INFO Finalize Stream1 INFO Finalize: preparing to write conditions objects @@ -1152,7 +1141,7 @@ ConditionsConta... DEBUG Opening ConditionsConta... DEBUG attributes# = 1 ConditionsConta... DEBUG Branch container 'ExampleHitContainer_p1_PedestalWriteData' ConditionsConta... DEBUG Opened container ConditionsContainer(ExampleHitContainer_p1/PedestalWriteData) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/ConditionsContainer(ExampleHitContainer_p1/PedestalWriteData) [202] (3 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/ConditionsContainer(ExampleHitContainer_p1/PedestalWriteData) [20?] (3 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:ExampleHitContainer_p1 @@ -1164,7 +1153,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:DataHeaderForm_p5 @@ -1176,7 +1165,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile4... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile4... DEBUG ---->ClassID:???? SimplePoolFile4... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile4... DEBUG ---->Class:DataHeader_p5 @@ -1196,9 +1185,9 @@ commitOutput INFO Time User : Tot= 0 [us] cRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 2 fRep_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 2 cRepR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 3 -cObjR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.217(+- 1.46)/ 0/ 10 [ms] #= 46 -cObj_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.455(+- 2.08)/ 0/ 10 [ms] #= 44 -ChronoStatSvc INFO Time User : Tot= 0.71 [s] #= 1 +cObjR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 46 +cObj_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.909(+- 4.17)/ 0/ 20 [ms] #= 44 +ChronoStatSvc INFO Time User : Tot= 0.95 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref index 05ec60dd413758b18074ad49949a02ffd39f669e..ac351d8617930e04783ae440fbab1e8b126bc353 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref @@ -1,19 +1,19 @@ -Thu Sep 6 17:06:12 CDT 2018 +Wed Jul 18 20:12:16 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_WMetaJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files +Py:ConfigurableDb INFO Read module info for 5511 configurables from 52 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 17:06:20 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r2) + running on lxplus052.cern.ch on Wed Jul 18 20:12:25 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -21,7 +21,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve StatusCodeSvc INFO initialize AthDictLoaderSvc INFO in initialize... AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2428 CLIDRegistry entries for module ALL CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL @@ -35,25 +35,24 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:Catalog2.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-07-17T2058/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus052.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:Catalog2.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray([]) WriteData DEBUG input handles: 0 WriteData DEBUG output handles: 2 WriteData DEBUG Data Deps for WriteData + OUTPUT ( 'ExampleHitContainer' , 'StoreGateSvc+MyHits' ) + OUTPUT ( 'ExampleHitContainer' , 'StoreGateSvc+PetersHits' ) WriteCond INFO in initialize() +ClassIDSvc INFO getRegistryEntries: read 1304 CLIDRegistry entries for module ALL Stream1 DEBUG Property update for OutputLevel : new value = 2 Stream1.Stream1... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 1504 CLIDRegistry entries for module ALL Stream1 DEBUG In initialize Stream1 DEBUG Found IDecisionSvc. DecisionSvc INFO Inserting stream: Stream1 with no Algs @@ -83,6 +82,7 @@ AthenaEventLoopMgr INFO Setup EventSelector service EventSelector ApplicationMgr INFO Application Manager Initialized successfully ApplicationMgr INFO Application Manager Started successfully EventPersistenc... INFO Added successfully Conversion service:McCnvSvc +ClassIDSvc INFO getRegistryEntries: read 460 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> start of run 0 <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #0, run #0 0 events processed so far <<<=== WriteData DEBUG in execute() @@ -127,7 +127,6 @@ SimplePoolFile5... DEBUG --->Adding Assoc :????/##Params [200] (2 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? ##Params DEBUG No objects passing selection criteria... Container has 0 Entries in total. AthenaPoolCnvSvc DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile5.root and cont: TTree=POOLContainerForm(DataHeaderForm) -ClassIDSvc INFO getRegistryEntries: read 461 CLIDRegistry entries for module ALL Stream1 DEBUG addItemObjects(2101,"*") called Stream1 DEBUG Key:* Stream1 DEBUG Added object 2101,"McEventInfo" @@ -144,7 +143,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:EventInfo_p4 @@ -156,7 +155,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:ExampleHitContainer_p1 @@ -168,7 +167,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:DataHeaderForm_p5 @@ -180,13 +179,14 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:DataHeader_p5 SimplePoolFile5... DEBUG ---->[0]:DataHeader_p5 Typ:DataHeader_p5 [21] Size:0 Offset:0 #Elements:1 AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile5.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile5.root and cont: POOLContainerForm(DataHeaderForm) +ClassIDSvc INFO getRegistryEntries: read 80 CLIDRegistry entries for module ALL AthenaEventLoopMgr INFO ===>>> done processing event #0, run #0 1 events processed so far <<<=== AthenaEventLoopMgr INFO ===>>> start processing event #1, run #0 1 events processed so far <<<=== WriteData DEBUG in execute() @@ -203,7 +203,6 @@ WriteCond INFO Hit x = 123.704 y = -42.0973 z = -53.6841 detector = D WriteCond INFO Hit x = 126.915 y = -47.7762 z = -55.0735 detector = DummyHitDetector WriteCond INFO Hit x = 130.125 y = -53.4551 z = -56.169 detector = DummyHitDetector WriteCond INFO registered all data -ClassIDSvc INFO getRegistryEntries: read 80 CLIDRegistry entries for module ALL Stream1 DEBUG addItemObjects(2101,"*") called Stream1 DEBUG Key:* Stream1 DEBUG Added object 2101,"McEventInfo" @@ -667,7 +666,7 @@ Stream1 DEBUG Object/count: ExampleHitContainer_MyHits, 20 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #0 20 events processed so far <<<=== WriteCond INFO in finalize() WriteCond INFO Pedestal x = 193136 y = -5580.01 z = -175208 string = <..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o..........o> -Stream1 INFO AthenaOutputStream Stream1 ::stop() +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(9102,"PedestalWriteData") called Stream1 DEBUG Key:PedestalWriteData Stream1 DEBUG Added object 9102,"PedestalWriteData" @@ -681,7 +680,7 @@ MetaData(Exampl... DEBUG Opening MetaData(Exampl... DEBUG attributes# = 1 MetaData(Exampl... DEBUG Branch container 'ExampleHitContainer_p1_PedestalWriteData' MetaData(Exampl... DEBUG Opened container MetaData(ExampleHitContainer_p1/PedestalWriteData) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [202] (7 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaData(ExampleHitContainer_p1/PedestalWriteData) [20?] (7 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? StorageSvc INFO Building shape according to reflection information using shape ID for: StorageSvc INFO EventStreamInfo_p3 [????] @@ -690,7 +689,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (8 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (8 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile5... DEBUG ---->Class:EventStreamInfo_p3 @@ -700,17 +699,18 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (9 , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (9 , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? SimplePoolFile5... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (a , ffffffff) +SimplePoolFile5... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (a , ffffffff) SimplePoolFile5... DEBUG ---->ClassID:???? ClassIDSvc INFO getRegistryEntries: read 7 CLIDRegistry entries for module ALL Stream1 INFO Records written: 21 +Stream1 DEBUG Leaving handle Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] Domain[ROOT_All] INFO -> Deaccess DbDatabase CREATE [ROOT_All] ???? Domain[ROOT_All] INFO > Deaccess DbDomain UPDATE [ROOT_All] @@ -731,10 +731,10 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 21 -fRep_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.476(+- 2.78)/ 0/ 20 [ms] #= 63 -cRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.635(+- 3.93)/ 0/ 30 [ms] #= 63 -cRepR_ALL INFO Time User : Tot= 30 [ms] Ave/Min/Max=0.357(+- 2.41)/ 0/ 20 [ms] #= 84 -ChronoStatSvc INFO Time User : Tot= 0.72 [s] #= 1 +cRepR_ALL INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 84 +fRep_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.317(+- 1.75)/ 0/ 10 [ms] #= 63 +cRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.635(+- 3.51)/ 0/ 20 [ms] #= 63 +ChronoStatSvc INFO Time User : Tot= 0.74 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref index ef277f306fd0cb037c0316e9fdd541afe9b5fbe7..d4334d356e04b67952263412eeec99f62b09e70b 100644 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref @@ -1,19 +1,19 @@ -Thu Sep 6 16:27:32 CDT 2018 +Wed Jul 18 18:17:23 CEST 2018 Preloading tcmalloc_minimal.so Athena INFO including file "AthenaCommon/Preparation.py" Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py" Athena INFO executing ROOT6Setup Athena INFO including file "AthenaCommon/Execution.py" Athena INFO including file "AthenaPoolExampleAlgorithms/AthenaPoolExample_WriteJobOptions.py" -Py:ConfigurableDb INFO Read module info for 5518 configurables from 19 genConfDb files +Py:ConfigurableDb INFO Read module info for 5511 configurables from 52 genConfDb files Py:ConfigurableDb INFO No duplicates have been found: that's good ! Athena INFO including file "AthenaCommon/runbatch.py" -ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +[?1034hApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 ApplicationMgr SUCCESS ==================================================================================================================================== - Welcome to ApplicationMgr (GaudiCoreSvc v30r3) - running on atlaslogin01.hep.anl.gov on Thu Sep 6 16:27:43 2018 + Welcome to ApplicationMgr (GaudiCoreSvc v30r2) + running on lxplus052.cern.ch on Wed Jul 18 18:17:32 2018 ==================================================================================================================================== ApplicationMgr INFO Successfully loaded modules : AthenaServices ApplicationMgr INFO Application Manager Configured successfully @@ -21,7 +21,7 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve StatusCodeSvc INFO initialize AthDictLoaderSvc INFO in initialize... AthDictLoaderSvc INFO acquired Dso-registry -ClassIDSvc INFO getRegistryEntries: read 2918 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 2428 CLIDRegistry entries for module ALL CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 ClassIDSvc INFO getRegistryEntries: read 916 CLIDRegistry entries for module ALL @@ -35,16 +35,15 @@ PoolSvc DEBUG Service base class initialized successfully PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:Catalog1.xml) [ok] PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled PoolSvc INFO Frontier compression level set to 5 -DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data -DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-09-04T2107/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-opt/share/dbreplica.config -DBReplicaSvc INFO Total of 1 servers found for host atlaslogin01.hep.anl.gov [ATLF ] +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-07-17T2058/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus052.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] PoolSvc INFO Successfully setup replica sorting algorithm PoolSvc DEBUG OutputLevel is PoolSvc INFO Setting up APR FileCatalog and Streams PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:Catalog1.xml DbSession INFO Open DbSession Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] -MetaDataSvc INFO Found MetaDataTools = PrivateToolHandleArray([]) WriteData DEBUG input handles: 0 WriteData DEBUG output handles: 2 WriteData DEBUG Data Deps for WriteData @@ -54,7 +53,7 @@ WriteTag INFO in initialize() MagicWriteTag INFO in initialize() Stream1 DEBUG Property update for OutputLevel : new value = 2 Stream1.Stream1... DEBUG Property update for OutputLevel : new value = 2 -ClassIDSvc INFO getRegistryEntries: read 1504 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 1304 CLIDRegistry entries for module ALL Stream1 DEBUG In initialize Stream1 DEBUG Found IDecisionSvc. DecisionSvc INFO Inserting stream: Stream1 with no Algs @@ -78,7 +77,7 @@ Stream1 DEBUG Registering all Tools in ToolHandleArray HelperTools Stream1 DEBUG Adding private ToolHandle tool Stream1.Stream1_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools Stream1 DEBUG Adding private ToolHandle tool Stream1.Stream1Tool (AthenaOutputStreamTool) Stream1 DEBUG Data Deps for Stream1 -ClassIDSvc INFO getRegistryEntries: read 353 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 352 CLIDRegistry entries for module ALL Stream2 DEBUG Property update for OutputLevel : new value = 2 Stream2.Stream2... DEBUG Property update for OutputLevel : new value = 2 Stream2 DEBUG In initialize @@ -113,6 +112,7 @@ HistogramPersis...WARNING Histograms saving not required. EventSelector INFO Enter McEventSelector Initialization AthenaEventLoopMgr INFO Setup EventSelector service EventSelector ApplicationMgr INFO Application Manager Initialized successfully +ClassIDSvc INFO getRegistryEntries: read 525 CLIDRegistry entries for module ALL ApplicationMgr INFO Application Manager Started successfully EventPersistenc... INFO Added successfully Conversion service:McCnvSvc AthenaEventLoopMgr INFO ===>>> start of run 1 <<<=== @@ -152,7 +152,6 @@ SimplePoolFile1... DEBUG --->Adding Assoc :????/##Params [200] (2 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ##Params DEBUG No objects passing selection criteria... Container has 0 Entries in total. AthenaPoolCnvSvc DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile1.root and cont: TTree=POOLContainerForm(DataHeaderForm) -ClassIDSvc INFO getRegistryEntries: read 539 CLIDRegistry entries for module ALL Stream1 DEBUG addItemObjects(2101,"*") called Stream1 DEBUG Key:* Stream1 DEBUG Added object 2101,"McEventInfo" @@ -172,7 +171,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:EventInfo_p4 @@ -184,7 +183,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'ExampleHitContainer_p1_MyHits' CollectionTree(... DEBUG Opened container CollectionTree(ExampleHitContainer_p1/MyHits) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [202] (4 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/CollectionTree(ExampleHitContainer_p1/MyHits) [20?] (4 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:ExampleHitContainer_p1 @@ -196,7 +195,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (5 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (5 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:DataHeaderForm_p5 @@ -208,7 +207,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (6 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (6 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:DataHeader_p5 @@ -220,7 +219,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'Token' POOLCollectionT... DEBUG Opened container POOLCollectionTree(Token) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [202] (7 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [20?] (7 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:Token @@ -232,7 +231,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'RunNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(RunNumber) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [202] (8 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [20?] (8 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[5 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:unsigned int @@ -242,17 +241,18 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'EventNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(EventNumber) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [202] (9 , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [20?] (9 , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] POOLCollectionTree(MagicNumber) POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'MagicNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [202] (a , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [20?] (a , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile1.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile1.root and cont: POOLContainerForm(DataHeaderForm) +ClassIDSvc INFO getRegistryEntries: read 83 CLIDRegistry entries for module ALL PersistencySvc:... DEBUG lookupPFN: SimplePoolFile2.root returned FID: '' tech= PersistencySvc:... DEBUG registered PFN: SimplePoolFile2.root with FID:???? Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] ???? @@ -275,7 +275,6 @@ SimplePoolFile2... DEBUG --->Adding Assoc :????/##Params [200] (2 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? ##Params DEBUG No objects passing selection criteria... Container has 0 Entries in total. AthenaPoolCnvSvc DEBUG setAttribute CONTAINER_SPLITLEVEL to 99 for db: SimplePoolFile2.root and cont: TTree=POOLContainerForm(DataHeaderForm) -ClassIDSvc INFO getRegistryEntries: read 83 CLIDRegistry entries for module ALL Stream2 DEBUG addItemObjects(2101,"*") called Stream2 DEBUG Key:* Stream2 DEBUG Added object 2101,"McEventInfo" @@ -288,7 +287,7 @@ CollectionTree(... DEBUG Opening CollectionTree(... DEBUG attributes# = 1 CollectionTree(... DEBUG Branch container 'EventInfo_p4_McEventInfo' CollectionTree(... DEBUG Opened container CollectionTree(EventInfo_p4/McEventInfo) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [202] (3 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/CollectionTree(EventInfo_p4/McEventInfo) [20?] (3 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] SimplePoolFile2... DEBUG ---->Class:EventInfo_p4 @@ -298,7 +297,7 @@ POOLContainerFo... DEBUG Opening POOLContainerFo... DEBUG attributes# = 1 POOLContainerFo... DEBUG Branch container 'DataHeaderForm' POOLContainerFo... DEBUG Opened container POOLContainerForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [202] (4 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLContainerForm(DataHeaderForm) [20?] (4 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] SimplePoolFile2... DEBUG ---->Class:DataHeaderForm_p5 @@ -308,7 +307,7 @@ POOLContainer(D... DEBUG Opening POOLContainer(D... DEBUG attributes# = 1 POOLContainer(D... DEBUG Branch container 'DataHeader' POOLContainer(D... DEBUG Opened container POOLContainer(DataHeader) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [202] (5 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLContainer(DataHeader) [20?] (5 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] SimplePoolFile2... DEBUG ---->Class:DataHeader_p5 @@ -318,7 +317,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'Token' POOLCollectionT... DEBUG Opened container POOLCollectionTree(Token) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [202] (6 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(Token) [20?] (6 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --->Adding Shape[3 , ????]: [1 Column(s)] SimplePoolFile2... DEBUG ---->Class:Token @@ -328,7 +327,7 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'RunNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(RunNumber) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [202] (7 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(RunNumber) [20?] (7 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --->Adding Shape[4 , ????]: [1 Column(s)] SimplePoolFile2... DEBUG ---->Class:unsigned int @@ -338,14 +337,14 @@ POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'EventNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(EventNumber) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [202] (8 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(EventNumber) [20?] (8 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] POOLCollectionTree(MagicNumber) POOLCollectionT... DEBUG Opening POOLCollectionT... DEBUG attributes# = 1 POOLCollectionT... DEBUG Branch container 'MagicNumber' POOLCollectionT... DEBUG Opened container POOLCollectionTree(MagicNumber) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [202] (9 , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/POOLCollectionTree(MagicNumber) [20?] (9 , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 256000 for db: SimplePoolFile2.root and cont: POOLContainer(DataHeader) AthenaPoolCnvSvc DEBUG setAttribute BRANCH_BASKET_SIZE to 1024000 for db: SimplePoolFile2.root and cont: POOLContainerForm(DataHeaderForm) @@ -877,7 +876,7 @@ Stream2 DEBUG Key:* Stream2 DEBUG Collected objects: Stream2 DEBUG Object/count: EventInfo_McEventInfo, 20 AthenaEventLoopMgr INFO ===>>> done processing event #19, run #1 20 events processed so far <<<=== -Stream1 INFO AthenaOutputStream Stream1 ::stop() +Stream1 DEBUG handle() incident type: MetaDataStop Stream1 DEBUG addItemObjects(167728019,"Stream1") called Stream1 DEBUG Key:Stream1 Stream1 DEBUG Added object 167728019,"Stream1" @@ -890,7 +889,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream1' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream1) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [202] (b , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream1) [20?] (b , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --->Adding Shape[6 , ????]: [1 Column(s)] SimplePoolFile1... DEBUG ---->Class:EventStreamInfo_p3 @@ -900,18 +899,19 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (c , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (c , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? SimplePoolFile1... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (d , ffffffff) +SimplePoolFile1... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (d , ffffffff) SimplePoolFile1... DEBUG ---->ClassID:???? ClassIDSvc INFO getRegistryEntries: read 7 CLIDRegistry entries for module ALL Stream1 INFO Records written: 21 -Stream2 INFO AthenaOutputStream Stream2 ::stop() +Stream1 DEBUG Leaving handle +Stream2 DEBUG handle() incident type: MetaDataStop Stream2 DEBUG addItemObjects(167728019,"Stream2") called Stream2 DEBUG Key:Stream2 Stream2 DEBUG Added object 167728019,"Stream2" @@ -922,7 +922,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream2' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream2) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream2) [202] (a , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream2) [20?] (a , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --->Adding Shape[5 , ????]: [1 Column(s)] SimplePoolFile2... DEBUG ---->Class:EventStreamInfo_p3 @@ -932,17 +932,17 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (b , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (b , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? SimplePoolFile2... DEBUG --> Access DbContainer CREA/UPDA [ROOT_Tree] MetaDataHdr(DataHeader) MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (c , ffffffff) +SimplePoolFile2... DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (c , ffffffff) SimplePoolFile2... DEBUG ---->ClassID:???? Stream2 INFO Records written: 21 -Stream3 INFO AthenaOutputStream Stream3 ::stop() +Stream2 DEBUG Leaving handle PersistencySvc:... DEBUG lookupPFN: EmptyPoolFile.root returned FID: '' tech= PersistencySvc:... DEBUG registered PFN: EmptyPoolFile.root with FID:???? Domain[ROOT_All] INFO -> Access DbDatabase CREATE [ROOT_All] ???? @@ -970,7 +970,7 @@ MetaData(EventS... DEBUG Opening MetaData(EventS... DEBUG attributes# = 1 MetaData(EventS... DEBUG Branch container 'EventStreamInfo_p3_Stream3' MetaData(EventS... DEBUG Opened container MetaData(EventStreamInfo_p3/Stream3) of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream3) [202] (3 , ffffffff) +EmptyPoolFile.root DEBUG --->Adding Assoc :????/MetaData(EventStreamInfo_p3/Stream3) [20?] (3 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? EmptyPoolFile.root DEBUG --->Adding Shape[0 , ????]: [1 Column(s)] EmptyPoolFile.root DEBUG ---->Class:EventStreamInfo_p3 @@ -980,7 +980,7 @@ MetaDataHdrForm... DEBUG Opening MetaDataHdrForm... DEBUG attributes# = 1 MetaDataHdrForm... DEBUG Branch container 'DataHeaderForm' MetaDataHdrForm... DEBUG Opened container MetaDataHdrForm(DataHeaderForm) of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [202] (4 , ffffffff) +EmptyPoolFile.root DEBUG --->Adding Assoc :????/MetaDataHdrForm(DataHeaderForm) [20?] (4 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? EmptyPoolFile.root DEBUG --->Adding Shape[1 , ????]: [1 Column(s)] EmptyPoolFile.root DEBUG ---->Class:DataHeaderForm_p5 @@ -990,7 +990,7 @@ MetaDataHdr(Dat... DEBUG Opening MetaDataHdr(Dat... DEBUG attributes# = 1 MetaDataHdr(Dat... DEBUG Branch container 'DataHeader' MetaDataHdr(Dat... DEBUG Opened container MetaDataHdr(DataHeader) of type ROOT_Tree -EmptyPoolFile.root DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [202] (5 , ffffffff) +EmptyPoolFile.root DEBUG --->Adding Assoc :????/MetaDataHdr(DataHeader) [20?] (5 , ffffffff) EmptyPoolFile.root DEBUG ---->ClassID:???? EmptyPoolFile.root DEBUG --->Adding Shape[2 , ????]: [1 Column(s)] EmptyPoolFile.root DEBUG ---->Class:DataHeader_p5 @@ -1027,10 +1027,10 @@ ToolSvc INFO Removing all tools created by ToolSvc *****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) *****Chrono***** INFO **************************************************************************************************** commitOutput INFO Time User : Tot= 0 [us] Ave/Min/Max= 0(+- 0)/ 0/ 0 [us] #= 43 -cRepR_ALL INFO Time User : Tot= 10 [ms] Ave/Min/Max=0.0324(+-0.568)/ 0/ 10 [ms] #=309 -fRep_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.189(+- 1.36)/ 0/ 10 [ms] #=106 -cRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.377(+- 3.05)/ 0/ 30 [ms] #=106 -ChronoStatSvc INFO Time User : Tot= 0.77 [s] #= 1 +cRepR_ALL INFO Time User : Tot= 20 [ms] Ave/Min/Max=0.0647(+-0.802)/ 0/ 10 [ms] #=309 +fRep_ALL INFO Time User : Tot= 40 [ms] Ave/Min/Max=0.377(+- 1.91)/ 0/ 10 [ms] #=106 +cRep_ALL INFO Time User : Tot= 50 [ms] Ave/Min/Max=0.472(+- 3.98)/ 0/ 40 [ms] #=106 +ChronoStatSvc INFO Time User : Tot= 0.84 [s] #= 1 *****Chrono***** INFO **************************************************************************************************** ChronoStatSvc.f... INFO Service finalized successfully ApplicationMgr INFO Application Manager Finalized successfully diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/src/ReadMeta.h b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/src/ReadMeta.h index c8ecfc9fd9d52dfc987a91611daa8659a9a7ba30..7784b8871dddc107ce14bfc512b7013b6b3f59fe 100755 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/src/ReadMeta.h +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/src/ReadMeta.h @@ -45,15 +45,6 @@ public: /// Function called when the tool should write out its metadata virtual StatusCode metaDataStop() {return StatusCode::SUCCESS;} - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return beginInputFile();} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return endInputFile();} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return metaDataStop();} - /// Incident service handle listening for BeginInputFile and EndInputFile. void handle(const Incident& incident); diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/test/athenarun_test.sh.in b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/test/athenarun_test.sh.in index c7d8e13966a207e93b282dde4e58bfe6ce5c5d90..0af0b836838dce693371a199d62dbc8f28d305c7 100755 --- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/test/athenarun_test.sh.in +++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/test/athenarun_test.sh.in @@ -16,6 +16,8 @@ s/TTree [0-9]\\\\{3\\\\}[0-9]*/TTree ????/g s/^.*Py:Athena /Athena /g s/fffffffff/f/g s/000000000/0/g +s/-[0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F]0/-0/g +s/20[23]/20?/g s/INFO CLID = 222376821, key = Stream[12]/INFO CLID = 222376821, key = StreamX/g s/0x[0-9a-f]\\\\{7,12\\\\}/0x????/g EOF diff --git a/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.cxx b/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.cxx index 45f6b6c77124947b1ed6ca2094a30404984157ee..85ed9f1c73ef99bbe778f382145193d4c400e5f9 100755 --- a/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.cxx +++ b/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.cxx @@ -22,7 +22,7 @@ MetadataTest::MetadataTest(const std::string& name, ISvcLocator* pSvcLocator) : AthAlgorithm(name, pSvcLocator), m_hkey("CutBookkeepers","MetaDataStore"), m_eihkey("StreamAOD","MetaDataStore"), - //m_eihkey2("DataStream","MetaDataStore"), + m_eihkey2("DataStream","MetaDataStore"), m_esidone(false) { } @@ -35,7 +35,7 @@ StatusCode MetadataTest::start() // Get proper dbkey. ATH_CHECK( m_hkey.initialize() ); ATH_CHECK( m_eihkey.initialize() ); - //ATH_CHECK( m_eihkey2.initialize() ); + ATH_CHECK( m_eihkey2.initialize() ); m_esidone = false; return StatusCode::SUCCESS; } @@ -70,7 +70,6 @@ StatusCode MetadataTest::execute() } else { ATH_MSG_ERROR("Did not retrieve EventStreamInfo " << m_eihkey.objKey()); } -/* m_eihkey2.setDbKey(sid); SG::ReadMetaHandle<EventStreamInfo> eikey2(m_eihkey2,this->getContext()); const EventStreamInfo* esi2(*eikey2); @@ -79,7 +78,6 @@ StatusCode MetadataTest::execute() } else { ATH_MSG_ERROR("Did not retrieve EventStreamInfo " << m_eihkey2.objKey()); } -*/ m_esidone=true; } diff --git a/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.h b/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.h index e609a14f02089c01f3e0ce68fc7b2e0a154af7c3..c52374f8e1f5af64e73c1e83fe618a103b2bd5a7 100755 --- a/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.h +++ b/Database/AthenaPOOL/AthenaPoolTools/src/MetadataTest.h @@ -41,7 +41,7 @@ public: private: SG::ReadMetaHandleKey<xAOD::CutBookkeeperContainer> m_hkey; SG::ReadMetaHandleKey<EventStreamInfo> m_eihkey; - //SG::ReadMetaHandleKey<EventStreamInfo> m_eihkey2; + SG::ReadMetaHandleKey<EventStreamInfo> m_eihkey2; bool m_esidone; diff --git a/Database/AthenaPOOL/EventSelectorAthenaPool/src/EventSelectorAthenaPool.cxx b/Database/AthenaPOOL/EventSelectorAthenaPool/src/EventSelectorAthenaPool.cxx index f321763ad90f23c0dc8f1910f92aef3e5f0445c7..04da228b2d19c878b0c350315cbf4ccaca64609e 100755 --- a/Database/AthenaPOOL/EventSelectorAthenaPool/src/EventSelectorAthenaPool.cxx +++ b/Database/AthenaPOOL/EventSelectorAthenaPool/src/EventSelectorAthenaPool.cxx @@ -1101,9 +1101,8 @@ StatusCode EventSelectorAthenaPool::io_finalize() { void EventSelectorAthenaPool::handle(const Incident& inc) { SG::SourceID fid; - Atlas::ExtendedEventContext *eec = inc.context().getExtension<Atlas::ExtendedEventContext>(); - if( eec ) { - fid = eec->proxy()->sourceID(); + if ( inc.context().hasExtension<Atlas::ExtendedEventContext>() ) { + fid = inc.context().getExtension<Atlas::ExtendedEventContext>().proxy()->sourceID(); } if( fid.empty() ) { ATH_MSG_WARNING("could not read event source ID from incident event context"); diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.cxx b/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.cxx index c4ff3c32725f7855ff4b651cbd963bc6d040ea78..beb317affac60652505079568ea5d4303676c22e 100644 --- a/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.cxx +++ b/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.cxx @@ -67,7 +67,7 @@ StatusCode CopyEventStreamInfo::finalize() { } -StatusCode CopyEventStreamInfo::beginInputFile(const SG::SourceID&) +StatusCode CopyEventStreamInfo::beginInputFile() { if (m_inputMetaDataStore->contains<EventStreamInfo>(m_key)) { std::list<SG::ObjectWithVersion<EventStreamInfo> > allVersions; @@ -120,11 +120,11 @@ StatusCode CopyEventStreamInfo::beginInputFile(const SG::SourceID&) } return(StatusCode::SUCCESS); } -StatusCode CopyEventStreamInfo::endInputFile(const SG::SourceID&) +StatusCode CopyEventStreamInfo::endInputFile() { return(StatusCode::SUCCESS); } -StatusCode CopyEventStreamInfo::metaDataStop(const SG::SourceID&) +StatusCode CopyEventStreamInfo::metaDataStop() { return(StatusCode::SUCCESS); } diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.h b/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.h index 62bdee0caee3816d4e16e8c597ef299a73423cb1..df3aa7f21f5e45866a2c0a198886b55ba78c1a68 100644 --- a/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.h +++ b/Database/AthenaPOOL/OutputStreamAthenaPool/src/CopyEventStreamInfo.h @@ -32,14 +32,14 @@ public: StatusCode finalize(); /// Function called when a new input file is opened - virtual StatusCode beginInputFile(const SG::SourceID& = "Serial"); + virtual StatusCode beginInputFile(); /// Function called when the currently open input file got completely /// processed - virtual StatusCode endInputFile(const SG::SourceID& = "Serial"); + virtual StatusCode endInputFile(); /// Function called when the tool should write out its metadata - virtual StatusCode metaDataStop(const SG::SourceID& = "Serial"); + virtual StatusCode metaDataStop(); /// Incident service handle listening for BeginInputFile and EndInputFile. //void handle(const Incident& incident); diff --git a/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.h b/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.h index f2bf9c1724f2b8279fc8d2fe0748f1fa4da86dc8..32682624250a096b4450a59f3189b87e7169af59 100644 --- a/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.h +++ b/Database/AthenaRoot/AthenaRootComps/src/xAODEventSelector.h @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // xAODEventSelector.h @@ -238,7 +238,6 @@ class xAODEventSelector : #ifndef XAOD_ANALYSIS //these are here just for compatibility with RecExCommon ... we were trying to use this selector in recexcommon jobs for a bit - bool m_backNavigation=false; StringProperty m_collectionType; #endif diff --git a/Database/IOVDbMetaDataTools/src/IOVDbMetaDataTool.h b/Database/IOVDbMetaDataTools/src/IOVDbMetaDataTool.h index e6a9b928c27c3e09ac3c49a66577e2ffd318b07a..6898ecbf62350729fe906018786a3819fca60bf8 100755 --- a/Database/IOVDbMetaDataTools/src/IOVDbMetaDataTool.h +++ b/Database/IOVDbMetaDataTools/src/IOVDbMetaDataTool.h @@ -80,16 +80,6 @@ public: /// Function called when the tool should write out its metadata StatusCode metaDataStop() {return StatusCode::SUCCESS;} - /// Function called when a new input file is opened - StatusCode beginInputFile(const SG::SourceID&) {return this->beginInputFile();} - - /// Function called when the currently open input file got completely - /// processed - StatusCode endInputFile(const SG::SourceID&) {return this->endInputFile();} - - /// Function called when the tool should write out its metadata - StatusCode metaDataStop(const SG::SourceID&) {return this->metaDataStop();} - /// Incident service handle listening for BeginInputFile and EndInputFile. void handle(const Incident& incident); diff --git a/Database/IOVDbSvc/python/IOVDbSvcConfig.py b/Database/IOVDbSvc/python/IOVDbSvcConfig.py index 11ee43473656d98f753ff599006edfeb8c8e42f3..328a9b39e3f1e33c6d9eefb712721b5954a0e55e 100644 --- a/Database/IOVDbSvc/python/IOVDbSvcConfig.py +++ b/Database/IOVDbSvc/python/IOVDbSvcConfig.py @@ -115,7 +115,7 @@ def addFolders(configFlags,folderstrings,detDb=None,className=None): else: iovDbSvc.Folders.append(fs) - return result,None + return result def addFoldersSplitOnline(flags, detDb, online_folders, offline_folders, className=None, addMCString="_OFL"): "Add access to given folder, using either online_folder or offline_folder. For MC, add addMCString as a postfix (default is _OFL)" @@ -124,10 +124,10 @@ def addFoldersSplitOnline(flags, detDb, online_folders, offline_folders, classNa folders = online_folders else: # MC, so add addMCString - db = db+addMCString + detDb = detDb+addMCString folders = offline_folders result = addFolders(flags, folders, className=className, detDb=detDb) - return result, None + return result _dblist={ 'INDET':'COOLONL_INDET', diff --git a/Database/IOVDbSvc/src/IOVDbSvc.cxx b/Database/IOVDbSvc/src/IOVDbSvc.cxx index c58b5c4626bb09f0ab3325956cb8d3555c41e7b8..f8e4f09ea9321cfc90e4847f09685eb61e1f883f 100644 --- a/Database/IOVDbSvc/src/IOVDbSvc.cxx +++ b/Database/IOVDbSvc/src/IOVDbSvc.cxx @@ -699,7 +699,7 @@ StatusCode IOVDbSvc::signalBeginRun(const IOVTime& beginRunTime, // number with the conditions run number from the event context, // if it is defined. EventIDBase::number_type conditionsRun = - ctx.template getExtension<Atlas::ExtendedEventContext>()->conditionsRun(); + ctx.template getExtension<Atlas::ExtendedEventContext>().conditionsRun(); if (conditionsRun != EventIDBase::UNDEFNUM) { m_iovTime.setRunEvent (conditionsRun, m_iovTime.event()); } diff --git a/Database/RegistrationServices/src/RegistrationStream.cxx b/Database/RegistrationServices/src/RegistrationStream.cxx index e2cc95cb7bb9db287880918704aed813577b01ea..654b76440c88568247a94292440920beb41992a2 100755 --- a/Database/RegistrationServices/src/RegistrationStream.cxx +++ b/Database/RegistrationServices/src/RegistrationStream.cxx @@ -125,7 +125,6 @@ RegistrationStream::initialize() ATH_MSG_DEBUG (" Tool initialized"); } -/* ServiceHandle<IIncidentSvc> incSvc("IncidentSvc", this->name()); status = incSvc.retrieve(); if (!status.isSuccess()) { @@ -136,7 +135,6 @@ RegistrationStream::initialize() } incSvc->addListener(this, "MetaDataStop", 30); ATH_MSG_DEBUG("Added MetaDataStop listener"); -*/ // Register this algorithm for 'I/O' events ServiceHandle<IIoComponentMgr> iomgr("IoComponentMgr", name()); @@ -179,14 +177,18 @@ RegistrationStream::finalize() return StatusCode::SUCCESS; } -StatusCode -RegistrationStream::stop() +void RegistrationStream::handle(const Incident& inc) { - StatusCode sc = m_regTool->commit(); - if (!sc.isSuccess()) ATH_MSG_INFO("Unable to commit"); - return StatusCode::SUCCESS; + // Now commit the results + ATH_MSG_DEBUG("handle() incident type: " << inc.type()); + if (inc.type() == "MetaDataStop") { + StatusCode sc = m_regTool->commit(); + if (!sc.isSuccess()) ATH_MSG_INFO("Unable to commit"); + + } } + // Work entry point StatusCode RegistrationStream::execute() @@ -521,12 +523,17 @@ std::vector<std::string> RegistrationStream::getCollMetadataKeys() StatusCode RegistrationStream::io_reinit() { ATH_MSG_DEBUG("I/O reinitialization..."); + ServiceHandle<IIncidentSvc> incSvc("IncidentSvc", this->name()); + if (!incSvc.retrieve().isSuccess()) { + ATH_MSG_FATAL("Cannot get the IncidentSvc"); + return StatusCode::FAILURE; + } + incSvc->addListener(this, "MetaDataStop", 30); return StatusCode::SUCCESS; } StatusCode RegistrationStream::io_finalize() { ATH_MSG_INFO("I/O finalization..."); -/* const Incident metaDataStopIncident(name(), "MetaDataStop"); this->handle(metaDataStopIncident); ServiceHandle<IIncidentSvc> incSvc("IncidentSvc", this->name()); @@ -535,6 +542,5 @@ StatusCode RegistrationStream::io_finalize() { return StatusCode::FAILURE; } incSvc->removeListener(this, "MetaDataStop"); -*/ return StatusCode::SUCCESS; } diff --git a/Database/RegistrationServices/src/RegistrationStream.h b/Database/RegistrationServices/src/RegistrationStream.h index d72572cde015f0fb19d9601f0b8da98ff7eb4d7b..58e0ff51c2fd735c1484bcdcdc1b11602feb92f3 100755 --- a/Database/RegistrationServices/src/RegistrationStream.h +++ b/Database/RegistrationServices/src/RegistrationStream.h @@ -25,6 +25,7 @@ #include "GaudiKernel/Property.h" #include "GaudiKernel/ServiceHandle.h" #include "GaudiKernel/ToolHandle.h" +#include "GaudiKernel/IIncidentListener.h" #include "GaudiKernel/IIoComponent.h" #include "AthenaBaseComps/FilteredAlgorithm.h" @@ -54,6 +55,7 @@ namespace SG */ class RegistrationStream : public FilteredAlgorithm, + virtual public IIncidentListener, virtual public IIoComponent { friend class AlgFactory<RegistrationStream>; @@ -65,7 +67,7 @@ public: /// Terminate RegistrationStream virtual StatusCode finalize(); - virtual StatusCode stop(); + virtual void handle(const Incident& incident); /// Working entry point virtual StatusCode execute(); diff --git a/DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h b/DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h index 7903091a00bd8e7be041ed1a559d34c07b9cd1e8..dd3aa92232d6151e630de842a69232e846fb3cf4 100644 --- a/DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h +++ b/DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h @@ -1,9 +1,9 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -#ifndef __ExpandedIdentifier_h__ -#define __ExpandedIdentifier_h__ +#ifndef IDENTIFIER_EXPANDEDIDENTIFIER_H +#define IDENTIFIER_EXPANDEDIDENTIFIER_H #include <vector> #include <string> @@ -165,6 +165,7 @@ public: //---------------------------------------------------------------- ExpandedIdentifier (const ExpandedIdentifier& other); ExpandedIdentifier& operator= (const ExpandedIdentifier& other); + ExpandedIdentifier& operator= (ExpandedIdentifier&& other); //---------------------------------------------------------------- // Constructor from a subset of another ExpandedIdentifier @@ -301,6 +302,18 @@ ExpandedIdentifier::operator= (const ExpandedIdentifier& other) return *this; } +//----------------------------------------------- +inline +ExpandedIdentifier& +ExpandedIdentifier::operator= (ExpandedIdentifier&& other) +{ + if (this != &other) { + set_last_error (none); + m_fields = std::move(other.m_fields); + } + return *this; +} + //----------------------------------------------- inline ExpandedIdentifier::ExpandedIdentifier (const ExpandedIdentifier& other, size_type start) diff --git a/DetectorDescription/Identifier/Identifier/Range.h b/DetectorDescription/Identifier/Identifier/Range.h index 7a8e8e024e6436f0482091f4d10bda538029e7e8..699f7285a4363a75a49480796635103ed9815594 100644 --- a/DetectorDescription/Identifier/Identifier/Range.h +++ b/DetectorDescription/Identifier/Identifier/Range.h @@ -1,9 +1,9 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -#ifndef __Range_h__ -#define __Range_h__ +#ifndef IDENTIFIER_RANGE_H +#define IDENTIFIER_RANGE_H #include <Identifier/ExpandedIdentifier.h> #include <cassert> @@ -166,8 +166,10 @@ public: public: identifier_factory (); identifier_factory (const Range& range); + identifier_factory (const identifier_factory&) = default; identifier_factory& operator = (const identifier_factory& other); + identifier_factory& operator = (identifier_factory&& other); void operator ++ (); @@ -188,8 +190,10 @@ public: public: const_identifier_factory (); const_identifier_factory (const Range& range); + const_identifier_factory (const const_identifier_factory&) = default; const_identifier_factory& operator = (const const_identifier_factory& other); + const_identifier_factory& operator = (const_identifier_factory&& other); void operator ++ (); @@ -364,6 +368,7 @@ public: ~identifier_factory (); identifier_factory& operator = (const identifier_factory& other); + identifier_factory& operator = (identifier_factory&& other); void operator ++ (); @@ -396,7 +401,8 @@ public: const_identifier_factory (const MultiRange& multirange, bool sort); ~const_identifier_factory (); - const_identifier_factory& operator = (const const_identifier_factory& other); + const_identifier_factory& operator = (const const_identifier_factory& other); + const_identifier_factory& operator = (const_identifier_factory&& other); void operator ++ (); diff --git a/DetectorDescription/Identifier/src/Range.cxx b/DetectorDescription/Identifier/src/Range.cxx index 7d001d72b4c330703cb11e75368ba1f0988bbbb0..ec4d2e29ee26fdfa1e011bc2ac1858365b7fb9c6 100644 --- a/DetectorDescription/Identifier/src/Range.cxx +++ b/DetectorDescription/Identifier/src/Range.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ @@ -1805,6 +1805,20 @@ Range::identifier_factory& Range::identifier_factory::operator = (const identifi return (*this); } +//----------------------------------------------- +Range::identifier_factory& Range::identifier_factory::operator = (identifier_factory&& other) +{ + if (&other != this) { + m_indices = std::move(other.m_indices); + m_id = std::move(other.m_id); + m_min = std::move(other.m_min); + m_max = std::move(other.m_max); + m_range = other.m_range; + } + + return (*this); +} + //----------------------------------------------- void Range::identifier_factory::operator ++ () { @@ -1973,6 +1987,20 @@ Range::const_identifier_factory& Range::const_identifier_factory::operator = (co return (*this); } +//----------------------------------------------- +Range::const_identifier_factory& Range::const_identifier_factory::operator = (const_identifier_factory&& other) +{ + if (&other != this) { + m_indices = std::move(other.m_indices); + m_id = std::move(other.m_id); + m_min = std::move(other.m_min); + m_max = std::move(other.m_max); + m_range = other.m_range; + } + + return (*this); +} + //----------------------------------------------- void Range::const_identifier_factory::operator ++ () { @@ -2706,6 +2734,24 @@ MultiRange::identifier_factory& MultiRange::identifier_factory::operator = (cons return (*this); } +//----------------------------------------------- +MultiRange::identifier_factory& MultiRange::identifier_factory::operator = (identifier_factory&& other) +{ + if (this != &other) { + m_id = std::move(other.m_id); + m_sort = other.m_sort; + m_id_fac_it = std::move(other.m_id_fac_it); + m_id_fac_end = std::move(other.m_id_fac_end); + m_range_it = other.m_range_it; + m_range_end = other.m_range_end; + m_id_vec_it = other.m_id_vec_it; + m_id_vec_end = other.m_id_vec_end; + m_multirange = other.m_multirange; + other.m_multirange = nullptr; + } + return (*this); +} + //----------------------------------------------- void MultiRange::identifier_factory::operator ++ () { @@ -2926,6 +2972,24 @@ MultiRange::const_identifier_factory& MultiRange::const_identifier_factory::oper return (*this); } +//----------------------------------------------- +MultiRange::const_identifier_factory& MultiRange::const_identifier_factory::operator = (const_identifier_factory&& other) +{ + if (this != &other) { + m_id = std::move(other.m_id); + m_sort = other.m_sort; + m_id_fac_it = std::move(other.m_id_fac_it); + m_id_fac_end = std::move(other.m_id_fac_end); + m_range_it = other.m_range_it; + m_range_end = other.m_range_end; + m_id_vec_it = other.m_id_vec_it; + m_id_vec_end = other.m_id_vec_end; + m_multirange = other.m_multirange; + other.m_multirange = nullptr; + } + return (*this); +} + //----------------------------------------------- void MultiRange::const_identifier_factory::operator ++ () { diff --git a/Event/ByteStreamCnvSvc/CMakeLists.txt b/Event/ByteStreamCnvSvc/CMakeLists.txt index 8071b3dab5e7d72684f914597128c7fc2b281122..9dd4536cf4b4a1f5e7f96b014576b28fe8ccfe1e 100644 --- a/Event/ByteStreamCnvSvc/CMakeLists.txt +++ b/Event/ByteStreamCnvSvc/CMakeLists.txt @@ -122,6 +122,9 @@ _add_test( AtlCopyBSEvent5_test # "AtlCopyBSEvent -e all -o empty.data /afs/cern.ch/atlas/maxidisk/d108/cranshaw/nightlies/RAW.01524408._005549.data.1" # DEPENDS ByteStreamCnvSvc_AtlFindBSEvent4_test_ctest ) + + atlas_add_test( ByteStreamConfigTest SCRIPT python -m ByteStreamCnvSvc.ByteStreamConfig POST_EXEC_SCRIPT nopost.sh ) + # Install files from the package: atlas_install_python_modules( python/*.py ) atlas_install_joboptions( share/*.py ) diff --git a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py index 16e981c9285b8276d494365d0776321761064909..ebff37302f56e0520a9519c9f082ba3a9894ff79 100644 --- a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py +++ b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py @@ -46,12 +46,12 @@ def TrigBSReadCfg( inputFlags ): from IOVDbMetaDataTools.IOVDbMetaDataToolsConf import IOVDbMetaDataTool iovMetaDataTool = IOVDbMetaDataTool() - acc.addPublicTool( iovMetaDataTool ) - + acc.addPublicTool( iovMetaDataTool ) + from ByteStreamCnvSvc.ByteStreamCnvSvcConf import ByteStreamMetadataTool bsMetaDataTool = ByteStreamMetadataTool() acc.addPublicTool( bsMetaDataTool ) - + from StoreGate.StoreGateConf import ProxyProviderSvc, StoreGateSvc metaDataStore = StoreGateSvc("MetaDataStore") acc.addService( metaDataStore ) @@ -74,7 +74,7 @@ def TrigBSReadCfg( inputFlags ): # this is trigger specific and should only be loaded if some doTrigger flags is set - # or it shoudl be moved elsewhere, however, since there is no better location now let is stick here + # or it should be moved elsewhere, however, since there is no better location now let is stick here bsCnvSvc.InitCnvs += [ "EventInfo", "ROIB::RoIBResult", "HLT::HLTResult" ] @@ -113,10 +113,9 @@ def TrigBSReadCfg( inputFlags ): return acc if __name__ == "__main__": - from AthenaConfiguration.ConfigFlags import ConfigFlagContainer - flags = ConfigFlagContainer() - flags.Input.Files = ["dummy.data"] + from AthenaConfiguration.AllConfigFlags import ConfigFlags + ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1"] - acc = TrigBSReadCfg( flags ) + acc = TrigBSReadCfg( ConfigFlags ) acc.store( file( "test.pkl", "w" ) ) print "All OK" diff --git a/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.cxx b/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.cxx index 3f58c4f1680648fb5fcaa3e6bce2b982e3ee1f18..92f7215b1ac8264fb5d6d1511e85a883112a12c6 100644 --- a/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.cxx +++ b/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.cxx @@ -58,11 +58,6 @@ StatusCode ByteStreamMetadataTool::finalize() { } -StatusCode ByteStreamMetadataTool::beginInputFile(const SG::SourceID&) -{ - return this->beginInputFile(); -} - StatusCode ByteStreamMetadataTool::beginInputFile() { std::vector<std::string> vKeys; @@ -148,20 +143,11 @@ StatusCode ByteStreamMetadataTool::beginInputFile() } -StatusCode ByteStreamMetadataTool::endInputFile(const SG::SourceID&) -{ - return StatusCode::SUCCESS; -} - StatusCode ByteStreamMetadataTool::endInputFile() { return StatusCode::SUCCESS; } -StatusCode ByteStreamMetadataTool::metaDataStop(const SG::SourceID&) -{ - return StatusCode::SUCCESS; -} StatusCode ByteStreamMetadataTool::metaDataStop() { diff --git a/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.h b/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.h index a9c579681ffc1676b5617f8de4ef00612b7fdbee..825855f3191b6df4b01e57c60ad93441e543881a 100644 --- a/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.h +++ b/Event/ByteStreamCnvSvc/src/ByteStreamMetadataTool.h @@ -13,7 +13,6 @@ #include "GaudiKernel/ServiceHandle.h" #include "AthenaBaseComps/AthAlgTool.h" -#include "AthenaKernel/SourceID.h" #include "AthenaKernel/IMetaDataTool.h" #include <string> @@ -38,9 +37,6 @@ public: /// Incident service handle listening for BeginInputFile and EndInputFile. virtual StatusCode beginInputFile(); virtual StatusCode endInputFile(); - virtual StatusCode metaDataStop(const SG::SourceID&); - virtual StatusCode beginInputFile(const SG::SourceID&); - virtual StatusCode endInputFile(const SG::SourceID&); virtual StatusCode metaDataStop(); private: diff --git a/Event/ByteStreamTest/share/ByteStreamTestMetaWrite.ref b/Event/ByteStreamTest/share/ByteStreamTestMetaWrite.ref index 63c43a53d4e6354c0f71c72bf71517f45499b9e1..cfea0267456eb33c5921aec0f7fd163179d246fa 100644 --- a/Event/ByteStreamTest/share/ByteStreamTestMetaWrite.ref +++ b/Event/ByteStreamTest/share/ByteStreamTestMetaWrite.ref @@ -18,17 +18,17 @@ AthenaEventLoopMgr INFO Setup EventSelector service EventSelector ByteStreamInputSvc DEBUG Recorded ByteStreamMetadata in InputMetadataStore ByteStreamInputSvc DEBUG run parameters = ByteStreamInputSvc DEBUG Number of Free meta data strings: 0 - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1038508 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1bd48000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot INVALID ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 1324 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamAttLi... INFO ByteStreamAttListMetadataSvc::toBSMetadata ByteStreamAttLi... INFO Found RunEventTag in DetectorStore @@ -40,229 +40,229 @@ ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1000648 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1be46000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d12000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 0 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 1039848 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 965292 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1bd48000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 1 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 2040512 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1014472 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c0f8000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x18146000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 2 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 3005820 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1104432 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c2de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 3 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 4020308 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1037592 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c3ec000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d22000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 4 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 5124756 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1045524 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c2de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 5 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 6162364 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1126828 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c3de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 6 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 7207904 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1074584 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1bd48000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17e28000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 7 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 8334748 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1361908 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c164000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 8 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 9409348 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1168392 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c2de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d62000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 9 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 10771272 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1052428 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c3fc000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 10 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 11939680 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1103056 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c2de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d16000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 11 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 12992124 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1110836 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c3ec000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17e24000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 12 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 14095196 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1058732 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c2de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 13 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 15206048 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1156428 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c3e2000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d18000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 14 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 16264796 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1093640 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1bd48000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17e34000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 15 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 17421240 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1149620 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c176000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 16 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 18514896 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1051544 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c2de000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17d2e000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 17 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 19664532 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG nextEvent _above_ high water mark ByteStreamInputSvc DEBUG Event Size 1050384 ByteStreamInputSvc DEBUG First word of the fragment aa1234aa ByteStreamInputSvc DEBUG Format version 500 -ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x1c3e0000 +ByteStreamInputSvc DEBUG Made an FullEventFragment from ES 0x17c14000 ByteStreamInputSvc DEBUG switched to next event in slot s: 0 e: 18 ByteStreamInputSvc DEBUG ByteStream File GUID:1C43C4AA-2555-E711-BB1F-02163E01794D ByteStreamInputSvc DEBUG ByteStream Event Position in File: 20716092 StoreDump INFO <<<<<<<<<<<<<<<<< Data Store Dump >>>>>>>>>>>>>>> - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfd200 --- key: RunEventTag - flags: ( valid, UNLOCKED, reset) --- data: 0x1bcfabe0 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bce940 --- key: RunEventTag + flags: ( valid, UNLOCKED, reset) --- data: 0x17bcc320 --- key: RunEventTag StoreDump INFO AttributeList has size 2 ByteStreamInputSvc DEBUG Calling ByteStreamInputSvc::stop() ByteStreamEvent... INFO number of events written: 20 diff --git a/Event/EventBookkeeperTools/CMakeLists.txt b/Event/EventBookkeeperTools/CMakeLists.txt index c3f6b65e460dd10308ed0410ec06b756b38554b8..d12c167699e1f1356a28c92df5d092b49d01776f 100644 --- a/Event/EventBookkeeperTools/CMakeLists.txt +++ b/Event/EventBookkeeperTools/CMakeLists.txt @@ -15,7 +15,6 @@ atlas_depends_on_subdirs( PUBLIC PRIVATE Control/SGTools Control/StoreGate - Control/AthContainerInterfaces Event/EventBookkeeperMetaData Event/EventInfo Event/xAOD/xAODEventInfo ) diff --git a/Event/EventBookkeeperTools/EventBookkeeperTools/BookkeeperTool.h b/Event/EventBookkeeperTools/EventBookkeeperTools/BookkeeperTool.h index ebb5a272d71f9b4760cfd0a4f81f6341b4bfdf0d..0b1a2aad90ce268d310a649773739e5c0df15d2f 100644 --- a/Event/EventBookkeeperTools/EventBookkeeperTools/BookkeeperTool.h +++ b/Event/EventBookkeeperTools/EventBookkeeperTools/BookkeeperTool.h @@ -7,11 +7,19 @@ /** @file BookkeeperTool.h * @brief This file contains the class definition for the BookkeeperTool class. - * @author Jack Cranshaw <cranshaw@anl.gov> - * $Id: $ + * @author Peter van Gemmeren <gemmeren@anl.gov> + * $Id: BookkeeperTool.h 663679 2015-04-29 08:31:54Z krasznaa $ **/ -#include "AthenaKernel/GenericMetadataTool.h" +//#include "GaudiKernel/AlgTool.h" +#include "AthenaBaseComps/AthAlgTool.h" +#include "AsgTools/AsgMetadataTool.h" +#ifdef ASGTOOL_ATHENA +#include "AthenaKernel/IMetaDataTool.h" +#endif // ASGTOOL_ATHENA +#include "GaudiKernel/IIncidentListener.h" +#include "GaudiKernel/ServiceHandle.h" +#include "AthenaKernel/ICutFlowSvc.h" #include "xAODCutFlow/CutBookkeeper.h" #include "xAODCutFlow/CutBookkeeperContainer.h" @@ -24,22 +32,50 @@ **/ -class BookkeeperTool : public GenericMetadataTool <xAOD::CutBookkeeperContainer, xAOD::CutBookkeeperAuxContainer> +class BookkeeperTool : public asg::AsgMetadataTool +#ifdef ASGTOOL_ATHENA + , public virtual ::IMetaDataTool +#endif // ASGTOOL_ATHENA { -public: - // Constructor and Destructor + ASG_TOOL_CLASS0(BookkeeperTool) +public: // Constructor and Destructor /// Standard Service Constructor - BookkeeperTool(const std::string& type, - const std::string& name, - const IInterface* parent); + BookkeeperTool(const std::string& name = "BookkeeperTool"); /// Destructor virtual ~BookkeeperTool(); +public: + //void handle(const Incident& incident); + virtual StatusCode metaDataStop(); + virtual StatusCode beginInputFile(); + virtual StatusCode endInputFile(); + virtual StatusCode initialize(); + virtual StatusCode finalize(); + private: /// Helper class to update a container with information from another one - virtual StatusCode updateContainer(xAOD::CutBookkeeperContainer* contToUpdate, - const xAOD::CutBookkeeperContainer* otherCont ); + StatusCode updateContainer( xAOD::CutBookkeeperContainer* contToUpdate, + const xAOD::CutBookkeeperContainer* otherCont ); + + StatusCode copyContainerToOutput(const std::string& outname); + + /// Fill Cutflow information + StatusCode addCutFlow(); + + /// Pointer to cut flow svc + //ServiceHandle<ICutFlowSvc> m_cutflowsvc; + + /// The name of the output CutBookkeeperContainer + std::string m_outputCollName; + + /// The name of the input CutBookkeeperContainer + std::string m_inputCollName; + + /// The name of the CutFlowSvc CutBookkeeperContainer + std::string m_cutflowCollName; + + bool m_cutflowTaken; }; diff --git a/Event/EventBookkeeperTools/Root/BookkeeperTool.cxx b/Event/EventBookkeeperTools/Root/BookkeeperTool.cxx index 8bdabcef6f35bc6e58de94875fa7c19c63f6f626..f7de464878772bc2980fe958ad27272946052f22 100644 --- a/Event/EventBookkeeperTools/Root/BookkeeperTool.cxx +++ b/Event/EventBookkeeperTools/Root/BookkeeperTool.cxx @@ -13,28 +13,241 @@ // STL include #include <algorithm> -#include "AthenaKernel/MetaCont.h" -#include "AthenaKernel/ClassID_traits.h" +// #include "FillEBCFromFlat.h" + +#include "GaudiKernel/Incident.h" +#include "GaudiKernel/FileIncident.h" +#include "GaudiKernel/IIncidentSvc.h" #include "AthenaKernel/errorcheck.h" -#include "AthenaKernel/GenericMetadataTool.h" -#include "AthenaKernel/ICutFlowSvc.h" #include "AthenaBaseComps/AthCheckMacros.h" -#include "AthContainersInterfaces/IConstAuxStoreMeta.h" -BookkeeperTool::BookkeeperTool(const std::string& type, - const std::string& name, - const IInterface* parent) - : GenericMetadataTool <xAOD::CutBookkeeperContainer, xAOD::CutBookkeeperAuxContainer>(type,name,parent) + +BookkeeperTool::BookkeeperTool(const std::string& name) + : asg::AsgMetadataTool(name), + m_cutflowTaken(false) { + declareProperty("OutputCollName", m_outputCollName="CutBookkeepers", + "The default name of the xAOD::CutBookkeeperContainer for output files"); + declareProperty("InputCollName", m_inputCollName = "CutBookkeepers", + "The default name of the xAOD::CutBookkeeperContainer for input files"); + declareProperty("CutFlowCollName", m_cutflowCollName = "CutBookkeepersFile", + "The default name of the xAOD::CutBookkeeperContainer for CutFlowSvc"); +#ifdef ASGTOOL_ATHENA + declareInterface< ::IMetaDataTool >( this ); +#endif // ASGTOOL_ATHENA } + + BookkeeperTool::~BookkeeperTool() { } + +StatusCode +BookkeeperTool::initialize() +{ + ATH_MSG_DEBUG( "Initializing " << name() << " - package version " << PACKAGE_VERSION ); + + ATH_MSG_DEBUG("InputCollName = " << m_inputCollName); + ATH_MSG_DEBUG("OutputCollName = " << m_outputCollName); + ATH_MSG_DEBUG("CutFlowCollName = " << m_cutflowCollName); + + return StatusCode::SUCCESS; +} + + +//__________________________________________________________________________ +StatusCode BookkeeperTool::beginInputFile() +{ + //OPENING NEW INPUT FILE + //Things to do: + // 1) note that a file is currently opened + // 2) Load CutBookkeepers from input file + // 2a) if incomplete from input, directly propagate to output + // 2b) if complete from input, wait for EndInputFile to decide what to do in output + + // reset cutflow taken marker + m_cutflowTaken = false; + + // Get the incomplete bookkeeper collection of the input metadata store + const xAOD::CutBookkeeperContainer* input_inc = 0; + // Construct input and output incomplete names + std::string inCollName = "Incomplete" + m_inputCollName; + std::string outCollName = "Incomplete" + m_outputCollName; + if (inputMetaStore()->contains<xAOD::CutBookkeeperContainer>(inCollName) ) { + StatusCode ssc = inputMetaStore()->retrieve( input_inc, inCollName ); + if (ssc.isSuccess()) { + // First make sure there is an incomplete container in the output store + if( !(outputMetaStore()->contains<xAOD::CutBookkeeperContainer>(outCollName)) ) { + xAOD::CutBookkeeperContainer* inc = new xAOD::CutBookkeeperContainer(); + xAOD::CutBookkeeperAuxContainer* auxinc = new xAOD::CutBookkeeperAuxContainer(); + inc->setStore(auxinc); + ATH_CHECK(outputMetaStore()->record(inc,outCollName)); + ATH_CHECK(outputMetaStore()->record(auxinc,outCollName+"Aux.")); + } + // retrieve the incomplete output container + xAOD::CutBookkeeperContainer* incompleteBook(NULL); + ATH_CHECK(outputMetaStore()->retrieve( incompleteBook, outCollName)); + // update incomplete output with any incomplete input + ATH_CHECK(this->updateContainer(incompleteBook,input_inc)); + ATH_MSG_DEBUG("Successfully merged input incomplete bookkeepers with output"); + } + } + else { + ATH_MSG_INFO("No incomplete bookkeepers in this file " << inCollName); + } + + // Get the complete bookkeeper collection of the input metadata store + const xAOD::CutBookkeeperContainer* input_com = 0; + inCollName = m_inputCollName; + outCollName = m_outputCollName; + if (inputMetaStore()->contains<xAOD::CutBookkeeperContainer>(inCollName) ) { + if ( (inputMetaStore()->retrieve( input_com, inCollName )).isSuccess() ) { + // Check if a tmp is there. IT SHOULD NOT BE + //xAOD::CutBookkeeperContainer* incompleteBook(NULL); + if( !(outputMetaStore()->contains<xAOD::CutBookkeeperContainer>(outCollName+"tmp")) ) { + // Now create the tmp container + xAOD::CutBookkeeperContainer* tmp = new xAOD::CutBookkeeperContainer(); + xAOD::CutBookkeeperAuxContainer* auxtmp = new xAOD::CutBookkeeperAuxContainer(); + tmp->setStore(auxtmp); + if (updateContainer(tmp,input_com).isSuccess()) { + ATH_CHECK(outputMetaStore()->record(tmp,outCollName+"tmp")); + ATH_CHECK(outputMetaStore()->record(auxtmp,outCollName+"tmpAux.")); + } + else { + ATH_MSG_WARNING("Could not update tmp container from input complete conatiner"); + } + } + } + else { + ATH_MSG_WARNING("tmp collection already exists"); + return StatusCode::SUCCESS; + } + ATH_MSG_DEBUG("Successfully copied complete bookkeepers to temp container"); + } + + // Now make sure the output containers are in the output store + // + // Make sure complete container exists in output + if( !(outputMetaStore()->contains<xAOD::CutBookkeeperContainer>(m_outputCollName)) ) { + // Now create the complete container + xAOD::CutBookkeeperContainer* inc = new xAOD::CutBookkeeperContainer(); + xAOD::CutBookkeeperAuxContainer* auxinc = new xAOD::CutBookkeeperAuxContainer(); + inc->setStore(auxinc); + ATH_CHECK(outputMetaStore()->record(inc,m_outputCollName)); + ATH_CHECK(outputMetaStore()->record(auxinc,m_outputCollName+"Aux.")); + } + else { + ATH_MSG_WARNING("complete collection already exists"); + //return StatusCode::SUCCESS; + } + // Make sure incomplete container exists in output + std::string inc_name = "Incomplete"+m_outputCollName; + if( !(outputMetaStore()->contains<xAOD::CutBookkeeperContainer>(inc_name)) ) { + // Now create the complete container + xAOD::CutBookkeeperContainer* coll = new xAOD::CutBookkeeperContainer(); + xAOD::CutBookkeeperAuxContainer* auxcoll = new xAOD::CutBookkeeperAuxContainer(); + coll->setStore(auxcoll); + ATH_CHECK(outputMetaStore()->record(coll,inc_name)); + ATH_CHECK(outputMetaStore()->record(auxcoll,inc_name+"Aux.")); + } + else { + ATH_MSG_WARNING("incomplete collection already exists"); + } + + return StatusCode::SUCCESS; +} + + +StatusCode BookkeeperTool::endInputFile() +{ + + if (copyContainerToOutput(m_outputCollName).isFailure()) return StatusCode::FAILURE; + + if (!m_cutflowTaken) { + if (addCutFlow().isFailure()) { + ATH_MSG_ERROR("Could not add CutFlow information"); + } + m_cutflowTaken = true; + } + else { + ATH_MSG_DEBUG("Cutflow information written into container before endInputFile"); + } + + return StatusCode::SUCCESS; +} + +StatusCode BookkeeperTool::metaDataStop() +{ + //TERMINATING THE JOB (EndRun) + //Things to do: + // 1) Create new incomplete CutBookkeepers if relevant + // 2) Print cut flow summary + // 3) Write root file if requested + // Make sure incomplete container exists in output + std::string inc_name = "Incomplete"+m_outputCollName; + if (copyContainerToOutput(inc_name).isFailure()) return StatusCode::FAILURE; + + + if (!m_cutflowTaken) { + if (addCutFlow().isFailure()) { + ATH_MSG_ERROR("Could not add CutFlow information"); + } + } + else { + ATH_MSG_DEBUG("Cutflow information written into container before metaDataStop"); + } + + // Reset after metadata stop + m_cutflowTaken = false; + + return StatusCode::SUCCESS; +} + + +StatusCode +BookkeeperTool::finalize() +{ + ATH_MSG_DEBUG( "Finalizing " << name() << " - package version " << PACKAGE_VERSION ); + return StatusCode::SUCCESS; +} + + +StatusCode BookkeeperTool::addCutFlow() +{ + // Add the information from the current processing to the complete output + // --> same paradigm as original CutFlowSvc + // Get the complete bookkeeper collection of the output meta-data store + xAOD::CutBookkeeperContainer* completeBook(NULL); + if( !(outputMetaStore()->retrieve( completeBook, m_outputCollName) ).isSuccess() ) { + ATH_MSG_ERROR( "Could not get complete CutBookkeepers from output MetaDataStore" ); + return StatusCode::FAILURE; + } + + // Get the bookkeeper from the current processing + const xAOD::CutBookkeeperContainer* fileCompleteBook(NULL); + if( outputMetaStore()->contains<xAOD::CutBookkeeperContainer>(m_cutflowCollName) ) { + if( !(outputMetaStore()->retrieve( fileCompleteBook, m_cutflowCollName) ).isSuccess() ) { + ATH_MSG_WARNING( "Could not get CutFlowSvc CutBookkeepers from output MetaDataStore" ); + } + else { + // update the complete output with the complete input + ATH_CHECK(this->updateContainer(completeBook,fileCompleteBook)); + } + } + else { + ATH_MSG_INFO("No cutflow container " << m_cutflowCollName); + } + + return StatusCode::SUCCESS; +} + + namespace { + xAOD::CutBookkeeper* resolveLink (const xAOD::CutBookkeeper* old, xAOD::CutBookkeeperContainer& contToUpdate, @@ -168,3 +381,33 @@ BookkeeperTool::updateContainer( xAOD::CutBookkeeperContainer* contToUpdate, return StatusCode::SUCCESS; } + +StatusCode BookkeeperTool::copyContainerToOutput(const std::string& outname) +{ + + // Get the complete bookkeeper collection of the output meta-data store + xAOD::CutBookkeeperContainer* contBook(nullptr); + if( !(outputMetaStore()->retrieve( contBook, outname) ).isSuccess() ) { + ATH_MSG_ERROR( "Could not get " << outname << " CutBookkeepers from output MetaDataStore" ); + return StatusCode::FAILURE; + } + + // Get the tmp bookkeeper from the input + const xAOD::CutBookkeeperContainer* tmpBook(NULL); + if ( outputMetaStore()->contains<xAOD::CutBookkeeperContainer>(outname+"tmp") ) { + if( !(outputMetaStore()->retrieve( tmpBook, outname+"tmp") ).isSuccess() ) { + ATH_MSG_WARNING( "Could not get tmp CutBookkeepers from output MetaDataStore" ); + } + else { + // update the complete output with the complete input + ATH_CHECK(this->updateContainer(contBook,tmpBook)); + // remove the tmp container + const SG::IConstAuxStore* tmpBookAux = tmpBook->getConstStore(); + ATH_CHECK(outputMetaStore()->removeDataAndProxy(tmpBook)); + ATH_CHECK(outputMetaStore()->removeDataAndProxy(tmpBookAux)); + } + } + + return StatusCode::SUCCESS; +} + diff --git a/Event/EventBookkeeperTools/python/CutFlowHelpers.py b/Event/EventBookkeeperTools/python/CutFlowHelpers.py index 63135ea4f9de9a2363756e3ce2b15e80785bbd35..98b28176bd21aba0f69ecd1bce7de28cc76b0168 100644 --- a/Event/EventBookkeeperTools/python/CutFlowHelpers.py +++ b/Event/EventBookkeeperTools/python/CutFlowHelpers.py @@ -44,7 +44,6 @@ def GetCurrentStreamName( msg, athFile=None ): def CreateCutFlowSvc( svcName="CutFlowSvc", athFile=None, seq=None, addAlgInPlace=False, addMetaDataToAllOutputFiles=True, SGkey="CutBookkeepers" ): - print "CreateCutFlowSvc" """ Helper to create the CutFlowSvc, extract the needed information from the input file, and also schedule all the needed stuff. @@ -64,6 +63,8 @@ def CreateCutFlowSvc( svcName="CutFlowSvc", athFile=None, seq=None, addAlgInPlac import AthenaCommon.CfgMgr as CfgMgr if not hasattr(svcMgr,"CutFlowSvc"): svcMgr += CfgMgr.CutFlowSvc() svcMgr.CutFlowSvc.InputStream = inputStreamName + #if not hasattr(svcMgr,"FileCutFlowSvc"): svcMgr += CfgMgr.FileCutFlowSvc() + #svcMgr.FileCutFlowSvc.InputStream = inputStreamName # Make sure MetaDataSvc is ready if not hasattr(svcMgr,'MetaDataSvc'): @@ -79,23 +80,23 @@ def CreateCutFlowSvc( svcName="CutFlowSvc", athFile=None, seq=None, addAlgInPlac cutflowtool = BookkeeperTool(outname+"Tool", InputCollName = inname, OutputCollName= outname) - #svcMgr.ToolSvc += cutflowtool - + svcMgr.ToolSvc += cutflowtool # Add tool to MetaDataSvc svcMgr.MetaDataSvc.MetaDataTools += [cutflowtool] - for x in svcMgr.MetaDataSvc.MetaDataTools: - print x # Add pdf sum of weights counts if appropriate from AthenaCommon.GlobalFlags import globalflags if globalflags.DataSource() == 'geant4': + #from PyUtils import AthFile + #afc = AthFile.fopen( svcMgr.EventSelector.InputCollections[0] ) + # PDF name = "PDFSumOfWeights" pdfweighttool = BookkeeperTool(name, OutputCollName= name, InputCollName = name) - #svcMgr.ToolSvc += pdfweighttool + svcMgr.ToolSvc += pdfweighttool # Add tool to MetaDataSvc svcMgr.MetaDataSvc.MetaDataTools += [pdfweighttool] @@ -166,9 +167,9 @@ def CreateBookkeeperTool( name="CutBookkeepers" ): cutflowtool = BookkeeperTool(name, InputCollName=name, OutputCollName = name) - #svcMgr.ToolSvc += cutflowtool + svcMgr.ToolSvc += cutflowtool # Add tool to MetaDataSvc - svcMgr.MetaDataSvc.MetaDataTools += [cutflowtool] + #svcMgr.MetaDataSvc.MetaDataTools += [cutflowtool] return diff --git a/Event/EventCommonTPCnv/CMakeLists.txt b/Event/EventCommonTPCnv/CMakeLists.txt index 7d45e44f2cf1c365b9ef003ab566450a84b8c87d..f087c64932ec86961a74bc14ff57088dfe59e9b3 100644 --- a/Event/EventCommonTPCnv/CMakeLists.txt +++ b/Event/EventCommonTPCnv/CMakeLists.txt @@ -42,3 +42,35 @@ atlas_add_dictionary( OLD_EventCommonTPCnvDict INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthLinks DataModelAthenaPoolLib AthenaPoolCnvSvcLib FourMom NavFourMom AthenaKernel StoreGateLib SGtests GaudiKernel EventCommonTPCnv ) + +# Helper variable for running the tests: +set( _jobOPath "${CMAKE_CURRENT_SOURCE_DIR}/share" ) +set( _jobOPath "${_jobOPath}:${CMAKE_JOBOPT_OUTPUT_DIRECTORY}" ) +set( _jobOPath "${_jobOPath}:$ENV{JOBOPTSEARCHPATH}" ) + +foreach( name + HepLorentzVectorCnv_p1_test + P4EEtaPhiMCnv_p1_test + P4EEtaPhiMCnv_p2_test + P4IPtCotThPhiMCnv_p1_test + P4ImplEEtaPhiMCnv_p1_test + P4ImplEEtaPhiMCnv_p2_test + P4ImplPtEtaPhiMCnv_p1_test + P4ImplPtEtaPhiMCnv_p2_test + P4PtEtaPhiMCnv_p1_test + P4PtEtaPhiMCnv_p2_test + P4PxPyPzECnv_p1_test + INav4MomAssocsCnv_p1_test + INav4MomAssocsCnv_p2_test + INav4MomAssocsCnv_p3_test + ) + + atlas_add_test( ${name} + SOURCES + test/${name}.cxx + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} TestTools EventCommonTPCnv + ENVIRONMENT "JOBOPTSEARCHPATH=${_jobOPath}" ) + +endforeach() + diff --git a/Event/EventCommonTPCnv/EventCommonTPCnv/INav4MomAssocsCnv_p1.h b/Event/EventCommonTPCnv/EventCommonTPCnv/INav4MomAssocsCnv_p1.h index 9c0c409a4db2a8a7139c37b6e408fdf190c75dd6..a3390c1e7498c69a1c35105f5536eacdb2347f7c 100755 --- a/Event/EventCommonTPCnv/EventCommonTPCnv/INav4MomAssocsCnv_p1.h +++ b/Event/EventCommonTPCnv/EventCommonTPCnv/INav4MomAssocsCnv_p1.h @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // INav4MomAssocsCnv_p1.h @@ -21,11 +21,7 @@ #include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h" // NavFourMom includes -#define private public -#define protected public #include "NavFourMom/INav4MomAssocs.h" -#undef private -#undef protected // EventCommonTPCnv includes #include "EventCommonTPCnv/INav4MomAssocs_p1.h" diff --git a/Event/EventCommonTPCnv/share/EventCommonTPCnv_test.txt b/Event/EventCommonTPCnv/share/EventCommonTPCnv_test.txt new file mode 100644 index 0000000000000000000000000000000000000000..52e74f3f3960da310f117cb262b0f82eafbfe2b6 --- /dev/null +++ b/Event/EventCommonTPCnv/share/EventCommonTPCnv_test.txt @@ -0,0 +1,2 @@ +ApplicationMgr.DLLs += { "StoreGate", "CLIDComps" }; +ApplicationMgr.ExtSvc += { "StoreGateSvc" }; diff --git a/Event/EventCommonTPCnv/share/HepLorentzVectorCnv_p1_test.ref b/Event/EventCommonTPCnv/share/HepLorentzVectorCnv_p1_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..ba69a00097f4e43a19aaf929791eb203c8ec2f62 --- /dev/null +++ b/Event/EventCommonTPCnv/share/HepLorentzVectorCnv_p1_test.ref @@ -0,0 +1,2 @@ +HepLorentzVectorCnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p1_test.ref b/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p1_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..4fea735023171b1b557046323b0908fe330ec394 --- /dev/null +++ b/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p1_test.ref @@ -0,0 +1,22 @@ +INav4MomAssocsCnv_p1_test + + +Initializing Gaudi ApplicationMgr using job opts ../share/EventCommonTPCnv_test.txt +JobOptionsSvc INFO # =======> /home/sss/atlas/dvtest/build/../tests/../share/EventCommonTPCnv_test.txt +JobOptionsSvc INFO # (1,1): ApplicationMgr.DLLs += ["StoreGate", "CLIDComps"] +JobOptionsSvc INFO # (2,1): ApplicationMgr.ExtSvc += ["StoreGateSvc"] +JobOptionsSvc INFO Job options successfully read in from ../share/EventCommonTPCnv_test.txt +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v27r1p99) + running on karma on Wed Nov 7 22:22:56 2018 +==================================================================================================================================== +ApplicationMgr INFO Successfully loaded modules : StoreGate, CLIDComps +ApplicationMgr INFO Application Manager Configured successfully +ClassIDSvc INFO getRegistryEntries: read 1769 CLIDRegistry entries for module ALL +EventLoopMgr WARNING Unable to locate service "EventSelector" +EventLoopMgr WARNING No events will be processed from external input. +HistogramPersis...WARNING Histograms saving not required. +ApplicationMgr INFO Application Manager Initialized successfully +ApplicationMgr Ready +test1 diff --git a/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p2_test.ref b/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p2_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..4a784808ec4a147d26ce3bf53cef628cbb98cdb9 --- /dev/null +++ b/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p2_test.ref @@ -0,0 +1,2 @@ +INav4MomAssocsCnv_p2_test +test1 diff --git a/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p3_test.ref b/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p3_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..fe004517216dc2c158314162468aa14b54b9ce78 --- /dev/null +++ b/Event/EventCommonTPCnv/share/INav4MomAssocsCnv_p3_test.ref @@ -0,0 +1,2 @@ +INav4MomAssocsCnv_p3_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p1_test.ref b/Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p1_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..1a009f9cb15d0a22beffaae60ea0ad78cfabfae3 --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p1_test.ref @@ -0,0 +1,2 @@ +P4EEtaPhiMCnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p2_test.ref b/Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p2_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..f7290d8dc4a4155cacaa0c8d60c575d0c22397b7 --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4EEtaPhiMCnv_p2_test.ref @@ -0,0 +1,2 @@ +P4EEtaPhiMCnv_p2_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4IPtCotThPhiMCnv_p1_test.ref b/Event/EventCommonTPCnv/share/P4IPtCotThPhiMCnv_p1_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..2b06ba74388f3e800e0bbae2ba8607fe54e21fef --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4IPtCotThPhiMCnv_p1_test.ref @@ -0,0 +1,2 @@ +P4IPtCotThPhiMCnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p1_test.ref b/Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p1_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..848e11604af45058d5fff47a45f29e970103f4fc --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p1_test.ref @@ -0,0 +1,2 @@ +P4ImplEEtaPhiMCnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p2_test.ref b/Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p2_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..fbf93faf0dbf70519edf7454b2d36363194670fe --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4ImplEEtaPhiMCnv_p2_test.ref @@ -0,0 +1,2 @@ +P4ImplEEtaPhiMCnv_p2_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p1_test.ref b/Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p1_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..6ace0ce31f7e01c529af0de585d4791f64ad3cee --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p1_test.ref @@ -0,0 +1,2 @@ +P4ImplPtEtaPhiMCnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p2_test.ref b/Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p2_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..e32f2e608289d21abe9aebc40cd88ac8452cb88a --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4ImplPtEtaPhiMCnv_p2_test.ref @@ -0,0 +1,2 @@ +P4ImplPtEtaPhiMCnv_p2_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p1_test.ref b/Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p1_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..1618beef378a4bb82b8ce54b7d6fc47098b3e73d --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p1_test.ref @@ -0,0 +1,2 @@ +P4PtEtaPhiMCnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p2_test.ref b/Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p2_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..a691f839fe11c5c4044b8ebaea44236ec219b79d --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4PtEtaPhiMCnv_p2_test.ref @@ -0,0 +1,2 @@ +P4PtEtaPhiMCnv_p2_test +test1 diff --git a/Event/EventCommonTPCnv/share/P4PxPyPzECnv_p1_test.ref b/Event/EventCommonTPCnv/share/P4PxPyPzECnv_p1_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..e6b94dc5fd224f58b4adce05e64eafb17709d18c --- /dev/null +++ b/Event/EventCommonTPCnv/share/P4PxPyPzECnv_p1_test.ref @@ -0,0 +1,2 @@ +P4PxPyPzECnv_p1_test +test1 diff --git a/Event/EventCommonTPCnv/src/HepLorentzVectorCnv_p1.cxx b/Event/EventCommonTPCnv/src/HepLorentzVectorCnv_p1.cxx index b0918ae296a988335a7232c9b75f761e022a7e2f..496b694fefd4a25b1b5c82de457da8a13a8bd395 100644 --- a/Event/EventCommonTPCnv/src/HepLorentzVectorCnv_p1.cxx +++ b/Event/EventCommonTPCnv/src/HepLorentzVectorCnv_p1.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // HepLorentzVectorCnv_p1.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // CLHEP includes -#define private public -#define protected public #include "CLHEP/Vector/LorentzVector.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/HepLorentzVectorCnv_p1.h" diff --git a/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p1.cxx b/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p1.cxx index 3506494ad3ab23aaf606e7a5e3bb4328f39f3ba5..42ec2c2f64a824f2fd0878638d5c71e5d97f5887 100755 --- a/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p1.cxx +++ b/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p1.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // INav4MomAssocsCnv_p1.cxx @@ -17,11 +17,7 @@ #include "StoreGate/StoreGateSvc.h" // NavFourMom includes -#define private public -#define protected public #include "NavFourMom/INav4MomAssocs.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/INav4MomAssocsCnv_p1.h" @@ -45,6 +41,8 @@ INav4MomAssocsCnv_p1::persToTrans( const INav4MomAssocs_p1* persObj, INav4MomAssocs* transObj, MsgStream &log ) { + *transObj = INav4MomAssocs(); + log << MSG::DEBUG << "Loading INav4MomAssocs from persistent state..." << endmsg; @@ -67,7 +65,7 @@ INav4MomAssocsCnv_p1::persToTrans( const INav4MomAssocs_p1* persObj, << "] !!" << endmsg; } else { - transObj->m_assocStores[*itr] = link; + transObj->addAssocStore (link); } } @@ -141,28 +139,25 @@ INav4MomAssocsCnv_p1::transToPers( const INav4MomAssocs* transObj, << endmsg; // first store the underlying association stores - for ( std::map<std::string, DataLink<INav4MomAssocs> >::const_iterator itr = transObj->m_assocStores.begin(); - itr != transObj->m_assocStores.end(); - ++itr ) { - persObj->m_assocStores.push_back( itr->second.dataID() ); + for (const DataLink<INav4MomAssocs>& l : transObj->getAssocStores()) { + persObj->m_assocStores.push_back( l.dataID() ); } - const INav4MomAssocs::store_type& assocMap = transObj->m_associationMap; - - for ( INav4MomAssocs::store_type::const_iterator itr = assocMap.begin(); - itr != assocMap.end(); - ++itr ) { - const INav4MomAssocs_p1::Elem_t objLink( itr->first.dataID(), itr->first.index() ); - const INav4MomAssocs::asso_store& assocs = itr->second; - - for ( unsigned int i = 0; i != assocs.size(); ++i ) { - const INav4MomAssocs_p1::Elem_t assLink( assocs.elementDataID(i), assocs.elementIndex(i) ); - const INav4MomAssocs_p1::ElemLink_t association( objLink, assLink ); - + INav4MomAssocs::object_iterator begObj = transObj->beginObject(); + INav4MomAssocs::object_iterator endObj = transObj->endObject(); + for (; begObj != endObj; ++begObj) + { + const INav4MomAssocs::object_link& key = begObj.getObjectLink(); + INav4MomAssocs_p1::Elem_t keyElem (key.dataID(), key.index()); + INav4MomAssocs::asso_iterator begAsso = begObj.getFirstAssociation(); + INav4MomAssocs::asso_iterator endAsso = begObj.getLastAssociation(); + for (; begAsso != endAsso; ++begAsso) { + const INav4MomAssocs::asso_link asso = begAsso.getLink(); + INav4MomAssocs_p1::Elem_t assoElem (asso.dataID(), asso.index()); + const INav4MomAssocs_p1::ElemLink_t association( keyElem, assoElem ); persObj->m_assocs.push_back( association ); - - }//> loop over associations - }//> loop over object links + } + } log << MSG::DEBUG << "Created persistent state of INav4MomAssocs [OK]" diff --git a/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p2.cxx b/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p2.cxx index ea33e9ca4182ae0a92177b5a8484870a5b1156a4..cef9648524f2710b865b72cf5eab6f8a0be583b0 100644 --- a/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p2.cxx +++ b/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p2.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // INav4MomAssocsCnv_p2.cxx @@ -16,12 +16,8 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "NavFourMom/INavigable4MomentumCollection.h" #include "NavFourMom/INav4MomAssocs.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/INav4MomAssocsCnv_p2.h" @@ -52,33 +48,34 @@ INav4MomAssocsCnv_p2::persToTrans( const INav4MomAssocs_p2* pers, << "Loading INav4MomAssocs from persistent state..." << endmsg; + *trans = INav4MomAssocs(); + // retrieve underlying association stores - trans->m_assocStores.clear(); for ( INav4MomAssocs_p2::INav4MomStores_t::const_iterator i = pers->m_assocStores.begin(), iEnd = pers->m_assocStores.end(); i != iEnd; - ++i ) { - m_assocStoresCnv.persToTrans( &*i, &trans->m_assocStores[i->m_link], msg ); + ++i ) + { + IAssocStoresCnv_t::DLink_t dlink; + m_assocStoresCnv.persToTrans( &*i, &dlink, msg ); + trans->addAssocStore (dlink); } // reset element link converters, and provide container name lookup table m_inav4MomLinkCnv.resetForCnv(pers->m_contNames); - trans->m_associationMap.clear(); for ( std::size_t i = 0, iEnd = pers->m_assocs.size(); i != iEnd; ++i ) { const ElementLinkInt_p2& key = pers->m_assocs[i].first; const INav4MomAssocs_p2::ElemLinkVect_t& val = pers->m_assocs[i].second; INav4MomLink_t k; m_inav4MomLinkCnv.persToTrans( &key, &k, msg ); - trans->m_associationMap[k] = INav4MomAssocs::asso_store(); - trans->m_associationMap[k].reserve( val.size() ); for ( std::size_t j = 0, jEnd = val.size(); j != jEnd; ++j ) { INav4MomLink_t assocLink; m_inav4MomLinkCnv.persToTrans( &val[j], &assocLink, msg ); - trans->m_associationMap[k].push_back( assocLink ); + trans->addAssociation (k, assocLink); } } @@ -97,45 +94,40 @@ INav4MomAssocsCnv_p2::transToPers( const INav4MomAssocs* trans, << "Creating persistent state of INav4MomAssocs..." << endmsg; - pers->m_assocStores.resize( trans->m_assocStores.size() ); - std::size_t j = 0; // retrieve underlying association stores - for ( std::map<std::string, - INav4MomAssocs::INav4MomAssocsLink_t>::const_iterator - i = trans->m_assocStores.begin(), - iEnd = trans->m_assocStores.end(); - i != iEnd; - ++i,++j ) { - m_assocStoresCnv.transToPers( &i->second, - &pers->m_assocStores[j], msg ); + std::vector<DataLink<INav4MomAssocs> > assocStores = trans->getAssocStores(); + pers->m_assocStores.resize( assocStores.size() ); + std::size_t j = 0; + for (const DataLink<INav4MomAssocs>& l : assocStores) { + m_assocStoresCnv.transToPers( &l, &pers->m_assocStores[j], msg ); + ++j; } // reset element link converters, and provide container name lookup table m_inav4MomLinkCnv.resetForCnv(pers->m_contNames); - pers->m_assocs.resize( trans->m_associationMap.size() ); - const INav4MomAssocs::store_type& assocMap = trans->m_associationMap; j = 0; - for ( INav4MomAssocs::store_type::const_iterator itr = assocMap.begin(); - itr != assocMap.end(); - ++itr,++j ) { - const INav4MomLink_t& key = itr->first; - const INav4MomAssocs::asso_store& assocs = itr->second; - const std::size_t iMax = assocs.size(); + pers->m_assocs.resize( trans->size() ); + INav4MomAssocs::object_iterator begObj = trans->beginObject(); + INav4MomAssocs::object_iterator endObj = trans->endObject(); + for (; begObj != endObj; ++begObj) + { + const INav4MomLink_t& key = begObj.getObjectLink(); INav4MomAssocs_p2::AssocElem_t& persAssoc = pers->m_assocs[j]; - - persAssoc.second.resize( iMax ); m_inav4MomLinkCnv.transToPers( &key, &persAssoc.first, msg ); + persAssoc.second.resize( begObj.getNumberOfAssociations() ); + + INav4MomAssocs::asso_iterator begAsso = begObj.getFirstAssociation(); + INav4MomAssocs::asso_iterator endAsso = begObj.getLastAssociation(); + size_t i = 0; + for (; begAsso != endAsso; ++begAsso) { + const INav4MomAssocs::asso_link asso = begAsso.getLink(); + m_inav4MomLinkCnv.transToPers( &asso, &persAssoc.second[i], msg ); + ++i; + } - - for ( unsigned int i = 0; i != iMax; ++i ) { - const INav4MomLink_t assLink( assocs.elementDataID(i), - assocs.elementIndex(i) ); - - m_inav4MomLinkCnv.transToPers( &assLink, &persAssoc.second[i], msg ); - - }//> loop over associations - }//> loop over object links + ++j; + } msg << MSG::DEBUG << "Created persistent state of INav4MomAssocs [OK]" diff --git a/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p3.cxx b/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p3.cxx index 4075d03c16e474b787c5e435f892aff3f8da8c95..be21d6ae42c90ed68254a82d4f5dc1cf2c56f92c 100755 --- a/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p3.cxx +++ b/Event/EventCommonTPCnv/src/INav4MomAssocsCnv_p3.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // INav4MomAssocsCnv_p3.cxx @@ -16,12 +16,8 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "NavFourMom/INavigable4MomentumCollection.h" #include "NavFourMom/INav4MomAssocs.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/INav4MomAssocsCnv_p3.h" @@ -54,8 +50,9 @@ INav4MomAssocsCnv_p3::persToTrans( const INav4MomAssocs_p3* pers, { LOG_MSG(msg, MSG::DEBUG, "Loading INav4MomAssocs from persistent state..." ); + *trans = INav4MomAssocs(); + // retrieve underlying association stores - trans->m_assocStores.clear(); for ( INav4MomAssocs_p3::INav4MomStores_t::const_iterator i = pers->m_assocStores.begin(), iEnd = pers->m_assocStores.end(); @@ -63,23 +60,20 @@ INav4MomAssocsCnv_p3::persToTrans( const INav4MomAssocs_p3* pers, ++i ) { IAssocStoresCnv_t::DLink_t dlink; m_assocStoresCnv.persToTrans( &*i, &dlink, msg ); - trans->m_assocStores[ dlink.dataID() ] = dlink; + trans->addAssocStore (dlink); } - trans->m_associationMap.clear(); for ( std::size_t i = 0, iEnd = pers->m_assocs.size(); i != iEnd; ++i ) { const ElementLinkInt_p3& key = pers->m_assocs[i].first; const INav4MomAssocs_p3::ElemLinkVect_t& val = pers->m_assocs[i].second; INav4MomLink_t k; m_inav4MomLinkCnv.persToTrans( &key, &k, msg ); - trans->m_associationMap[k] = INav4MomAssocs::asso_store(); - trans->m_associationMap[k].reserve( val.size() ); for ( std::size_t j = 0, jEnd = val.size(); j != jEnd; ++j ) { INav4MomLink_t assocLink; m_inav4MomLinkCnv.persToTrans( &val[j], &assocLink, msg ); - trans->m_associationMap[k].push_back( assocLink ); + trans->addAssociation (k, assocLink); } } @@ -95,42 +89,37 @@ INav4MomAssocsCnv_p3::transToPers( const INav4MomAssocs* trans, { LOG_MSG(msg, MSG::DEBUG, "Creating persistent state of INav4MomAssocs..."); - pers->m_assocStores.resize( trans->m_assocStores.size() ); - std::size_t j = 0; // retrieve underlying association stores - for ( std::map<std::string, - INav4MomAssocs::INav4MomAssocsLink_t>::const_iterator - i = trans->m_assocStores.begin(), - iEnd = trans->m_assocStores.end(); - i != iEnd; - ++i,++j ) { - m_assocStoresCnv.transToPers( &i->second, - &pers->m_assocStores[j], msg ); + std::vector<DataLink<INav4MomAssocs> > assocStores = trans->getAssocStores(); + pers->m_assocStores.resize( assocStores.size() ); + std::size_t j = 0; + for (const DataLink<INav4MomAssocs>& l : assocStores) { + m_assocStoresCnv.transToPers( &l, &pers->m_assocStores[j], msg ); + ++j; } - pers->m_assocs.resize( trans->m_associationMap.size() ); - const INav4MomAssocs::store_type& assocMap = trans->m_associationMap; j = 0; - for ( INav4MomAssocs::store_type::const_iterator itr = assocMap.begin(); - itr != assocMap.end(); - ++itr,++j ) { - const INav4MomLink_t& key = itr->first; - const INav4MomAssocs::asso_store& assocs = itr->second; - const std::size_t iMax = assocs.size(); + pers->m_assocs.resize( trans->size() ); + INav4MomAssocs::object_iterator begObj = trans->beginObject(); + INav4MomAssocs::object_iterator endObj = trans->endObject(); + for (; begObj != endObj; ++begObj) + { + const INav4MomLink_t& key = begObj.getObjectLink(); INav4MomAssocs_p3::AssocElem_t& persAssoc = pers->m_assocs[j]; - - persAssoc.second.resize( iMax ); m_inav4MomLinkCnv.transToPers( &key, &persAssoc.first, msg ); - - - for ( unsigned int i = 0; i != iMax; ++i ) { - const INav4MomLink_t assLink( assocs[i].key(), // assocs.elementDataID(i), - assocs.elementIndex(i) ); - - m_inav4MomLinkCnv.transToPers( &assLink, &persAssoc.second[i], msg ); - - }//> loop over associations - }//> loop over object links + persAssoc.second.resize( begObj.getNumberOfAssociations() ); + + INav4MomAssocs::asso_iterator begAsso = begObj.getFirstAssociation(); + INav4MomAssocs::asso_iterator endAsso = begObj.getLastAssociation(); + size_t i = 0; + for (; begAsso != endAsso; ++begAsso) { + const INav4MomAssocs::asso_link asso = begAsso.getLink(); + m_inav4MomLinkCnv.transToPers( &asso, &persAssoc.second[i], msg ); + ++i; + } + + ++j; + } LOG_MSG(msg, MSG::DEBUG, "Created persistent state of INav4MomAssocs [OK]"); return; diff --git a/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p1.cxx b/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p1.cxx index 4f34ab7102f6939477056d1e0d0e341574889ad8..2988045058e92289043eb53b40ebd3f547704911 100755 --- a/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p1.cxx +++ b/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p1.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4EEtaPhiMCnv_p1.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/P4EEtaPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4EEtaPhiMCnv_p1.h" @@ -44,10 +40,10 @@ P4EEtaPhiMCnv_p1::persToTrans( const P4EEtaPhiM_p1* persObj, P4EEtaPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_e = (double) persObj->m_e; - transObj->m_eta = (double) persObj->m_eta; - transObj->m_phi = (double) persObj->m_phi; - transObj->m_m = (double) persObj->m_m; + transObj->setE ((double) persObj->m_e); + transObj->setEta ((double) persObj->m_eta); + transObj->setPhi ((double) persObj->m_phi); + transObj->setM ((double) persObj->m_m); return; } @@ -56,10 +52,10 @@ P4EEtaPhiMCnv_p1::transToPers( const P4EEtaPhiM* transObj, P4EEtaPhiM_p1* persObj, MsgStream &/*log*/ ) { - persObj->m_e = (float) transObj->m_e; - persObj->m_eta = (float) transObj->m_eta; - persObj->m_phi = (float) transObj->m_phi; - persObj->m_m = (float) transObj->m_m; + persObj->m_e = (float) transObj->e(); + persObj->m_eta = (float) transObj->eta(); + persObj->m_phi = (float) transObj->phi(); + persObj->m_m = (float) transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p2.cxx b/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p2.cxx index e4a94d52708677efbcd6af9b67041fa8f8bfe804..df266017fc38cbd97b5b5b1a87f0e8bbfe383658 100755 --- a/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p2.cxx +++ b/Event/EventCommonTPCnv/src/P4EEtaPhiMCnv_p2.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4EEtaPhiMCnv_p2.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/P4EEtaPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4EEtaPhiMCnv_p2.h" @@ -44,10 +40,10 @@ P4EEtaPhiMCnv_p2::persToTrans( const P4EEtaPhiMFloat_p2* persObj, P4EEtaPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_e = (double) persObj->m_e; - transObj->m_eta = (double) persObj->m_eta; - transObj->m_phi = (double) persObj->m_phi; - transObj->m_m = (double) persObj->m_m; + transObj->setE ((double) persObj->m_e); + transObj->setEta ((double) persObj->m_eta); + transObj->setPhi ((double) persObj->m_phi); + transObj->setM ((double) persObj->m_m); return; } @@ -56,10 +52,10 @@ P4EEtaPhiMCnv_p2::transToPers( const P4EEtaPhiM* transObj, P4EEtaPhiMFloat_p2* persObj, MsgStream &/*log*/ ) { - persObj->m_e = (float) transObj->m_e; - persObj->m_eta = (float) transObj->m_eta; - persObj->m_phi = (float) transObj->m_phi; - persObj->m_m = (float) transObj->m_m; + persObj->m_e = (float) transObj->e(); + persObj->m_eta = (float) transObj->eta(); + persObj->m_phi = (float) transObj->phi(); + persObj->m_m = (float) transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4IPtCotThPhiMCnv_p1.cxx b/Event/EventCommonTPCnv/src/P4IPtCotThPhiMCnv_p1.cxx index 4a6035b96ebaf42032d7e9aa7c4d144d0aecfc3f..18911f0de9bb9c1656199c3af7e1dfe74f1c61e0 100755 --- a/Event/EventCommonTPCnv/src/P4IPtCotThPhiMCnv_p1.cxx +++ b/Event/EventCommonTPCnv/src/P4IPtCotThPhiMCnv_p1.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4IPtCotThPhiMCnv_p1.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/P4IPtCotThPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4IPtCotThPhiMCnv_p1.h" @@ -44,10 +40,10 @@ P4IPtCotThPhiMCnv_p1::persToTrans( const P4IPtCotThPhiM_p1* persObj, P4IPtCotThPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_iPt = (double)persObj->m_iPt; - transObj->m_cotTh = (double)persObj->m_cotTh; - transObj->m_phi = (double)persObj->m_phi; - transObj->m_m = (double)persObj->m_mass; + transObj->setIPt ((double)persObj->m_iPt); + transObj->setCotTh ((double)persObj->m_cotTh); + transObj->setPhi ((double)persObj->m_phi); + transObj->setM ((double)persObj->m_mass); return; } @@ -56,10 +52,10 @@ P4IPtCotThPhiMCnv_p1::transToPers( const P4IPtCotThPhiM* transObj, P4IPtCotThPhiM_p1* persObj, MsgStream &/*log*/ ) { - persObj->m_iPt = (float)transObj->m_iPt; - persObj->m_cotTh = (float)transObj->m_cotTh; - persObj->m_phi = (float)transObj->m_phi; - persObj->m_mass = (float)transObj->m_m; + persObj->m_iPt = (float)transObj->iPt(); + persObj->m_cotTh = (float)transObj->cotTh(); + persObj->m_phi = (float)transObj->phi(); + persObj->m_mass = (float)transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4ImplEEtaPhiMCnv_p2.cxx b/Event/EventCommonTPCnv/src/P4ImplEEtaPhiMCnv_p2.cxx index 0e0f00d45df77dcdf570b514798ecd3ddc955035..fbc723d1f29a5c7549f419110bdbef9bdbe4276f 100644 --- a/Event/EventCommonTPCnv/src/P4ImplEEtaPhiMCnv_p2.cxx +++ b/Event/EventCommonTPCnv/src/P4ImplEEtaPhiMCnv_p2.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4ImplEEtaPhiMCnv_p2.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/Lib/P4ImplEEtaPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4ImplEEtaPhiMCnv_p2.h" @@ -44,10 +40,10 @@ P4ImplEEtaPhiMCnv_p2::persToTrans( const P4EEtaPhiMFloat_p2* persObj, P4ImplEEtaPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_e = (double) persObj->m_e; - transObj->m_eta = (double) persObj->m_eta; - transObj->m_phi = (double) persObj->m_phi; - transObj->m_m = (double) persObj->m_m; + transObj->setE ((double) persObj->m_e); + transObj->setEta ((double) persObj->m_eta); + transObj->setPhi ((double) persObj->m_phi); + transObj->setM ((double) persObj->m_m); return; } @@ -56,10 +52,10 @@ P4ImplEEtaPhiMCnv_p2::transToPers( const P4ImplEEtaPhiM* transObj, P4EEtaPhiMFloat_p2* persObj, MsgStream &/*log*/ ) { - persObj->m_e = (float) transObj->m_e; - persObj->m_eta = (float) transObj->m_eta; - persObj->m_phi = (float) transObj->m_phi; - persObj->m_m = (float) transObj->m_m; + persObj->m_e = (float) transObj->e(); + persObj->m_eta = (float) transObj->eta(); + persObj->m_phi = (float) transObj->phi(); + persObj->m_m = (float) transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4ImplPtEtaPhiMCnv_p2.cxx b/Event/EventCommonTPCnv/src/P4ImplPtEtaPhiMCnv_p2.cxx index c5071c0c4f3e6e0def1b5baf0955ca1db280c154..12cc3268f9c29aab3ec99265e63f1da48762f31f 100644 --- a/Event/EventCommonTPCnv/src/P4ImplPtEtaPhiMCnv_p2.cxx +++ b/Event/EventCommonTPCnv/src/P4ImplPtEtaPhiMCnv_p2.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4ImplPtEtaPhiMCnv_p2.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/Lib/P4ImplPtEtaPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4ImplPtEtaPhiMCnv_p2.h" @@ -44,10 +40,10 @@ P4ImplPtEtaPhiMCnv_p2::persToTrans( const P4PtEtaPhiMFloat_p2* persObj, P4ImplPtEtaPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_pt = (double) persObj->m_pt; - transObj->m_eta = (double) persObj->m_eta; - transObj->m_phi = (double) persObj->m_phi; - transObj->m_m = (double) persObj->m_mass; + transObj->setPt ((double) persObj->m_pt); + transObj->setEta ((double) persObj->m_eta); + transObj->setPhi ((double) persObj->m_phi); + transObj->setM ((double) persObj->m_mass); return; } @@ -56,10 +52,10 @@ P4ImplPtEtaPhiMCnv_p2::transToPers( const P4ImplPtEtaPhiM* transObj, P4PtEtaPhiMFloat_p2* persObj, MsgStream &/*log*/ ) { - persObj->m_pt = (float) transObj->m_pt; - persObj->m_eta = (float) transObj->m_eta; - persObj->m_phi = (float) transObj->m_phi; - persObj->m_mass = (float) transObj->m_m; + persObj->m_pt = (float) transObj->pt(); + persObj->m_eta = (float) transObj->eta(); + persObj->m_phi = (float) transObj->phi(); + persObj->m_mass = (float) transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p1.cxx b/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p1.cxx index 2d26f9071ebce38bef075ae9bcc8a97e7592b7e4..236ff8ced596887e58ddf54ef6a3e21b7bf1bc33 100755 --- a/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p1.cxx +++ b/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p1.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4PtEtaPhiMCnv_p1.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/P4PtEtaPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4PtEtaPhiMCnv_p1.h" @@ -44,10 +40,10 @@ P4PtEtaPhiMCnv_p1::persToTrans( const P4PtEtaPhiM_p1* persObj, P4PtEtaPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_pt = persObj->m_pt; - transObj->m_eta = persObj->m_eta; - transObj->m_phi = persObj->m_phi; - transObj->m_m = persObj->m_mass; + transObj->setPt (persObj->m_pt); + transObj->setEta (persObj->m_eta); + transObj->setPhi (persObj->m_phi); + transObj->setM (persObj->m_mass); return; } @@ -56,10 +52,10 @@ P4PtEtaPhiMCnv_p1::transToPers( const P4PtEtaPhiM* transObj, P4PtEtaPhiM_p1* persObj, MsgStream &/*log*/ ) { - persObj->m_pt = transObj->m_pt; - persObj->m_eta = transObj->m_eta; - persObj->m_phi = transObj->m_phi; - persObj->m_mass = transObj->m_m; + persObj->m_pt = transObj->pt(); + persObj->m_eta = transObj->eta(); + persObj->m_phi = transObj->phi(); + persObj->m_mass = transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p2.cxx b/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p2.cxx index c5697dedb3ee2a8c22406e7ccc1e599a5839b597..daa16004c65611e25a3375b0dc29f0269e7df957 100755 --- a/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p2.cxx +++ b/Event/EventCommonTPCnv/src/P4PtEtaPhiMCnv_p2.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4PtEtaPhiMCnv_p2.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/P4PtEtaPhiM.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4PtEtaPhiMCnv_p2.h" @@ -44,10 +40,10 @@ P4PtEtaPhiMCnv_p2::persToTrans( const P4PtEtaPhiMFloat_p2* persObj, P4PtEtaPhiM* transObj, MsgStream &/*log*/ ) { - transObj->m_pt = (double) persObj->m_pt; - transObj->m_eta = (double) persObj->m_eta; - transObj->m_phi = (double) persObj->m_phi; - transObj->m_m = (double) persObj->m_mass; + transObj->setPt ((double) persObj->m_pt); + transObj->setEta ((double) persObj->m_eta); + transObj->setPhi ((double) persObj->m_phi); + transObj->setM ((double) persObj->m_mass); return; } @@ -56,10 +52,10 @@ P4PtEtaPhiMCnv_p2::transToPers( const P4PtEtaPhiM* transObj, P4PtEtaPhiMFloat_p2* persObj, MsgStream &/*log*/ ) { - persObj->m_pt = (float) transObj->m_pt; - persObj->m_eta = (float) transObj->m_eta; - persObj->m_phi = (float) transObj->m_phi; - persObj->m_mass = (float) transObj->m_m; + persObj->m_pt = (float) transObj->pt(); + persObj->m_eta = (float) transObj->eta(); + persObj->m_phi = (float) transObj->phi(); + persObj->m_mass = (float) transObj->m(); return; } diff --git a/Event/EventCommonTPCnv/src/P4PxPyPzECnv_p1.cxx b/Event/EventCommonTPCnv/src/P4PxPyPzECnv_p1.cxx index fc2f746ed55fbc12fce7549b691a0622e3a2fd22..0ea8b437228d53fe5bdcade8d6cb965bb7b2ffbe 100755 --- a/Event/EventCommonTPCnv/src/P4PxPyPzECnv_p1.cxx +++ b/Event/EventCommonTPCnv/src/P4PxPyPzECnv_p1.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // P4PxPyPzECnv_p1.cxx @@ -16,11 +16,7 @@ #include "GaudiKernel/MsgStream.h" // NavFourMom includes -#define private public -#define protected public #include "FourMom/P4PxPyPzE.h" -#undef protected -#undef private // EventCommonTPCnv includes #include "EventCommonTPCnv/P4PxPyPzECnv_p1.h" @@ -44,10 +40,10 @@ P4PxPyPzECnv_p1::persToTrans( const P4PxPyPzE_p1* persObj, P4PxPyPzE* transObj, MsgStream &/*log*/ ) { - transObj->m_px = (double)persObj->m_px; - transObj->m_py = (double)persObj->m_py; - transObj->m_pz = (double)persObj->m_pz; - transObj->m_e = (double)persObj->m_ene; + transObj->setPx ((double)persObj->m_px); + transObj->setPy ((double)persObj->m_py); + transObj->setPz ((double)persObj->m_pz); + transObj->setE ((double)persObj->m_ene); return; } @@ -56,10 +52,10 @@ P4PxPyPzECnv_p1::transToPers( const P4PxPyPzE* transObj, P4PxPyPzE_p1* persObj, MsgStream &/*log*/ ) { - persObj->m_px = (float)transObj->m_px; - persObj->m_py = (float)transObj->m_py; - persObj->m_pz = (float)transObj->m_pz; - persObj->m_ene = (float)transObj->m_e; + persObj->m_px = (float)transObj->px(); + persObj->m_py = (float)transObj->py(); + persObj->m_pz = (float)transObj->pz(); + persObj->m_ene = (float)transObj->e(); return; } diff --git a/Event/EventCommonTPCnv/test/HepLorentzVectorCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/HepLorentzVectorCnv_p1_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..1827bab967ffb8bc58519c25373e4aedb7cf3104 --- /dev/null +++ b/Event/EventCommonTPCnv/test/HepLorentzVectorCnv_p1_test.cxx @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/HepLorentzVectorCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/HepLorentzVectorCnv_p1.h" +#include "CLHEP/Vector/LorentzVector.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const CLHEP::HepLorentzVector& a1, + const CLHEP::HepLorentzVector& a2) +{ + assert (a1 == a2); +} + + +void testit (const CLHEP::HepLorentzVector& trans1) +{ + MsgStream log (0, "test"); + HepLorentzVectorCnv_p1 cnv; + HepLorentzVector_p1 pers; + cnv.transToPers (&trans1, &pers, log); + CLHEP::HepLorentzVector trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + CLHEP::HepLorentzVector trans1 (1, 2, 3, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "HepLorentzVectorCnv_p1_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p1_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..6fed93a42b55c89dcbcb9a823ff67c0cec31a745 --- /dev/null +++ b/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p1_test.cxx @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/INav4MomAssocsCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/INav4MomAssocsCnv_p1.h" +#include "NavFourMom/INav4MomAssocs.h" +#include "NavFourMom/Nav4MomWrapper.h" +#include "FourMom/P4PxPyPzE.h" +#include "TestTools/leakcheck.h" +#include "TestTools/initGaudi.h" +#include "StoreGate/StoreGateSvc.h" +#include "GaudiKernel/MsgStream.h" +#include "GaudiKernel/ServiceHandle.h" +#include <cassert> +#include <iostream> + + +class Part + : virtual public INavigable4Momentum, + public P4PxPyPzE, + public NavigableTerminalNode +{ +public: +}; + + + +void compare (const INav4MomAssocs& a1, + const INav4MomAssocs& a2) +{ + assert (a1.getAssocStores() == a2.getAssocStores()); + + assert (a1.size() == a2.size()); + INav4MomAssocs::object_iterator i1 = a1.beginObject(); + INav4MomAssocs::object_iterator i2 = a2.beginObject(); + for (size_t i = 0; i < a1.size(); ++i, ++i1, ++i2) { + assert (i1.getObjectLink() == i2.getObjectLink()); + + assert (i1.getNumberOfAssociations() == i2.getNumberOfAssociations()); + INav4MomAssocs::asso_iterator j1 = i1.second(); + INav4MomAssocs::asso_iterator j2 = i2.second(); + for (size_t j = 0; j < i1.getNumberOfAssociations(); ++j, ++j1, ++j2) { + assert (j1.getLink() == j2.getLink()); + } + } +} + + +void testit (const INav4MomAssocs& trans1, StoreGateSvc* sg) +{ + MsgStream log (0, "test"); + INav4MomAssocsCnv_p1 cnv (sg); + INav4MomAssocs_p1 pers; + cnv.transToPers (&trans1, &pers, log); + INav4MomAssocs trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + ServiceHandle<StoreGateSvc> sg ("StoreGateSvc", "test"); + + INavigable4MomentumCollection* in4mc = new INavigable4MomentumCollection; + for (int i=0; i < 10; i++) + in4mc->push_back (CxxUtils::make_unique<Part>()); + assert (sg->record (in4mc, "in").isSuccess()); + + INavigable4MomentumCollection* xn4mc = new INavigable4MomentumCollection; + for (int i=0; i < 10; i++) + xn4mc->push_back (CxxUtils::make_unique<Part>()); + assert (sg->record (xn4mc, "xn").isSuccess()); + + // Get proxies created. + ElementLink<INavigable4MomentumCollection> dum1 ("in", 3); + ElementLink<INavigable4MomentumCollection> dum2 ("xn", 2); + + Athena_test::Leakcheck check; + + INav4MomAssocs trans1; + trans1.addAssociation (ElementLink<INavigable4MomentumCollection> ("in", 3), + ElementLink<INavigable4MomentumCollection> ("xn", 2)); + trans1.addAssociation (ElementLink<INavigable4MomentumCollection> ("in", 6), + ElementLink<INavigable4MomentumCollection> ("xn", 4)); + + testit (trans1, &*sg); +} + + +int main() +{ + std::cout << "INav4MomAssocsCnv_p1_test\n"; + + ISvcLocator* pSvcLoc; + if (!Athena_test::initGaudi("EventCommonTPCnv_test.txt", pSvcLoc)) { + std::cerr << "This test can not be run" << std::endl; + return 0; + } + + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p2_test.cxx b/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p2_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..61e396d3af539281d3aa53157ba6325cf613cfc4 --- /dev/null +++ b/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p2_test.cxx @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/INav4MomAssocsCnv_p2_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/INav4MomAssocsCnv_p2.h" +#include "NavFourMom/INav4MomAssocs.h" +#include "NavFourMom/Nav4MomWrapper.h" +#include "FourMom/P4PxPyPzE.h" +#include "TestTools/leakcheck.h" +#include "SGTools/TestStore.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +class Part + : virtual public INavigable4Momentum, + public P4PxPyPzE, + public NavigableTerminalNode +{ +public: +}; + + + +void compare (const INav4MomAssocs& a1, + const INav4MomAssocs& a2) +{ + assert (a1.getAssocStores() == a2.getAssocStores()); + + assert (a1.size() == a2.size()); + INav4MomAssocs::object_iterator i1 = a1.beginObject(); + INav4MomAssocs::object_iterator i2 = a2.beginObject(); + for (size_t i = 0; i < a1.size(); ++i, ++i1, ++i2) { + assert (i1.getObjectLink() == i2.getObjectLink()); + + assert (i1.getNumberOfAssociations() == i2.getNumberOfAssociations()); + INav4MomAssocs::asso_iterator j1 = i1.second(); + INav4MomAssocs::asso_iterator j2 = i2.second(); + for (size_t j = 0; j < i1.getNumberOfAssociations(); ++j, ++j1, ++j2) { + assert (j1.getLink() == j2.getLink()); + } + } +} + + +void testit (const INav4MomAssocs& trans1) +{ + MsgStream log (0, "test"); + INav4MomAssocsCnv_p2 cnv; + INav4MomAssocs_p2 pers; + cnv.transToPers (&trans1, &pers, log); + INav4MomAssocs trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + INavigable4MomentumCollection* in4mc = new INavigable4MomentumCollection; + for (int i=0; i < 10; i++) + in4mc->push_back (CxxUtils::make_unique<Part>()); + SGTest::store.record (in4mc, "in"); + + INavigable4MomentumCollection* xn4mc = new INavigable4MomentumCollection; + for (int i=0; i < 10; i++) + xn4mc->push_back (CxxUtils::make_unique<Part>()); + SGTest::store.record (xn4mc, "xn"); + + // Get proxies created. + ElementLink<INavigable4MomentumCollection> dum1 ("in", 3); + ElementLink<INavigable4MomentumCollection> dum2 ("xn", 2); + + Athena_test::Leakcheck check; + + INav4MomAssocs trans1; + trans1.addAssociation (ElementLink<INavigable4MomentumCollection> ("in", 3), + ElementLink<INavigable4MomentumCollection> ("xn", 2)); + trans1.addAssociation (ElementLink<INavigable4MomentumCollection> ("in", 6), + ElementLink<INavigable4MomentumCollection> ("xn", 4)); + + testit (trans1); +} + + +int main() +{ + std::cout << "INav4MomAssocsCnv_p2_test\n"; + SGTest::initTestStore(); + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p3_test.cxx b/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p3_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..a545621778a7e92d1d38b3f57cea95bd5aa21866 --- /dev/null +++ b/Event/EventCommonTPCnv/test/INav4MomAssocsCnv_p3_test.cxx @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/INav4MomAssocsCnv_p3_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/INav4MomAssocsCnv_p3.h" +#include "NavFourMom/INav4MomAssocs.h" +#include "NavFourMom/Nav4MomWrapper.h" +#include "FourMom/P4PxPyPzE.h" +#include "TestTools/leakcheck.h" +#include "SGTools/TestStore.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +class Part + : virtual public INavigable4Momentum, + public P4PxPyPzE, + public NavigableTerminalNode +{ +public: +}; + + + +void compare (const INav4MomAssocs& a1, + const INav4MomAssocs& a2) +{ + assert (a1.getAssocStores() == a2.getAssocStores()); + + assert (a1.size() == a2.size()); + INav4MomAssocs::object_iterator i1 = a1.beginObject(); + INav4MomAssocs::object_iterator i2 = a2.beginObject(); + for (size_t i = 0; i < a1.size(); ++i, ++i1, ++i2) { + assert (i1.getObjectLink() == i2.getObjectLink()); + + assert (i1.getNumberOfAssociations() == i2.getNumberOfAssociations()); + INav4MomAssocs::asso_iterator j1 = i1.second(); + INav4MomAssocs::asso_iterator j2 = i2.second(); + for (size_t j = 0; j < i1.getNumberOfAssociations(); ++j, ++j1, ++j2) { + assert (j1.getLink() == j2.getLink()); + } + } +} + + +void testit (const INav4MomAssocs& trans1) +{ + MsgStream log (0, "test"); + INav4MomAssocsCnv_p3 cnv; + INav4MomAssocs_p3 pers; + cnv.transToPers (&trans1, &pers, log); + INav4MomAssocs trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + INavigable4MomentumCollection* in4mc = new INavigable4MomentumCollection; + for (int i=0; i < 10; i++) + in4mc->push_back (CxxUtils::make_unique<Part>()); + SGTest::store.record (in4mc, "in"); + + INavigable4MomentumCollection* xn4mc = new INavigable4MomentumCollection; + for (int i=0; i < 10; i++) + xn4mc->push_back (CxxUtils::make_unique<Part>()); + SGTest::store.record (xn4mc, "xn"); + + // Get proxies created. + ElementLink<INavigable4MomentumCollection> dum1 ("in", 3); + ElementLink<INavigable4MomentumCollection> dum2 ("xn", 2); + + Athena_test::Leakcheck check; + + INav4MomAssocs trans1; + trans1.addAssociation (ElementLink<INavigable4MomentumCollection> ("in", 3), + ElementLink<INavigable4MomentumCollection> ("xn", 2)); + trans1.addAssociation (ElementLink<INavigable4MomentumCollection> ("in", 6), + ElementLink<INavigable4MomentumCollection> ("xn", 4)); + + testit (trans1); +} + + +int main() +{ + std::cout << "INav4MomAssocsCnv_p3_test\n"; + SGTest::initTestStore(); + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p1_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..a1bd578cb3919e2f5da9e2b56a760df691b1e139 --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p1_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4EEtaPhiMCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4EEtaPhiMCnv_p1.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4EEtaPhiM& a1, + const P4EEtaPhiM& a2) +{ + assert (a1.e() == a2.e()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4EEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4EEtaPhiMCnv_p1 cnv; + P4EEtaPhiM_p1 pers; + cnv.transToPers (&trans1, &pers, log); + P4EEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4EEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4EEtaPhiMCnv_p1_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p2_test.cxx b/Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p2_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..8107f534170b5f659b0b496e5d1a7cb3358e088d --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4EEtaPhiMCnv_p2_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4EEtaPhiMCnv_p2_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4EEtaPhiMCnv_p2.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4EEtaPhiM& a1, + const P4EEtaPhiM& a2) +{ + assert (a1.e() == a2.e()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4EEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4EEtaPhiMCnv_p2 cnv; + P4EEtaPhiMFloat_p2 pers; + cnv.transToPers (&trans1, &pers, log); + P4EEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4EEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4EEtaPhiMCnv_p2_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4IPtCotThPhiMCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/P4IPtCotThPhiMCnv_p1_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..777926da488d7828c9d4a93c0a31ad82ca97f614 --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4IPtCotThPhiMCnv_p1_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4IPtCotThPhiMCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4IPtCotThPhiMCnv_p1.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4IPtCotThPhiM& a1, + const P4IPtCotThPhiM& a2) +{ + assert (a1.iPt() == a2.iPt()); + assert (a1.cotTh() == a2.cotTh()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4IPtCotThPhiM& trans1) +{ + MsgStream log (0, "test"); + P4IPtCotThPhiMCnv_p1 cnv; + P4IPtCotThPhiM_p1 pers; + cnv.transToPers (&trans1, &pers, log); + P4IPtCotThPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4IPtCotThPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4IPtCotThPhiMCnv_p1_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p1_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..158272cfc4d67d649f4570e4f44c712df6e00842 --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p1_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4ImplEEtaPhiMCnv_p1.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4ImplEEtaPhiM& a1, + const P4ImplEEtaPhiM& a2) +{ + assert (a1.e() == a2.e()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4ImplEEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4ImplEEtaPhiMCnv_p1 cnv; + P4ImplEEtaPhiM_p1 pers; + cnv.transToPers (&trans1, &pers, log); + P4ImplEEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4ImplEEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4ImplEEtaPhiMCnv_p1_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p2_test.cxx b/Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p2_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..1ba14709865c6e78af6dec28802f9fc438cd3427 --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p2_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4ImplEEtaPhiMCnv_p2_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4ImplEEtaPhiMCnv_p2.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4ImplEEtaPhiM& a1, + const P4ImplEEtaPhiM& a2) +{ + assert (a1.e() == a2.e()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4ImplEEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4ImplEEtaPhiMCnv_p2 cnv; + P4EEtaPhiMFloat_p2 pers; + cnv.transToPers (&trans1, &pers, log); + P4ImplEEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4ImplEEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4ImplEEtaPhiMCnv_p2_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p1_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..3a871a73021abb4a796b5565ae114d374f37246d --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p1_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4ImplPtEtaPhiMCnv_p1.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4ImplPtEtaPhiM& a1, + const P4ImplPtEtaPhiM& a2) +{ + assert (a1.iPt() == a2.iPt()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4ImplPtEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4ImplPtEtaPhiMCnv_p1 cnv; + P4ImplPtEtaPhiM_p1 pers; + cnv.transToPers (&trans1, &pers, log); + P4ImplPtEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4ImplPtEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4ImplPtEtaPhiMCnv_p1_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p2_test.cxx b/Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p2_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..1a5ec3102965568395599ddbc1ada26b193eb73d --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p2_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4ImplPtEtaPhiMCnv_p2_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4ImplPtEtaPhiMCnv_p2.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4ImplPtEtaPhiM& a1, + const P4ImplPtEtaPhiM& a2) +{ + assert (a1.iPt() == a2.iPt()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4ImplPtEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4ImplPtEtaPhiMCnv_p2 cnv; + P4PtEtaPhiMFloat_p2 pers; + cnv.transToPers (&trans1, &pers, log); + P4ImplPtEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4ImplPtEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4ImplPtEtaPhiMCnv_p2_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p1_test.cxx b/Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p1_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..a6149e31c152c8c05a5b2e7183f5d4b7e66f4d5f --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p1_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4PtEtaPhiMCnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4PtEtaPhiMCnv_p1.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4PtEtaPhiM& a1, + const P4PtEtaPhiM& a2) +{ + assert (a1.pt() == a2.pt()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4PtEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4PtEtaPhiMCnv_p1 cnv; + P4PtEtaPhiM_p1 pers; + cnv.transToPers (&trans1, &pers, log); + P4PtEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4PtEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4PtEtaPhiMCnv_p1_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p2_test.cxx b/Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p2_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..076b088e9ad84bbf1453ff5043433ec202bfe030 --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4PtEtaPhiMCnv_p2_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4PtEtaPhiMCnv_p2_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4PtEtaPhiMCnv_p2.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4PtEtaPhiM& a1, + const P4PtEtaPhiM& a2) +{ + assert (a1.pt() == a2.pt()); + assert (a1.eta() == a2.eta()); + assert (a1.phi() == a2.phi()); + assert (a1.m() == a2.m()); +} + + +void testit (const P4PtEtaPhiM& trans1) +{ + MsgStream log (0, "test"); + P4PtEtaPhiMCnv_p2 cnv; + P4PtEtaPhiMFloat_p2 pers; + cnv.transToPers (&trans1, &pers, log); + P4PtEtaPhiM trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4PtEtaPhiM trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4PtEtaPhiMCnv_p2_test\n"; + test1(); + return 0; +} diff --git a/Event/EventCommonTPCnv/test/P4PxPyPzECnv_p1_test.cxx b/Event/EventCommonTPCnv/test/P4PxPyPzECnv_p1_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..e9e5bdc0f4d854c4211d61c9f5e99773325dcb4e --- /dev/null +++ b/Event/EventCommonTPCnv/test/P4PxPyPzECnv_p1_test.cxx @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file EventCommonTPCnv/test/P4PxPyPzECnv_p1_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Nov, 2018 + * @brief Regression tests. + */ + +#undef NDEBUG +#include "EventCommonTPCnv/P4PxPyPzECnv_p1.h" +#include "TestTools/leakcheck.h" +#include "GaudiKernel/MsgStream.h" +#include <cassert> +#include <iostream> + + +void compare (const P4PxPyPzE& a1, + const P4PxPyPzE& a2) +{ + assert (a1.px() == a2.px()); + assert (a1.py() == a2.py()); + assert (a1.pz() == a2.pz()); + assert (a1.e() == a2.e()); +} + + +void testit (const P4PxPyPzE& trans1) +{ + MsgStream log (0, "test"); + P4PxPyPzECnv_p1 cnv; + P4PxPyPzE_p1 pers; + cnv.transToPers (&trans1, &pers, log); + P4PxPyPzE trans2; + cnv.persToTrans (&pers, &trans2, log); + compare (trans1, trans2); +} + + +void test1() +{ + std::cout << "test1\n"; + + Athena_test::Leakcheck check; + + P4PxPyPzE trans1 (1, 2.5, 1.5, 4); + testit (trans1); +} + + +int main() +{ + std::cout << "P4PxPyPzECnv_p1_test\n"; + test1(); + return 0; +} diff --git a/Event/EventOverlay/EventOverlayJobTransforms/scripts/G4HitMerge_trf.py b/Event/EventOverlay/EventOverlayJobTransforms/scripts/G4HitMerge_trf.py deleted file mode 100755 index 17b42b13d49e4e83b8ff8f88faa7b1c0d4c27898..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/EventOverlayJobTransforms/scripts/G4HitMerge_trf.py +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env python - -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - -__doc__ = """Merge two G4 HITS files into one file, adding the HITS from event 1 in one file to those from event 1 in the other file, 2 to 2, etc.""" - -from PyJobTransformsCore.trf import * -from PyJobTransformsCore.full_trfarg import * -from PyJobTransformsCore.trfutil import * -from PyJobTransformsCore.TransformConfig import * -import PyJobTransformsCore.basic_trfarg as trfarg - -from RecJobTransforms.RecConfig import recConfig - -class InputHITS1FileArg(StringArg): - """The first input HITS file""" - def __init__(self,help='default',name='inputHITS1File'): - StringArg.__init__(self,help,name) - - def isFullArgument(self): - return True - -class InputHITS2FileArg(StringArg): - """The second input HITS file""" - def __init__(self,help='default',name='inputHITS2File'): - StringArg.__init__(self,help,name) - - def isFullArgument(self): - return True - -class OutputHITSFileArg(StringArg): - """The output HITS file""" - def __init__(self,help='default',name='outputHITSFile'): - StringArg.__init__(self,help,name) - - def isFullArgument(self): - return True - -class PostIncludeArg(JobOptionsArg): - """Joboptions file with user settings, to run after the job itself""" - def __init__(self,help='default',package='',name='default'): - # split comma separated string into list - if type(package) == str: package = package.split(',') - # always add 'EventOverlayJobTransforms' package (which contain common postIncludeConfig files) - commonPack = 'EventOverlayJobTransforms' - if commonPack not in package: package.append(commonPack) - JobOptionsArg.__init__(self,help=help,package=package,name=name) - self.__config = None - - def isFullArgument(self): - return True - - -class G4HitMergeJobTransform( JobTransform ): - def __init__(self): - JobTransform.__init__(self, - authors = [ Author('Andrew Haas', 'ahaas@cern.ch'), Author('William Lockman','William.Lockman@cern.ch') ] , - skeleton='EventOverlayJobTransforms/skeleton.G4HitMerge.py' , - help = __doc__, - config = recConfig ) - - #add arguments - self.add( InputHITS1FileArg() ) - self.add( InputHITS2FileArg() ) - self.add( OutputHITSFileArg() ) - self.add( MaxEventsArg() ) - self.add( SkipEventsArg() ) - self.add( GeometryVersionArg() ) - self.add( DBReleaseArg(), default='NONE' ) - self.add( ConditionsTagArg(), default='NONE' ) - self.add( PostIncludeArg(), default='NONE' ) - - #add other features - self.add( SQLiteSupport() ) - - -# execute it if not imported -if __name__ == '__main__': - trf = G4HitMergeJobTransform() - sys.exit(trf.exeSysArgs().exitCode()) - diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/CaloOverlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/CaloOverlay_jobOptions.py index 3edb96feb9b97a17c353728b4b0341b3e7884f2a..7b66c9dcb0655b58d11edfa123526782cf21b70d 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/CaloOverlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/CaloOverlay_jobOptions.py @@ -1,21 +1,9 @@ include.block ( "EventOverlayJobTransforms/CaloOverlay_jobOptions.py" ) -from AthenaCommon.Resilience import treatException,protectedInclude - from Digitization.DigitizationFlags import jobproperties from AthenaCommon.DetFlags import DetFlags from OverlayCommonAlgs.OverlayFlags import overlayFlags -if overlayFlags.doBkg==True: - if DetFlags.overlay.LAr_on(): - from OverlayCommonAlgs.OverlayCommonAlgsConf import DeepCopyObjects - job += DeepCopyObjects("BkgRdo2") - job.BkgRdo2.LArObjects = True - if DetFlags.overlay.Tile_on(): - from OverlayCommonAlgs.OverlayCommonAlgsConf import DeepCopyObjects - job += DeepCopyObjects("BkgRdo3") - job.BkgRdo3.TileObjects = True - if DetFlags.overlay.LAr_on() or DetFlags.overlay.Tile_on(): diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/ConfiguredOverlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/ConfiguredOverlay_jobOptions.py index 4a2ea488b332062a24b62c2a56ad2095d9d4b1d4..7f139aba71f3fe1b3ab27e92dd4d7237d3857bf3 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/ConfiguredOverlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/ConfiguredOverlay_jobOptions.py @@ -5,13 +5,13 @@ include.block ( "EventOverlayJobTransforms/ConfiguredOverlay_jobOptions.py" ) # (modified by Piyali.Banerjee to include skip events) #-------------------------------------------------------------- +from AthenaCommon import CfgGetter from AthenaCommon.AlgSequence import AlgSequence job = AlgSequence() topSequence = job -if not isRealData: - from OverlayCommonAlgs.OverlayCommonAlgsConf import CopyTimings - job += CopyTimings() +if not overlayFlags.isDataOverlay(): + job += CfgGetter.getAlgorithm("CopyTimings") #======================================================================= from AthenaCommon.AppMgr import ServiceMgr diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/InDetMcSignal_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/InDetMcSignal_jobOptions.py index 103b040f3cd6cf60d10bff9c7dbde366be0ae5ae..547526f74cac9fb63000b8ecd9364a93a2f324ef 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/InDetMcSignal_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/InDetMcSignal_jobOptions.py @@ -3,9 +3,10 @@ include.block ( "EventOverlayJobTransforms/InDetMcSignal_jobOptions.py" ) from AthenaCommon.GlobalFlags import globalflags from AthenaCommon.DetFlags import DetFlags if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay.TRT_on(): + pass - from OverlayCommonAlgs.OverlayCommonAlgsConf import SaveInDetObjects - job += SaveInDetObjects() - if globalflags.DataSource()=='data': - job.SaveInDetObjects.SCTType = True - + # TODO: will this still be needed? + # from OverlayCommonAlgs.OverlayCommonAlgsConf import SaveInDetObjects + # job += SaveInDetObjects() + # if globalflags.DataSource()=='data': + # job.SaveInDetObjects.SCTType = True diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/InnerDetectorOverlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/InnerDetectorOverlay_jobOptions.py index 1b0a1842aa38a8407ddca3fc6381beeb2c17a9b3..e6632595257ba83be88b6d9f649d002f7036c9d8 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/InnerDetectorOverlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/InnerDetectorOverlay_jobOptions.py @@ -5,15 +5,9 @@ from AthenaCommon.DetFlags import DetFlags from AthenaCommon import CfgGetter from OverlayCommonAlgs.OverlayFlags import overlayFlags -from AthenaCommon.Resilience import treatException,protectedInclude if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay.TRT_on(): - if overlayFlags.doBkg==True: - from OverlayCommonAlgs.OverlayCommonAlgsConf import DeepCopyObjects - job += DeepCopyObjects("BkgRdo1") - job.BkgRdo1.InDetObjects = True - digitizationFlags.doInDetNoise=False # FIXME THIS SHOULD BE SET EARLIER IN THE CONFIGURATION #if overlayFlags.isDataOverlay(): diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/L1Signal_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/L1Signal_jobOptions.py index fb708138273fe9bb762a94feaddc881b1a688407..88cc54dca7ac64cd75f9f53c9f74029ba3b07314 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/L1Signal_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/L1Signal_jobOptions.py @@ -90,12 +90,9 @@ if DetFlags.overlay.LVL1_on(): # TrigT1CaloSim Algos #------------------------------------------------------- if DetFlags.simulateLVL1.Calo_on(): - if DetFlags.simulateLVL1.LAr_on() and DetFlags.simulateLVL1.Tile_on(): - from OverlayCommonAlgs.OverlayCommonAlgsConf import RemoveObjects - job += RemoveObjects("RemoveTriggerTowerOldMC") - if globalflags.DataSource()=='data': - job.RemoveTriggerTowerOldMC.RemoveTriggerTowerMC=True + # TODO: we used to remove some containers here which is no longer possible + if DetFlags.simulateLVL1.LAr_on() and DetFlags.simulateLVL1.Tile_on(): from TrigT1CaloSim.TrigT1CaloSimConf import LVL1__TriggerTowerMaker from TrigT1CaloSim.TrigT1CaloSimConfig import TriggerTowerMaker_TTL1_Rel13 newTriggerTowerMaker = TriggerTowerMaker_TTL1_Rel13( 'newTriggerTowerMaker' ) diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/LArMcSignal_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/LArMcSignal_jobOptions.py index 71bf544299af9f925ef937fb248d550a3d65e230..6f666ed1738d50ff2d8fa5a74515fe86d3255d4a 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/LArMcSignal_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/LArMcSignal_jobOptions.py @@ -5,12 +5,7 @@ from LArROD.LArRODFlags import larRODFlags # calorimeter if DetFlags.overlay.LAr_on(): - - # Remove some objects from MC event store before re-running digitization - from OverlayCommonAlgs.OverlayCommonAlgsConf import RemoveObjects - job += RemoveObjects("RemoveLArOldMC") - if globalflags.DataSource()=='data': - job.RemoveLArOldMC.RemoveLArMC=True + # TODO: we used to remove some containers here which is no longer possible from LArDigitization.LArDigitizationConf import LArDigitMaker theLArDigits = LArDigitMaker("digitmaker2") @@ -74,4 +69,3 @@ if DetFlags.overlay.LAr_on(): from LArROD.LArDigits import DefaultLArDigitThinner newLArDigitThinner = DefaultLArDigitThinner('newLArDigitThinner') # automatically added to topSequence job.newLArDigitThinner.EvtStore = "BkgEvent_0_SG" - diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/Level1Overlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/Level1Overlay_jobOptions.py index 4c7d2ee35964e0471ccb05f101fedc338bcb0d48..e2566d590743dd3b245a7605f3bafce8d3d0415d 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/Level1Overlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/Level1Overlay_jobOptions.py @@ -7,11 +7,6 @@ from Digitization.DigitizationFlags import digitizationFlags from OverlayCommonAlgs.OverlayFlags import overlayFlags if DetFlags.overlay.LVL1_on(): - - if overlayFlags.doBkg==True: - from OverlayCommonAlgs.OverlayCommonAlgsConf import DeepCopyObjects - job += DeepCopyObjects("BkgRdo5") - job.BkgRdo5.Level1Objects = True if overlayFlags.isDataOverlay(): include ("TrigT1CaloByteStream/ReadLVL1CaloBS_jobOptions.py") @@ -36,7 +31,8 @@ if DetFlags.overlay.LVL1_on(): job.LArTTL1Maker.PileUp = True # If we are doing MC overlay if not overlayFlags.isDataOverlay(): - job.LArTTL1Maker.EvtStore = overlayFlags.evtStore() + job.LArTTL1Maker.EmTTL1ContainerName = overlayFlags.evtStore() + "+LArTTL1EM" + job.LArTTL1Maker.HadTTL1ContainerName = overlayFlags.evtStore() + "+LArTTL1HAD" if DetFlags.simulateLVL1.Tile_on(): include( "TileSimAlgs/TileTTL1_jobOptions.py" ) diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/MuonOverlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/MuonOverlay_jobOptions.py index 30c6e302a2f3bf652561124e98a9dfd17c10384b..2b9f4638648779fab416c2ca041dfaf2bc815f33 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/MuonOverlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/MuonOverlay_jobOptions.py @@ -26,11 +26,6 @@ if DetFlags.overlay.MDT_on() or DetFlags.overlay.CSC_on() or DetFlags.overlay.RP muonByteStreamFlags.RpcDataType = "atlas"#FIXME should not be setting jobproperties at this point in the configuration. muonByteStreamFlags.MdtDataType = "atlas"#FIXME should not be setting jobproperties at this point in the configuration. - if overlayFlags.doBkg==True: - from OverlayCommonAlgs.OverlayCommonAlgsConf import DeepCopyObjects - job += DeepCopyObjects("BkgRdo4") - job.BkgRdo4.MuonObjects = True - import MuonCnvExample.MuonCablingConfig digitizationFlags.doMuonNoise=False #FIXME should not be setting jobproperties at this point in the configuration. diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/SignalOutputItemList_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/SignalOutputItemList_jobOptions.py index d9f86881e3157f5cf06a333ffd742fd5dbaaff1b..b7ffe031a183ab48e184bb827500f408c776bda5 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/SignalOutputItemList_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/SignalOutputItemList_jobOptions.py @@ -3,21 +3,19 @@ include.block ( "EventOverlayJobTransforms/SignalOutputItemList_jobOptions.py" ) from AthenaCommon.DetFlags import DetFlags from AthenaCommon.DetFlags import DetFlags -#copy stuff back into the MC before persistency -from OverlayCommonAlgs.OverlayCommonAlgsConf import CopyObjects - -if DetFlags.overlay.Truth_on(): - job += CopyObjects("CopyTruth") - job.CopyTruth.TruthObjects = True +# TODO: copy stuff back into the MC before persistency if this will still be maintained +# if DetFlags.overlay.Truth_on(): + # job += CopyObjects("CopyTruth") + # job.CopyTruth.TruthObjects = True # copy InDet objects back into Signal event store -if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay.TRT_on(): - job += CopyObjects("CopyInDet") - job.CopyInDet.InDetObjects = True +# if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay.TRT_on(): + # job += CopyObjects("CopyInDet") + # job.CopyInDet.InDetObjects = True -if DetFlags.overlay.CSC_on() or DetFlags.overlay.MDT_on() or DetFlags.overlay.RPC_on() or DetFlags.overlay.TGC_on(): - job += CopyObjects("CopyMuons") - job.CopyMuons.MuonObjects = True +# if DetFlags.overlay.CSC_on() or DetFlags.overlay.MDT_on() or DetFlags.overlay.RPC_on() or DetFlags.overlay.TGC_on(): + # job += CopyObjects("CopyMuons") + # job.CopyMuons.MuonObjects = True # convert Digit to RDO for both signal store and temporary background store @@ -29,9 +27,7 @@ include ( "EventOverlayJobTransforms/TileMcSignal_jobOptions.py" ) include ( "EventOverlayJobTransforms/L1Signal_jobOptions.py" ) -from OverlayCommonAlgs.OverlayCommonAlgsConf import UpdateEventInfo -job += UpdateEventInfo() -job.UpdateEventInfo.InfoType="McEventInfo" +# TODO: some event info update will probably be needed # The output - signal from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream @@ -115,4 +111,3 @@ if DetFlags.overlay.LVL1_on(): # Write all IOV meta data containers StreamRDO_MC.MetadataItemList += [ "IOVMetaDataContainer#*" ] StreamRDO_MC.MetadataItemList += [ "LumiBlockCollection#*" ] - diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/TileMcSignal_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/TileMcSignal_jobOptions.py index 8115f136992d661e1beb3be18b5676bc7b4a8269..ea7b1805093de581d009a3d8067345068a8d06b0 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/TileMcSignal_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/TileMcSignal_jobOptions.py @@ -5,11 +5,7 @@ from AthenaCommon.GlobalFlags import globalflags from AthenaCommon import CfgGetter if DetFlags.overlay.Tile_on(): -#copy stuff back into the MC before persstency - from OverlayCommonAlgs.OverlayCommonAlgsConf import RemoveObjects - job += RemoveObjects("RemoveTileOldMC") - if globalflags.DataSource()=='data': - job.RemoveTileOldMC.RemoveTileMC=True + # TODO: we used to remove some containers here which is no longer possible from TileRecUtils.TileRecFlags import jobproperties job += CfgGetter.getAlgorithm("TileHitVecToCnt/tilehitvect", tryDefaultConfigurable=True) @@ -121,4 +117,3 @@ if DetFlags.overlay.Tile_on(): ToolSvc += ToolSvc.TileRawChannelBuilderOptATLAS.clone("newTileRawChannelBuilderOptATLAS") ToolSvc.newTileRawChannelBuilderOptATLAS.EvtStore="BkgEvent_0_SG" job.newTileRawChannelMaker.TileRawChannelBuilder += [ ToolSvc.newTileRawChannelBuilderOptATLAS ] - diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/TruthOverlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/TruthOverlay_jobOptions.py index 39f97279cc661f9de0a06bc7c767155d8a97282e..34b015de7eaa25b3d083a019ebaf8638ab4d750e 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/TruthOverlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/TruthOverlay_jobOptions.py @@ -1,22 +1,12 @@ include.block ( "EventOverlayJobTransforms/TruthOverlay_jobOptions.py" ) -# McEventCollection copying. Alghough logically it belongs to -# overlaying that is done later, it has to be scheduled before -# digitization algorithms as a workaround for bug #35465 +from AthenaCommon import CfgGetter from OverlayCommonAlgs.OverlayFlags import overlayFlags -if overlayFlags.doBkg==True: - from OverlayCommonAlgs.OverlayCommonAlgsConf import DeepCopyObjects - job += DeepCopyObjects("BkgRdo") - job.BkgRdo.EvtInfoObjects = True - job += DeepCopyObjects("BkgRdo0") - job.BkgRdo0.TruthObjects = True - -from OverlayCommonAlgs.OverlayCommonAlgsConf import CopyMcEventCollection -job += CopyMcEventCollection() -if overlayFlags.isDataOverlay(): - job.CopyMcEventCollection.RealData = True +# Copy McEventCollection +job += CfgGetter.getAlgorithm("CopyMcEventCollection") +# Copy jet truth if not overlayFlags.isDataOverlay(): - from OverlayCommonAlgs.OverlayCommonAlgsConf import CopyTruthInfo - job += CopyTruthInfo() + job += CfgGetter.getAlgorithm("CopyInTimeJetTruthInfo") + job += CfgGetter.getAlgorithm("CopyOutOfTimeJetTruthInfo") diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/removeTempBkgObjects.py b/Event/EventOverlay/EventOverlayJobTransforms/share/removeTempBkgObjects.py deleted file mode 100644 index 654c980ff4712af43cc14dd9a7741867a9c5f768..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/removeTempBkgObjects.py +++ /dev/null @@ -1,14 +0,0 @@ -# Remove all objects that were copied to the temporary background -# storegate BkgEvent_2_SG -# author: Piyali Banerjee Piyali.Banerjee@cern.ch -# date: February 2011 - -from OverlayCommonAlgs.OverlayCommonAlgsConf import RemoveTempBkgObjects - -if not "topSequence" in dir(): - from AthenaCommon.AlgSequence import AlgSequence - topSequence = AlgSequence() - -topSequence += RemoveTempBkgObjects('RemoveTempBkgObjects') -topSequence.RemoveTempBkgObjects.TempBkgStore = 'StoreGateSvc/BkgEvent_2_SG' -topSequence.RemoveTempBkgObjects.BackgroundIsData = readBS diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.G4HitMerge.py b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.G4HitMerge.py deleted file mode 100644 index 651cf0cc5b07faf3f9712fce6931fc6aeaa96304..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.G4HitMerge.py +++ /dev/null @@ -1,151 +0,0 @@ -# Andy Haas (ahaas@cern.ch), SLAC, 4/2010 -# Use pileUp infrastructure to overlay HITS from one signal stream to HITS from one background stream -# One background event is read for each signal event -# Modified by Piyali (Piyali.Banerjee@cern.ch) to include Metadata containers in the output hits file - -from AthenaCommon.Logging import logging -G4HitMergeLog = logging.getLogger('G4HitMerge') -G4HitMergeLog.info( '****************** STARTING G4HitMerge *****************' ) - -# Job definition parameters: -EvtMax = runArgs.maxEvents -SkipEvents = runArgs.skipEvents - -G4HitMergeLog.info( '**** Transformation run arguments' ) -G4HitMergeLog.info( str(runArgs) ) - -#------------------------------------------------ - -# setup DBReplicaSvc to choose closest Oracle replica, configurables style -from AthenaCommon.AppMgr import ServiceMgr -from PoolSvc.PoolSvcConf import PoolSvc -ServiceMgr+=PoolSvc(SortReplicas=True) -from DBReplicaSvc.DBReplicaSvcConf import DBReplicaSvc -ServiceMgr+=DBReplicaSvc(UseCOOLSQLite=False) - -# Overall common flags -# DetDescrVersion='ATLAS-GEO-08-00-02' - -DetDescrVersion=runArgs.geometryVersion -IOVTag=runArgs.conditionsTag - -include( "AthenaCommon/AthenaCommonFlags.py" ) - -minBiasInputCols = [ runArgs.inputHITS1File ] #["Input1.g4.pool.root"] -PoolHitsInput = [ runArgs.inputHITS2File ] #["Input2.g4.pool.root"] - -from AthenaCommon.DetFlags import DetFlags -DetFlags.ID_setOn() -DetFlags.Calo_setOn() -DetFlags.Muon_setOn() -DetFlags.Truth_setOn() -DetFlags.LVL1_setOn() - -#include ( "Digitization/Digitization_flags.py" ) - -# EventInfo Converters -import AthenaPoolCnvSvc.ReadAthenaPool -include( "EventAthenaPool/EventAthenaPool_joboptions.py" ) - -# GeoModel stuff -from AthenaCommon.GlobalFlags import jobproperties -jobproperties.Global.DetDescrVersion=DetDescrVersion -from AtlasGeoModel import SetGeometryVersion -from AtlasGeoModel import GeoModelInit - -from AthenaCommon.AppMgr import ServiceMgr -from PileUpComps.PileUpCompsConf import PileUpEventLoopMgr - -# ad-hoc configuration of pileup event loop manager -theApp.EventLoop = "PileUpEventLoopMgr" -pileUpEventLoopMgr = PileUpEventLoopMgr() -from Digitization.DigitizationFlags import jobproperties -pupStream = "PileUpCollXingStream" -jobproperties.Digitization.rndmSeedList.addSeed( pupStream, 123, 345 ) -pileUpEventLoopMgr.OrigSelector="EventSelector" - -from PileUpComps.PileUpCompsConf import BkgStreamsCache -from EventSelectorAthenaPool.EventSelectorAthenaPoolConf import EventSelectorAthenaPool -minBiasCache = BkgStreamsCache("MinBiasCache") -minBiasCache.CollPerXing=1 -minBiasCache.CollDistribution="Fixed" -minBiasCache.ReadDownscaleFactor=1 # read one new event every event -#minBiasCache.RndmGenSvc=digitizationRndmSvc -minBiasCache.RndmStreamName=pupStream -minBiasEvtSel = EventSelectorAthenaPool("minBiasEventSelector") -minBiasEvtSel.InputCollections = minBiasInputCols -minBiasEvtSel.KeepInputFilesOpen = True -ServiceMgr += minBiasEvtSel -minBiasCache.EventSelector="minBiasEventSelector" -pileUpEventLoopMgr.bkgCaches += [ minBiasCache ] - -from AthenaCommon.AppMgr import ToolSvc -from LArRecUtils.LArRecUtilsConf import LArAutoCorrTotalTool -try: - ToolSvc.LArAutoCorrTotalTool.NMinBias=1.; # FIXME <ncol> per crossing -except AttributeError: - ToolSvc += LArAutoCorrTotalTool(NMinBias=1.) - -pileUpEventLoopMgr.OutStreamType = "AthenaOutputStream" -pileUpEventLoopMgr.XingFrequency=25; -pileUpEventLoopMgr.firstXing=0 -pileUpEventLoopMgr.lastXing=0 -pileUpEventLoopMgr.OutputLevel=VERBOSE -ServiceMgr += pileUpEventLoopMgr - -# in any case we need the PileUpMergeSvc for the digitize algos -if not hasattr(ServiceMgr, 'PileUpMergeSvc'): - from PileUpTools.PileUpToolsConf import PileUpMergeSvc - ServiceMgr += PileUpMergeSvc() - -# Pool input (Change this to use a different file) -if not hasattr(ServiceMgr, 'EventSelector'): - import AthenaPoolCnvSvc.ReadAthenaPool -ServiceMgr.EventSelector.InputCollections = PoolHitsInput - -# Pool Output -from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream -Stream1 = AthenaPoolOutputStream("StreamHITS", runArgs.outputHITSFile ) -#find full list with "checkSG.py <inputfile.pool.root>" -Stream1.ItemList+=["EventInfo#*"]; -Stream1.ItemList+=["CaloCalibrationHitContainer#*"]; -Stream1.ItemList+=["SiHitCollection#*"]; -Stream1.ItemList+=["TrackRecordCollection#*"]; -Stream1.ItemList+=["LArHitContainer#*"]; -Stream1.ItemList+=["TRTUncompressedHitCollection#*"]; -Stream1.ItemList+=["CSCSimHitCollection#*"]; -Stream1.ItemList+=["TileHitVector#*"]; -#Stream1.ItemList+=["DataHeader#*"]; -Stream1.ItemList+=["McEventCollection#*"]; -Stream1.ItemList+=["RPCSimHitCollection#*"]; -Stream1.ItemList+=["MDTSimHitCollection#*"]; -Stream1.ItemList+=["TGCSimHitCollection#*"]; -Stream1.ItemList += [ "IOVMetaDataContainer#*" ] -print Stream1 - -# storegate dump -StoreGateSvc = Service( "StoreGateSvc" ) -StoreGateSvc.Dump = True #true will dump data store contents - -# the LAr and Calo detector description package -include( "CaloDetMgrDetDescrCnv/CaloDetMgrDetDescrCnv_joboptions.py" ) -include( "LArDetMgrDetDescrCnv/LArDetMgrDetDescrCnv_joboptions.py" ) -include( "LArAthenaPool/LArAthenaPool_joboptions.py" ) - -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -from OverlayCommonAlgs.OverlayCommonAlgsConf import G4HitMerger -G4HitMerger = G4HitMerger("G4HitMerger") -topSequence += G4HitMerger - -theApp.EvtMax = EvtMax -theApp.SkipEvents = SkipEvents -MessageSvc.OutputLevel = INFO - -#--------------------------- -# Post-include -if hasattr(runArgs,"postInclude"): - for fragment in runArgs.postInclude: - include(fragment) - diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayBS_tf.py b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayBS_tf.py index a638742078f2c79e4ef3bf89e636119812a7cc42..3b3bbd495a745b5a515c476695ca2280a63f66f3 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayBS_tf.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.OverlayBS_tf.py @@ -82,7 +82,6 @@ if hasattr(runArgs,"digiRndmSvc"): digitizationFlags.rndmSvc=runArgs.digiRndmSvc #if hasattr(runArgs, "AddCaloDigi"): digitizationFlags.experimentalDigi+=["AddCaloDigi"] readBS = overlayFlags.isDataOverlay() -overlayFlags.doBkg=False #ACH #GlobalFlags.InputFormat.set_bytestream() globalflags.InputFormat.set_Value_and_Lock('bytestream') diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.commis.py b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.commis.py index 82807d5a70082bdec69aaefa5d58d63424297aa0..eb425277046da62a0c3a5e766a9a0e4211a7a55c 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.commis.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/skeleton.commis.py @@ -75,7 +75,6 @@ jobproperties.Digitization.rndmSvc=runArgs.digiRndmSvc SignalInputCollections = runArgs.inputHitsFile readBS = True -overlayFlags.doBkg=False #ACH #GlobalFlags.InputFormat.set_bytestream() globalflags.InputFormat.set_Value_and_Lock('bytestream') diff --git a/Event/EventOverlay/OverlayCommonAlgs/CMakeLists.txt b/Event/EventOverlay/OverlayCommonAlgs/CMakeLists.txt index ecd8fdd559c3460fb52e4475775f4d926fe5c01e..e85bf9b477739cbba6f8498ac2088a7cf03fed02 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/CMakeLists.txt +++ b/Event/EventOverlay/OverlayCommonAlgs/CMakeLists.txt @@ -9,50 +9,24 @@ atlas_subdir( OverlayCommonAlgs ) atlas_depends_on_subdirs( PUBLIC GaudiKernel PRIVATE - Event/xAOD/xAODEventInfo - Event/xAOD/xAODCnvInterfaces - Event/xAOD/xAODJet - Calorimeter/CaloSimEvent Control/AthenaBaseComps - Control/AthenaKernel - Control/PileUpTools Control/StoreGate - Database/PersistentDataModel - DetectorDescription/Identifier Event/ByteStreamCnvSvc Event/EventInfo Event/EventOverlay/OverlayAlgBase + Event/xAOD/xAODJet Generators/GeneratorObjects - InnerDetector/InDetRawEvent/InDetBCM_RawData - InnerDetector/InDetRawEvent/InDetRawData - InnerDetector/InDetRawEvent/InDetSimData - InnerDetector/InDetSimEvent - LArCalorimeter/LArRawEvent - LArCalorimeter/LArSimEvent - MuonSpectrometer/MuonDigitContainer - MuonSpectrometer/MuonRDO - MuonSpectrometer/MuonSimData - MuonSpectrometer/MuonSimEvent Reconstruction/RecEvent - Simulation/G4Sim/TrackRecord - TileCalorimeter/TileEvent - TileCalorimeter/TileSimEvent - Trigger/TrigConfiguration/TrigConfHLTData Trigger/TrigConfiguration/TrigConfInterfaces Trigger/TrigEvent/TrigSteeringEvent - Trigger/TrigT1/TrigT1CaloEvent - Trigger/TrigT1/TrigT1Interfaces Trigger/TrigT1/TrigT1Result ) -# External dependencies: -find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) - # Component(s) in the package: atlas_add_component( OverlayCommonAlgs src/*.cxx src/components/*.cxx - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel CaloSimEvent AthenaBaseComps AthenaKernel PileUpToolsLib StoreGateLib SGtests PersistentDataModel Identifier ByteStreamCnvSvcLib EventInfo OverlayAlgBase GeneratorObjects InDetBCM_RawData InDetRawData InDetSimData InDetSimEvent LArRawEvent LArSimEvent MuonDigitContainer MuonRDO MuonSimData MuonSimEvent RecEvent TileEvent TileSimEvent TrigConfHLTData TrigSteeringEvent TrigT1CaloEventLib TrigT1Interfaces TrigT1Result xAODJet ) + LINK_LIBRARIES GaudiKernel AthenaBaseComps StoreGateLib OverlayAlgBase EventInfo GeneratorObjects RecEvent xAODJet + TrigSteeringEvent TrigT1Result ) # Install files from the package: -atlas_install_python_modules( python/__init__.py python/OverlayFlags.py ) +atlas_install_python_modules( python/*.py ) diff --git a/Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfig.py b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfig.py new file mode 100644 index 0000000000000000000000000000000000000000..5fe038925161ce68ebbe50103ff8588ea2e7a2d1 --- /dev/null +++ b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfig.py @@ -0,0 +1,51 @@ +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + +from AthenaCommon import CfgMgr + + +def getCopyInTimeJetTruthInfo(name="CopyInTimeJetTruthInfo", **kwargs): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + + kwargs.setdefault("BkgInputKey", overlayFlags.dataStore() + "+InTimeAntiKt4TruthJets") + kwargs.setdefault("OutputKey", overlayFlags.outputStore() + "+InTimeAntiKt4TruthJets") + + return CfgMgr.CopyJetTruthInfo(name, **kwargs) + + +def getCopyOutOfTimeJetTruthInfo(name="CopyOutOfTimeJetTruthInfo", **kwargs): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + + kwargs.setdefault("BkgInputKey", overlayFlags.dataStore() + "+OutOfTimeAntiKt4TruthJets") + kwargs.setdefault("OutputKey", overlayFlags.outputStore() + "+OutOfTimeAntiKt4TruthJets") + + return CfgMgr.CopyJetTruthInfo(name, **kwargs) + + +def getCopyMcEventCollection(name="CopyMcEventCollection", **kwargs): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + + kwargs.setdefault("RemoveBkgHardScatterTruth", True) + + if overlayFlags.isDataOverlay(): + # Disable background for data overlay + kwargs.setdefault("BkgInputKey", "") + else: + kwargs.setdefault("BkgInputKey", overlayFlags.dataStore() + "+TruthEvent") + kwargs.setdefault("SignalInputKey", overlayFlags.evtStore() + "+TruthEvent") + kwargs.setdefault("OutputKey", overlayFlags.outputStore() + "+TruthEvent") + + return CfgMgr.CopyMcEventCollection(name, **kwargs) + + +def getCopyTimings(name="CopyTimings", **kwargs): + from OverlayCommonAlgs.OverlayFlags import overlayFlags + + if overlayFlags.isDataOverlay(): + # Disable background for data overlay + kwargs.setdefault("BkgInputKey", "") + else: + kwargs.setdefault("BkgInputKey", overlayFlags.dataStore() + "+EVNTtoHITS_timings") + kwargs.setdefault("SignalInputKey", overlayFlags.evtStore() + "+EVNTtoHITS_timings") + kwargs.setdefault("OutputKey", overlayFlags.outputStore() + "+EVNTtoHITS_timings") + + return CfgMgr.CopyTimings(name, **kwargs) diff --git a/Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfigDb.py b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfigDb.py new file mode 100644 index 0000000000000000000000000000000000000000..678ecc7649eaae4c6db9ec53dec6516ba95a9656 --- /dev/null +++ b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayCommonAlgsConfigDb.py @@ -0,0 +1,8 @@ +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + +from AthenaCommon.CfgGetter import addAlgorithm + +addAlgorithm("OverlayCommonAlgs.OverlayCommonAlgsConfig.getCopyInTimeJetTruthInfo", "CopyInTimeJetTruthInfo") +addAlgorithm("OverlayCommonAlgs.OverlayCommonAlgsConfig.getCopyOutOfTimeJetTruthInfo", "CopyOutOfTimeJetTruthInfo") +addAlgorithm("OverlayCommonAlgs.OverlayCommonAlgsConfig.getCopyMcEventCollection", "CopyMcEventCollection") +addAlgorithm("OverlayCommonAlgs.OverlayCommonAlgsConfig.getCopyTimings", "CopyTimings") diff --git a/Event/EventOverlay/OverlayCommonAlgs/python/OverlayFlags.py b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayFlags.py index b8c62e29e6dd359aca6858a1ccc1bcf44c885f0e..a7d119dbe3049f825750caad4cc6f6cf852da46c 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/python/OverlayFlags.py +++ b/Event/EventOverlay/OverlayCommonAlgs/python/OverlayFlags.py @@ -32,12 +32,6 @@ class doSignal(JobProperty): statusOn=True allowedTypes=['bool'] StoredValue = False - -class doBkg(JobProperty): - """Background""" - statusOn=True - allowedTypes=['bool'] - StoredValue = False class evtStore(JobProperty): """MC EvtStore name for overlay""" diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.cxx new file mode 100644 index 0000000000000000000000000000000000000000..cfceee78a7b7f0ccb921fb79c2488ae8ce9d2505 --- /dev/null +++ b/Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.cxx @@ -0,0 +1,59 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#include "CopyJetTruthInfo.h" + +#include "xAODJet/JetAuxContainer.h" + + +CopyJetTruthInfo::CopyJetTruthInfo(const std::string &name, ISvcLocator *pSvcLocator) + : AthAlgorithm(name, pSvcLocator) {} + +StatusCode CopyJetTruthInfo::initialize() +{ + ATH_MSG_DEBUG("Initializing..."); + + // Check and initialize keys + ATH_CHECK( m_bkgInputKey.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_bkgInputKey); + ATH_CHECK( m_outputKey.initialize() ); + ATH_MSG_VERBOSE("Initialized WriteHandleKey: " << m_outputKey); + + return StatusCode::SUCCESS; +} + +StatusCode CopyJetTruthInfo::execute() +{ + ATH_MSG_DEBUG("execute() begin"); + + // Reading the input timings + ATH_MSG_VERBOSE("Retrieving input jets containers"); + + SG::ReadHandle<xAOD::JetContainer> bkgContainer(m_bkgInputKey); + if (!bkgContainer.isValid()) { + ATH_MSG_ERROR("Could not get background jets container " << bkgContainer.name() << " from store " << bkgContainer.store()); + return StatusCode::FAILURE; + } + ATH_MSG_DEBUG("Found background jets container " << bkgContainer.name() << " in store " << bkgContainer.store()); + + // Creating output jets container + SG::WriteHandle<xAOD::JetContainer> outputContainer(m_outputKey); + ATH_CHECK(outputContainer.record(std::make_unique<xAOD::JetContainer>(), std::make_unique<xAOD::JetAuxContainer>())); + if (!outputContainer.isValid()) { + ATH_MSG_ERROR("Could not record output jet container " << outputContainer.name() << " to store " << outputContainer.store()); + return StatusCode::FAILURE; + } + ATH_MSG_DEBUG("Recorded output jet container " << outputContainer.name() << " in store " << outputContainer.store()); + + outputContainer->reserve(bkgContainer->size()); + + for (const xAOD::Jet *bkgJet : *bkgContainer.cptr()) { + xAOD::Jet *jet = new xAOD::Jet(); + outputContainer->push_back(jet); + *jet = *bkgJet; + } + + ATH_MSG_DEBUG("execute() end"); + return StatusCode::SUCCESS; +} diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.h b/Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.h new file mode 100644 index 0000000000000000000000000000000000000000..81fa3c91e841400ba6c026ca801a1e97eddf3615 --- /dev/null +++ b/Event/EventOverlay/OverlayCommonAlgs/src/CopyJetTruthInfo.h @@ -0,0 +1,26 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef OVERLAYCOMMONALGS_COPYJETTRUTHINFO_H +#define OVERLAYCOMMONALGS_COPYJETTRUTHINFO_H + +#include "AthenaBaseComps/AthAlgorithm.h" +#include "xAODJet/JetContainer.h" + +class CopyJetTruthInfo : public AthAlgorithm +{ +public: + + CopyJetTruthInfo(const std::string &name, ISvcLocator *pSvcLocator); + + virtual StatusCode initialize(); + virtual StatusCode execute(); + +private: + SG::ReadHandleKey<xAOD::JetContainer> m_bkgInputKey{ this, "BkgInputKey", "", "ReadHandleKey for Background Jet Containers" }; + SG::WriteHandleKey<xAOD::JetContainer> m_outputKey{ this, "OutputKey", "", "WriteHandleKey for Output Jet Containers" }; + +}; + +#endif // OVERLAYCOMMONALGS_COPYJETTRUTHINFO_H diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.cxx index 68b4d8529ac9c641fb378d24a2d3d0b7ed6c3c04..70dbc45fbecbc172338e1bd96923561b07689784 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.cxx +++ b/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.cxx @@ -1,273 +1,92 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -// Andrei Gaponenko <agaponenko@lbl.gov>, 2008 -// Ketevi A. Assamagan, October 2009 - #include "CopyMcEventCollection.h" -#include "GeneratorObjects/McEventCollection.h" -#include "TrackRecord/TrackRecordCollection.h" -#include "CaloSimEvent/CaloCalibrationHitContainer.h" -#include "GeneratorObjects/HijingEventParams.h" -//#include "IOVDbDataModel/IOVMetaDataContainer.h" - -#include "EventInfo/EventInfo.h" -#include "EventInfo/EventType.h" -#include "EventInfo/EventID.h" - -#include "xAODEventInfo/EventInfo.h" -#include "xAODEventInfo/EventAuxInfo.h" -//#include "xAODEventInfo/EventInfoContainer.h" -//#include "xAODEventInfo/EventInfoAuxContainer.h" -#include <iostream> -#include <typeinfo> -//================================================================ -CopyMcEventCollection::CopyMcEventCollection(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator), - m_storeGateData2("StoreGateSvc/OriginalEvent2_SG", name), - m_cnvTool( "xAODMaker::EventInfoCnvTool/EventInfoCnvTool", this ) +CopyMcEventCollection::CopyMcEventCollection(const std::string &name, ISvcLocator *pSvcLocator) + : AthAlgorithm(name, pSvcLocator) { - declareProperty("InfoType", m_infoType="MyEvent"); - declareProperty("RealData", m_realdata=false); - declareProperty("DataStore2", m_storeGateData2, "help"); - declareProperty("CheckEventNumbers", m_checkeventnumbers=true); - declareProperty( "CnvTool", m_cnvTool ); declareProperty("RemoveBkgHardScatterTruth", m_removeBkgHardScatterTruth=true); } -//================================================================ -StatusCode CopyMcEventCollection::overlayInitialize() +StatusCode CopyMcEventCollection::initialize() { + ATH_MSG_DEBUG("Initializing..."); - if (m_storeGateData2.retrieve().isFailure()) { - ATH_MSG_FATAL("OverlayAlgBase::initialize): StoreGate[data2] service not found !"); - return StatusCode::FAILURE; - } - - CHECK( m_cnvTool.retrieve() );//get the conversion tool for making xAOD::EventInfo + // Check and initialize keys + ATH_CHECK( m_bkgInputKey.initialize(!m_bkgInputKey.key().empty()) ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_bkgInputKey); + ATH_CHECK( m_signalInputKey.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_signalInputKey); + ATH_CHECK( m_outputKey.initialize() ); + ATH_MSG_VERBOSE("Initialized WriteHandleKey: " << m_outputKey); return StatusCode::SUCCESS; } -//================================================================ -StatusCode CopyMcEventCollection::overlayFinalize() +StatusCode CopyMcEventCollection::execute() { - return StatusCode::SUCCESS; -} + ATH_MSG_DEBUG("execute() begin"); -//================================================================ -StatusCode CopyMcEventCollection::overlayExecute() { - MsgStream log(msgSvc(), name()); - log << MSG::DEBUG << "CopyMcEventCollection::execute() begin"<< endmsg; + // Reading the input containers + ATH_MSG_VERBOSE("Retrieving input containers"); - // Validate Event Info - if (m_checkeventnumbers) - { + const McEventCollection *bkgContainerPtr = nullptr; + if (!m_bkgInputKey.key().empty()) { + SG::ReadHandle<McEventCollection> bkgContainer(m_bkgInputKey); + if (!bkgContainer.isValid()) { + ATH_MSG_ERROR("Could not get background McEventCollection container " << bkgContainer.name() << " from store " << bkgContainer.store()); + return StatusCode::FAILURE; + } + bkgContainerPtr = bkgContainer.cptr(); - const EventInfo* mcEvtInfo = 0; - if (m_storeGateMC->retrieve(mcEvtInfo).isSuccess() ) { - log << MSG::INFO - << "Got EventInfo from MC store: " - << " event " << mcEvtInfo->event_ID()->event_number() - << " run " << mcEvtInfo->event_ID()->run_number() - << " timestamp " << mcEvtInfo->event_ID()->time_stamp() - << " lbn " << mcEvtInfo->event_ID()->lumi_block() - << " bcid " << mcEvtInfo->event_ID()->bunch_crossing_id() - << " SIMULATION " << mcEvtInfo->event_type()->test(EventType::IS_SIMULATION) - << " mc_channel_number " << mcEvtInfo->event_type()->mc_channel_number() - << " mc_event_number " << mcEvtInfo->event_type()->mc_event_number() - << " mc_event_weight " << mcEvtInfo->event_type()->mc_event_weight() - << " eventflags core " << mcEvtInfo->eventFlags(EventInfo::Core) - << " errorstate core " << mcEvtInfo->errorState(EventInfo::Core) - << " eventflags lar " << mcEvtInfo->eventFlags(EventInfo::LAr) - << " errorstate lar " << mcEvtInfo->errorState(EventInfo::LAr) - << " from store " << m_storeGateMC->name() << endmsg; - } else { - log << MSG::WARNING << "Could not retrieve EventInfo from MC store "<< endmsg; - } - - const EventInfo* dataEvtInfo = 0; - if (m_storeGateData->retrieve(dataEvtInfo).isSuccess() ) { - log << MSG::INFO - << "Got EventInfo from Data store: " - << " event " << dataEvtInfo->event_ID()->event_number() - << " run " << dataEvtInfo->event_ID()->run_number() - << " timestamp " << dataEvtInfo->event_ID()->time_stamp() - << " lbn " << dataEvtInfo->event_ID()->lumi_block() - << " bcid " << dataEvtInfo->event_ID()->bunch_crossing_id() - << " SIMULATION " << dataEvtInfo->event_type()->test(EventType::IS_SIMULATION) - << " mc_channel_number " << dataEvtInfo->event_type()->mc_channel_number() - << " mc_event_number " << dataEvtInfo->event_type()->mc_event_number() - << " mc_event_weight " << dataEvtInfo->event_type()->mc_event_weight() - << " eventflags core " << dataEvtInfo->eventFlags(EventInfo::Core) - << " errorstate core " << dataEvtInfo->errorState(EventInfo::Core) - << " eventflags lar " << dataEvtInfo->eventFlags(EventInfo::LAr) - << " errorstate lar " << dataEvtInfo->errorState(EventInfo::LAr) - << " from store " << m_storeGateData->name() << endmsg; - } else { - log << MSG::WARNING << "Could not retrieve EventInfo from Data store "<< endmsg; + ATH_MSG_DEBUG("Found background McEventCollection container " << bkgContainer.name() << " in store " << bkgContainer.store()); } - if (m_realdata) - { - const EventInfo* data2EvtInfo = m_storeGateData2->tryConstRetrieve<EventInfo>(); - if (data2EvtInfo) { - log << MSG::INFO - << "Got EventInfo from Data2 store: " - << " event " << data2EvtInfo->event_ID()->event_number() - << " run " << data2EvtInfo->event_ID()->run_number() - << " timestamp " << data2EvtInfo->event_ID()->time_stamp() - << " lbn " << data2EvtInfo->event_ID()->lumi_block() - << " bcid " << data2EvtInfo->event_ID()->bunch_crossing_id() - << " SIMULATION " << data2EvtInfo->event_type()->test(EventType::IS_SIMULATION) - << " mc_channel_number " << data2EvtInfo->event_type()->mc_channel_number() - << " mc_event_number " << data2EvtInfo->event_type()->mc_event_number() - << " mc_event_weight " << data2EvtInfo->event_type()->mc_event_weight() - << " eventflags core " << data2EvtInfo->eventFlags(EventInfo::Core) - << " errorstate core " << data2EvtInfo->errorState(EventInfo::Core) - << " eventflags lar " << data2EvtInfo->eventFlags(EventInfo::LAr) - << " errorstate lar " << data2EvtInfo->errorState(EventInfo::LAr) - << " from store " << m_storeGateData2->name() << endmsg; - } else { - log << MSG::INFO << "Could not retrieve EventInfo from Data2 store "<< endmsg; - } - } - - const EventInfo* outEvtInfo = 0; - if (m_storeGateOutput->retrieve(outEvtInfo).isSuccess() ) { - log << MSG::INFO - << "Got EventInfo from Out store: " - << " event " << outEvtInfo->event_ID()->event_number() - << " run " << outEvtInfo->event_ID()->run_number() - << " timestamp " << outEvtInfo->event_ID()->time_stamp() - << " lbn " << outEvtInfo->event_ID()->lumi_block() - << " bcid " << outEvtInfo->event_ID()->bunch_crossing_id() - << " SIMULATION " << outEvtInfo->event_type()->test(EventType::IS_SIMULATION) - << " mc_channel_number " << outEvtInfo->event_type()->mc_channel_number() - << " mc_event_number " << outEvtInfo->event_type()->mc_event_number() - << " mc_event_weight " << outEvtInfo->event_type()->mc_event_weight() - << " eventflags core " << outEvtInfo->eventFlags(EventInfo::Core) - << " errorstate core " << outEvtInfo->errorState(EventInfo::Core) - << " eventflags lar " << outEvtInfo->eventFlags(EventInfo::LAr) - << " errorstate lar " << outEvtInfo->errorState(EventInfo::LAr) - << " from store " << m_storeGateOutput->name() << endmsg; - } else { - log << MSG::WARNING << "Could not retrieve EventInfo from Out store "<< endmsg; - } - - //Check consistency of output run/event with input runs/events - if (m_realdata && outEvtInfo->event_ID()->event_number() != dataEvtInfo->event_ID()->event_number()){ - log << MSG::ERROR << "Output event number doesn't match input data event number!" << endmsg; - return StatusCode::FAILURE; - } - if (outEvtInfo->event_ID()->event_number() != mcEvtInfo->event_ID()->event_number()){ - log << MSG::WARNING << "Output event number doesn't match input MC event number!" << endmsg; - //return StatusCode::FAILURE; - } - if (outEvtInfo->event_ID()->run_number() != dataEvtInfo->event_ID()->run_number()){ - log << MSG::ERROR << "Output run number doesn't match input data run number!" << endmsg; - return StatusCode::FAILURE; - } - if (m_realdata && outEvtInfo->event_ID()->run_number() != mcEvtInfo->event_ID()->run_number()){ - log << MSG::ERROR << "Output run number doesn't match input MC run number!" << endmsg; - return StatusCode::FAILURE; - } - if (outEvtInfo->event_ID()->time_stamp() != dataEvtInfo->event_ID()->time_stamp()){ - log << MSG::ERROR << "Output time stamp doesn't match input data time stamp!" << endmsg; - return StatusCode::FAILURE; - } - if (m_realdata && outEvtInfo->event_ID()->time_stamp() != mcEvtInfo->event_ID()->time_stamp()){ - log << MSG::ERROR << "Output time stamp doesn't match input MC time stamp!" << endmsg; - return StatusCode::FAILURE; - } - if (outEvtInfo->event_ID()->lumi_block() != dataEvtInfo->event_ID()->lumi_block()){ - log << MSG::ERROR << "Output lbn doesn't match input data lbn!" << endmsg; - return StatusCode::FAILURE; - } - if (m_realdata && outEvtInfo->event_ID()->lumi_block() != mcEvtInfo->event_ID()->lumi_block()){ - log << MSG::ERROR << "Output lbn doesn't match input MC lbn!" << endmsg; - return StatusCode::FAILURE; - } - if (outEvtInfo->event_ID()->bunch_crossing_id() != dataEvtInfo->event_ID()->bunch_crossing_id()){ - log << MSG::ERROR << "Output bcid doesn't match input data bcid!" << endmsg; + SG::ReadHandle<McEventCollection> signalContainer(m_signalInputKey); + if (!signalContainer.isValid()) { + ATH_MSG_ERROR("Could not get signal McEventCollection container " << signalContainer.name() << " from store " << signalContainer.store()); return StatusCode::FAILURE; } - if (outEvtInfo->event_type()->mc_channel_number() != mcEvtInfo->event_type()->mc_channel_number()){ - log << MSG::ERROR << "Output MC channel number doesn't match input MC channel number!" << endmsg; - return StatusCode::FAILURE; - } - if (outEvtInfo->event_type()->mc_event_number() != mcEvtInfo->event_type()->mc_event_number()){ - log << MSG::ERROR << "Output MC event number doesn't match input MC event number!" << endmsg; - return StatusCode::FAILURE; - } - if (outEvtInfo->event_type()->mc_event_weight() != mcEvtInfo->event_type()->mc_event_weight()){ - log << MSG::ERROR << "Output MC event weight doesn't match input MC event weight!" << endmsg; + ATH_MSG_DEBUG("Found signal McEventCollection container " << signalContainer.name() << " in store " << signalContainer.store()); + + // Creating output RDO container + SG::WriteHandle<McEventCollection> outputContainer(m_outputKey); + ATH_CHECK(outputContainer.record(std::make_unique<McEventCollection>())); + if (!outputContainer.isValid()) { + ATH_MSG_ERROR("Could not record output McEventCollection container " << outputContainer.name() << " to store " << outputContainer.store()); return StatusCode::FAILURE; } + ATH_MSG_DEBUG("Recorded output McEventCollection container " << outputContainer.name() << " in store " << outputContainer.store()); - } // m_checkeventnumbers - - - // - // Copy the McEventCollection - // - McEventCollection *newMcEvtColl = new McEventCollection; - - /** the signal is MC - so there muct be McEventCollection there */ - const McEventCollection *sigEvtColl = 0; - if (m_storeGateMC->retrieve(sigEvtColl, "TruthEvent").isFailure()) { - ATH_MSG_WARNING("Could not retrieve signal HepMC collection with key " << "TruthEvent"); - } else { - for (McEventCollection::const_iterator iEvt = sigEvtColl->begin(); iEvt != sigEvtColl->end(); ++iEvt) { - newMcEvtColl->push_back(new HepMC::GenEvent(**iEvt)); - } + // Copy signal GenEvents + for (McEventCollection::const_iterator it = signalContainer->begin(); it != signalContainer->end(); ++it) { + outputContainer->push_back(new HepMC::GenEvent(**it)); } - if (!m_realdata) { - /** retrieve McEventCollection from the background - if the background is real data, there there is no McEventCollection there - */ - const McEventCollection *bgEvtColl = 0; - if (m_storeGateData->retrieve(bgEvtColl, "TruthEvent").isFailure()) { - ATH_MSG_WARNING("Could not retrieve background HepMC collection with key " << "TruthEvent"); - } else { - McEventCollection::const_iterator iEvt = bgEvtColl->begin(); - if (m_removeBkgHardScatterTruth) { - ++iEvt; - } - for ( ; iEvt != bgEvtColl->end(); ++iEvt) { - newMcEvtColl->push_back(new HepMC::GenEvent(**iEvt)); - } + // Copy background GenEvents if configured + if (!m_bkgInputKey.key().empty()) { + McEventCollection::const_iterator it = bkgContainerPtr->begin(); + if (m_removeBkgHardScatterTruth) { + ++it; + } + for ( ; it != bkgContainerPtr->end(); ++it) { + outputContainer->push_back(new HepMC::GenEvent(**it)); } - } //! m_realdata - - if ( m_storeGateOutput->record(newMcEvtColl, "TruthEvent").isFailure() ) { - ATH_MSG_ERROR("Could not add new HepMC collection with key " << "TruthEvent"); - return StatusCode::FAILURE; } - /** dump McEventCollection in debug mode to confirm everything is as expected */ + // dump McEventCollection in debug mode to confirm everything is as expected if (msgLvl(MSG::DEBUG)) { - if (! newMcEvtColl->empty()) { + if (!outputContainer->empty()) { ATH_MSG_DEBUG("McEventCollection contents:"); - for (McEventCollection::const_iterator iEvt = newMcEvtColl->begin(); iEvt != newMcEvtColl->end(); ++iEvt) { - const int signal_process_id((*iEvt)->signal_process_id()), - event_number((*iEvt)->event_number()); - ATH_MSG_DEBUG(" GenEvent #" << event_number << ", signal_process_id=" << signal_process_id); + for (const HepMC::GenEvent *event : *outputContainer) { + ATH_MSG_DEBUG(" GenEvent #" << event->event_number() << ", signal_process_id=" << event->signal_process_id()); } } } - copyAllObjectsOfType<TrackRecordCollection>(&*m_storeGateOutput, &*m_storeGateMC); - copyAllObjectsOfType<CaloCalibrationHitContainer>(&*m_storeGateOutput, &*m_storeGateMC); - if (!m_realdata) {copyAllObjectsOfType<HijingEventParams>(&*m_storeGateOutput, &*m_storeGateData);} - - log << MSG::DEBUG << "CopyMcEventCollection::execute() end"<< endmsg; + ATH_MSG_DEBUG("execute() end"); return StatusCode::SUCCESS; } - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.h b/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.h index b3f51aa2cdba1062cb26d0e1c874e252ce82a257..fcc16d6c90cfb0e359ff5fd22ff2b3b1b5043322 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.h +++ b/Event/EventOverlay/OverlayCommonAlgs/src/CopyMcEventCollection.h @@ -1,39 +1,29 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -// Dear emacs, this is -*-c++-*- - -// Copy McEventCollection in overlaying jobs. -// -// Andrei Gaponenko <agaponenko@lbl.gov>, 2008 - #ifndef OVERLAYCOMMONALGS_COPYMCEVENTCOLLECTION_H #define OVERLAYCOMMONALGS_COPYMCEVENTCOLLECTION_H -#include <string> +#include "AthenaBaseComps/AthAlgorithm.h" +#include "GeneratorObjects/McEventCollection.h" -#include "OverlayAlgBase/OverlayAlgBase.h" -#include "GaudiKernel/ToolHandle.h" -#include "xAODCnvInterfaces/IEventInfoCnvTool.h" - -class CopyMcEventCollection : public OverlayAlgBase { +class CopyMcEventCollection : public AthAlgorithm +{ public: - CopyMcEventCollection(const std::string &name,ISvcLocator *pSvcLocator); + CopyMcEventCollection(const std::string &name, ISvcLocator *pSvcLocator); + + virtual StatusCode initialize(); + virtual StatusCode execute(); - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); +private: + SG::ReadHandleKey<McEventCollection> m_bkgInputKey{ this, "BkgInputKey", "OriginalEvent_SG+TruthEvent", "ReadHandleKey for Background McEventCollection" }; + SG::ReadHandleKey<McEventCollection> m_signalInputKey{ this, "SignalInputKey", "BkgEvent_0_SG+TruthEvent", "ReadHandleKey for Signal McEventCollection" }; + SG::WriteHandleKey<McEventCollection> m_outputKey{ this, "OutputKey", "StoreGateSvc+TruthEvent", "WriteHandleKey for Output McEventCollection" }; -protected: - std::string m_infoType; - bool m_realdata; - bool m_checkeventnumbers; bool m_removeBkgHardScatterTruth; - ServiceHandle<StoreGateSvc> m_storeGateData2; - ToolHandle< xAODMaker::IEventInfoCnvTool > m_cnvTool; }; -#endif/*OVERLAYCOMMONALGS_COPYMCEVENTCOLLECTION_H*/ +#endif // OVERLAYCOMMONALGS_COPYMCEVENTCOLLECTION_H diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.cxx deleted file mode 100644 index 313e95c259009287b9645a006891fe94ba5eccf6..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.cxx +++ /dev/null @@ -1,94 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - - -#include "CopyObjects.h" -#include "GeneratorObjects/McEventCollection.h" -#include "TrackRecord/TrackRecordCollection.h" -#include "CaloSimEvent/CaloCalibrationHitContainer.h" - -#include "InDetSimData/InDetSimDataCollection.h" -#include "MuonSimData/MuonSimDataCollection.h" -#include "MuonSimData/CscSimDataCollection.h" - -#include "InDetRawData/TRT_RDO_Container.h" -#include "InDetRawData/SCT_RDO_Container.h" -#include "InDetRawData/PixelRDO_Container.h" - -#include "MuonDigitContainer/MdtDigitContainer.h" -#include "MuonDigitContainer/RpcDigitContainer.h" -#include "MuonDigitContainer/TgcDigitContainer.h" - -#include <iostream> -#include <typeinfo> - -//================================================================ -CopyObjects::CopyObjects(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator), - m_storeGateTemp("StoreGateSvc/BkgEvent_1_SG", name) -{ - declareProperty("TempStore", m_storeGateTemp, "help"); - declareProperty ("SCTType", m_sctType=false); - declareProperty("InDetObjects", m_indet=false); - declareProperty("MuonObjects", m_muon=false); - declareProperty("TruthObjects", m_truth=false); -} - -//================================================================ -StatusCode CopyObjects::overlayInitialize() -{ - if (m_storeGateTemp.retrieve().isFailure()) { - ATH_MSG_FATAL("SaveInDetObjects::initialize): StoreGate[temp] service not found !"); - return StatusCode::FAILURE; - } - - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode CopyObjects::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode CopyObjects::overlayExecute() { - MsgStream log(msgSvc(), name()); - - log << MSG::DEBUG << "CopyObjects::execute() begin"<< endmsg; -// std::cout << m_storeGateMC->dump() << std::endl; -// std::cout << m_storeGateTemp->dump() << std::endl; -// std::cout << m_storeGateOutput->dump() << std::endl; - - if ( m_indet ) { - copyAllObjectsOfType<TRT_RDO_Container>(&*m_storeGateMC,&*m_storeGateTemp); - copyAllObjectsOfType<SCT_RDO_Container>(&*m_storeGateMC,&*m_storeGateTemp); - copyAllObjectsOfType<PixelRDO_Container>(&*m_storeGateMC,&*m_storeGateTemp); - } - - if ( m_muon ) { - copyAllObjectsOfType<MdtDigitContainer>(&*m_storeGateMC,&*m_storeGateTemp); - copyAllObjectsOfType<RpcDigitContainer>(&*m_storeGateMC,&*m_storeGateTemp); - copyAllObjectsOfType<TgcDigitContainer>(&*m_storeGateMC,&*m_storeGateTemp); - } - - if ( m_truth ) { - copyAllObjectsOfType<TrackRecordCollection>(&*m_storeGateOutput, &*m_storeGateMC); - copyAthenaHitObject<CaloCalibrationHitContainer,CaloCalibrationHit>(&*m_storeGateOutput, &*m_storeGateMC); - copySDOobject<InDetSimDataCollection,InDetSimData>(&*m_storeGateOutput, &*m_storeGateMC); - copyMuonSDOobject<MuonSimDataCollection,MuonSimData>(&*m_storeGateOutput, &*m_storeGateMC, "MDT_SDO"); - copyMuonSDOobject<MuonSimDataCollection,MuonSimData>(&*m_storeGateOutput, &*m_storeGateMC, "RPC_SDO"); - copyMuonSDOobject<MuonSimDataCollection,MuonSimData>(&*m_storeGateOutput, &*m_storeGateMC, "TGC_SDO"); - copyMuonSDOobject<CscSimDataCollection,CscSimData>(&*m_storeGateOutput, &*m_storeGateMC, "CSC_SDO"); - } - - log << MSG::DEBUG << "CopyObjects::execute() end"<< endmsg; -// std::cout << m_storeGateMC->dump() << std::endl; -// std::cout << m_storeGateTemp->dump() << std::endl; -// std::cout << m_storeGateOutput->dump() << std::endl; - return StatusCode::SUCCESS; -} - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.h b/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.h deleted file mode 100644 index 8a6b97c0228ca142598e9f0af0ffe2a7d302ab56..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// -// Ketevi A. Assamagan, October 2009 - -#ifndef OVERLAYCOMMONALGS_COPYOBJECTS_H -#define OVERLAYCOMMONALGS_COPYOBJECTS_H - - -#include <string> - -#include "OverlayAlgBase/OverlayAlgBase.h" - -class CopyObjects : public OverlayAlgBase { -public: - - CopyObjects(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); - - template<class TypeToBeCopied, class Datum> void copyAthenaHitObject(StoreGateSvc* from, StoreGateSvc *to); - template<class TypeToBeCopied, class Datum> void copySDOobject(StoreGateSvc* from, StoreGateSvc *to); - template<class TypeToBeCopied, class Datum> void copyMuonSDOobject(StoreGateSvc *from, StoreGateSvc *to, std::string k); - -protected: - - ServiceHandle<StoreGateSvc> m_storeGateTemp; - -private: - - bool m_sctType; - bool m_indet; - bool m_muon; - bool m_truth; - -}; - -#include "CopyObjects.icc" - -#endif/*OVERLAYCOMMONALGS_COPYOBJECTS_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.icc b/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.icc deleted file mode 100644 index d43ff27eade13f07e684a2fb7abc4546066c5af5..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyObjects.icc +++ /dev/null @@ -1,102 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - - -#include "StoreGate/DataHandle.h" -#include "AthenaBaseComps/AthMsgStreamMacros.h" -#include <typeinfo> - -template<class TypeToBeCopied, class Datum> -void CopyObjects::copyAthenaHitObject(StoreGateSvc* from, StoreGateSvc *to) { - - const std::string templateClassName = typeid(TypeToBeCopied).name(); - - typedef std::vector<std::string> KeyList; - KeyList keys = from->keys<TypeToBeCopied>(); - if(keys.empty()) { - ATH_MSG_WARNING("copyAthenaHitObject<"<<templateClassName<<">(): no keys found"); - } - - for (KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - TypeToBeCopied * newObject = 0; - const TypeToBeCopied * oldObject=0; - if ( from->retrieve(oldObject, *k).isFailure() ) { - ATH_MSG_WARNING("copyAthenaHit<"<<templateClassName<<">(): problem retrieving container with " <<"key="<<*k); - continue; - } - - newObject = new TypeToBeCopied ( oldObject->Name() ); - typename TypeToBeCopied::const_iterator iFirst = oldObject->begin(); - typename TypeToBeCopied::const_iterator iLast = oldObject->end(); - for (; iFirst != iLast; ++iFirst ) { - Datum * element = new Datum ( **iFirst ); - newObject->push_back ( element ); - } - - if (!to->record(newObject, *k).isSuccess()) { - ATH_MSG_WARNING("copyAthenaHitObject<"<<templateClassName<<">(): problem recording new container with "<<"key="<<*k); - } - - } -} - -template<class TypeToBeCopied, class Datum> -void CopyObjects::copySDOobject(StoreGateSvc* from, StoreGateSvc *to) { - - const std::string templateClassName = typeid(TypeToBeCopied).name(); - - typedef std::vector<std::string> KeyList; - KeyList keys = from->keys<TypeToBeCopied>(); - if(keys.empty()) { - ATH_MSG_WARNING("copySDOobject<"<<templateClassName<<">(): no keys found"); - } - - for (KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - TypeToBeCopied * newObject = 0; - const TypeToBeCopied * oldObject=0; - if ( from->retrieve(oldObject, *k).isFailure() ) { - ATH_MSG_WARNING("copySDOobject<"<<templateClassName<<">(): problem retrieving container with " <<"key="<<*k); - continue; - } - - newObject = new TypeToBeCopied (); - typename TypeToBeCopied::const_iterator iFirst = oldObject->begin(); - typename TypeToBeCopied::const_iterator iLast = oldObject->end(); - for (; iFirst != iLast; ++iFirst ) { - Datum element ( (*iFirst).second ); - newObject->insert ( std::make_pair( (*iFirst).first, element ) ); - } - - if (!to->record(newObject, *k).isSuccess()) { - ATH_MSG_WARNING("copySDOobject"<<templateClassName<<">(): problem recording new container with "<<"key="<<*k); - } - - } -} - -template<class TypeToBeCopied, class Datum> -void CopyObjects::copyMuonSDOobject(StoreGateSvc *from, StoreGateSvc *to, std::string k) { - - const std::string templateClassName = typeid(TypeToBeCopied).name(); - - TypeToBeCopied * newObject = 0; - const TypeToBeCopied * oldObject=0; - if ( from->retrieve(oldObject, k).isFailure() ) { - ATH_MSG_WARNING("copyMuonSDOobject<"<<templateClassName<<">(): problem retrieving container with " <<"key="<<k); - return; - } - newObject = new TypeToBeCopied (); - typename TypeToBeCopied::const_iterator iFirst = oldObject->begin(); - typename TypeToBeCopied::const_iterator iLast = oldObject->end(); - for (; iFirst != iLast; ++iFirst ) { - Datum element ( (*iFirst).second ); - newObject->insert ( std::make_pair( (*iFirst).first, element ) ); - } - - if (!to->record(newObject, k).isSuccess()) { - ATH_MSG_WARNING("copyMuonSDOobject"<<templateClassName<<">(): problem recording new container with "<<"key="<<k); - } - -} - diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.cxx index 2665ef742e5d214e0ea46a8a32742616b61fa174..b20fa362626ab146fc0a84a7eea020ba5b76e89c 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.cxx +++ b/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.cxx @@ -1,45 +1,67 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ - #include "CopyTimings.h" -#include "RecEvent/RecoTimingObj.h" +CopyTimings::CopyTimings(const std::string &name, ISvcLocator *pSvcLocator) + : AthAlgorithm(name, pSvcLocator) {} -#include <iostream> -#include <typeinfo> +StatusCode CopyTimings::initialize() +{ + ATH_MSG_DEBUG("Initializing..."); -//================================================================ -CopyTimings::CopyTimings(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator) {} + // Check and initialize keys + ATH_CHECK( m_bkgInputKey.initialize(!m_bkgInputKey.key().empty()) ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_bkgInputKey); + ATH_CHECK( m_signalInputKey.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_signalInputKey); + ATH_CHECK( m_outputKey.initialize() ); + ATH_MSG_VERBOSE("Initialized WriteHandleKey: " << m_outputKey); -//================================================================ -StatusCode CopyTimings::overlayInitialize() -{ return StatusCode::SUCCESS; } -//================================================================ -StatusCode CopyTimings::overlayFinalize() +StatusCode CopyTimings::execute() { - return StatusCode::SUCCESS; -} + ATH_MSG_DEBUG("execute() begin"); + + // Reading the input timings + ATH_MSG_VERBOSE("Retrieving input timing containers"); + + const RecoTimingObj *bkgContainerPtr = nullptr; + if (!m_bkgInputKey.key().empty()) { + SG::ReadHandle<RecoTimingObj> bkgContainer(m_bkgInputKey); + if (!bkgContainer.isValid()) { + ATH_MSG_ERROR("Could not get background timings container " << bkgContainer.name() << " from store " << bkgContainer.store()); + return StatusCode::FAILURE; + } + bkgContainerPtr = bkgContainer.cptr(); -//================================================================ -StatusCode CopyTimings::overlayExecute() { - MsgStream log(msgSvc(), name()); - log << MSG::DEBUG << "CopyTimings::execute() begin"<< endmsg; + ATH_MSG_DEBUG("Found background timings container " << bkgContainer.name() << " in store " << bkgContainer.store()); + } + + SG::ReadHandle<RecoTimingObj> signalContainer(m_signalInputKey); + if (!signalContainer.isValid()) { + ATH_MSG_ERROR("Could not get signal timings container " << signalContainer.name() << " from store " << signalContainer.store()); + return StatusCode::FAILURE; + } + ATH_MSG_DEBUG("Found signal timings container " << signalContainer.name() << " in store " << signalContainer.store()); - std::auto_ptr<RecoTimingObj> ap(m_storeGateData->retrievePrivateCopy<RecoTimingObj>("EVNTtoHITS_timings")); - if (!m_storeGateOutput->record(ap, "EVNTtoHITS_timings").isSuccess()) { - log << MSG::ERROR << "problem recording object p=" << ap.get() << ", key=" << "EVNTtoHITS_timings" << endmsg; + // Creating output timings container + SG::WriteHandle<RecoTimingObj> outputContainer(m_outputKey); + ATH_CHECK(outputContainer.record(std::make_unique<RecoTimingObj>())); + if (!outputContainer.isValid()) { + ATH_MSG_ERROR("Could not record output timings container " << outputContainer.name() << " to store " << outputContainer.store()); return StatusCode::FAILURE; } + ATH_MSG_DEBUG("Recorded output timings container " << outputContainer.name() << " in store " << outputContainer.store()); - log << MSG::DEBUG << "CopyTimings::execute() end"<< endmsg; + if (!m_bkgInputKey.key().empty()) { + outputContainer->insert(outputContainer->end(), bkgContainerPtr->begin(), bkgContainerPtr->end()); + } + outputContainer->insert(outputContainer->end(), signalContainer->begin(), signalContainer->end()); + + ATH_MSG_DEBUG("execute() end"); return StatusCode::SUCCESS; } - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.h b/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.h index fa9124bb5e09d0a403246a379cd2264a3e95d1c9..a02ef48f371409ac6a5c1d683477318509ffefbc 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.h +++ b/Event/EventOverlay/OverlayCommonAlgs/src/CopyTimings.h @@ -1,23 +1,27 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef OVERLAYCOMMONALGS_COPYTIMINGS_H #define OVERLAYCOMMONALGS_COPYTIMINGS_H +#include "AthenaBaseComps/AthAlgorithm.h" +#include "RecEvent/RecoTimingObj.h" -#include <string> +class CopyTimings : public AthAlgorithm +{ +public: -#include "OverlayAlgBase/OverlayAlgBase.h" + CopyTimings(const std::string &name, ISvcLocator *pSvcLocator); -class CopyTimings : public OverlayAlgBase { -public: + virtual StatusCode initialize(); + virtual StatusCode execute(); - CopyTimings(const std::string &name,ISvcLocator *pSvcLocator); +private: + SG::ReadHandleKey<RecoTimingObj> m_bkgInputKey{ this, "BkgInputKey", "OriginalEvent_SG+EVNTtoHITS_timings", "ReadHandleKey for Background EVNTtoHITS Timings" }; + SG::ReadHandleKey<RecoTimingObj> m_signalInputKey{ this, "SignalInputKey", "BkgEvent_0_SG+EVNTtoHITS_timings", "ReadHandleKey for Signal EVNTtoHITS Timings" }; + SG::WriteHandleKey<RecoTimingObj> m_outputKey{ this, "OutputKey", "StoreGateSvc+EVNTtoHITS_timings", "WriteHandleKey for Output EVNTtoHITS Timings" }; - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); }; -#endif/*OVERLAYCOMMONALGS_COPYTIMINGS_H*/ +#endif // OVERLAYCOMMONALGS_COPYTIMINGS_H diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.cxx deleted file mode 100644 index b14c3aea4ca38cdbfaf4bc55b563ff8ce8a436a7..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.cxx +++ /dev/null @@ -1,59 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - - -#include "CopyTruthInfo.h" - -#include "xAODJet/JetAuxContainer.h" -#include "xAODJet/JetContainer.h" - -#include <iostream> -#include <typeinfo> - -//================================================================ -CopyTruthInfo::CopyTruthInfo(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator) {} - -//================================================================ -StatusCode CopyTruthInfo::overlayInitialize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode CopyTruthInfo::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode CopyTruthInfo::overlayExecute() { - MsgStream log(msgSvc(), name()); - log << MSG::DEBUG << "CopyTruthInfo::execute() begin"<< endmsg; - - typedef std::vector<std::string> KeyList; - KeyList keys = m_storeGateData->keys<xAOD::JetContainer>(); - for(KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - std::auto_ptr<xAOD::JetContainer> ap(m_storeGateData->retrievePrivateCopy<xAOD::JetContainer>(*k)); - log << MSG::DEBUG << "Working on p="<<ap.get()<<", key="<<*k << endmsg; - if(!m_storeGateOutput->record(ap, *k).isSuccess()) { - log << MSG::WARNING << "Problem recording object p="<<ap.get()<<", key="<<*k << endmsg; - } - } - - keys = m_storeGateData->keys<xAOD::JetAuxContainer>(); - for(KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - std::auto_ptr<xAOD::JetAuxContainer> ap(m_storeGateData->retrievePrivateCopy<xAOD::JetAuxContainer>(*k)); - log << MSG::DEBUG << "Working on p="<<ap.get()<<", key="<<*k << endmsg; - if(!m_storeGateOutput->record(ap, *k).isSuccess()) { - log << MSG::WARNING << "Problem recording object p="<<ap.get()<<", key="<<*k << endmsg; - } - } - - log << MSG::DEBUG << "CopyObjects::execute() end"<< endmsg; - return StatusCode::SUCCESS; -} - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.h b/Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.h deleted file mode 100644 index e6748e51b60ef06f51820b66305f9283d89e1ce8..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/CopyTruthInfo.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef OVERLAYCOMMONALGS_COPYTRUTHINFO_H -#define OVERLAYCOMMONALGS_COPYTRUTHINFO_H - - -#include <string> - -#include "OverlayAlgBase/OverlayAlgBase.h" - -class CopyTruthInfo : public OverlayAlgBase { -public: - - CopyTruthInfo(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); -}; - -#endif/*OVERLAYCOMMONALGS_COPYTRUTHINFO_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.cxx deleted file mode 100644 index 82d5c6c567b1bf441d1e0340f6002b2c7ac9b7ed..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.cxx +++ /dev/null @@ -1,575 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -//// To deep copy various transient objects from one storegate to another -//// Piyali.Banerjee@cern.ch; September 2010 -///////////////////////////////////////////////////////////////// - -#include "DeepCopyObjects.h" - -DeepCopyObjects::DeepCopyObjects(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator), - m_storeGateTo("StoreGateSvc/BkgEvent_2_SG", name), - m_storeGateFrom(m_storeGateData) -{ - declareProperty("ToStore", m_storeGateTo, "help"); - declareProperty("FromStore", m_storeGateFrom, "help"); - declareProperty("EvtInfoObjects", m_evtinfo=false); - declareProperty("InDetObjects", m_indet=false); - declareProperty("MuonObjects", m_muon=false); - declareProperty("TruthObjects", m_truth=false); - declareProperty("LArObjects",m_lar=false); - declareProperty("TileObjects",m_tile=false); - declareProperty("Level1Objects",m_level1=false); -} - -template <class TypeToBeCopied> void -DeepCopyObjects::printEveryObjectOfType(StoreGateSvc* stg) -{ - MsgStream log(msgSvc(), name()); - - const std::string templateClassName = typeid(TypeToBeCopied).name(); - - typedef std::vector<std::string> KeyList; - KeyList keys = stg->keys<TypeToBeCopied>(); - - if(keys.empty()) { - log << MSG::WARNING << "printEveryObjectOfType<" << templateClassName - << ">(): no keys found" << endmsg; - } - - std::cout << "printEveryObjectOfType<" << templateClassName - << ">(): Begin printing " << stg->name() << std::endl; - - for(KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - const TypeToBeCopied* object = 0; - if (stg->retrieve(object, *k).isSuccess() ) { - std::cout << "Key == " << *k << std::endl; - std::cout << *object << std::endl; - } - else { - log << MSG::WARNING << "printEveryObjectOfType<" - << templateClassName - << ">(): problem retrieving object with pointer=" - << object << ", key=" << *k << endmsg; - } - - } - - std::cout << "printEveryObjectOfType<" << templateClassName - << ">(): End printing " << stg->name() << std::endl; -} - -template<class TypeToBeCopied> void -DeepCopyObjects::copyMuonObjectRDO(StoreGateSvc* to, StoreGateSvc *from) -{ - - MsgStream log(msgSvc(), name()); - - const int classNum = ClassID_traits<TypeToBeCopied>::ID(); - const std::string templateClassName = typeid(TypeToBeCopied).name(); - - typedef std::vector<std::string> KeyList; - KeyList keys = from->keys<TypeToBeCopied>(); - - if(keys.empty()) { - log << MSG::WARNING << "copyMuonobjectRDO<" << templateClassName - << ">(): no keys found" << endmsg; - } - - for (KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - if (classNum == 4183) { // CscRawDataContainer - const CscRawDataContainer *oldObject = 0; - if (from->retrieve(oldObject, *k).isFailure()){ - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - <<">(): problem retrieving container with key = " - << *k << endmsg; - continue; - } - - CscRawDataContainer *newObject = new CscRawDataContainer (oldObject->size()); - - CscRawDataContainer::const_iterator iFirst = oldObject->begin(); - CscRawDataContainer::const_iterator iLast = oldObject->end(); - - // since CscRawDataCollection in OriginalEvent_SG has absurd identifierHash values - // we will use collectionNo variable as an index into the - // DataLinkVector inside CscRawDataContainer - int collectionNo = 0; - for (; iFirst != iLast; ++iFirst ) { - CscRawDataCollection *element = new CscRawDataCollection ((*iFirst)->identify()); - element->setIdentifyHash((*iFirst)->identifyHash()); - element->setRodId((*iFirst)->rodId()); - element->setSubDetectorId((*iFirst)->subDetectorId()); - - if ((*iFirst)->samplingPhase()){ - element->set_samplingPhase(); - } - - if ((*iFirst)->triggerType()){ - element->set_triggerType(); - } - - element->set_firstBitSummary((*iFirst)->firstBitSummary()); - element->set_eventType((*iFirst)->eventType()); - - uint16_t numRPU = ((*iFirst)->rpuID()).size(); - for (uint16_t numRPU_i = 0; numRPU_i != numRPU; numRPU++){ - element->addRPU(((*iFirst)->rpuID())[numRPU_i]); - } - - uint16_t numDataType = ((*iFirst)->dataType()).size(); - for (uint16_t numDataType_i = 0; numDataType_i != numDataType; numDataType_i++){ - element->addDataType(((*iFirst)->dataType())[numDataType_i]); - } - - // Default SpuCount size is 10 - uint16_t numSpuCount = 10; - for (uint16_t numSpuCount_i = 0; numSpuCount_i != numSpuCount; numSpuCount_i++){ - element->set_spuCount(numSpuCount_i, (*iFirst)->spuCount(numSpuCount_i)); - } - - element->set_scaAddress((*iFirst)->scaAddress()); - - CscRawDataCollection::const_iterator firstData = (*iFirst)->begin(); - CscRawDataCollection::const_iterator lastData = (*iFirst)->end(); - for (; firstData != lastData; ++firstData) { - CscRawData *newData = new CscRawData (**firstData); - element->push_back(newData); - } - if (newObject->addCollection(element, collectionNo).isFailure()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem adding collection with vector index = " - << collectionNo << endmsg; - } - collectionNo++; - } - - if (!to->record(newObject, *k).isSuccess()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem recording new container with key = " - << *k << endmsg; - } - } - else if (classNum == 4187){ // MdtCsmContainer - const MdtCsmContainer *oldObject = 0; - if (from->retrieve(oldObject, *k).isFailure()){ - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem retrieving container with key = " - << *k << endmsg; - continue; - } - - MdtCsmContainer *newObject = new MdtCsmContainer (oldObject->size()); - - MdtCsmContainer::const_iterator iFirst = oldObject->begin(); - MdtCsmContainer::const_iterator iLast = oldObject->end(); - - for (; iFirst != iLast; ++iFirst ) { - MdtCsm *element = new MdtCsm ((*iFirst)->identify(), (*iFirst)->identifyHash(), - (*iFirst)->SubDetId(), (*iFirst)->MrodId(), - (*iFirst)->CsmId()); - - MdtCsm::const_iterator firstData = (*iFirst)->begin(); - MdtCsm::const_iterator lastData = (*iFirst)->end(); - for (; firstData != lastData; ++firstData) { - MdtAmtHit *newData = - new MdtAmtHit ((*firstData)->tdcId(), (*firstData)->channelId(), - (*firstData)->isMasked()); - newData->setValues((*firstData)->coarse(), (*firstData)->fine(), - (*firstData)->width()); - newData->setLeading((*firstData)->leading()); - - for (unsigned int i = 0; i < ((*firstData)->dataWords())->size(); i++) { - newData->addData((*((*firstData)->dataWords()))[i]); - } - element->push_back(newData); - } - if (newObject->addCollection(element, (*iFirst)->identifyHash()).isFailure()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem adding collection with hash = " - << (*iFirst)->identifyHash() << endmsg; - } - } - - if (!to->record(newObject, *k).isSuccess()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem recording new container with key = " - <<*k << endmsg; - } - } - else if (classNum == 4190){ // RpcPadContainer - const RpcPadContainer *oldObject = 0; - if (from->retrieve(oldObject, *k).isFailure()){ - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - <<">(): problem retrieving container with key = "<< *k - << endmsg; - continue; - } - - RpcPadContainer *newObject = new RpcPadContainer (oldObject->size()); - - RpcPadContainer::const_iterator iFirst = oldObject->begin(); - RpcPadContainer::const_iterator iLast = oldObject->end(); - - for (; iFirst != iLast; ++iFirst ) { - RpcPad *element = new RpcPad ( - (*iFirst)->identify(), (*iFirst)->identifyHash(), - (*iFirst)->onlineId(), (*iFirst)->lvl1Id(), (*iFirst)->bcId(), - (*iFirst)->status(), (*iFirst)->errorCode(), (*iFirst)->sector() - ); - - RpcPad::const_iterator firstData = (*iFirst)->begin(); - RpcPad::const_iterator lastData = (*iFirst)->end(); - for (; firstData != lastData; ++firstData) { - RpcCoinMatrix *newData = new RpcCoinMatrix ( - (*firstData)->identify(), (*firstData)->onlineId(), - (*firstData)->crc(), (*firstData)->fel1Id(), - (*firstData)->febcId()); - - RpcCoinMatrix::const_iterator iter = (*firstData)->begin(); - RpcCoinMatrix::const_iterator lastIter = (*firstData)->end(); - for (; iter != lastIter; ++iter) { - RpcFiredChannel *channel = new RpcFiredChannel (**iter); - newData->push_back(channel); - } - - element->push_back(newData); - } - if (newObject->addCollection(element, - (*iFirst)->identifyHash()).isFailure()) { - log << MSG::WARNING << "copyMuonObjectRDO<" - << templateClassName - << ">(): problem adding collection with hash = " - << (*iFirst)->identifyHash() << endmsg; - } - } - - if (to->record(newObject, *k).isFailure()) { - log << MSG::WARNING << "copyMuonObjectRDO<" - << templateClassName - << ">(): problem recording new container with " - << "key=" << *k << endmsg; - } - } - else if (classNum == 1298668563){ //RpcSectorLogicContainer - const RpcSectorLogicContainer *oldObject = 0; - if (from->retrieve(oldObject, *k).isFailure()){ - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem retrieving container with key = " - << *k << endmsg; - continue; - } - - RpcSectorLogicContainer *newObject = new RpcSectorLogicContainer (); - - RpcSectorLogicContainer::const_iterator iFirst = oldObject->begin(); - RpcSectorLogicContainer::const_iterator iLast = oldObject->end(); - - for (; iFirst != iLast; ++iFirst ) { - RpcSectorLogic *element = new RpcSectorLogic ((*iFirst)->sectorId(), (*iFirst)->fel1Id(), - (*iFirst)->bcid(), (*iFirst)->errorCode(), - (*iFirst)->crc()); - element->setHasMoreThan2TriggerCand((*iFirst)->hasMoreThan2TriggerCand()); - - uint16_t triggerRates_size = ((*iFirst)->triggerRates()).size(); - for (uint16_t triggerRates_size_i = 0; triggerRates_size_i != triggerRates_size; triggerRates_size_i++){ - element->addTriggerRate(((*iFirst)->triggerRates())[triggerRates_size_i]); - } - - uint16_t counters_size = ((*iFirst)->counters()).size(); - for (uint16_t counters_size_i = 0; counters_size_i != counters_size; counters_size_i++){ - element->addCounter(((*iFirst)->counters())[counters_size_i]); - } - - RpcSectorLogic::const_iterator firstData = (*iFirst)->begin(); - RpcSectorLogic::const_iterator lastData = (*iFirst)->end(); - for (; firstData != lastData; ++firstData) { - RpcSLTriggerHit *newData = new RpcSLTriggerHit (**firstData); - element->push_back(newData); - } - newObject->push_back(element); - } - - if (!to->record(newObject, *k).isSuccess()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem recording new container with key = " - << *k << endmsg; - } - } - else if (classNum == 4186){ // TgcRdoContainer - const TgcRdoContainer *oldObject = 0; - if (from->retrieve(oldObject, *k).isFailure()){ - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem retrieving container with key = " - << *k << endmsg; - continue; - } - - TgcRdoContainer *newObject = new TgcRdoContainer (oldObject->size()); - - TgcRdoContainer::const_iterator iFirst = oldObject->begin(); - TgcRdoContainer::const_iterator iLast = oldObject->end(); - - // since TgcRdo in OriginalEvent_SG has absurd identifierHash values - // we will use collectionNo variable as an index into the - // DataLinkVector inside TgcRdoContainer - int collectionNo = 0; - for (; iFirst != iLast; ++iFirst ) { - TgcRdo *element = new TgcRdo((*iFirst)->identify(), (*iFirst)->identifyHash()); - new (element) TgcRdo((*iFirst)->subDetectorId(), (*iFirst)->rodId(), - (*iFirst)->bcId(), (*iFirst)->l1Id()); - element->setVersion((*iFirst)->version()); - element->setTriggerType((*iFirst)->triggerType()); - element->setErrors(*(uint16_t *)((void *)(&(*iFirst)->errors()))); - element->setRodStatus(*(uint32_t *)((void *)(&(*iFirst)->rodStatus()))); - element->setLocalStatus(*(uint32_t *)((void *)(&(*iFirst)->localStatus()))); - element->setOrbit((*iFirst)->orbit()); - - TgcRdo::const_iterator firstData = (*iFirst)->begin(); - TgcRdo::const_iterator lastData = (*iFirst)->end(); - for (; firstData != lastData; ++firstData) { - TgcRawData *newData = new TgcRawData (**firstData); - element->push_back(newData); - } - if (newObject->addCollection(element, collectionNo).isFailure()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem adding collection with vector index = " - << collectionNo << endmsg; - } - collectionNo++; - } - - if (!to->record(newObject, *k).isSuccess()) { - log << MSG::WARNING << "copyMuonObjectRDO<" << templateClassName - << ">(): problem recording new container with key = " - << *k << endmsg; - } - } - } -} - -/* -template<class TypeToBeCopied, class Datum> -void DeepCopyObjects::copyMuonObjectDigit(StoreGateSvc* from, StoreGateSvc *to) { - - const std::string templateClassName = typeid(TypeToBeCopied).name(); - - typedef typename TypeToBeCopied::base_value_type Collection; - - typedef std::vector<std::string> KeyList; - - KeyList keys = from->keys<TypeToBeCopied>(); - if(keys.empty()) { - ATH_MSG_WARNING("copyMuonobject<"<<templateClassName<<">(): no keys found"); - } - - for (KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - const TypeToBeCopied *oldObject = 0; - if (from->retrieve(oldObject, *k).isFailure()) { - ATH_MSG_WARNING("copyMuonobject<"<<templateClassName<<">(): problem retrieving container with " <<"key="<<*k); - continue; - } - - TypeToBeCopied *newObject = new TypeToBeCopied (oldObject->size()); - - typename TypeToBeCopied::const_iterator iFirst = oldObject->begin(); - typename TypeToBeCopied::const_iterator iLast = oldObject->end(); - - for (; iFirst != iLast; ++iFirst) { - Collection *element = new Collection ((*iFirst)->identify(), (*iFirst)->identifierHash()); - - typename Collection::const_iterator firstData = (*iFirst)->begin(); - typename Collection::const_iterator lastData = (*iFirst)->end(); - for (; firstData != lastData; ++firstData) { - Datum *newData = new Datum(*(dynamic_cast<const Datum*>(*firstData))); - element->push_back(newData); - } - if (newObject->addCollection (element, (*iFirst)->identifierHash()).isFailure()) { - ATH_MSG_WARNING("copyMuonobject<"<<templateClassName<<">(): problem adding collection with hash "<<"hash="<<(*iFirst)->identifierHash()); - } - } - - if (!to->record(newObject, *k).isSuccess()) { - ATH_MSG_WARNING("copyMuonobject<"<<templateClassName<<">(): problem recording new container with "<<"key="<<*k); - } - } -} - - -template<class TypeToBeCopied> void -DeepCopyObjects::copyInDetObject(StoreGateSvc* to, StoreGateSvc *from) -{ } - -template<class TypeToBeCopied> void -DeepCopyObjects::copyTruthObject(StoreGateSvc* to, StoreGateSvc *from) -{ } - -template<class TypeToBeCopied> void -DeepCopyObjects::copyLArObject(StoreGateSvc* to, StoreGateSvc *from) -{ } - -template<class TypeToBeCopied> void -DeepCopyObjects::copyTileObject(StoreGateSvc* to, StoreGateSvc *from) -{ } - -template<class TypeToBeCopied> void -DeepCopyObjects::copyLevel1Object(StoreGateSvc* to, StoreGateSvc *from) -{ } - -*/ - -//================================================================ -StatusCode DeepCopyObjects::overlayInitialize() -{ - - if (m_storeGateTo.retrieve().isFailure()) { - ATH_MSG_FATAL("DeepCopyObjects::initialize): ToStore service not found !"); - return StatusCode::FAILURE; - } - - if (m_storeGateFrom.retrieve().isFailure()) { - ATH_MSG_FATAL("DeepCopyObjects::initialize): FromStoreGate service not found !"); - return StatusCode::FAILURE; - } - - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode DeepCopyObjects::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode DeepCopyObjects::overlayExecute() { - MsgStream log(msgSvc(), name()); - - //std::cout << "DeepCopyObjects::execute() begin"<< std::endl; - //std::cout << m_storeGateMC->dump() << std::endl; - //std::cout << m_storeGateData->dump() << std::endl; - //std::cout << m_storeGateOutput->dump() << std::endl; - //std::cout << m_storeGateFrom->dump() << std::endl; - //std::cout << m_storeGateTo->dump() << std::endl; - - if(m_evtinfo == true){ - typedef std::vector<std::string> KeyList; - KeyList keys = m_storeGateFrom->keys<EventInfo>(); - if(keys.empty()) { - log << MSG::WARNING << "no object of type EventInfo in source store " - << m_storeGateFrom->name() << endmsg; - } - - for (KeyList::const_iterator k=keys.begin(); k!=keys.end(); ++k) { - const EventInfo *oldEvtInfo = 0; - if (m_storeGateFrom->retrieve(oldEvtInfo, *k).isFailure()) { - log << MSG::WARNING << "could not retrieve object with " - << "key = " << *k << " from store " - << m_storeGateFrom->name() << endmsg; - continue; - } - - EventInfo * newEvtInfo = new EventInfo (*oldEvtInfo); - if (m_storeGateTo->record(newEvtInfo, *k).isFailure()) { - log << MSG::WARNING - << "could not record EventInfo to target store " - << m_storeGateTo->name() << " with key= " - << *k << endmsg; - } - } - } - - -/* - - if(m_indet){ - copyInDetObject<TRT_RDO_Container>(&*m_storeGateTo, &*m_storeGateFrom); - copyInDetObject<SCT_RDO_Container>(&*m_storeGateTo, &*m_storeGateFrom); - copyInDetObject<PixelRDO_Container>(&*m_storeGateTo, &*m_storeGateFrom); - } - - if(m_truth){ - copyTruthObject<McEventCollection>(&*m_storeGateTo, &*m_storeGateFrom); - copyTruthObject<TrackRecordCollection>(&*m_storeGateTo, &*m_storeGateFrom); - copyTruthObject<CaloCalibrationHitContainer>(&*m_storeGateTo, &*m_storeGateFrom); - copyTruthObject<InDetSimDataCollection>(&*m_storeGateTo, &*m_storeGateFrom); - copyTruthObject<MuonSimDataCollection>(&*m_storeGateTo, &*m_storeGateFrom); - copyTruthObject<CscSimDataCollection>(&*m_storeGateTo, &*m_storeGateFrom); - } - - if(m_lar){ - copyLArObject<LArDigitContainer>(&*m_storeGateTo, &*m_storeGateFrom); - copyLArObject<LArRawChannelContainer>(&*m_storeGateTo, &*m_storeGateFrom); - } - - if(m_tile){ - copyTileObject<TileDigitsContainer>(&*m_storeGateTo, &*m_storeGateFrom); - copyTileObject<TileRawChannelContainer>(&*m_storeGateTo, &*m_storeGateFrom); - copyTileObject<TileL2Container>(&*m_storeGateTo, &*m_storeGateFrom); - } - - if(m_muon){ - - copyMuonObjectRDO<MdtCsmContainer>(&*m_storeGateTo, &*m_storeGateFrom); -// printEveryObjectOfType<MdtCsmContainer>(&*m_storeGateFrom); -// printEveryObjectOfType<MdtCsmContainer>(&*m_storeGateTo); - - copyMuonObjectRDO<TgcRdoContainer>(&*m_storeGateTo,&*m_storeGateFrom); -// printEveryObjectOfType<TgcRdoContainer>(&*m_storeGateFrom); -// printEveryObjectOfType<TgcRdoContainer>(&*m_storeGateTo); - - copyMuonObjectRDO<RpcPadContainer>(&*m_storeGateTo,&*m_storeGateFrom); -// printEveryObjectOfType<RpcPadContainer>(&*m_storeGateFrom); -// printEveryObjectOfType<RpcPadContainer>(&*m_storeGateTo); - - copyMuonObjectRDO<CscRawDataContainer>(&*m_storeGateTo, &*m_storeGateFrom); -// printEveryObjectOfType<CscRawDataContainer>(&*m_storeGateFrom); -// printEveryObjectOfType<CscRawDataContainer>(&*m_storeGateTo); - - //copyMuonObjectRDO<RpcSectorLogicContainer>(&*m_storeGateTo, &*m_storeGateFrom); - - } - -// Copy level 1 objects - - if(m_level1){ - copyLevel1Object<LArTTL1Container>(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object<TileTTL1Container>(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object<ROIB::RoIBResult>(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object<MuCTPI_RDO>(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object<CTP_RDO>(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::TriggerTower> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::CPMTower> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::JetElement> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::CPMHits> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::CPMRoI> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::CMMCPHits> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::CMMJetHits> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::CMMEtSums> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::JEMHits> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::JEMRoI> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object< DataVector<LVL1::JEMEtSums> >(&*m_storeGateTo, &*m_storeGateFrom); - copyLevel1Object<LVL1::CMMRoI>(&*m_storeGateTo, &*m_storeGateFrom); - } - -*/ - - if(m_muon){ - copyMuonObjectRDO<CscRawDataContainer>(&*m_storeGateTo, &*m_storeGateFrom); - } - - //std::cout << "DeepCopyObjects::execute() end"<< std::endl; - //std::cout << m_storeGateMC->dump() << std::endl; - //std::cout << m_storeGateData->dump() << std::endl; - //std::cout << m_storeGateOutput->dump() << std::endl; - //std::cout << m_storeGateFrom->dump() << std::endl; - //std::cout << m_storeGateTo->dump() << std::endl; - - return StatusCode::SUCCESS; -} - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.h b/Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.h deleted file mode 100644 index d84802c8285f50999106a7ae6f14f98b8b0b3550..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/DeepCopyObjects.h +++ /dev/null @@ -1,126 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -//// To deep copy various transient objects from one storegate to another -//// Piyali.Banerjee@cern.ch; September 2010 -//////////////////////////////////////////////////////////////// - -#ifndef OVERLAYCOMMONALGS_DEEPCOPYOBJECTS_H -#define OVERLAYCOMMONALGS_DEEPCOPYOBJECTS_H - -#include <string> -#include <iostream> -#include <typeinfo> -#include <typeinfo> - -#include "OverlayAlgBase/OverlayAlgBase.h" - -#include "StoreGate/DataHandle.h" - -#include "EventInfo/EventInfo.h" -#include "EventInfo/EventType.h" - -#include "GeneratorObjects/McEventCollection.h" -#include "TrackRecord/TrackRecordCollection.h" -#include "CaloSimEvent/CaloCalibrationHitContainer.h" - -#include "TileEvent/TileDigitsContainer.h" -#include "TileEvent/TileRawChannelContainer.h" -#include "TileEvent/TileL2Container.h" - -#include "TrigT1CaloEvent/TriggerTowerCollection.h" -#include "LArRawEvent/LArDigitContainer.h" -#include "LArRawEvent/LArRawChannelContainer.h" - -#include "InDetSimData/InDetSimDataCollection.h" -#include "MuonSimData/MuonSimDataCollection.h" -#include "MuonSimData/CscSimDataCollection.h" -#include "InDetRawData/TRT_RDO_Container.h" -#include "InDetRawData/SCT_RDO_Container.h" -#include "InDetRawData/PixelRDO_Container.h" - -#include "InDetBCM_RawData/BCM_RDO_Container.h" - -#include "MuonRDO/CscRawDataContainer.h" -#include "MuonRDO/MdtCsmContainer.h" -#include "MuonRDO/TgcRdoContainer.h" -#include "MuonRDO/RpcPadContainer.h" -#include "MuonRDO/RpcSectorLogicContainer.h" - -#include "MuonDigitContainer/CscDigitContainer.h" -#include "MuonDigitContainer/MdtDigitContainer.h" -#include "MuonDigitContainer/RpcDigitContainer.h" -#include "MuonDigitContainer/TgcDigitContainer.h" - -#include "LArRawEvent/LArTTL1Container.h" -#include "TileEvent/TileTTL1Container.h" -#include "TrigT1Result/RoIBResult.h" -#include "TrigT1Result/MuCTPI_RDO.h" -#include "TrigT1Result/CTP_RDO.h" -#include "TrigT1CaloEvent/TriggerTower.h" -#include "TrigT1CaloEvent/JetElement.h" -#include "TrigT1CaloEvent/CPMHits.h" -#include "TrigT1CaloEvent/CPMRoI.h" -#include "TrigT1CaloEvent/CMMCPHits.h" -#include "TrigT1CaloEvent/CMMJetHits.h" -#include "TrigT1CaloEvent/CMMEtSums.h" -#include "TrigT1CaloEvent/JEMHits.h" -#include "TrigT1CaloEvent/JEMRoI.h" -#include "TrigT1CaloEvent/JEMEtSums.h" -#include "TrigT1CaloEvent/CMMRoI.h" -#include "TrigT1CaloEvent/CPMTower.h" - -class DeepCopyObjects : public OverlayAlgBase { -public: - - DeepCopyObjects(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); - - -protected: - - ServiceHandle<StoreGateSvc> m_storeGateTo, m_storeGateFrom; - -private: - - /* - template<class TypeToBeCopied> void - copyInDetObject(StoreGateSvc* to, StoreGateSvc *from); - - template<class TypeToBeCopied> void - copyTruthObject(StoreGateSvc* to, StoreGateSvc *from); - - template<class TypeToBeCopied> void - copyLArObject(StoreGateSvc* to, StoreGateSvc *from); - - template<class TypeToBeCopied> void - copyTileObject(StoreGateSvc* to, StoreGateSvc *from); - - template<class TypeToBeCopied> void - copyLevel1Object(StoreGateSvc* to, StoreGateSvc *from); - - template<class TypeToBeCopied, class Datum> void - copyMuonObjectDigit(StoreGateSvc* from, StoreGateSvc *to); - */ - - template<class TypeToBeCopied> void - copyMuonObjectRDO(StoreGateSvc* to, StoreGateSvc *from); - - template <class TypeToBeCopied> void - printEveryObjectOfType(StoreGateSvc* stg); - - bool m_evtinfo; - bool m_indet; - bool m_muon; - bool m_truth; - bool m_lar; - bool m_tile; - bool m_level1; -}; - -#endif/*OVERLAYCOMMONALGS_DEEPCOPYOBJECTS_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.cxx deleted file mode 100644 index 094de0e38f32218784ae3238e14105662fcd3ad2..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.cxx +++ /dev/null @@ -1,568 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Algorithm to merge G4Hits from different subevents from pileup service to a single event - -#include "G4HitMerger.h" -#include "LArSimEvent/LArHitContainer.h" -#include "Identifier/IdentifierHash.h" -#include "GaudiKernel/MsgStream.h" -#include "StoreGate/StoreGateSvc.h" -#include "PileUpTools/PileUpMergeSvc.h" - -#include "InDetSimEvent/SiHitCollection.h" -#include "InDetSimEvent/TRTUncompressedHitCollection.h" -#include "MuonSimEvent/CSCSimHitCollection.h" -#include "MuonSimEvent/RPCSimHitCollection.h" -#include "MuonSimEvent/MDTSimHitCollection.h" -#include "MuonSimEvent/TGCSimHitCollection.h" -#include "TileSimEvent/TileHitVector.h" -//#include "GeneratorObjects/McEventCollection.h" // in G4HitMerger.h -#include <iomanip> - - -std::ostream& -operator<<(std::ostream& o, const McEventCollection& in) -{ - boost::io::ios_flags_saver ifs(o); - o << "# GenEvents: " << in.size() << '\n'; - int count(0); - for (McEventCollection::const_iterator evt = in.begin(); evt != in.end(); ++evt) { - count++; - o << " GenEvent " << count << ": signal_process_vertex " << (*evt)->signal_process_vertex() << " # tracks: " << (*evt)->particles_size() << " # vertices: " << (*evt)->vertices_size() << '\n'; - int iTrk(0); - for ( HepMC::GenEvent::particle_const_iterator p = (*evt)->particles_begin(); p != (*evt)->particles_end(); ++p ) { - iTrk++; - const HepMC::FourVector fv((*p)->momentum().px(), - (*p)->momentum().py(), - (*p)->momentum().pz(), - (*p)->momentum().e()); - o << "Track " << std::setw(3) << iTrk << " pdgId " << std::setw(5) << (*p)->pdg_id() << " barcode " << std::setw(6) << (*p)->barcode() - << " 4-mom ( " << std::setprecision(7) << std::setw(10) << fv.px() << " , " << std::setw(10) << fv.py() << " , " << std::setw(10) << fv.pz() << ") pt " << fv.perp() << '\n'; - } - } - return o; -} - -G4HitMerger::G4HitMerger(const std::string& name, ISvcLocator* pSvcLocator) - : AthAlgorithm(name, pSvcLocator), m_mergeSvc("PileUpMergeSvc",name) -{ - declareProperty("Detectors", m_Detectors, "Detector selection"); - declareProperty("PileUpMergeSvc", m_mergeSvc, ""); -} - -G4HitMerger::~G4HitMerger(){} - -StatusCode G4HitMerger::initialize() -{ - - // locate the PileUpMergeSvc and initialize our local ptr - CHECK( m_mergeSvc.retrieve() ); - - ATH_MSG_DEBUG( "Initialization completed successfully" ); - - return StatusCode::SUCCESS; - -} - -StatusCode G4HitMerger::execute() -{ - - ///////////////////////////////////////////////////////////////////////////////////// - // Append MCEventCollections - - typedef PileUpMergeSvc::TimedList<McEventCollection>::type TimedTruthList; - // TimedTruthList truthList; - std::string truthCollKey("TruthEvent"); - - ATH_MSG_INFO( " asking for container " << truthCollKey ); - - TimedTruthList* truthList = new TimedTruthList; - - // retrieve the list of pairs (time, container) from the PileUp service - if( m_mergeSvc->retrieveSubEvtsData(truthCollKey, *truthList).isFailure()) - { - ATH_MSG_ERROR("execute(): Failed to retrieve " << truthCollKey); - delete truthList; - return StatusCode::FAILURE; - } - - // start with a new (blank) McEventCollection - - McEventCollection* new_collection = new McEventCollection; - if( evtStore()->record(new_collection, truthCollKey).isFailure() ) - { - ATH_MSG_ERROR("execute(): Failed to record " << truthCollKey); - delete truthList; - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over the list, adding the component McEventCollections to the new one - // - int McCounter(0); - for (auto iter : *truthList ) { - McCounter++; - - ATH_MSG_INFO( "Input McEventCollection " << McCounter << " " << *(iter.second) ); - - // Surprisingly, McEventCollection::operator= pushes_back GenEvents from the RHS - // onto the current list without first clearing the list first. - // Thus, '=' is really an 'append' or += operation - // - (*new_collection) = *(iter.second); - } - delete truthList; - - ATH_MSG_INFO( "Merged McEventCollection " << *(new_collection) ); - CHECK( evtStore()->setConst(new_collection) ); - - - - //first get the list of McEventCollections - // StatusCode sc(StatusCode::FAILURE); - // if (! (sc = m_mergeSvc->retrieveSubEvtsData(truthCollKey, truthList)).isSuccess() ) { - // msglog<<MSG::ERROR<< "execute: Can not find TimedTruthList with key "<< truthCollKey << endmsg; - // return StatusCode::RECOVERABLE; - // } - // int nInputMcEventColls(truthList.size()); - // //and check it is not empty - // if (0 == nInputMcEventColls) { - // msglog<<MSG::ERROR<< "execute: TimedTruthList with key " << truthCollKey<< " is empty" << endmsg; - // return StatusCode::RECOVERABLE; - // } - // - // TimedTruthList::iterator lI(truthList.begin()), lE(truthList.end()); - // //start from the original event collection - // McEventCollection* pOvrlMcEvColl(new McEventCollection(*(lI->second))); - // - // sc = evtStore()->record(pOvrlMcEvColl, truthCollKey); - // if (!sc.isSuccess()) msglog<<MSG::ERROR<<"Could not write MCEventCollection!"<<endmsg; - - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for LAr hits - m_HitContainer.clear(); - m_HitContainer.push_back("LArHitEMB"); - m_HitContainer.push_back("LArHitEMEC"); - m_HitContainer.push_back("LArHitHEC"); - m_HitContainer.push_back("LArHitFCAL"); - int nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<LArHitContainer>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - if( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ) - { - ATH_MSG_ERROR("execute(): Failed to retrieve " << truthCollKey); - return StatusCode::FAILURE; - } - - - // make new hit container - LArHitContainer *new_collection = new LArHitContainer(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const LArHitContainer& firstCont = *(iFirstCont->second); - LArHitContainer::const_iterator f_cell=firstCont.begin(); - LArHitContainer::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - LArHit *hit = new LArHit(**f_cell); - ++f_cell; nhit_tot++; - float energy = hit->energy(); - Identifier cellId = hit->cellID(); - //if (energy<1e-6) continue; - ATH_MSG_DEBUG("LArHit "<<cellId<<" has energy "<<energy); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - //msglog << MSG::INFO << "Subevent "<<subevent<<endmsg; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - - } // end of loop over containers - ATH_MSG_INFO( "Total number of LArHit found " << nhit_tot ); - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for Tile hits - m_HitContainer.clear(); - m_HitContainer.push_back("MBTSHits"); - m_HitContainer.push_back("TileHitVec"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<TileHitVector>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - - // make new hit container - TileHitVector *new_collection = new TileHitVector(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const TileHitVector& firstCont = *(iFirstCont->second); - TileHitVector::const_iterator f_cell=firstCont.begin(); - TileHitVector::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const TileHit hit(*f_cell); - ++f_cell; nhit_tot++; - float energy = 0; for (int i=0; i<hit.size(); ++i) energy+=hit.energy(i); - Identifier cellId = hit.identify(); - //if (energy<1e-6) continue; - ATH_MSG_DEBUG("TileHit "<<cellId<<" has energy "<<energy); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of TileHit found " << nhit_tot ); - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for TRT hits - m_HitContainer.clear(); - m_HitContainer.push_back("TRTUncompressedHits"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<TRTUncompressedHitCollection>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - // make new hit container - TRTUncompressedHitCollection *new_collection = new TRTUncompressedHitCollection(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const TRTUncompressedHitCollection& firstCont = *(iFirstCont->second); - TRTUncompressedHitCollection::const_iterator f_cell=firstCont.begin(); - TRTUncompressedHitCollection::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const TRTUncompressedHit hit = *f_cell; - ++f_cell; nhit_tot++; - float energy = hit.GetEnergyDeposit(); - int cellId = hit.GetHitID(); - //if (energy<1e-6) continue; - ATH_MSG_DEBUG("TRTUncompressedHit "<<cellId<<" has energy "<<energy); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - //msglog << MSG::INFO << "Subevent "<<subevent<<endmsg; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of TRTUncompressedHit found " << nhit_tot ); - - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for CSC hits - m_HitContainer.clear(); - m_HitContainer.push_back("CSC_Hits"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<CSCSimHitCollection>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - // make new hit container - CSCSimHitCollection *new_collection = new CSCSimHitCollection(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const CSCSimHitCollection& firstCont = *(iFirstCont->second); - CSCSimHitCollection::const_iterator f_cell=firstCont.begin(); - CSCSimHitCollection::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const CSCSimHit hit = *f_cell; - ++f_cell; nhit_tot++; - double energy = hit.energyDeposit(); - double time = hit.globalTime(); - int cellId = hit.CSCid(); - //if (energy<1e-6) continue; - ATH_MSG_DEBUG("CSCSimHit "<<cellId<<" has energy "<<energy<<" and time "<<time); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - //msglog << MSG::INFO << "Subevent "<<subevent<<endmsg; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of CSCSimHit found " << nhit_tot ); - - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for RPC hits - m_HitContainer.clear(); - m_HitContainer.push_back("RPC_Hits"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<RPCSimHitCollection>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - // make new hit container - RPCSimHitCollection *new_collection = new RPCSimHitCollection(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const RPCSimHitCollection& firstCont = *(iFirstCont->second); - RPCSimHitCollection::const_iterator f_cell=firstCont.begin(); - RPCSimHitCollection::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const RPCSimHit hit = *f_cell; - ++f_cell; nhit_tot++; - double time = hit.globalTime(); - int cellId = hit.RPCid(); - ATH_MSG_DEBUG("RPCSimHit "<<cellId<<" has time "<<time); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - //msglog << MSG::INFO << "Subevent "<<subevent<<endmsg; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of RPCSimHit found " << nhit_tot ); - - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for MDT hits - m_HitContainer.clear(); - m_HitContainer.push_back("MDT_Hits"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++){ - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<MDTSimHitCollection>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - // make new hit container - MDTSimHitCollection *new_collection = new MDTSimHitCollection(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const MDTSimHitCollection& firstCont = *(iFirstCont->second); - MDTSimHitCollection::const_iterator f_cell=firstCont.begin(); - MDTSimHitCollection::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const MDTSimHit hit = *f_cell; - ++f_cell; nhit_tot++; - double time = hit.globalTime(); - int cellId = hit.MDTid(); - ATH_MSG_DEBUG( "MDTSimHit "<<cellId<<" has time "<<time ); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - //msglog << MSG::INFO << "Subevent "<<subevent<<endmsg; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of MDTSimHit found " << nhit_tot ); - - - - //////////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for TGC hits - m_HitContainer.clear(); - m_HitContainer.push_back("TGC_Hits"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<TGCSimHitCollection>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - // make new hit container - TGCSimHitCollection *new_collection = new TGCSimHitCollection(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - const TGCSimHitCollection& firstCont = *(iFirstCont->second); - TGCSimHitCollection::const_iterator f_cell=firstCont.begin(); - TGCSimHitCollection::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const TGCSimHit hit = *f_cell; - ++f_cell; nhit_tot++; - double time = hit.globalTime(); - int cellId = hit.TGCid(); - ATH_MSG_DEBUG( "TGCSimHit "<<cellId<<" has time "<<time ); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; ++subevent; - //msglog << MSG::INFO << "Subevent "<<subevent<<endmsg; - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of TGCSimHit found " << nhit_tot ); - - - - //////////////////////////////////////////////////////////////////////////////////////// - //My attempt at doing the same for inner detector hits - m_HitContainer.clear(); - m_HitContainer.push_back("BCMHits"); - m_HitContainer.push_back("BLMHits"); - m_HitContainer.push_back("PixelHits"); - m_HitContainer.push_back("SCT_Hits"); - nhit_tot=0; - for (unsigned int iHitContainer=0;iHitContainer<m_HitContainer.size();iHitContainer++) - { - ATH_MSG_INFO( " asking for: " << m_HitContainer[iHitContainer] ); - typedef PileUpMergeSvc::TimedList<SiHitCollection>::type TimedHitContList; - TimedHitContList hitContList; - - // retrieve list of pairs (time,container) from PileUp service - CHECK( m_mergeSvc->retrieveSubEvtsData(m_HitContainer[iHitContainer],hitContList) ); - // make new hit container - SiHitCollection *new_collection = new SiHitCollection(); - if( evtStore()->record(new_collection,m_HitContainer[iHitContainer]) ) - { - ATH_MSG_ERROR("execute(): Failed to record " << m_HitContainer[iHitContainer]); - delete new_collection; - return StatusCode::FAILURE; - } - - // loop over this list - int subevent=0; - TimedHitContList::iterator iFirstCont(hitContList.begin()); - TimedHitContList::iterator iEndCont(hitContList.end()); - while (iFirstCont != iEndCont) { - // get SiHitCollection for this subevent - const SiHitCollection& firstCont = *(iFirstCont->second); - // Loop over elements in this SiHitCollection - SiHitCollection::const_iterator f_cell=firstCont.begin(); - SiHitCollection::const_iterator l_cell=firstCont.end(); - - while (f_cell != l_cell) { - const SiHit hit = *f_cell; - ++f_cell; nhit_tot++; - double energy = hit.energyLoss(); - unsigned int cellId = hit.identify(); - ATH_MSG_DEBUG("Sihit "<<cellId<<" has energy "<<energy); - new_collection->push_back(hit); - } // loop over hits - ++iFirstCont; - ATH_MSG_INFO( "Subevent "<<++subevent ); - } // loop over subevent list - - // lock finished new container - CHECK( evtStore()->setConst(new_collection) ); - } // end of loop over containers - ATH_MSG_INFO( "Total number of inner detector hits found " << nhit_tot ); - - return StatusCode::SUCCESS; -} - -StatusCode G4HitMerger::finalize() -{ - ATH_MSG_DEBUG( " G4HitMerger finalize completed successfully" ); - return StatusCode::SUCCESS; -} diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.h b/Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.h deleted file mode 100644 index fdcb99bebcae6c929296a1a2212ab179a9f1438f..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/G4HitMerger.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef OVERLAYCOMMONALGS_G4HitMerger_H -#define OVERLAYCOMMONALGS_G4HitMerger_H - -#include "AthenaBaseComps/AthAlgorithm.h" - -#include "GaudiKernel/ServiceHandle.h" -#include "GaudiKernel/Property.h" -#include "GeneratorObjects/McEventCollection.h" - -#include <vector> -#include <iostream> - -class PileUpMergeSvc; - -class G4HitMerger : public AthAlgorithm -{ - public: - G4HitMerger(const std::string& name, ISvcLocator* pSvcLocator); - ~G4HitMerger(); - virtual StatusCode initialize(); - virtual StatusCode execute(); - virtual StatusCode finalize(); - - private: - - ServiceHandle<PileUpMergeSvc> m_mergeSvc; - - std::vector <std::string> m_HitContainer; // hit container name list - - std::string m_Detectors; - - friend std::ostream& operator<<(std::ostream& o, const McEventCollection& m); - -}; - -#endif //OVERLAYCOMMONALGS_G4HitMerger_H diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.cxx deleted file mode 100644 index d00d2d1321f277bb742e40531c8938dc619e363d..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.cxx +++ /dev/null @@ -1,64 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Ketevi A. Assamagan, October 2009 - -#include "RemoveObjects.h" -#include "TileEvent/TileDigitsContainer.h" -#include "TileEvent/TileRawChannelContainer.h" -#include "TrigT1CaloEvent/TriggerTowerCollection.h" - -#include "LArRawEvent/LArDigitContainer.h" -#include "LArRawEvent/LArRawChannelContainer.h" - -#include <iostream> -#include <typeinfo> - -//================================================================ -RemoveObjects::RemoveObjects(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator) -{ - declareProperty("RemoveTileMC", m_removeTileMC=false); - declareProperty("RemoveLArMC", m_removeLArMC=false); - declareProperty("RemoveTriggerTowerMC", m_removeTriggerTowerMC=false); -} - -//================================================================ -StatusCode RemoveObjects::overlayInitialize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode RemoveObjects::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode RemoveObjects::overlayExecute() { - MsgStream log(msgSvc(), name()); - log << MSG::DEBUG << "RemoveObjects::execute() begin"<< endmsg; - - if ( m_removeTileMC ) { - removeAllObjectsOfType<TileDigitsContainer>(&*m_storeGateMC); - removeAllObjectsOfType<TileRawChannelContainer>(&*m_storeGateMC); - } - - if ( m_removeLArMC ) { - removeAllObjectsOfType<LArDigitContainer>(&*m_storeGateMC); - //log << MSG::INFO << "LAr objects removed" << endmsg; - //removeAllObjectsOfType<LArRawChannelContainer>(&*m_storeGateMC); - } - - if ( m_removeTriggerTowerMC ) { - removeAllObjectsOfType<TriggerTowerCollection>(&*m_storeGateMC); - } - - log << MSG::DEBUG << "RemoveObjects::execute() end"<< endmsg; - return StatusCode::SUCCESS; -} - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.h b/Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.h deleted file mode 100644 index 42ab376d7d40cead3360210cde24c2fe9e287dd8..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveObjects.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Remove objects before adding new ones -// -// Ketevi A. Assamagan - -#ifndef OVERLAYCOMMONALGS_REMOVEOBJECTS_H -#define OVERLAYCOMMONALGS_REMOVEOBJECTS_H - -#include <string> - -#include "OverlayAlgBase/OverlayAlgBase.h" - -class RemoveObjects : public OverlayAlgBase { -public: - - RemoveObjects(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); - -private: - bool m_removeTileMC; - bool m_removeTriggerTowerMC; - bool m_removeLArMC; - -}; - -#endif/*OVERLAYCOMMONALGS_REMOVEOBJECTS_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.cxx deleted file mode 100644 index e7b8b0b67bb02facc00969e6dac1ef27d69f054c..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.cxx +++ /dev/null @@ -1,201 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Remove objects from temporary background store BkgEvent_2_SG -// before adding new ones -// Piyali.Banerjee@cern.ch February 2011 - -#include "RemoveTempBkgObjects.h" - -#include "EventInfo/EventInfo.h" -#include "EventInfo/EventType.h" - -#include "TileEvent/TileDigitsContainer.h" -#include "TileEvent/TileRawChannelContainer.h" -#include "TileEvent/TileL2Container.h" -#include "TileEvent/TileCellIDC.h" -#include "TileEvent/TileBeamElemContainer.h" -#include "TileEvent/TileLaserObject.h" - -#include "LArRawEvent/LArDigitContainer.h" -#include "LArRawEvent/LArFebHeaderContainer.h" -#include "LArSimEvent/LArHitFloatContainer.h" - -#include "InDetRawData/TRT_RDO_Container.h" -#include "InDetRawData/SCT_RDO_Container.h" -#include "InDetRawData/PixelRDO_Container.h" - -#include "MuonDigitContainer/MdtDigitContainer.h" -#include "MuonDigitContainer/RpcDigitContainer.h" -#include "MuonDigitContainer/TgcDigitContainer.h" -#include "MuonDigitContainer/CscDigitContainer.h" -#include "MuonRDO/CscRawDataContainer.h" -#include "MuonRDO/MdtCsmContainer.h" -#include "MuonRDO/RpcPadContainer.h" -#include "MuonRDO/TgcRdoContainer.h" - -#include "InDetBCM_RawData/BCM_RDO_Container.h" - -#include "TrigT1Result/RoIBResult.h" -#include "TrigT1Result/RecRoIBResult.h" -#include "TrigT1Result/CTP_RDO.h" -#include "TrigT1Result/CTP_RIO.h" -#include "TrigT1Result/MuCTPI_RDO.h" -#include "TrigT1Result/MuCTPI_RIO.h" -#include "TrigT1CaloEvent/JetElement.h" -#include "TrigT1CaloEvent/TriggerTower.h" -#include "TrigT1CaloEvent/JEMEtSums.h" -#include "TrigT1CaloEvent/CPMTower.h" -#include "TrigT1CaloEvent/RODHeader.h" -#include "TrigT1CaloEvent/CPMHits.h" -#include "TrigT1CaloEvent/CMMEtSums.h" -#include "TrigT1CaloEvent/JEMRoI.h" -#include "TrigT1CaloEvent/JEMHits.h" -#include "TrigT1CaloEvent/CPMRoI.h" -#include "TrigT1CaloEvent/CMMJetHits.h" -#include "TrigT1CaloEvent/CMMCPHits.h" -#include "TrigT1CaloEvent/CMMRoI.h" - -#include <iostream> -#include <typeinfo> - -RemoveTempBkgObjects::RemoveTempBkgObjects(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator), - m_tempBkgStore("StoreGateSvc/BkgEvent_2_SG", name), - m_tempSigStore("StoreGateSvc/TemporaryStore", name), - m_bkgData(false) -{ - declareProperty("TempBkgStore", m_tempBkgStore, "help"); - declareProperty("TempSigStore", m_tempSigStore, "help"); - declareProperty("BackgroundIsData", m_bkgData, "help"); -} - -StatusCode RemoveTempBkgObjects::overlayInitialize() -{ - - if (m_tempBkgStore.retrieve().isFailure()) { - ATH_MSG_FATAL("RemoveTempBkgObjects::initialize(): Temporary Background Store not found !"); - return StatusCode::FAILURE; - } - if (m_tempSigStore.retrieve().isFailure()) { - ATH_MSG_FATAL("RemoveTempBkgObjects::initialize(): Temporary Signal Store not found !"); - return StatusCode::FAILURE; - } - - return StatusCode::SUCCESS; -} - -StatusCode RemoveTempBkgObjects::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -StatusCode RemoveTempBkgObjects::overlayExecute() { - MsgStream log(msgSvc(), name()); - //std::cout << "RemoveTempBkgObjects::execute() begin"<< std::endl; - //std::cout << m_storeGateMC->dump() << std::endl; - //std::cout << m_tempSigStore->dump() << std::endl; - //std::cout << m_storeGateData->dump() << std::endl; - //std::cout << m_tempBkgStore->dump() << std::endl; - //std::cout << m_storeGateOutput->dump() << std::endl; - - checkBeforeRemove<EventInfo>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing Eventinfo" << endmsg; - - // If the background is real data and the InDet and Beam objects are - // not actually present in the temporary background store, which is - // the case presently, removing them gives warnings and errors - // from StoreGate service, so don't remove them - if (m_bkgData == false) { - checkBeforeRemove<TRT_RDO_Container>(&*m_tempBkgStore); - checkBeforeRemove<SCT_RDO_Container>(&*m_tempBkgStore); - checkBeforeRemove<PixelRDO_Container>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing InDet objects" << endmsg; - - checkBeforeRemove<BCM_RDO_Container>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing Beam objects" << endmsg; - } - - checkBeforeRemove<LArFebHeaderContainer>(&*m_tempBkgStore); - checkBeforeRemove<LArHitFloatContainer>(&*m_tempBkgStore); - checkBeforeRemove<LArDigitContainer>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing LAr objects" << endmsg; - - checkBeforeRemove<TileDigitsContainer>(&*m_tempBkgStore); - checkBeforeRemove<TileRawChannelContainer>(&*m_tempBkgStore); - checkBeforeRemove<TileL2Container>(&*m_tempBkgStore); - checkBeforeRemove<TileCellIDC>(&*m_tempBkgStore); - checkBeforeRemove<TileBeamElemContainer>(&*m_tempBkgStore); - checkBeforeRemove<TileLaserObject>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing Tile objects" << endmsg; - - checkBeforeRemove<CscDigitContainer>(&*m_tempBkgStore); - checkBeforeRemove<MdtDigitContainer>(&*m_tempBkgStore); - checkBeforeRemove<RpcDigitContainer>(&*m_tempBkgStore); - checkBeforeRemove<TgcDigitContainer>(&*m_tempBkgStore); - // If the background is real data and MDTCSM, TGCRDO and RPCPAD objects - // are not actually present in the temporary background store, removing - // them gives errors from StoreGate service, so don't remove them - // Note that because of MDT Cabling problem, these objects are not - // put into temporary background store if the background is real data - if (m_bkgData == false) { - checkBeforeRemove<MdtCsmContainer>(&*m_tempBkgStore); - checkBeforeRemove<TgcRdoContainer>(&*m_tempBkgStore); - checkBeforeRemove<RpcPadContainer>(&*m_tempBkgStore); - } - checkBeforeRemove<CscRawDataContainer>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing Muon objects" << endmsg; - - checkBeforeRemove<ROIB::RoIBResult>(&*m_tempBkgStore); - checkBeforeRemove<ROIB::RecRoIBResult>(&*m_tempBkgStore); - checkBeforeRemove<CTP_RDO>(&*m_tempBkgStore); - checkBeforeRemove<CTP_RIO>(&*m_tempBkgStore); - checkBeforeRemove<MuCTPI_RDO>(&*m_tempBkgStore); - checkBeforeRemove<MuCTPI_RIO>(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::JetElement> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::TriggerTower> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::JEMEtSums> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::CPMTower> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::RODHeader> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::CPMHits> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::CMMEtSums> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::JEMRoI> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::JEMHits> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::CPMRoI> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::CMMJetHits> >(&*m_tempBkgStore); - checkBeforeRemove< DataVector<LVL1::CMMCPHits> >(&*m_tempBkgStore); - checkBeforeRemove<LVL1::CMMRoI>(&*m_tempBkgStore); - log << MSG::DEBUG << "Removing Level1 objects" << endmsg; - - //std::cout << "RemoveTempBkgObjects::execute() end"<< std::endl; - //std::cout << m_storeGateMC->dump() << std::endl; - //std::cout << m_tempSigStore->dump() << std::endl; - //std::cout << m_storeGateData->dump() << std::endl; - //std::cout << m_tempBkgStore->dump() << std::endl; - //std::cout << m_storeGateOutput->dump() << std::endl; - return StatusCode::SUCCESS; -} - -template<class TypeToBeRemoved> -void RemoveTempBkgObjects::checkBeforeRemove(StoreGateSvc *sg) -{ - const std::string templateClassName = typeid(TypeToBeRemoved).name(); - - const DataHandle<TypeToBeRemoved> data; - const DataHandle<TypeToBeRemoved> dataEnd; - if (sg->retrieve(data, dataEnd).isSuccess()) { - ATH_MSG_DEBUG("checkBeforeRemove<"<<templateClassName<<">(): retrieved data = " << data.cptr() << " dataEnd = " << dataEnd.cptr() << " for removal"); - if (data.cptr() != 0) { - for ( ; data != dataEnd; data++ ) { - ATH_MSG_DEBUG("checkBeforeRemove<"<<templateClassName<<">(): Working on p="<<data.cptr()<<", key="<<sg->proxy(data.cptr())->name()); - std::string key = sg->proxy(data.cptr())->name(); - if ( sg->contains<TypeToBeRemoved>(key) ) { - if (!sg->removeDataAndProxy(data.cptr()).isSuccess()) { - ATH_MSG_WARNING("checkBeforeRemove<"<<templateClassName<<">(): problem removing object p="<<data.cptr()<<", key="<<sg->proxy(data.cptr())->name()); - } - } - } - } - } -} diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.h b/Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.h deleted file mode 100644 index e5ac6def086f7b0cf2d104c6d3e22cbacdaea81a..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/RemoveTempBkgObjects.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Remove objects from temporary background store BkgEvent_2_SG -// before adding new ones -// Piyali.Banerjee@cern.ch February 2011 - -#ifndef OVERLAYCOMMONALGS_REMOVETEMPBKGOBJECTS_H -#define OVERLAYCOMMONALGS_REMOVETEMPBKGOBJECTS_H - -#include "OverlayAlgBase/OverlayAlgBase.h" - -class RemoveTempBkgObjects : public OverlayAlgBase { - -public: - - RemoveTempBkgObjects(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); - -private: - - ServiceHandle<StoreGateSvc> m_tempBkgStore, m_tempSigStore; - - bool m_bkgData; - - template<class TypeToBeRemoved> void checkBeforeRemove(StoreGateSvc *sg); - -}; - -#endif/*OVERLAYCOMMONALGS_REMOVETEMPBKGOBJECTS_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.cxx deleted file mode 100644 index ae5c33fcfd04365b68032013964e5db259920114..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.cxx +++ /dev/null @@ -1,57 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - - -#include "SaveInDetObjects.h" - -#include "InDetRawData/TRT_RDO_Container.h" -#include "InDetRawData/SCT_RDO_Container.h" -#include "InDetRawData/PixelRDO_Container.h" - -#include <iostream> -#include <typeinfo> - -//================================================================ -SaveInDetObjects::SaveInDetObjects(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator), - m_storeGateTemp("StoreGateSvc/BkgEvent_1_SG", name) -{ - declareProperty("TempStore", m_storeGateTemp, "help"); - declareProperty ("SCTType", m_sctType=true); -} - -//================================================================ -StatusCode SaveInDetObjects::overlayInitialize() -{ - - if (m_storeGateTemp.retrieve().isFailure()) { - ATH_MSG_FATAL("SaveInDetObjects::initialize): StoreGate[temp] service not found !"); - return StatusCode::FAILURE; - } - - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode SaveInDetObjects::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode SaveInDetObjects::overlayExecute() { - MsgStream log(msgSvc(), name()); - log << MSG::DEBUG << "SaveInDetObjects::execute() begin"<< endmsg; - - copyInDetIDCobject<TRT_RDO_Container,TRT_LoLumRawData>(&*m_storeGateMC,&*m_storeGateTemp); - if ( m_sctType) copyInDetIDCobject<SCT_RDO_Container,SCT3_RawData>(&*m_storeGateMC,&*m_storeGateTemp); - else copyInDetIDCobject<SCT_RDO_Container,SCT1_RawData>(&*m_storeGateMC,&*m_storeGateTemp); - copyInDetIDCobject<PixelRDO_Container,Pixel1RawData>(&*m_storeGateMC,&*m_storeGateTemp); - - log << MSG::DEBUG << "SaveInDetObjects::execute() end"<< endmsg; - return StatusCode::SUCCESS; -} - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.h b/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.h deleted file mode 100644 index 0ad85fe60eb40fbf3d88270cfbd305b8ca089321..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// -// Ketevi A. Assamagan, October 2009 - -#ifndef OVERLAYCOMMONALGS_SAVEINDETOBJECTS_H -#define OVERLAYCOMMONALGS_SAVEINDETOBJECTS_H - - -#include <string> - -#include "OverlayAlgBase/OverlayAlgBase.h" - -class SaveInDetObjects : public OverlayAlgBase { -public: - - SaveInDetObjects(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); - - template<class TypeToBeCopied, class Datum> void copyInDetIDCobject(StoreGateSvc* from, StoreGateSvc *to); - -protected: - - ServiceHandle<StoreGateSvc> m_storeGateTemp; - -private: - - bool m_sctType; - -}; - -#include "SaveInDetObjects.icc" - -#endif/*OVERLAYCOMMONALGS_COPYOBJECTS_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.icc b/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.icc deleted file mode 100644 index 940a723fea7b7f030496bf3bf36445731d15e80c..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/SaveInDetObjects.icc +++ /dev/null @@ -1,59 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -#include "StoreGate/DataHandle.h" -#include "AthenaBaseComps/AthMsgStreamMacros.h" -#include <typeinfo> - -template<class TypeToBeCopied, class Datum> -void SaveInDetObjects::copyInDetIDCobject(StoreGateSvc* from, StoreGateSvc *to) -{ - typedef typename TypeToBeCopied::base_value_type Collection; - const std::string templateClassName = typeid(TypeToBeCopied).name(); - typedef std::vector<std::string> KeyList; - KeyList keys = from->keys<TypeToBeCopied>(); - if(keys.empty()) - { - ATH_MSG_WARNING("copyInDetIDCobject<"<<templateClassName<<">(): no keys found"); - return; - } - - for (KeyList::const_iterator k=keys.begin(), endOfKeys=keys.end(); k!=endOfKeys; ++k) - { - TypeToBeCopied * newObject(nullptr); - const TypeToBeCopied * oldObject(nullptr); - if ( from->retrieve(oldObject, *k).isFailure() ) - { - ATH_MSG_WARNING("copyInDetIDCobject<"<<templateClassName<<">(): problem retrieving container with " <<"key="<<*k); - continue; - } - - newObject = new TypeToBeCopied ( oldObject->size() ); - for (typename TypeToBeCopied::const_iterator iFirst = oldObject->begin(), iLast = oldObject->end(); iFirst != iLast; ++iFirst ) - { - Collection * element = new Collection ( (*iFirst)->identifyHash() ); - element->setIdentifier( (*iFirst)->identify() ); - for ( typename TypeToBeCopied::base_value_type::const_iterator firstData = (*iFirst)->begin(), lastData = (*iFirst)->end(); firstData != lastData; ++firstData) - { - const Datum* const oldData = dynamic_cast<const Datum*>(*firstData); - if(nullptr==oldData) - { - ATH_MSG_WARNING ("copyInDetIDCobject<"<<templateClassName<<">(): dynamic_cast failed while trying to copy object "); - continue; - } - Datum * newData = new Datum ( *oldData ); - element->push_back ( newData ); - } - if ( newObject->addCollection ( element, (*iFirst)->identifyHash() ).isFailure() ) - { - ATH_MSG_WARNING("copyInDetIDCobject<"<<templateClassName<<">(): problem adding collection with hash "<<"hash="<<(*iFirst)->identifyHash()); - } - } - if (!to->record(newObject, *k).isSuccess()) - { - ATH_MSG_WARNING("copyInDetIDCobject<"<<templateClassName<<">(): problem recording new container with "<<"key="<<*k); - } - } - return; -} diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.cxx deleted file mode 100644 index a685e151ba9fed9e6de9c15a2e6d6ece091ad4be..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.cxx +++ /dev/null @@ -1,355 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Ketevi A. Assamagan, October 2009 - -// Piyali Banerjee, March 2011 - -#include "UpdateEventInfo.h" - -#include "EventInfo/EventInfo.h" -#include "EventInfo/EventType.h" - -#include "GeneratorObjects/McEventCollection.h" -#include "TrackRecord/TrackRecordCollection.h" -#include "CaloSimEvent/CaloCalibrationHitContainer.h" - -#include "TileEvent/TileDigitsContainer.h" -#include "TileEvent/TileRawChannelContainer.h" -#include "TileEvent/TileL2Container.h" -#include "TileEvent/TileHitContainer.h" -#include "TileEvent/TileCellIDC.h" -#include "TileEvent/TileBeamElemContainer.h" -#include "TileEvent/TileLaserObject.h" -#include "TileSimEvent/TileHitVector.h" - -#include "LArRawEvent/LArDigitContainer.h" -#include "LArRawEvent/LArRawChannelContainer.h" -#include "LArRawEvent/LArFebHeaderContainer.h" -#include "LArSimEvent/LArHitContainer.h" -#include "LArSimEvent/LArHitFloatContainer.h" - -#include "InDetSimData/InDetSimDataCollection.h" -#include "MuonSimData/MuonSimDataCollection.h" -#include "MuonSimData/CscSimDataCollection.h" -#include "InDetRawData/TRT_RDO_Container.h" -#include "InDetRawData/SCT_RDO_Container.h" -#include "InDetRawData/PixelRDO_Container.h" -#include "InDetSimEvent/TRTUncompressedHitCollection.h" -#include "InDetSimEvent/SiHitCollection.h" - -#include "MuonDigitContainer/MdtDigitContainer.h" -#include "MuonDigitContainer/RpcDigitContainer.h" -#include "MuonDigitContainer/TgcDigitContainer.h" -#include "MuonDigitContainer/CscDigitContainer.h" -#include "MuonRDO/CscRawDataContainer.h" -#include "MuonRDO/MdtCsmContainer.h" -#include "MuonRDO/RpcPadContainer.h" -#include "MuonRDO/TgcRdoContainer.h" -#include "MuonSimEvent/RPCSimHitCollection.h" -#include "MuonSimEvent/TGCSimHitCollection.h" -#include "MuonSimEvent/CSCSimHitCollection.h" -#include "MuonSimEvent/MDTSimHitCollection.h" - -#include "InDetBCM_RawData/BCM_RDO_Container.h" - -#include "LArRawEvent/LArTTL1Container.h" -#include "TileEvent/TileTTL1Container.h" -#include "TrigT1Result/RoIBResult.h" -#include "TrigT1Result/RecRoIBResult.h" -#include "TrigT1Result/MuCTPI_RDO.h" -#include "TrigT1Result/MuCTPI_RIO.h" -#include "TrigT1Result/CTP_RDO.h" -#include "TrigT1Result/CTP_RIO.h" -#include "TrigT1CaloEvent/TriggerTower.h" -#include "TrigT1CaloEvent/JetElement.h" -#include "TrigT1CaloEvent/CPMHits.h" -#include "TrigT1CaloEvent/CPMRoI.h" -#include "TrigT1CaloEvent/CMMCPHits.h" -#include "TrigT1CaloEvent/CMMJetHits.h" -#include "TrigT1CaloEvent/CMMEtSums.h" -#include "TrigT1CaloEvent/JEMHits.h" -#include "TrigT1CaloEvent/JEMRoI.h" -#include "TrigT1CaloEvent/JEMEtSums.h" -#include "TrigT1CaloEvent/CMMRoI.h" -#include "TrigT1CaloEvent/CPMTower.h" -#include "TrigT1CaloEvent/EmTauROI.h" -#include "TrigT1CaloEvent/EmTauROI_ClassDEF.h" -#include "TrigT1CaloEvent/JetROI.h" -#include "TrigT1CaloEvent/JetROI_ClassDEF.h" -#include "TrigT1CaloEvent/RODHeader.h" -#include "TrigT1CaloEvent/EnergyRoI.h" -#include "TrigT1CaloEvent/JetEtRoI.h" -#include "TrigT1CaloEvent/JEPBSCollection.h" -#include "TrigT1CaloEvent/JEPRoIBSCollection.h" -#include "TrigT1CaloEvent/CPBSCollection.h" -#include "TrigT1Interfaces/JetCTP.h" -#include "TrigT1Interfaces/EmTauCTP.h" -#include "TrigT1Interfaces/EnergyCTP.h" -#include "TrigT1Interfaces/MuCTPICTP.h" -#include "TrigT1Interfaces/MbtsCTP.h" -#include "TrigT1Interfaces/BcmCTP.h" -#include "TrigT1Interfaces/CTPSLink.h" -#include "TrigT1Interfaces/SlinkWord.h" -#include "TrigT1Interfaces/Lvl1MuCTPIInput.h" -#include "TrigT1Interfaces/MuCTPIToRoIBSLink.h" -#include "PersistentDataModel/DataHeader.h" - -#include <iostream> -#include <typeinfo> - -//================================================================ -UpdateEventInfo::UpdateEventInfo(const std::string &name, ISvcLocator *pSvcLocator) : - OverlayAlgBase(name, pSvcLocator) - , m_storeGateTemp("StoreGateSvc/TemporaryStore", name),m_count(0),m_infoType("MyEvent") - -{ - declareProperty("TempStore", m_storeGateTemp, "help"); - declareProperty("InfoType", m_infoType); -} - -//================================================================ -StatusCode UpdateEventInfo::overlayInitialize() -{ - if (m_storeGateTemp.retrieve().isFailure()) - { - ATH_MSG_ERROR ( "overlayInitialize(): StoreGate[temp] service not found !" ); - return StatusCode::FAILURE; - } - m_count = 0; - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode UpdateEventInfo::overlayFinalize() -{ - return StatusCode::SUCCESS; -} - -//================================================================ -StatusCode UpdateEventInfo::overlayExecute() -{ - //std::cout << "UpdateEventInfo::execute() begin" << std::endl; - //std::cout << m_storeGateMC->dump() << std::endl; - //std::cout << m_storeGateTemp->dump() << std::endl; - //std::cout << m_storeGateData->dump() << std::endl; - //std::cout << m_storeGateOutput->dump() << std::endl; - - /** first, remove the EventInfo in the MC store */ - if (m_storeGateTemp->contains<EventInfo>(m_infoType) ) - { - removeAllObjectsOfType<EventInfo>(&*m_storeGateTemp); - } - /** Copy the EventInfo from the data store to the MC store - the out MC RDO must be reconstructed with the MC conditions */ - const EventInfo * oldEvtInfo = 0; - if (m_storeGateOutput->retrieve(oldEvtInfo, m_infoType).isSuccess() ) - { - EventInfo * newEvtInfo = new EventInfo ( *oldEvtInfo ); - if ( m_storeGateTemp->record( newEvtInfo, m_infoType ).isFailure() ) - { - ATH_MSG_WARNING ( "overlayExecute(): Could not record EventInfo to MC output storeGate, key= " << m_infoType ); - } - } - else - { - ATH_MSG_WARNING ( "overlayExecute(): Could retrieve EventInfo from data store, key = " << m_infoType ); - } - - /** Copy MC information to temp */ - checkBeforeRemove<McEventCollection>(&*m_storeGateTemp); - checkBeforeRemove<TrackRecordCollection>(&*m_storeGateTemp); - checkBeforeRemove<CaloCalibrationHitContainer>(&*m_storeGateTemp); - checkBeforeRemove<InDetSimDataCollection>(&*m_storeGateTemp); - checkBeforeRemove<CscSimDataCollection>(&*m_storeGateTemp); - checkBeforeRemove<MuonSimDataCollection>(&*m_storeGateTemp); - checkBeforeRemove<DataHeader>(&*m_storeGateTemp); - - copyAllObjectsOfType<McEventCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TrackRecordCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CaloCalibrationHitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<InDetSimDataCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CscSimDataCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<MuonSimDataCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<DataHeader>(&*m_storeGateTemp, &*m_storeGateMC); - - /** Copy Inner Detector stuff */ - if ( m_count > 0 ) - { - checkBeforeRemove<TRTUncompressedHitCollection>(&*m_storeGateTemp); - checkBeforeRemove<TRT_RDO_Container>(&*m_storeGateTemp); - checkBeforeRemove<SCT_RDO_Container>(&*m_storeGateTemp); - checkBeforeRemove<PixelRDO_Container>(&*m_storeGateTemp); - checkBeforeRemove<SiHitCollection>(&*m_storeGateTemp); - } - copyAllObjectsOfType<TRTUncompressedHitCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TRT_RDO_Container>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<SCT_RDO_Container>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<PixelRDO_Container>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<SiHitCollection>(&*m_storeGateTemp, &*m_storeGateMC); - - /** Copy calorimeter stuff */ - checkBeforeRemove<LArFebHeaderContainer>(&*m_storeGateTemp); - checkBeforeRemove<LArHitContainer>(&*m_storeGateTemp); - checkBeforeRemove<LArHitFloatContainer>(&*m_storeGateTemp); - checkBeforeRemove<LArDigitContainer>(&*m_storeGateTemp); - checkBeforeRemove<LArRawChannelContainer>(&*m_storeGateTemp); - checkBeforeRemove<TileHitContainer>(&*m_storeGateTemp); - checkBeforeRemove<TileDigitsContainer>(&*m_storeGateTemp); - checkBeforeRemove<TileRawChannelContainer>(&*m_storeGateTemp); - checkBeforeRemove<TileCellIDC>(&*m_storeGateTemp); - checkBeforeRemove<TileL2Container>(&*m_storeGateTemp); - checkBeforeRemove<TileBeamElemContainer>(&*m_storeGateTemp); - checkBeforeRemove<TileLaserObject>(&*m_storeGateTemp); - checkBeforeRemove<TileHitVector>(&*m_storeGateTemp); - - copyAllObjectsOfType<LArFebHeaderContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LArHitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LArHitFloatContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LArDigitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LArRawChannelContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileHitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileDigitsContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileRawChannelContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileCellIDC>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileL2Container>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileBeamElemContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileLaserObject>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileHitVector>(&*m_storeGateTemp, &*m_storeGateMC); - - /** Copy muon objects */ - if ( m_count > 0 ) - { - checkBeforeRemove<RPCSimHitCollection>(&*m_storeGateTemp); - checkBeforeRemove<TGCSimHitCollection>(&*m_storeGateTemp); - checkBeforeRemove<CSCSimHitCollection>(&*m_storeGateTemp); - checkBeforeRemove<MDTSimHitCollection>(&*m_storeGateTemp); - checkBeforeRemove<CscDigitContainer>(&*m_storeGateTemp); - checkBeforeRemove<MdtDigitContainer>(&*m_storeGateTemp); - checkBeforeRemove<RpcDigitContainer>(&*m_storeGateTemp); - checkBeforeRemove<TgcDigitContainer>(&*m_storeGateTemp); - checkBeforeRemove<CscRawDataContainer>(&*m_storeGateTemp); - checkBeforeRemove<MdtCsmContainer>(&*m_storeGateTemp); - checkBeforeRemove<RpcPadContainer>(&*m_storeGateTemp); - checkBeforeRemove<TgcRdoContainer>(&*m_storeGateTemp); - } - - copyAllObjectsOfType<RPCSimHitCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TGCSimHitCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CSCSimHitCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<MDTSimHitCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CscDigitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<MdtDigitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<RpcDigitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TgcDigitContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CscRawDataContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<MdtCsmContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<RpcPadContainer>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TgcRdoContainer>(&*m_storeGateTemp, &*m_storeGateMC); - - /** Copy beam related objects */ - if ( m_count > 0 ) - { - checkBeforeRemove<BCM_RDO_Container>(&*m_storeGateTemp); - } - copyAllObjectsOfType<BCM_RDO_Container>(&*m_storeGateTemp, &*m_storeGateMC); - - /** Copy level 1 objects */ - checkBeforeRemove<LArTTL1Container>(&*m_storeGateTemp); - checkBeforeRemove<TileTTL1Container>(&*m_storeGateTemp); - checkBeforeRemove<ROIB::RoIBResult>(&*m_storeGateTemp); - checkBeforeRemove<ROIB::RecRoIBResult>(&*m_storeGateTemp); - checkBeforeRemove<MuCTPI_RDO>(&*m_storeGateTemp); - checkBeforeRemove<MuCTPI_RIO>(&*m_storeGateTemp); - checkBeforeRemove<CTP_RDO>(&*m_storeGateTemp); - checkBeforeRemove<CTP_RIO>(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::TriggerTower> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::CPMTower> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::JetElement> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::CPMHits> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::CPMRoI> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::CMMCPHits> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::CMMJetHits> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::CMMEtSums> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::JEMHits> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::JEMRoI> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::JEMEtSums> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::EmTauROI> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::JetROI> >(&*m_storeGateTemp); - checkBeforeRemove< DataVector<LVL1::RODHeader> >(&*m_storeGateTemp); - // SlinkWord and vector<int> are commented out because their class - // definitions have no CLASS_DEF and so sizeof() is unable to estimate - // their size and so they cannot be retrieved from StoreGate - // checkBeforeRemove< DataVector<LVL1CTP::SlinkWord> >(&*m_storeGateTemp); - // checkBeforeRemove< std::vector<unsigned int> >(&*m_storeGateTemp); - checkBeforeRemove<LVL1::JetCTP>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::EmTauCTP>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::EnergyCTP>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::EnergyRoI>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::CMMRoI>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::MuCTPICTP>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::MbtsCTP>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::BcmCTP>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::JetEtRoI>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::JEPBSCollection>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::JEPRoIBSCollection>(&*m_storeGateTemp); - checkBeforeRemove<LVL1::CPBSCollection>(&*m_storeGateTemp); - checkBeforeRemove<LVL1CTP::CTPSLink>(&*m_storeGateTemp); - checkBeforeRemove<LVL1MUONIF::Lvl1MuCTPIInput>(&*m_storeGateTemp); - checkBeforeRemove<L1MUINT::MuCTPIToRoIBSLink>(&*m_storeGateTemp); - - copyAllObjectsOfType<LArTTL1Container>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<TileTTL1Container>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<ROIB::RoIBResult>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<ROIB::RecRoIBResult>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<MuCTPI_RDO>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<MuCTPI_RIO>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CTP_RDO>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<CTP_RIO>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::TriggerTower> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::CPMTower> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::JetElement> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::CPMHits> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::CPMRoI> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::CMMCPHits> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::CMMJetHits> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::CMMEtSums> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::JEMHits> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::JEMRoI> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::JEMEtSums> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::EmTauROI> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::JetROI> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType< DataVector<LVL1::RODHeader> >(&*m_storeGateTemp, &*m_storeGateMC); - // SlinkWord and vector<int> are commented out because their class - // definitions have no CLASS_DEF and so sizeof() is unable to estimate - // their size and so they cannot be retrieved from StoreGate - // copyAllObjectsOfType< DataVector<LVL1CTP::SlinkWord> >(&*m_storeGateTemp, &*m_storeGateMC); - // copyAllObjectsOfType< std::vector<unsigned int> >(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::JetCTP>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::EmTauCTP>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::EnergyCTP>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::EnergyRoI>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::CMMRoI>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::MuCTPICTP>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::MbtsCTP>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::BcmCTP>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::JetEtRoI>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::JEPBSCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::JEPRoIBSCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1::CPBSCollection>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1CTP::CTPSLink>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<LVL1MUONIF::Lvl1MuCTPIInput>(&*m_storeGateTemp, &*m_storeGateMC); - copyAllObjectsOfType<L1MUINT::MuCTPIToRoIBSLink>(&*m_storeGateTemp, &*m_storeGateMC); - - //std::cout << "UpdateEventInfo::execute() end" << std::endl; - //std::cout << m_storeGateMC->dump() << std::endl; - //std::cout << m_storeGateTemp->dump() << std::endl; - //std::cout << m_storeGateData->dump() << std::endl; - //std::cout << m_storeGateOutput->dump() << std::endl; - m_count++; - return StatusCode::SUCCESS; -} - -//================================================================ -//EOF diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.h b/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.h deleted file mode 100644 index c644068775cfe4336d9ab43a405d1f7298659a9c..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// Remove objects before adding new ones -// -// Keetvi A. Assamagan - -#ifndef OVERLAYCOMMONALGS_UPDATEEVENTINFO_H -#define OVERLAYCOMMONALGS_UPDATEEVENTINFO_H - -#include <string> - -#include "OverlayAlgBase/OverlayAlgBase.h" - -class UpdateEventInfo: public OverlayAlgBase { -public: - - UpdateEventInfo(const std::string &name,ISvcLocator *pSvcLocator); - - virtual StatusCode overlayInitialize(); - virtual StatusCode overlayExecute(); - virtual StatusCode overlayFinalize(); - - template<class TypeToBeRemoved> void checkBeforeRemove(StoreGateSvc *sg); - -protected: - ServiceHandle<StoreGateSvc> m_storeGateTemp; - unsigned int m_count; - std::string m_infoType; -}; - -#include "UpdateEventInfo.icc" - -#endif/*OVERLAYCOMMONALGS_UPDATEEVENTINFO_H*/ diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.icc b/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.icc deleted file mode 100644 index b8f179a4b1e2b000e4a227bc2deb92fa349aa242..0000000000000000000000000000000000000000 --- a/Event/EventOverlay/OverlayCommonAlgs/src/UpdateEventInfo.icc +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -#include "StoreGate/DataHandle.h" -#include "AthenaBaseComps/AthMsgStreamMacros.h" -#include <typeinfo> - -template<class TypeToBeRemoved> -void UpdateEventInfo::checkBeforeRemove(StoreGateSvc *sg) -{ - const std::string templateClassName = typeid(TypeToBeRemoved).name(); - - const DataHandle<TypeToBeRemoved> data; - const DataHandle<TypeToBeRemoved> dataEnd; - if (sg->retrieve(data, dataEnd).isSuccess()) { - ATH_MSG_DEBUG("checkBeforeRemove<"<<templateClassName<<">(): retrieved data = " << data.cptr() << " dataEnd = " << dataEnd.cptr() << " for removal"); - if (data.cptr() != 0) { - for ( ; data != dataEnd; data++ ) { - ATH_MSG_DEBUG("checkBeforeRemove<"<<templateClassName<<">(): Working on p="<<data.cptr()<<", key="<<sg->proxy(data.cptr())->name()); - std::string key = sg->proxy(data.cptr())->name(); - if ( sg->contains<TypeToBeRemoved>(key) ) { - if (!sg->removeDataAndProxy(data.cptr()).isSuccess()) { - ATH_MSG_WARNING("checkBeforeRemove<"<<templateClassName<<">(): problem removing object p="<<data.cptr()<<", key="<<sg->proxy(data.cptr())->name()); - } - } - } - } - } -} diff --git a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx index d4146f87e93680bb86af2cf6eac6e6dafc9064d1..a1eeb59a68460f84463e5c063237c9e6fa5f4ebc 100644 --- a/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx +++ b/Event/EventOverlay/OverlayCommonAlgs/src/components/OverlayCommonAlgs_entries.cxx @@ -1,27 +1,13 @@ +#include "../CopyJetTruthInfo.h" #include "../CopyMcEventCollection.h" -#include "../CopyObjects.h" #include "../CopyTimings.h" -#include "../CopyTruthInfo.h" -#include "../SaveInDetObjects.h" -#include "../RemoveObjects.h" -#include "../UpdateEventInfo.h" + #include "../BSFilter.h" -#include "../G4HitMerger.h" #include "../ByteStreamMultipleOutputStreamCopyTool.h" -#include "../DeepCopyObjects.h" -#include "../RemoveTempBkgObjects.h" +DECLARE_COMPONENT( CopyJetTruthInfo ) DECLARE_COMPONENT( CopyMcEventCollection ) -DECLARE_COMPONENT( CopyObjects ) DECLARE_COMPONENT( CopyTimings ) -DECLARE_COMPONENT( CopyTruthInfo ) -DECLARE_COMPONENT( SaveInDetObjects ) -DECLARE_COMPONENT( RemoveObjects ) -DECLARE_COMPONENT( UpdateEventInfo ) -DECLARE_COMPONENT( BSFilter ) -DECLARE_COMPONENT( G4HitMerger ) -DECLARE_COMPONENT( DeepCopyObjects ) -DECLARE_COMPONENT( RemoveTempBkgObjects ) +DECLARE_COMPONENT( BSFilter ) DECLARE_COMPONENT( ByteStreamMultipleOutputStreamCopyTool ) - diff --git a/Event/NavFourMom/NavFourMom/INav4MomAssocs.h b/Event/NavFourMom/NavFourMom/INav4MomAssocs.h index 79b6a639d38fe072e0240e751a2be0b4e3355202..421ce9507fa3e36d0c469ac951511a9b1c885f41 100644 --- a/Event/NavFourMom/NavFourMom/INav4MomAssocs.h +++ b/Event/NavFourMom/NavFourMom/INav4MomAssocs.h @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // INav4MomAssocs.h @@ -114,6 +114,9 @@ class INav4MomAssocs : public AssociationMap< INavigable4MomentumCollection, */ void addAssocStore( const DataLink<INav4MomAssocs>& assocStore ); + /// Return links to all other association stores. + std::vector<DataLink<INav4MomAssocs> > getAssocStores() const; + /////////////////////////////////////////////////////////////////// // Protected data: /////////////////////////////////////////////////////////////////// diff --git a/Event/NavFourMom/src/INav4MomAssocs.cxx b/Event/NavFourMom/src/INav4MomAssocs.cxx index 86ec2bb31824151856caae8dddf46490e8f15628..c3e1673edbf065df2cff92a17b09e15ece4f2f00 100644 --- a/Event/NavFourMom/src/INav4MomAssocs.cxx +++ b/Event/NavFourMom/src/INav4MomAssocs.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -184,6 +184,18 @@ void INav4MomAssocs::addAssocStore( const DataLink<INav4MomAssocs>& assocStore ) } } + +std::vector<DataLink<INav4MomAssocs> > INav4MomAssocs::getAssocStores() const +{ + std::vector<DataLink<INav4MomAssocs> > ret; + ret.reserve (m_assocStores.size()); + for (const auto& p : m_assocStores) { + ret.push_back (p.second); + } + return ret; +} + + #ifdef __APPLE__ /////////////////////////////////////////////////////////////////// // Static template members: diff --git a/Event/xAOD/xAODCutFlow/xAODCutFlow/CutBookkeeperAuxContainer.h b/Event/xAOD/xAODCutFlow/xAODCutFlow/CutBookkeeperAuxContainer.h index 61ecf36f32c581746d0d1e208e2ce62d05f08e74..dfba7d648e125ec414062ceec6ee35acf07ae7dc 100644 --- a/Event/xAOD/xAODCutFlow/xAODCutFlow/CutBookkeeperAuxContainer.h +++ b/Event/xAOD/xAODCutFlow/xAODCutFlow/CutBookkeeperAuxContainer.h @@ -20,11 +20,5 @@ namespace xAOD { // Set up a CLID for the class: #include "xAODCore/CLASS_DEF.h" CLASS_DEF( xAOD::CutBookkeeperAuxContainer, 1147935274, 1 ) -#ifndef XAOD_STANDALONE -#include "AthenaKernel/MetaCont.h" -CLASS_DEF( MetaCont<xAOD::CutBookkeeperAuxContainer> , 1422109 , 1 ) -#include "SGTools/BaseInfo.h" -SG_BASE( MetaCont<xAOD::CutBookkeeperAuxContainer>, MetaContBase ); -#endif // not XAOD_STANDALONE #endif // XAODCUTFLOW_CUTBOOKKEEPERAUXCONTAINER_H diff --git a/Event/xAOD/xAODEventFormatCnv/src/EventFormatMetaDataTool.h b/Event/xAOD/xAODEventFormatCnv/src/EventFormatMetaDataTool.h index 33875ae4af58750780350060fcffdfa6288de596..b50053df42d962b77baf335d87f3a92999659cdd 100644 --- a/Event/xAOD/xAODEventFormatCnv/src/EventFormatMetaDataTool.h +++ b/Event/xAOD/xAODEventFormatCnv/src/EventFormatMetaDataTool.h @@ -46,15 +46,6 @@ namespace xAODMaker { /// Function initialising the tool virtual StatusCode initialize(); - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return beginInputFile();} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return endInputFile();} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return metaDataStop();} - /// Function called when a new input file is opened virtual StatusCode beginInputFile(); diff --git a/Event/xAOD/xAODMetaDataCnv/src/FileMetaDataCreatorTool.h b/Event/xAOD/xAODMetaDataCnv/src/FileMetaDataCreatorTool.h index 1059a9bb4f2b44d867c9fce39fe887b9a30d680c..f8915fc4ea649f0ace135c185315b95214d1705c 100644 --- a/Event/xAOD/xAODMetaDataCnv/src/FileMetaDataCreatorTool.h +++ b/Event/xAOD/xAODMetaDataCnv/src/FileMetaDataCreatorTool.h @@ -70,15 +70,6 @@ namespace xAODMaker { /// Function writing the collected metadata to the output virtual StatusCode metaDataStop(); - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return StatusCode::SUCCESS;} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return StatusCode::SUCCESS;} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return StatusCode::SUCCESS;} - /// @} private: diff --git a/Event/xAOD/xAODMetaDataCnv/xAODMetaDataCnv/FileMetaDataTool.h b/Event/xAOD/xAODMetaDataCnv/xAODMetaDataCnv/FileMetaDataTool.h index a0c1b5b441142cd056b4e3633683bb0dba2b1c3b..3f634650d3c4c0d86cbbc1fc047111eba5371028 100644 --- a/Event/xAOD/xAODMetaDataCnv/xAODMetaDataCnv/FileMetaDataTool.h +++ b/Event/xAOD/xAODMetaDataCnv/xAODMetaDataCnv/FileMetaDataTool.h @@ -70,15 +70,6 @@ namespace xAODMaker { /// Function writing the collected metadata to the output virtual StatusCode metaDataStop(); - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return beginInputFile();} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return endInputFile();} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return metaDataStop();} - /// @} private: diff --git a/Event/xAOD/xAODTracking/CMakeLists.txt b/Event/xAOD/xAODTracking/CMakeLists.txt index 76b33abd103dc8fd31b2304ebdd677f396e9cca2..42cfbf213c44dc10cbeceb8e784669d88133a95a 100644 --- a/Event/xAOD/xAODTracking/CMakeLists.txt +++ b/Event/xAOD/xAODTracking/CMakeLists.txt @@ -18,6 +18,7 @@ endif() # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC + Control/CxxUtils Control/AthContainers Control/AthLinks DetectorDescription/GeoPrimitives diff --git a/Event/xAOD/xAODTracking/xAODTracking/TrackingPrimitives.h b/Event/xAOD/xAODTracking/xAODTracking/TrackingPrimitives.h index a04109609e539daae3102e52314234f026b058fe..0f8cf6d6f760aa6bbcf4654294e43f525d8a6434 100644 --- a/Event/xAOD/xAODTracking/xAODTracking/TrackingPrimitives.h +++ b/Event/xAOD/xAODTracking/xAODTracking/TrackingPrimitives.h @@ -1,7 +1,7 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id: xAODPrimitives.h 576255 2013-12-19 12:54:41Z emoyse $ @@ -9,7 +9,9 @@ #define XAODTRACKING_XAODPRIMITIVES_H // EDM include(s): -#include "EventPrimitives/EventPrimitives.h" +#include "EventPrimitives/EventPrimitives.h" +#include "AthContainers/tools/AuxDataTraits.h" +#include "CxxUtils/checker_macros.h" #ifndef AmgMatrixDef #define AmgMatrixDef @@ -419,4 +421,27 @@ namespace xAOD { } // namespace VxType } // namespace xAOD + +namespace SG { + + +// The default Matrix constructor does not initialize the matrix contents. +// Specialize this for Matrix, so that when fill() gets used inside DataVector, +// we'll fill with a fully initialized instance. +template <typename SCALAR, int ROWS, int COLS, int OPTIONS, int MAXROWS, int MAXCOLS> +struct Zero<Eigen::Matrix<SCALAR, ROWS, COLS, OPTIONS, MAXROWS, MAXCOLS> > +{ + typedef Eigen::Matrix<SCALAR, ROWS, COLS, OPTIONS, MAXROWS, MAXCOLS> Matrix; + static Matrix zero ATLAS_CHECK_THREAD_SAFETY () + { + Matrix m; + m.setZero(); + return m; + } +}; + + +} // namespace SG + + #endif // XAODTRACKING_XAODPRIMITIVES_H diff --git a/Event/xAOD/xAODTriggerCnv/share/TriggerMenuMetaDataTool_jobOptions.py b/Event/xAOD/xAODTriggerCnv/share/TriggerMenuMetaDataTool_jobOptions.py index 3506b7054b008af87e943f1a09ba6e35e5b90ab6..c232c63fb29168423f32f943bca3fe746342646b 100644 --- a/Event/xAOD/xAODTriggerCnv/share/TriggerMenuMetaDataTool_jobOptions.py +++ b/Event/xAOD/xAODTriggerCnv/share/TriggerMenuMetaDataTool_jobOptions.py @@ -27,12 +27,9 @@ rec.doWriteAOD.set_Value_and_Lock( False ) include( "RecExCommon/RecExCommon_topOptions.py" ) # Configure the metadata tool: -#ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", -# OutputLevel = 1 ) -tmdt = xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", - OutputLevel = 1 ) -svcMgr.MetaDataSvc.MetaDataTools += [ tmdt ] -#svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] +ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", + OutputLevel = 1 ) +svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] # Set up an output file: from OutputStreamAthenaPool.MultipleStreamManager import MSMgr diff --git a/Event/xAOD/xAODTriggerCnv/xAODTriggerCnv/TriggerMenuMetaDataTool.h b/Event/xAOD/xAODTriggerCnv/xAODTriggerCnv/TriggerMenuMetaDataTool.h index cc8488c03816fe5fdf3769ae2eadf8d341f4ff36..176e75a24df7dc59cf118d944e2326d5b8dd5eb0 100644 --- a/Event/xAOD/xAODTriggerCnv/xAODTriggerCnv/TriggerMenuMetaDataTool.h +++ b/Event/xAOD/xAODTriggerCnv/xAODTriggerCnv/TriggerMenuMetaDataTool.h @@ -66,15 +66,6 @@ namespace xAODMaker { /// Function writing out the collected metadata virtual StatusCode metaDataStop(); - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return beginInputFile();} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return endInputFile();} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return metaDataStop();} - /// @} private: diff --git a/Event/xAOD/xAODTruthCnv/xAODTruthCnv/TruthMetaDataTool.h b/Event/xAOD/xAODTruthCnv/xAODTruthCnv/TruthMetaDataTool.h index c54351c59f38e70b190d963dd4613cd520f913d4..155a53f06cd939875a3af4ead8d619fac909c87c 100644 --- a/Event/xAOD/xAODTruthCnv/xAODTruthCnv/TruthMetaDataTool.h +++ b/Event/xAOD/xAODTruthCnv/xAODTruthCnv/TruthMetaDataTool.h @@ -56,15 +56,6 @@ namespace xAODMaker { /// Function writing out the collected metadata virtual StatusCode metaDataStop(); - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return beginInputFile();} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return endInputFile();} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return metaDataStop();} - /// @} private: diff --git a/HLT/HLTTestApps/src/Event.cxx b/HLT/HLTTestApps/src/Event.cxx index 74d36b66073f223f64a824129593c16c0cfc3851..d717abfe63ca4bb5908c662d458bb815944d7ff5 100644 --- a/HLT/HLTTestApps/src/Event.cxx +++ b/HLT/HLTTestApps/src/Event.cxx @@ -304,7 +304,15 @@ HLTTestApps::Event::Event(const eformat::read::FullEventFragment& event) "ignore the current ROB fragment."); msg % robid % m_lvl1_id; ers::warning(HLTTESTAPPS_UNCLASSIFIED(msg.str())); - } + } + else if ((!sm_rob2ros.empty()) && (sm_rob2ros.find(robid)==sm_rob2ros.end())) + { + boost::format msg("Found ROB id (0x%08x) while " + "configuring event with LVL1 id=%lu, which is not in the provided ROS to ROB mapping. " + "This ROB fragment will be ignored."); + msg % robid % m_lvl1_id; + ers::warning(HLTTESTAPPS_UNCLASSIFIED(msg.str())); + } else { m_map.insert(std::make_pair(robid, ROB{robid, pair.second, eformat::read::ROBFragment(pair.second).fragment_size_word()})); diff --git a/HLT/HLTUtils/python/hltOksUtils.py b/HLT/HLTUtils/python/hltOksUtils.py index cc1152c365eb2a2d18631925ef720efc8dfdee2a..9f74b79390e18453219e3ac96a6c5672990a52ce 100644 --- a/HLT/HLTUtils/python/hltOksUtils.py +++ b/HLT/HLTUtils/python/hltOksUtils.py @@ -1,15 +1,30 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration """ Utilities for HLT OKS file generation """ +import os + def defaultTags(): """Return list of supported CMTCONFIG tags""" import pm.common - tags = [pm.common.tdaqRepository.getObject('Tag', 'x86_64-slc6-gcc62-opt'), - pm.common.tdaqRepository.getObject('Tag', 'x86_64-slc6-gcc62-dbg')] - + + tag = platform() + opt_tag = '-'.join(tag.split('-')[:-1])+'-opt' + dbg_tag = '-'.join(tag.split('-')[:-1])+'-dbg' + tags = [pm.common.tdaqRepository.getObject('Tag', opt_tag), + pm.common.tdaqRepository.getObject('Tag', dbg_tag)] + return tags +def platform(): + """Return current CMTCONFIG tag""" + + project = os.environ.get('AtlasProject','') + tag = os.environ.get('%s_PLATFORM' % project, os.environ.get('CMTCONFIG',None)) + + return tag + + diff --git a/HLT/HLTUtils/share/asetup_wrapper b/HLT/HLTUtils/share/asetup_wrapper index a3af5204c0fb2709ce63a9af7b26c4ac201cfb3b..e0e78e8c8d444047cf9690a867ac55d8f9fca950 100755 --- a/HLT/HLTUtils/share/asetup_wrapper +++ b/HLT/HLTUtils/share/asetup_wrapper @@ -4,12 +4,20 @@ # if [ $# -lt 1 -o "$1" == "-h" ]; then - echo 'Syntax: asetup_wrapper CMD [ARGS]' - echo 'Required environment: ' - echo ' AtlasSetup : location of AtlasSetup installation' - echo ' ASETUP_ARGS : arguments passed to asetup' - echo 'Optional environment: ' - echo ' ASETUP_PRELOAD : Value to set for LD_PRELOAD after asetup has been run' +cat <<EOF +Syntax: asetup_wrapper CMD [ARGS] + +Will run 'asetup \$ASETUP_ARGS' before executing CMD with optional ARGS. +- CORAL_AUTH_PATH, CORAL_DBLOOKUP_PATH are protected from modification + +Required environment: + AtlasSetup : location of AtlasSetup installation + ASETUP_ARGS : arguments passed to asetup +Optional environment: + ASETUP_PRELOAD : Value to set for LD_PRELOAD after asetup has been run + ASETUP_EXTRA_SW_PATH : Extra build area to prepend (i.e. the InstallArea directory) + ASETUP_VERBOSE : Print environment before/after asetup +EOF exit 1 fi @@ -17,28 +25,11 @@ cmd=$1 shift args="$*" +LOG='+++ asetup_wrapper:' + # Not provided by default in partition export PATH=${PATH}:/bin:/usr/bin -if [ ! -z "${HLT_VERBOSE}" ]; then - echo "================================================================================" - echo "Environment delivered to asetup_wrapper script:" - printenv | sort - echo "================================================================================" -fi - -set_coredump() -{ - # Set core dump limits if required and allowed - if [ ! -z "${HLT_COREDUMPSIZE}" ] - then - echo "Setting core dump limits to: ${HLT_COREDUMPSIZE}" - ulimit -c ${HLT_COREDUMPSIZE} - ulimit -a - fi -} - - reverse_paths() { result="" @@ -51,47 +42,54 @@ reverse_paths() update_paths() { - if [ ! -z "${HLT_EXTRA_SW_PATH}" ] + if [ ! -z "${ASETUP_EXTRA_SW_PATH}" ] then - for dir in `reverse_paths ${HLT_EXTRA_SW_PATH}` + for dir in `reverse_paths ${ASETUP_EXTRA_SW_PATH}` do if [ -d ${dir} ] then - export PATH=${dir}/InstallArea/share/bin:${dir}/InstallArea/${CMTCONFIG}/bin:${PATH} - export LD_LIBRARY_PATH=${dir}/InstallArea/${CMTCONFIG}/lib:${LD_LIBRARY_PATH} - export PYTHONPATH=${dir}/InstallArea/python:${PYTHONPATH} - export JOBOPTSEARCHPATH=${dir}/InstallArea/jobOptions:${JOBOPTSEARCHPATH} - export DATAPATH=${dir}/InstallArea/share:${DATAPATH} - export CALIBPATH=${dir}/InstallArea/share:${CALIBPATH} - export XMLPATH=${dir}/InstallArea/XML:${XMLPATH} + export PATH=${dir}/${CMTCONFIG}/share/bin:${dir}/${CMTCONFIG}/bin:${PATH} + export LD_LIBRARY_PATH=${dir}/${CMTCONFIG}/lib:${LD_LIBRARY_PATH} + export PYTHONPATH=${dir}/${CMTCONFIG}/python:${PYTHONPATH} + export JOBOPTSEARCHPATH=${dir}/${CMTCONFIG}/jobOptions:${JOBOPTSEARCHPATH} + export DATAPATH=${dir}/${CMTCONFIG}/share:${DATAPATH} + export CALIBPATH=${dir}/${CMTCONFIG}/share:${CALIBPATH} + export XMLPATH=${dir}/${CMTCONFIG}/XML:${XMLPATH} else - echo "WARNING: directory ${dir} does not exist !" + echo "$LOG WARNING: directory ${dir} does not exist !" fi - done - echo "PATH=`echo ${PATH} | tr ':' '\n'`" - echo "LD_LIBRARY_PATH=`echo ${LD_LIBRARY_PATH} | tr ':' '\n'`" - echo "PYTHONPATH=`echo ${PYTHONPATH} | tr ':' '\n'`" - echo "JOBOPTSEARCHPATH=`echo ${JOBOPTSEARCHPATH} | tr ':' '\n'`" - echo "DATAPATH=`echo ${DATAPATH} | tr ':' '\n'`" - echo "CALIBPATH=`echo ${CALIBPATH} | tr ':' '\n'`" - echo "XMLPATH=`echo ${XMLPATH} | tr ':' '\n'`" + echo "$LOG Using ASETUP_EXTRA_SW_PATH=$ASETUP_EXTRA_SW_PATH:" + printenv | egrep ^PATH\|^LD_LIBRARY_PATH\|^PYTHONPATH\|^JOBOPTSEARCHPATH\|^DATAPATH\|^CALIBPATH\|^XMLPATH + done fi } -update_paths -set_coredump +if [ ! -z "${ASETUP_VERBOSE}" ]; then + echo "================================================================================" + echo "$LOG Environment delivered to asetup_wrapper script:" + printenv | sort + echo "================================================================================" +fi + +# Protect a few environment variables if they are set +protect_env=`printenv | egrep ^CORAL_AUTH_PATH\|^CORAL_DBLOOKUP_PATH` + +if [ ! -z "${protect_env}" ]; then + echo "$LOG Will RESTORE the following variables after running asetup:" + echo "$protect_env" +fi if [ ! -e ${AtlasSetup}/scripts/asetup.sh ]; then - echo 'Cannot find asetup. Make sure $AtlasSetup is set correctly.' + echo '$LOG Cannot find asetup. Make sure $AtlasSetup is set correctly.' exit 1 fi if [ -z "${ASETUP_ARGS}" ]; then - echo 'No asetup tags given. Please set $ASETUP_ARGS.' + echo '$LOG No asetup tags given. Please set $ASETUP_ARGS.' exit 1 fi -echo "asetup environment with tags: ${ASETUP_ARGS}" +echo "$LOG Executing asetup ${ASETUP_ARGS}" source ${AtlasSetup}/scripts/asetup.sh --input=None ${ASETUP_ARGS} if [ $? -ne 0 ]; then @@ -100,16 +98,23 @@ fi if [ ! -z "${ASETUP_PRELOAD}" ]; then export LD_PRELOAD=${ASETUP_PRELOAD} - echo "Setting LD_PRELOAD=${LD_PRELOAD}" + echo "$LOG Setting LD_PRELOAD=${LD_PRELOAD}" fi -if [ ! -z "${HLT_VERBOSE}" ]; then +# Restore protected variables +set -o allexport +eval $protect_env +set +o allexport + +# Now add any extra directory if specified +update_paths + +if [ ! -z "${ASETUP_VERBOSE}" ]; then echo "================================================================================" - echo "Environment before calling 'exec $cmd $args'" + echo "$LOG Environment before calling 'exec $cmd $args'" printenv | sort echo "================================================================================" fi -echo "exec $cmd $args" +echo "$LOG exec $cmd $args" exec $cmd $args - diff --git a/HLT/HLTUtils/share/make_hlt_rep.py b/HLT/HLTUtils/share/make_hlt_rep.py index 0faa0b1821dc6e28b5fc04b5a4656acf47d05c8a..f1e35840f9184d5e0f7e38ebac34d91b1be53a4f 100755 --- a/HLT/HLTUtils/share/make_hlt_rep.py +++ b/HLT/HLTUtils/share/make_hlt_rep.py @@ -1,6 +1,8 @@ #!/usr/bin/env python +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration import optparse +import os import pm.project import pm.common @@ -14,7 +16,7 @@ modifier = '' parser = optparse.OptionParser(description="Create HLT S/W respository") parser.add_option("-p", "--prefix", action="store", - help="Prefix used in make_hlt_env (default: 'HLT')") + help="Prefix used for all objects (default: 'HLT')") parser.add_option("-m", "--modifier", action="store", help="Modifier for objects in S/W repository (default: '')") @@ -29,45 +31,85 @@ if opt.modifier is not None and len(opt.modifier)>0: rep = pm.project.Project('daq/sw/repository.data.xml') onlineRep = rep.getObject('SW_Repository', 'Online') -hlt_env = pm.project.Project('daq/segments/%s-Environment.data.xml' % prefix) +common_env = pm.project.Project('daq/segments/common-environment.data.xml') -apps = [ - dal.Script('asetup_wrapper%s' % modifier, - BinaryName='asetup_wrapper', - Description='Provide asetup environment to any command' - ) - ] +atlas_project = os.environ.get('AtlasProject') + +if 'AtlasBuildStamp' in os.environ: + # nightly + atlas_version='%s,r%s' % (os.environ.get('AtlasBuildBranch'), + os.environ.get('AtlasBuildStamp')) +else: + # numbered releases + atlas_version = os.environ.get('AtlasVersion') + +platform = hltOksUtils.platform() -vars = [ - dal.SW_PackageVariable('XMLPATH%s' % modifier, +swvars = [ + dal.SW_PackageVariable('XMLPATH', Name='XMLPATH', - Suffix="XML"), - dal.SW_PackageVariable('DATAPATH%s' % modifier, + Suffix=os.path.join(platform,"XML")), + dal.SW_PackageVariable('DATAPATH', Name='DATAPATH', - Suffix="share"), - dal.SW_PackageVariable('CALIBPATH%s' % modifier, + Suffix=os.path.join(platform,"share")), + dal.SW_PackageVariable('CALIBPATH', Name='CALIBPATH', - Suffix="share"), - dal.SW_PackageVariable('JOBOPTSEARCHPATH%s' % modifier, + Suffix=os.path.join(platform,"share")), + dal.SW_PackageVariable('JOBOPTSEARCHPATH', Name='JOBOPTSEARCHPATH', - Suffix="jobOptions"), - dal.SW_PackageVariable('PYTHONPATH%s' % modifier, + Suffix=os.path.join(platform,"jobOptions")), + dal.SW_PackageVariable('PYTHONPATH', Name='PYTHONPATH', - Suffix="python") + Suffix=os.path.join(platform,"python")) +] + +puvars = [ + dal.Variable('%s_ASETUP_ARGS' % prefix, + Name='ASETUP_ARGS', + Value=('%s,%s' % (atlas_project, '${%s_VERSION}' % prefix)), + Description='asetup arguments'), + + dal.Variable('%s_PRELOAD' % prefix, + Name='ASETUP_PRELOAD', + Value='libtcmalloc_minimal.so:libimf.so:libintlc.so.5', + Description='Preload libraries'), + + dal.Variable('%s_VERBOSE' % prefix, + Name='ASETUP_VERBOSE', + Value='0', + Description='Verbosity for asetup_wrapper'), + + dal.Variable('%s_EXTRA_SW_PATH' % prefix, + Name='ASETUP_EXTRA_SW_PATH', + Value='', + Description='Patch area (e.g. /my/path/InstallArea)'), + + common_env.getObject('Variable','AtlasSetup') +] + +pars = dal.VariableSet('%s-Parameters' % prefix, + Description='Parameters to expand for executables', + Contains = [ dal.Variable('%s_VERSION' % prefix, + Name='%s_VERSION' % prefix, + Value=atlas_version, + Description='%s release version' % prefix) ]) + +apps = [ + dal.Binary('HLTMPPU_asetup', + BinaryName='asetup_wrapper', + Description='HLTMPPU_main with asetup environment', + DefaultParameters='HLTMPPU_main', + ProcessEnvironment=puvars) ] -try: - rel = hlt_env.getObject('Variable','%s-AtlasArea' % prefix).Value.split('/')[-1] -except: - print ('Could not determine release number from AtlasArea') - hltRep = dal.SW_Repository('%s-Repository' % prefix, - Name='HLT-Repository', - InstallationPath="${ATLAS_BASE}/AtlasHLT/%s/InstallArea" % rel, + Name=('%s-Repository' % prefix), + InstallationPath="%s/InstallArea" % os.environ.get('AtlasArea'), SW_Objects=apps, - Tags=hltOksUtils.defaultTags(), - ISInfoDescriptionFiles=['share/data/daq/schema/is_trigconf_hlt.schema.xml'] + Tags=[pm.common.tdaqRepository.getObject('Tag',hltOksUtils.platform())], + ISInfoDescriptionFiles=[os.path.join(platform,'share/data/daq/schema/is_trigconf_hlt.schema.xml')], + AddProcessEnvironment = swvars ) for app in apps: @@ -75,10 +117,8 @@ for app in apps: proj = pm.project.Project('%s_SW_Repository.data.xml' % prefix, ['daq/schema/core.schema.xml', - 'daq/sw/repository.data.xml', - 'daq/segments/%s-Environment.data.xml' % prefix - ]) + 'daq/sw/repository.data.xml']) proj.addObjects([hltRep]) -proj.addObjects(vars) - +proj.addObjects([pars]) + diff --git a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/CMakeLists.txt b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/CMakeLists.txt index 16a6a5bc40f57f68e33e07d5a86daf961d3307b6..d359f2b9deb3e05d5faf62430e360544e1734aef 100644 --- a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/CMakeLists.txt +++ b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/CMakeLists.txt @@ -1,4 +1,3 @@ -# $Id: CMakeLists.txt 773563 2016-09-16 11:02:38Z smh $ ################################################################################ # Package: TrigConf2COOLOnline ################################################################################ @@ -17,49 +16,13 @@ atlas_depends_on_subdirs( find_package( Boost COMPONENTS program_options ) find_package( COOL COMPONENTS CoolKernel CoolApplication ) find_package( tdaq COMPONENTS daq-core-dal daq-hlt-dal - rc_CmdLine rc_ItemCtrl rc_OnlSvc rc_RCCommands omniORB4 omnithread owl is ipc config) + rc_CmdLine rc_ItemCtrl rc_OnlSvc rc_RCCommands omniORB4 omnithread owl is ipc config TTCInfo) find_package( tdaq-common COMPONENTS ers ) find_package( TBB ) -# Names of the auto-generated headers: -set( _autogenHeaders - ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline/TrigConfSmKeyNamed.h - ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline/TrigConfL1PsKeyNamed.h - ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline/TrigConfL1BgKeyNamed.h - ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline/TrigConfHltPsKeyNamed.h - ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline/TrigConfReleaseNamed.h ) - -# The hardcoded location of the Java executable: -set( _javaHome - /afs/cern.ch/atlas/project/tdaq/inst/sw/lcg/external/Java/JDK/1.8.0/amd64 ) - -# Construct a functional CLASSPATH from the .jar files in tdaq: -file( GLOB _jarFiles "${TDAQ_ROOT}/installed/share/lib/*.jar" ) -set( _classpath "." ) -foreach( _jar ${_jarFiles} ) - set( _classpath "${_classpath}:${_jar}" ) -endforeach() -unset( _jarFiles ) - -# Set up a rule generating some header files: -add_custom_command( OUTPUT ${_autogenHeaders} - COMMAND ${CMAKE_COMMAND} -E make_directory - ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline - COMMAND ${CMAKE_COMMAND} -E env TDAQ_JAVA_HOME=${_javaHome} - CLASSPATH=${_classpath} - ${CMAKE_BINARY_DIR}/atlas_build_run.sh is_generator.sh - -d ${CMAKE_CURRENT_BINARY_DIR}/TrigConf2COOLOnline --cpp - -n ${CMAKE_CURRENT_SOURCE_DIR}/schema/is_trigconf_hlt.schema.xml - ${CMAKE_CURRENT_SOURCE_DIR}/schema/is_trigconf_l1.schema.xml ) -unset( _classpath ) - -# Clean up the files on "make clean": -set_directory_properties( PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES - "${_autogenHeaders}" ) - # Component(s) in the package: atlas_add_library( TrigConf2COOLOnline - src/*.cxx ${_autogenHeaders} + src/*.cxx PUBLIC_HEADERS TrigConf2COOLOnline INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} ${TDAQ_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${COOL_INCLUDE_DIRS} @@ -75,7 +38,3 @@ atlas_add_executable( TrigConf2CoolOnline LINK_LIBRARIES ${Boost_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${TDAQ_LIBRARIES} TrigConf2COOLOnline ) -# Install files from the package: -atlas_install_generic( schema/*.xml - DESTINATION share/data/daq/schema - TYPENAME Schema ) diff --git a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/TrigConf2COOLOnline/OnlTrigC2CWriter.h b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/TrigConf2COOLOnline/OnlTrigC2CWriter.h index 5c12ed0040db125be36b0f0dbd8d38eb2a08297d..62c51a30d6d443560fbcd3e03336ded6deedfee5 100644 --- a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/TrigConf2COOLOnline/OnlTrigC2CWriter.h +++ b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/TrigConf2COOLOnline/OnlTrigC2CWriter.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /* diff --git a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_hlt.schema.xml b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_hlt.schema.xml deleted file mode 100644 index de27c863c1ddd006a90d61f3dcefc693cebed3fa..0000000000000000000000000000000000000000 --- a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_hlt.schema.xml +++ /dev/null @@ -1,100 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> - -<!-- oks-schema version 2.0 --> - - -<!DOCTYPE oks-schema [ - <!ELEMENT oks-schema (info, (include)?, (class)+)> - <!ELEMENT info EMPTY> - <!ATTLIST info - name CDATA #REQUIRED - type CDATA #REQUIRED - num-of-includes CDATA #REQUIRED - num-of-items CDATA #REQUIRED - oks-format CDATA #FIXED "schema" - oks-version CDATA #REQUIRED - created-by CDATA #REQUIRED - created-on CDATA #REQUIRED - creation-time CDATA #REQUIRED - last-modified-by CDATA #REQUIRED - last-modified-on CDATA #REQUIRED - last-modification-time CDATA #REQUIRED - > - <!ELEMENT include (file)+> - <!ELEMENT file EMPTY> - <!ATTLIST file - path CDATA #REQUIRED - > - <!ELEMENT class (superclass | attribute | relationship | method)*> - <!ATTLIST class - name CDATA #REQUIRED - description CDATA "" - is-abstract (yes|no) "no" - > - <!ELEMENT superclass EMPTY> - <!ATTLIST superclass name CDATA #REQUIRED> - <!ELEMENT attribute EMPTY> - <!ATTLIST attribute - name CDATA #REQUIRED - description CDATA "" - type (bool|s8|u8|s16|u16|s32|u32|float|double|date|time|string|uid|enum) #REQUIRED - range CDATA "" - format (dec|hex|oct) "dec" - is-multi-value (yes|no) "no" - multi-value-implementation (list|vector) "list" - init-value CDATA "" - is-not-null (yes|no) "no" - > - <!ELEMENT relationship EMPTY> - <!ATTLIST relationship - name CDATA #REQUIRED - description CDATA "" - class-type CDATA #REQUIRED - low-cc (zero|one) #REQUIRED - high-cc (one|many) #REQUIRED - is-composite (yes|no) #REQUIRED - is-exclusive (yes|no) #REQUIRED - is-dependent (yes|no) #REQUIRED - multi-value-implementation (list|vector) "list" - > - <!ELEMENT method (method-implementation*)> - <!ATTLIST method - name CDATA #REQUIRED - description CDATA "" - > - <!ELEMENT method-implementation EMPTY> - <!ATTLIST method-implementation - language CDATA #REQUIRED - prototype CDATA #REQUIRED - body CDATA "" - > -]> - -<oks-schema> - - <info name="" type="" num-of-includes="1" num-of-items="2" oks-format="schema" oks-version="oks-03-07-02 built "Jul 23 2007"" created-by="pauly" created-on="pcphate12.cern.ch" creation-time="20/7/06 15:42:51" last-modified-by="pauly" last-modified-on="pcphate14" last-modification-time="20/8/07 14:44:05"/> - - <include> - <file path="is/is.xml"/> - </include> - - <class name="TrigConfSmKey" description="Trigger configuration database key in use"> - <superclass name="Info"/> - <attribute name="SuperMasterKey" description="Supermaster key of the trigger configuration" type="u32"/> - <attribute name="SuperMasterComment" description="Supermaster comment" type="string"/> - </class> - - <class name="TrigConfHltPsKey" description="Current HLT prescale key"> - <superclass name="Info"/> - <attribute name="HltPrescaleKey" description="HLT prescale key of the trigger configuration" type="u32"/> - <attribute name="HltPrescaleComment" description="HLT prescale comment" type="string"/> - </class> - - <class name="TrigConfRelease" description="HLT Release description"> - <superclass name="Info"/> - <attribute name="HLTReleaseVersion" description="Release and patch version like 15.5.1.2" type="string"/> - <attribute name="HLTPatchProject" description="Name of patch project, usualy AtlasP1HLT" type="string"/> - <attribute name="HLTExtraPatch" description="Path to extra patch area, should be empty except during commissioning" type="string"/> - </class> - -</oks-schema> diff --git a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_l1.schema.xml b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_l1.schema.xml deleted file mode 100644 index 73bcf9766cf0e7da905ca051aff069fcc281a3ad..0000000000000000000000000000000000000000 --- a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/schema/is_trigconf_l1.schema.xml +++ /dev/null @@ -1,100 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> - -<!-- oks-schema version 2.0 --> - - -<!DOCTYPE oks-schema [ - <!ELEMENT oks-schema (info, (include)?, (class)+)> - <!ELEMENT info EMPTY> - <!ATTLIST info - name CDATA #REQUIRED - type CDATA #REQUIRED - num-of-includes CDATA #REQUIRED - num-of-items CDATA #REQUIRED - oks-format CDATA #FIXED "schema" - oks-version CDATA #REQUIRED - created-by CDATA #REQUIRED - created-on CDATA #REQUIRED - creation-time CDATA #REQUIRED - last-modified-by CDATA #REQUIRED - last-modified-on CDATA #REQUIRED - last-modification-time CDATA #REQUIRED - > - <!ELEMENT include (file)+> - <!ELEMENT file EMPTY> - <!ATTLIST file - path CDATA #REQUIRED - > - <!ELEMENT class (superclass | attribute | relationship | method)*> - <!ATTLIST class - name CDATA #REQUIRED - description CDATA "" - is-abstract (yes|no) "no" - > - <!ELEMENT superclass EMPTY> - <!ATTLIST superclass name CDATA #REQUIRED> - <!ELEMENT attribute EMPTY> - <!ATTLIST attribute - name CDATA #REQUIRED - description CDATA "" - type (bool|s8|u8|s16|u16|s32|u32|float|double|date|time|string|uid|enum) #REQUIRED - range CDATA "" - format (dec|hex|oct) "dec" - is-multi-value (yes|no) "no" - multi-value-implementation (list|vector) "list" - init-value CDATA "" - is-not-null (yes|no) "no" - > - <!ELEMENT relationship EMPTY> - <!ATTLIST relationship - name CDATA #REQUIRED - description CDATA "" - class-type CDATA #REQUIRED - low-cc (zero|one) #REQUIRED - high-cc (one|many) #REQUIRED - is-composite (yes|no) #REQUIRED - is-exclusive (yes|no) #REQUIRED - is-dependent (yes|no) #REQUIRED - multi-value-implementation (list|vector) "list" - > - <!ELEMENT method (method-implementation*)> - <!ATTLIST method - name CDATA #REQUIRED - description CDATA "" - > - <!ELEMENT method-implementation EMPTY> - <!ATTLIST method-implementation - language CDATA #REQUIRED - prototype CDATA #REQUIRED - body CDATA "" - > -]> - -<oks-schema> - - <info name="" type="" num-of-includes="1" num-of-items="2" oks-format="schema" oks-version="oks-03-07-02 built "Jul 23 2007"" created-by="pauly" created-on="pcphate12.cern.ch" creation-time="20/7/06 15:42:51" last-modified-by="pauly" last-modified-on="pcphate14" last-modification-time="20/8/07 14:44:05"/> - - <include> - <file path="is/is.xml"/> - </include> - - <class name="TrigConfL1PsKey" description="Current L1 prescale key"> - <superclass name="Info"/> - <attribute name="L1PrescaleKey" description="L1 prescale key of the trigger configuration" type="u32"/> - <attribute name="L1PrescaleComment" description="L1 prescale comment" type="string"/> - </class> - - <class name="TrigConfL1BgKey" description="Current L1 bunch group key"> - <superclass name="Info"/> - <attribute name="L1BunchGroupKey" description="LVL1 bunch group key of the trigger configuration" type="u32"/> - <attribute name="L1BunchGroupComment" description="LVL1 bunch group comment" type="string"/> - </class> - - <class name="TrigConfRelease" description="HLT Release description"> - <superclass name="Info"/> - <attribute name="HLTReleaseVersion" description="Release and patch version like 15.5.1.2" type="string"/> - <attribute name="HLTPatchProject" description="Name of patch project, usualy AtlasP1HLT" type="string"/> - <attribute name="HLTExtraPatch" description="Path to extra patch area, should be empty except during commissioning" type="string"/> - </class> - -</oks-schema> diff --git a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/src/OnlTrigC2CWriter.cxx b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/src/OnlTrigC2CWriter.cxx index 5c29f2980221119be02154045fa34de327a70d79..0054daf58941193c2ef10be1169b7eae4b519524 100644 --- a/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/src/OnlTrigC2CWriter.cxx +++ b/HLT/Trigger/TrigConfiguration/TrigConf2COOLOnline/src/OnlTrigC2CWriter.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ @@ -17,10 +17,10 @@ #include "TrigConf2COOLOnline/OnlTrigC2CWriter.h" -#include "TrigConf2COOLOnline/TrigConfSmKeyNamed.h" -#include "TrigConf2COOLOnline/TrigConfL1PsKeyNamed.h" -#include "TrigConf2COOLOnline/TrigConfHltPsKeyNamed.h" -#include "TrigConf2COOLOnline/TrigConfReleaseNamed.h" +#include "TTCInfo/TrigConfSmKeyNamed.h" +#include "TTCInfo/TrigConfL1PsKeyNamed.h" +#include "TTCInfo/TrigConfHltPsKeyNamed.h" +#include "TTCInfo/TrigConfReleaseNamed.h" #include "config/Configuration.h" diff --git a/HLT/Trigger/TrigControl/TrigServices/CMakeLists.txt b/HLT/Trigger/TrigControl/TrigServices/CMakeLists.txt index a5e93225cf88d62d35548529e1c0831a5d09a24e..ddcaddd525d3f7452901616e663bb83fecf737c5 100644 --- a/HLT/Trigger/TrigControl/TrigServices/CMakeLists.txt +++ b/HLT/Trigger/TrigControl/TrigServices/CMakeLists.txt @@ -27,7 +27,7 @@ atlas_depends_on_subdirs( PUBLIC Trigger/TrigEvent/TrigNavigation Trigger/TrigMonitoring/TrigMonitorBase Trigger/TrigSteer/TrigInterfaces - Trigger/TrigSteer/TrigSteering ) + Trigger/TrigSteer/TrigOutputHandling ) # External dependencies: find_package( Boost COMPONENTS filesystem thread system ) @@ -43,12 +43,12 @@ atlas_add_library( TrigServicesLib INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} ${TDAQ_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} ${TDAQ_LIBRARIES} AthenaBaseComps AthenaKernel ByteStreamCnvSvcLib ByteStreamData EventInfo xAODEventInfo GaudiKernel TrigKernel TrigSteeringEvent StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData_test TrigDataAccessMonitoringLib TrigROBDataProviderSvcLib TrigNavigationLib TrigMonitorBaseLib TrigInterfacesLib - PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CORAL_LIBRARIES} AthenaPoolUtilities TrigSteering ) + PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CORAL_LIBRARIES} AthenaPoolUtilities TrigOutputHandlingLib ) atlas_add_component( TrigServices src/components/*.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} ${TDAQ-COMMON_INCLUDE_DIRS} ${TDAQ_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CORAL_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${TDAQ_LIBRARIES} AthenaBaseComps AthenaKernel StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData ByteStreamData_test EventInfo xAODEventInfo GaudiKernel TrigKernel TrigDataAccessMonitoringLib TrigROBDataProviderSvcLib TrigSteeringEvent AthenaPoolUtilities TrigNavigationLib TrigMonitorBaseLib TrigInterfacesLib TrigServicesLib TrigSteering ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CORAL_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${TDAQ_LIBRARIES} AthenaBaseComps AthenaKernel StoreGateLib SGtests ByteStreamCnvSvcBaseLib ByteStreamData ByteStreamData_test EventInfo xAODEventInfo GaudiKernel TrigKernel TrigDataAccessMonitoringLib TrigROBDataProviderSvcLib TrigSteeringEvent AthenaPoolUtilities TrigNavigationLib TrigMonitorBaseLib TrigInterfacesLib TrigServicesLib TrigOutputHandlingLib ) # Install files from the package: atlas_install_python_modules( python/*.py ) diff --git a/HLT/Trigger/TrigControl/TrigServices/TrigServices/HltEventLoopMgr.h b/HLT/Trigger/TrigControl/TrigServices/TrigServices/HltEventLoopMgr.h index b04c5c00edb252cf6bf6bf2de0da40d05ef6830c..dc1f8ba2fe912396737fd80488bcff9da0845003 100644 --- a/HLT/Trigger/TrigControl/TrigServices/TrigServices/HltEventLoopMgr.h +++ b/HLT/Trigger/TrigControl/TrigServices/TrigServices/HltEventLoopMgr.h @@ -37,6 +37,7 @@ class CondAttrListCollection; class EventContext; class EventInfo; +class HLTResultMTMaker; class IAlgExecStateSvc; class IAlgorithm; class IAlgResourcePool; @@ -53,7 +54,6 @@ namespace coral { } namespace HLT { class HLTResultMT; - class ResultBuilderMT; } /** @class HltEventLoopMgr @@ -189,7 +189,7 @@ private: ToolHandle<TrigCOOLUpdateHelper> m_coolHelper; /// Tool to create HLTResult - ToolHandle<HLT::ResultBuilderMT> m_hltResultBuilder; + ToolHandle<HLTResultMTMaker> m_hltResultMaker; // ------------------------- Optional services/tools ------------------------- /// Reference to a THistSvc which implements also the Hlt additions diff --git a/HLT/Trigger/TrigControl/TrigServices/share/TrigServicesEventLoopMgr.py b/HLT/Trigger/TrigControl/TrigServices/share/TrigServicesEventLoopMgr.py index 5c35f23b170f2ec711f0db90b3d74eb092c56e45..4ee0949303cc82279719e9253bfb6f2b6d10373e 100644 --- a/HLT/Trigger/TrigControl/TrigServices/share/TrigServicesEventLoopMgr.py +++ b/HLT/Trigger/TrigControl/TrigServices/share/TrigServicesEventLoopMgr.py @@ -146,6 +146,25 @@ if not hasattr(svcMgr, 'AthenaSealSvc'): svcMgr += AthenaServicesConf.AthenaSealSvc() theApp.CreateSvc += [svcMgr.AthenaSealSvc.getFullJobOptName()] +# ============================================================================== +# HLT result monitoring +# ============================================================================== +from TrigOutputHandling.TrigOutputHandlingConf import HLTResultMTMaker +hltResultMaker = HLTResultMTMaker() + +from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool, defineHistogram +hltResultMaker.MonTool = GenericMonitoringTool("MonOfHLTResultMTtest") +hltResultMaker.MonTool.HistPath = "OutputMonitoring" +hltResultMaker.MonTool.Histograms = [ defineHistogram( 'TIME_build', path='EXPERT', type='TH1F', title='Time of result construction in;[micro seccond]', + xbins=100, xmin=0, xmax=1000 ), + defineHistogram( 'nstreams', path='EXPERT', type='TH1F', title='number of streams', + xbins=60, xmin=0, xmax=60 ), + defineHistogram( 'nfrags', path='EXPERT', type='TH1F', title='number of HLT results', + xbins=10, xmin=0, xmax=10 ), + defineHistogram( 'sizeMain', path='EXPERT', type='TH1F', title='Main (physics) HLT Result size;4B words', + xbins=100, xmin=-1, xmax=999 ) ] # 1000 k span + + # ============================================================================== # Message format # ============================================================================== @@ -163,6 +182,7 @@ HltEventLoopMgr.WhiteboardSvc = "EventDataSvc" HltEventLoopMgr.SchedulerSvc = AlgScheduler.getScheduler().getName() HltEventLoopMgr.EvtSel = evtSel HltEventLoopMgr.OutputCnvSvc = outputCnvSvc +HltEventLoopMgr.ResultMaker = hltResultMaker # configure here Level-1 CTP ROB identifier which is used in HLT diff --git a/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx b/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx index 72a1bbd40426b6b0ca31417c1fa04dd4411819db..28353979f29f49a826bc1aa0d0544f1f953ff0ba 100644 --- a/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx +++ b/HLT/Trigger/TrigControl/TrigServices/src/HltEventLoopMgr.cxx @@ -6,8 +6,8 @@ #include "TrigServices/HltEventLoopMgr.h" #include "TrigCOOLUpdateHelper.h" #include "TrigKernel/HltExceptions.h" +#include "TrigOutputHandling/HLTResultMTMaker.h" #include "TrigSORFromPtreeHelper.h" -#include "TrigSteering/ResultBuilderMT.h" #include "TrigSteeringEvent/HLTResultMT.h" // Athena includes @@ -81,7 +81,7 @@ HltEventLoopMgr::HltEventLoopMgr(const std::string& name, ISvcLocator* svcLoc) m_evtSelector("EvtSel", name), m_outputCnvSvc("OutputCnvSvc", name), m_coolHelper("TrigCOOLUpdateHelper", this), - m_hltResultBuilder("HLT::ResultBuilderMT/ResultBuilder", this), + m_hltResultMaker("HLTResultMTMaker", this), m_detector_mask(0xffffffff, 0xffffffff, 0, 0), m_localEventNumber(0), m_threadPoolSize(-1), @@ -100,7 +100,7 @@ HltEventLoopMgr::HltEventLoopMgr(const std::string& name, ISvcLocator* svcLoc) declareProperty("EvtSel", m_evtSelector); declareProperty("OutputCnvSvc", m_outputCnvSvc); declareProperty("CoolUpdateTool", m_coolHelper); - declareProperty("ResultBuilder", m_hltResultBuilder); + declareProperty("ResultMaker", m_hltResultMaker); declareProperty("SchedulerSvc", m_schedulerName="AvalancheSchedulerSvc", "Name of the scheduler to be used"); declareProperty("WhiteboardSvc", m_whiteboardName="EventDataSvc", @@ -281,7 +281,7 @@ StatusCode HltEventLoopMgr::initialize() // COOL helper ATH_CHECK(m_coolHelper.retrieve()); // HLT result builder - ATH_CHECK(m_hltResultBuilder.retrieve()); + ATH_CHECK(m_hltResultMaker.retrieve()); //---------------------------------------------------------------------------- // Initialise data handle keys @@ -291,7 +291,7 @@ StatusCode HltEventLoopMgr::initialize() // EventInfo ReadHandle ATH_CHECK(m_eventInfoRHKey.initialize()); // HLTResultMT ReadHandle (created dynamically from the result builder property) - m_hltResultRHKey = m_hltResultBuilder->resultName(); + m_hltResultRHKey = m_hltResultMaker->resultName(); ATH_CHECK(m_hltResultRHKey.initialize()); //---------------------------------------------------------------------------- @@ -400,7 +400,7 @@ StatusCode HltEventLoopMgr::finalize() m_outputCnvSvc); releaseTool(m_coolHelper, - m_hltResultBuilder); + m_hltResultMaker); releaseSmartIF(m_whiteboard, m_algResourcePool, @@ -431,8 +431,8 @@ StatusCode HltEventLoopMgr::finalize() // Release tool handles if (m_coolHelper.release().isFailure()) ATH_REPORT_MESSAGE(MSG::WARNING) << "Failed to release tool " << m_coolHelper.typeAndName(); - if (m_hltResultBuilder.release().isFailure()) - ATH_REPORT_MESSAGE(MSG::WARNING) << "Failed to release tool " << m_hltResultBuilder.typeAndName(); + if (m_hltResultMaker.release().isFailure()) + ATH_REPORT_MESSAGE(MSG::WARNING) << "Failed to release tool " << m_hltResultMaker.typeAndName(); // Release SmartIFs m_whiteboard.reset(); @@ -1115,7 +1115,7 @@ StatusCode HltEventLoopMgr::failedEvent(hltonl::PSCErrorCode errorCode, const Ev auto hltResultRH = SG::makeHandle(m_hltResultRHKey,eventContext); if (!hltResultRH.isValid()) { // Try to build a result if not available - m_hltResultBuilder->buildResult(eventContext).ignore(); + m_hltResultMaker->makeResult(eventContext).ignore(); } std::unique_ptr<HLT::HLTResultMT> hltResultPtr; @@ -1140,16 +1140,9 @@ StatusCode HltEventLoopMgr::failedEvent(hltonl::PSCErrorCode errorCode, const Ev // Set error code and make sure the debug stream tag is added //---------------------------------------------------------------------------- hltResultWH->addStatusWord( static_cast<uint32_t>(errorCode) ); - bool debugStreamAdded = false; std::string debugStreamName = (errorCode==hltonl::PSCErrorCode::PROCESSING_FAILURE) ? m_algErrorDebugStreamName.value() : m_fwkErrorDebugStreamName.value(); - for (const auto& st : hltResultWH->getStreamTags()) { - if (st.name==debugStreamName && eformat::helper::string_to_tagtype(st.type)==eformat::DEBUG_TAG) { - debugStreamAdded = true; - break; - } - } - if (!debugStreamAdded) hltResultWH->addStreamTag({debugStreamName,eformat::DEBUG_TAG,true}); + hltResultWH->addStreamTag({debugStreamName,eformat::DEBUG_TAG,true}); //---------------------------------------------------------------------------- // Try to build and send the output @@ -1327,7 +1320,7 @@ HltEventLoopMgr::DrainSchedulerStatusCode HltEventLoopMgr::drainScheduler() // HLT output handling //-------------------------------------------------------------------------- // Call the result builder to record HLTResultMT in SG - sc = m_hltResultBuilder->buildResult(*thisFinishedEvtContext); + sc = m_hltResultMaker->makeResult(*thisFinishedEvtContext); if (sc.isFailure()) atLeastOneFailed = true; HLT_DRAINSCHED_CHECK(sc, "Failed to create the HLT result object", hltonl::PSCErrorCode::NO_HLT_RESULT, *thisFinishedEvtContext); diff --git a/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgAnalysis.py b/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgAnalysis.py index 93b7fab31293110c696cb1dd75268a39439e724b..2657baa2bd28f23835d88beae541e6b29e8dc145 100644 --- a/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgAnalysis.py +++ b/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgAnalysis.py @@ -28,7 +28,7 @@ def dbgPreRun(inputFileList,outputFileList): total = 0 #open root output file out_file = outputFileList[0] - hfile = TFile( out_file , 'UPDATE' ) + hfile = TFile( out_file , 'RECREATE' ) #inicialize dbgEventInfo, this is the main event analysis class eventInfo = dbgEventInfo("_Pre",inputFileList.value[0]) data = [] @@ -264,13 +264,13 @@ def getAsetupString(release): #If TestArea is for tzero (tzero/software/patches/AtlasP1HLT-RELEASE), then returns tzero/software/patches/AtlasP1HLT-release where release is the parameter given to this function getAsetupString(release) if eVarDic.get('TestArea') : TestArea = eVarDic['TestArea'] - if TestArea.find("tzero/software/patches/AtlasP1HLT-") > 0 : + if TestArea.find("tzero/software/patches/AthenaP1-") > 0 : testarea = TestArea.split('-') TestArea = testarea[0]+'-'+release - asetupString = AtlasProject + ',' + release + ',gcc49,cvmfs --testarea '+ TestArea + asetupString = AtlasProject + ',' + release + ',gcc62 --testarea '+ TestArea return asetupString #else, there is no TestArea, then use the local directory else : - asetupString = AtlasProject + ',' + release + ',gcc49,here' + asetupString = AtlasProject + ',' + release + ',gcc62,here' return asetupString diff --git a/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgEventInfo.py b/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgEventInfo.py index e9ce500f4f44fc85fe52fa7c134384b1804966ae..579683da3b1b3b9bd1be426d5af3707535525c9e 100644 --- a/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgEventInfo.py +++ b/HLT/Trigger/TrigTransforms/TrigTransform/python/dbgEventInfo.py @@ -405,7 +405,6 @@ class dbgEventInfo: def root_definitions(self,dbgStep,inputFile): - gROOT.Reset() gStyle.SetCanvasColor(0) gStyle.SetOptStat(000000) gROOT.SetStyle("Plain") diff --git a/HLT/Trigger/TrigTransforms/TrigTransform/python/trigRecoExe.py b/HLT/Trigger/TrigTransforms/TrigTransform/python/trigRecoExe.py index 5e5b57a923670f870ed7f964ca722800595da339..8726c20d3edd14120f200da041ed11359594acaa 100644 --- a/HLT/Trigger/TrigTransforms/TrigTransform/python/trigRecoExe.py +++ b/HLT/Trigger/TrigTransforms/TrigTransform/python/trigRecoExe.py @@ -16,7 +16,7 @@ import re from PyJobTransforms.trfExe import athenaExecutor #imports for preExecute -from PyJobTransforms.trfUtils import asetupReport +from PyJobTransforms.trfUtils import asetupReport, cvmfsDBReleaseCheck import PyJobTransforms.trfEnv as trfEnv import PyJobTransforms.trfExceptions as trfExceptions from PyJobTransforms.trfExitCodes import trfExit as trfExit diff --git a/InnerDetector/InDetConditions/InDetCondFolders/python/InDetAlignFolders.py b/InnerDetector/InDetConditions/InDetCondFolders/python/InDetAlignFolders.py index 32eb7e89a5ff806ec81b14cba9645e5cdafd9664..3b14da63b092d3415cb70472a1bac8f6f98948fb 100644 --- a/InnerDetector/InDetConditions/InDetCondFolders/python/InDetAlignFolders.py +++ b/InnerDetector/InDetConditions/InDetCondFolders/python/InDetAlignFolders.py @@ -4,6 +4,7 @@ from IOVDbSvc.CondDB import conddb from AthenaCommon.AthenaCommonFlags import athenaCommonFlags from AthenaCommon.DetFlags import DetFlags +from AtlasGeoModel.InDetGMJobProperties import InDetGeometryFlags # Top sequence from AthenaCommon.AlgSequence import AlgSequence @@ -37,13 +38,13 @@ conddb.addFolderSplitOnline("INDET","/Indet/Onl/IBLDist","/Indet/IBLDist",classN # TRT Condition Algorithm from TRT_ConditionsAlgs.TRT_ConditionsAlgsConf import TRTAlignCondAlg -TRTAlignCondAlg = TRTAlignCondAlg(name = "TRTAlignCondAlg") +TRTAlignCondAlg = TRTAlignCondAlg(name = "TRTAlignCondAlg", + UseDynamicFolders = InDetGeometryFlags.useDynamicAlignFolders()) # Control loading of the dynamic folder scheme; # In future we might want to add also to MC DB # related to JIRA ATLASSIM-2746 -from AtlasGeoModel.InDetGMJobProperties import InDetGeometryFlags if InDetGeometryFlags.useDynamicAlignFolders(): conddb.addFolderSplitOnline("INDET","/Indet/Onl/AlignL1/ID","/Indet/AlignL1/ID",className="CondAttrListCollection") @@ -54,7 +55,6 @@ if InDetGeometryFlags.useDynamicAlignFolders(): conddb.addFolderSplitOnline("INDET","/Indet/Onl/AlignL3","/Indet/AlignL3",className="AlignableTransformContainer") conddb.addFolderSplitOnline("TRT","/TRT/Onl/AlignL1/TRT","/TRT/AlignL1/TRT",className="CondAttrListCollection") conddb.addFolderSplitOnline("TRT","/TRT/Onl/AlignL2","/TRT/AlignL2",className="AlignableTransformContainer") - TRTAlignCondAlg.UseDynamicFolders=True TRTAlignCondAlg.ReadKeyDynamicGlobal="/TRT/AlignL1/TRT" TRTAlignCondAlg.ReadKeyDynamicRegular="/TRT/AlignL2" @@ -65,11 +65,10 @@ else: else: conddb.addFolderSplitOnline("INDET","/Indet/Onl/Align","/Indet/Align") - if DetFlags.simulate.any_on(): - conddb.addFolderSplitOnline("TRT","/TRT/Onl/Align","/TRT/Align") - else: + if (not DetFlags.simulate.TRT_on()) or DetFlags.overlay.TRT_on(): conddb.addFolderSplitOnline("TRT","/TRT/Onl/Align","/TRT/Align",className="AlignableTransformContainer") - TRTAlignCondAlg.UseDynamicFolders=False + else: + conddb.addFolderSplitOnline("TRT","/TRT/Onl/Align","/TRT/Align") from AthenaCommon.AlgSequence import AthSequencer condSeq = AthSequencer("AthCondSeq") diff --git a/InnerDetector/InDetConditions/TRT_ConditionsAlgs/TRT_ConditionsAlgs/TRTStrawStatusWrite.h b/InnerDetector/InDetConditions/TRT_ConditionsAlgs/TRT_ConditionsAlgs/TRTStrawStatusWrite.h index 0bd0d08b26d737452696689e051fc55ef96e52f7..7aad553861093c2564a80eeff5a033e449a7e2a4 100755 --- a/InnerDetector/InDetConditions/TRT_ConditionsAlgs/TRT_ConditionsAlgs/TRTStrawStatusWrite.h +++ b/InnerDetector/InDetConditions/TRT_ConditionsAlgs/TRT_ConditionsAlgs/TRTStrawStatusWrite.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ ///////////////////////////////////////////////////// @@ -37,7 +37,6 @@ class TRTStrawStatusWrite : public AthAlgorithm std::string m_par_statusfile; std::string m_par_statusfilepermanent; std::string m_par_statusfileHT; - bool m_setup; }; diff --git a/InnerDetector/InDetConditions/TRT_ConditionsAlgs/src/TRTStrawStatusWrite.cxx b/InnerDetector/InDetConditions/TRT_ConditionsAlgs/src/TRTStrawStatusWrite.cxx index c16cb5ccdb980edd604b9e81be45c746d9dae49a..e0f7f5586360b758bab86ac18438a07b4b4df154 100755 --- a/InnerDetector/InDetConditions/TRT_ConditionsAlgs/src/TRTStrawStatusWrite.cxx +++ b/InnerDetector/InDetConditions/TRT_ConditionsAlgs/src/TRTStrawStatusWrite.cxx @@ -12,8 +12,7 @@ TRTStrawStatusWrite::TRTStrawStatusWrite( const std::string &name, ISvcLocator * m_trtStrawStatus("TRT_StrawStatusSummarySvc",name), m_par_statusfile(""), m_par_statusfilepermanent(""), - m_par_statusfileHT(""), - m_setup(false) + m_par_statusfileHT("") { declareProperty("StatusTool",m_trtStrawStatusIF); declareProperty("StrawStatusTool",m_trtStrawStatus); diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h index 78d58919ab9d3945484f20ab82b97b56d35f2782..d85ffd34b3076464f6a572f70be5a3338923c26a 100644 --- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h +++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/SCT_RawDataByteStreamCnv/ISCTRawDataProviderTool.h @@ -5,33 +5,39 @@ #ifndef SCT_RAWDATABYTESTREAMCNV_ISCTRAWDATAPROVIDERTOOL_H #define SCT_RAWDATABYTESTREAMCNV_ISCTRAWDATAPROVIDERTOOL_H -#include "GaudiKernel/IAlgTool.h" - #include "ByteStreamData/RawEvent.h" #include "InDetRawData/SCT_RDO_Container.h" #include "InDetByteStreamErrors/InDetBSErrContainer.h" #include "InDetByteStreamErrors/SCT_ByteStreamFractionContainer.h" +#include "GaudiKernel/IAlgTool.h" + #include <string> +/** @class ISCTRawDataProviderTool + * + * @brief Interface for Athena Algorithm Tool to fill Collections of SCT RDO Containers. + * + * The class inherits from AthAlgTool. + */ class ISCTRawDataProviderTool : virtual public IAlgTool { public: - /// Creates the InterfaceID and interfaceID() method + /** Creates the InterfaceID and interfaceID() method */ DeclareInterfaceID(ISCTRawDataProviderTool, 1, 0); - //! destructor + /** Destructor */ virtual ~ISCTRawDataProviderTool() = default; - //! this is the main decoding method + /** Main decoding method */ virtual StatusCode convert(std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>&, ISCT_RDO_Container&, InDetBSErrContainer* errs, SCT_ByteStreamFractionContainer* bsFracCont) const = 0; - //Replace the incident calls with private calls, more MT friendly + /** Reset list of know ROB IDs */ virtual void beginNewEvent() const = 0; }; diff --git a/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredNewTrackingCuts.py b/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredNewTrackingCuts.py index e3285fb6b804f0043f9ee4c4c3aa7c3f9857b494..963a512fd83fa007b48a64b4f24a8861220f62e0 100755 --- a/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredNewTrackingCuts.py +++ b/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredNewTrackingCuts.py @@ -556,10 +556,10 @@ class ConfiguredNewTrackingCuts : self.__minClusters = 9 self.__minSiNotShared = 7 self.__maxShared = 2 # was 1, cut is now on number of shared modules - self.__maxHoles = 0 # was 1 - self.__maxPixelHoles = 0 # was 2 - self.__maxSctHoles = 0 # was 1 - self.__maxDoubleHoles = 0 # was 1 + self.__maxHoles = 0 + self.__maxPixelHoles = 0 + self.__maxSctHoles = 0 + self.__maxDoubleHoles = 0 self.__nHolesMax = self.__maxHoles self.__nHolesGapMax = self.__maxHoles self.__Xi2max = 6. @@ -575,6 +575,28 @@ class ConfiguredNewTrackingCuts : self.__maxdImpactSSSSeeds = 20.0 # apply cut on SSS seeds self.__useParameterizedTRTCuts = False self.__useNewParameterizationTRT = False + elif self.__indetflags.cutLevel() == 4: # ==CutLevel 2 with loosened hole cuts and chi^2 cuts + self.__seedFilterLevel = 2 + self.__maxdImpactSSSSeeds = 20.0 # apply cut on SSS seeds + self.__maxHoles = 2 + self.__maxPixelHoles = 1 + self.__maxSctHoles = 1 + self.__maxDoubleHoles = 0 + self.__Xi2max = 9. + self.__Xi2maxNoAdd = 25. + elif self.__indetflags.cutLevel() == 5: # ==CutLevel 3 with loosened hole cuts and chi^2 cuts + self.__minPT = 0.300 * Units.GeV + self.__seedFilterLevel = 2 + self.__maxdImpactSSSSeeds = 20.0 # apply cut on SSS seeds + self.__useParameterizedTRTCuts = False + self.__useNewParameterizationTRT = False + self.__maxHoles = 2 + self.__maxPixelHoles = 1 + self.__maxSctHoles = 1 + self.__maxDoubleHoles = 0 + self.__Xi2max = 9. + self.__Xi2maxNoAdd = 25. + self.__radMax = 600. * Units.mm # restrict to pixels + first SCT layer self.__useTRT = False diff --git a/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py b/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py index 34446ffa078e94d911d1bc2c1ab09b6f50012a4c..9b1cc0da3800610ae192f8f0b643ba7b0f10030f 100644 --- a/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py +++ b/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py @@ -1168,6 +1168,12 @@ class checkDeadElementsOnTrack(InDetFlagsJobProperty): allowedTypes = ['bool'] StoredValue = True +class doDigitalROTCreation(InDetFlagsJobProperty): + """use PixelClusterOnTrackToolDigital during ROT creation to save CPU""" + statusOn = True + allowedTypes = ['bool'] + StoredValue = False + ##----------------------------------------------------------------------------- ## 2nd step @@ -2778,7 +2784,8 @@ _list_InDetJobProperties = [Enabled, doParticleConversion, doStoreTrackSeeds, doHIP300, - checkDeadElementsOnTrack + checkDeadElementsOnTrack, + doDigitalROTCreation ] for j in _list_InDetJobProperties: jobproperties.InDetJobProperties.add_JobProperty(j) diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py index 7095ee8b8d1fff35e8adfb22391d16539d7abe47..f62a90cf52aa5d9e7bf4192a20d307f891fe59a6 100644 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py @@ -14,9 +14,9 @@ from egammaCaloTools import egammaCaloToolsConf egammaCaloClusterROISelector = ToolFactory( egammaCaloToolsConf.egammaCaloClusterSelector, name = 'caloClusterROISelector', egammaCheckEnergyDepositTool = egammaCheckEnergyDepositTool, - EMEtRanges = [1500.,2500.,4000.], - EMFCuts = [0.9,0.9,0.85], - RetaCut = [0.7,0.65,0.65] + EMEtRanges = [2500.], + EMFCuts = [0.87], + RetaCut = [0.65] ) # # --- get the builder tool diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py index c3869db5a601e14d7fc8961cbf49acf9d84e17a8..591e38058d82130212940c34d2d64aa1ef5d5a2c 100755 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py @@ -175,18 +175,23 @@ if InDetFlags.loadRotCreator(): if InDetFlags.doDBM(): print PixelClusterOnTrackToolDBM - PixelClusterOnTrackToolDigital = InDet__PixelClusterOnTrackTool("InDetPixelClusterOnTrackToolDigital", - LorentzAngleTool = ToolSvc.PixelLorentzAngleTool, - DisableDistortions = (InDetFlags.doFatras() or InDetFlags.doDBMstandalone()), - applyNNcorrection = False, - NNIBLcorrection = False, - SplitClusterAmbiguityMap = InDetKeys.SplitClusterAmbiguityMap(), - RunningTIDE_Ambi = InDetFlags.doTIDE_Ambi(), - ErrorStrategy = 2, - PositionStrategy = 1 - ) + if InDetFlags.doDigitalROTCreation(): - ToolSvc += PixelClusterOnTrackToolDigital + PixelClusterOnTrackToolDigital = InDet__PixelClusterOnTrackTool("InDetPixelClusterOnTrackToolDigital", + LorentzAngleTool = ToolSvc.PixelLorentzAngleTool, + DisableDistortions = (InDetFlags.doFatras() or InDetFlags.doDBMstandalone()), + applyNNcorrection = False, + NNIBLcorrection = False, + SplitClusterAmbiguityMap = InDetKeys.SplitClusterAmbiguityMap(), + RunningTIDE_Ambi = InDetFlags.doTIDE_Ambi(), + ErrorStrategy = 2, + PositionStrategy = 1 + ) + + ToolSvc += PixelClusterOnTrackToolDigital + + else : + PixelClusterOnTrackToolDigital = None else: PixelClusterOnTrackTool = None PixelClusterOnTrackToolDigital = None @@ -236,11 +241,17 @@ if InDetFlags.loadRotCreator(): InDet_SeedToTrackConversion = InDet__SeedToTrackConversionTool( name = "InDet_SeedToTrackConversion") ToolSvc += InDet_SeedToTrackConversion - InDetRotCreatorDigital = Trk__RIO_OnTrackCreator(name = 'InDetRotCreatorDigital', - ToolPixelCluster = PixelClusterOnTrackToolDigital, - ToolSCT_Cluster = SCT_ClusterOnTrackTool, - Mode = 'indet') - ToolSvc += InDetRotCreatorDigital + if PixelClusterOnTrackToolDigital != None : + InDetRotCreatorDigital = Trk__RIO_OnTrackCreator(name = 'InDetRotCreatorDigital', + ToolPixelCluster = PixelClusterOnTrackToolDigital, + ToolSCT_Cluster = SCT_ClusterOnTrackTool, + Mode = 'indet') + ToolSvc += InDetRotCreatorDigital + + else: + + InDetRotCreatorDigital=InDetRotCreator + # # --- configure broad cluster ROT creator diff --git a/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTrackMonTool.cxx b/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTrackMonTool.cxx index 8d12192afbfb29b974272cd07a3912b3998ba641..1cd0013f59903fdd374f8d22c7df42ba7963dbe1 100644 --- a/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTrackMonTool.cxx +++ b/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTrackMonTool.cxx @@ -641,8 +641,9 @@ StatusCode InDetGlobalTrackMonTool::fillHistograms() } // Skip tracks that are not inside out - if ( ( m_dataType == AthenaMonManager::collisions || m_dataType == AthenaMonManager::userDefined ) - && ! track->info().patternRecoInfo( Trk::TrackInfo::SiSPSeededFinder ) ) + if ( ( m_dataType == AthenaMonManager::collisions || m_dataType == AthenaMonManager::userDefined ) + && ! ( track->info().patternRecoInfo( Trk::TrackInfo::SiSPSeededFinder ) || + track->info().patternRecoInfo( Trk::TrackInfo::SiSpacePointsSeedMaker_HeavyIon ) ) ) continue; if ( ! m_baseline_selTool->accept(*track) ) diff --git a/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder.h b/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder.h index d7ae7e9bd1cc0a7af524a9299273da9b6448178d..a79f582386e53ea59b9d702fa83dfba6849d6325 100755 --- a/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder.h +++ b/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder/TRT_TrackSegmentsFinder.h @@ -56,7 +56,7 @@ namespace InDet { int m_nsegments ; // Number segments int m_nsegmentsTotal ; // Number segments int m_minNumberDCs ; // Min. number of DriftCircles - double m_ClusterE ; // Min. E of seed calo cluster + double m_ClusterEt ; // Min. Et of seed calo cluster SG::WriteHandle<Trk::SegmentCollection> m_foundSegments; // Name of segments location SG::ReadHandle<CaloClusterROI_Collection> m_calo; // Calo clusters collection Handle diff --git a/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/src/TRT_TrackSegmentsFinder.cxx b/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/src/TRT_TrackSegmentsFinder.cxx index 4d576f07869802ecc06bcb621ef96a98303db05b..0c2054cd6ec327adefe1f86b935362abbb9b6a3a 100755 --- a/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/src/TRT_TrackSegmentsFinder.cxx +++ b/InnerDetector/InDetRecAlgs/TRT_TrackSegmentsFinder/src/TRT_TrackSegmentsFinder.cxx @@ -32,14 +32,14 @@ InDet::TRT_TrackSegmentsFinder::TRT_TrackSegmentsFinder m_nsegmentsTotal = 0 ; m_useCaloSeeds = false ; m_minNumberDCs = 9 ; - m_ClusterE = 2000.0 ; + m_ClusterEt = 2000.0 ; declareProperty("SegmentsMakerTool",m_segmentsMakerTool); declareProperty("SegmentsLocation" ,m_foundSegments ); declareProperty("useCaloSeeds" ,m_useCaloSeeds ); declareProperty("RoadTool" ,m_roadtool ); declareProperty("InputClusterContainerName",m_calo); declareProperty("MinNumberDriftCircles" ,m_minNumberDCs); - declareProperty("CaloClusterE" ,m_ClusterE ); + declareProperty("CaloClusterEt" ,m_ClusterEt ); } @@ -131,10 +131,10 @@ StatusCode InDet::TRT_TrackSegmentsFinder::execute() CaloClusterROI_Collection::const_iterator c = m_calo->begin(), ce = m_calo->end(); for(; c!=ce; ++c) { - if ( (*c)->energy() < m_ClusterE) continue; - double x = (*c)->globalPosition().x(); - double y = (*c)->globalPosition().y(); - double z = (*c)->globalPosition().z(); + if ( ( (*c)->energy()*sin((*c)->globalPosition().theta()) ) < m_ClusterEt) {continue;} + double x = (*c)->globalPosition().x(); + double y = (*c)->globalPosition().y(); + double z = (*c)->globalPosition().z(); par = PS.createTrackParameters(0.,0.,atan2(y,x), atan2(1.,z/sqrt(x*x+y*y)),0.,0); diff --git a/InnerDetector/InDetRecTools/InDetAmbiTrackSelectionTool/src/InDetDenseEnvAmbiTrackSelectionTool.cxx b/InnerDetector/InDetRecTools/InDetAmbiTrackSelectionTool/src/InDetDenseEnvAmbiTrackSelectionTool.cxx index ecf35181ca0a38fc9bcfb37a006f6663a40f0184..b18ffbb14887cacb08c73aae73eabf4385c549c3 100755 --- a/InnerDetector/InDetRecTools/InDetAmbiTrackSelectionTool/src/InDetDenseEnvAmbiTrackSelectionTool.cxx +++ b/InnerDetector/InDetRecTools/InDetAmbiTrackSelectionTool/src/InDetDenseEnvAmbiTrackSelectionTool.cxx @@ -1080,7 +1080,9 @@ bool InDet::InDetDenseEnvAmbiTrackSelectionTool::decideWhichHitsToKeep(const Trk lastbutonerot = lastrot; lastrot = tsosDetails.RIO[index]; lastrotindex = index; - continue; + continue; + } else if (tsosDetails.type[index] == Outlier && tsosDetails.hitIsShared[index] <= 0){ + continue; } else{ if (m_monitorTracks) m_observerTool->rejectTrack(*ptrTrack, 106); // rejection location 106: "Too many hits shared - we have to remove at least one PRD" diff --git a/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py b/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py index a53ac5a8e06c754294b3cb1f75323d3e19b2acf3..2084ae83337d1603b75462f7bbe37b8079da51e2 100644 --- a/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py +++ b/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py @@ -18,11 +18,11 @@ def LArBadChannelCfg(configFlags): else: dbname="LAR_OFL" - result.merge(addFolders(configFlags,foldername,detDb=dbname,className="CondAttrListCollection")[0]) + result.merge(addFolders(configFlags,foldername,detDb=dbname,className="CondAttrListCollection")) theLArBadChannelCondAlgo=LArBadChannelCondAlg(ReadKey=foldername) result.addCondAlgo(theLArBadChannelCondAlgo) - return result,None + return result def LArBadFebCfg(configFlags): @@ -39,13 +39,13 @@ def LArBadFebCfg(configFlags): else: dbname="LAR_OFL" - result.merge(addFolders(configFlags,foldername,detDb=dbname,className="AthenaAttributeList")[0]) + result.merge(addFolders(configFlags,foldername,detDb=dbname,className="AthenaAttributeList")) result.addCondAlgo(LArBadFebCondAlg(ReadKey=foldername)) - return result,None + return result def LArBadChannelMaskerCfg(configFlags,problemsToMask,doMasking=True,ToolName="LArBadChannelMasker"): - result=LArBadChannelCfg(configFlags)[0] + result=LArBadChannelCfg(configFlags) bcMasker=LArBadChannelMasker(ToolName,ProblemsToMask=problemsToMask, DoMasking=doMasking) return result,bcMasker diff --git a/LArCalorimeter/LArCellRec/src/LArHVFraction.cxx b/LArCalorimeter/LArCellRec/src/LArHVFraction.cxx new file mode 100644 index 0000000000000000000000000000000000000000..e1ada26ba1574839b6f3ab5679118df19c65f984 --- /dev/null +++ b/LArCalorimeter/LArCellRec/src/LArHVFraction.cxx @@ -0,0 +1,47 @@ +#include "LArHVFraction.h" +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + + +LArHVFraction::LArHVFraction(const std::string& type, + const std::string& name, + const IInterface* parent) : + AthAlgTool(type,name,parent) { + declareInterface<ILArHVFraction>(this); +} + + +StatusCode LArHVFraction::initialize() { + ATH_CHECK(m_cablingKey.initialize()); + ATH_CHECK(m_hvScaleKey.initialize()); + return StatusCode::SUCCESS; +} + +std::pair<double,unsigned> LArHVFraction::getLArHVFrac(const CaloClusterCellLink* cclc,const EventContext& ctx) const { + + SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl(m_cablingKey,ctx); + const LArOnOffIdMapping* cabling=*cablingHdl; + + SG::ReadCondHandle<ILArHVScaleCorr> hvScaleHdl(m_hvScaleKey,ctx); + const ILArHVScaleCorr* hvcorr=*hvScaleHdl; + + + double energyHVaff=0; + unsigned numCellsHVaff=0; + +for(const CaloCell* cell : *cclc) { + if(cell->caloDDE()->is_tile()) continue; + HWIdentifier hwid=cabling->createSignalChannelID(cell->ID()); + float corr=hvcorr->HVScaleCorr(hwid); + //Correction should be between (0 and 2) + if (!(corr>0. && corr<100.)) continue; + + if (fabs(corr-1.)>m_threshold) { + energyHVaff+=fabs(cell->e()); + numCellsHVaff++; + }//end of non nominal HV area + }//end loop over cells + + return {energyHVaff,numCellsHVaff}; +} diff --git a/LArCalorimeter/LArCellRec/src/LArHVFraction.h b/LArCalorimeter/LArCellRec/src/LArHVFraction.h new file mode 100644 index 0000000000000000000000000000000000000000..22837d5dca868feb67ed9f29cf0fef599e956cd2 --- /dev/null +++ b/LArCalorimeter/LArCellRec/src/LArHVFraction.h @@ -0,0 +1,39 @@ +//Dear emacs, this is -*-c++-*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + + +#include "AthenaBaseComps/AthAlgTool.h" +#include "StoreGate/ReadCondHandleKey.h" +#include "LArCabling/LArOnOffIdMapping.h" +#include "LArElecCalib/ILArHVScaleCorr.h" +#include "CaloEvent/CaloClusterCellLink.h" +#include "GaudiKernel/Property.h" +#include "CaloInterface/ILArHVFraction.h" + + + +class LArHVFraction: + virtual public ILArHVFraction, + public AthAlgTool { + + public: + LArHVFraction(const std::string& type, + const std::string& name, + const IInterface* parent); + + + StatusCode initialize() override; + + + std::pair<double,unsigned> getLArHVFrac(const CaloClusterCellLink* cclc,const EventContext& ctx) const override; + +private: + SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this, "LArCablingKey","LArOnOffIdMap","SG Key of LAr Cabling object"}; + + SG::ReadCondHandleKey<ILArHVScaleCorr> m_hvScaleKey{this,"HVScaleCorrKey","LArHVScaleCorr","SG key of HVScaleCorr conditions object"}; + + Gaudi::Property<float> m_threshold{this,"Threshold",0.2,"Threshold to consider a cell 'affected' by HV issues"}; + +}; diff --git a/LArCalorimeter/LArCellRec/src/components/LArCellRec_entries.cxx b/LArCalorimeter/LArCellRec/src/components/LArCellRec_entries.cxx index 21c8d59a065c66c2d3b510816d51ddd5e8b24e3b..f324dc8eb29df111a2fc70e9c95b11f63490dcca 100644 --- a/LArCalorimeter/LArCellRec/src/components/LArCellRec_entries.cxx +++ b/LArCalorimeter/LArCellRec/src/components/LArCellRec_entries.cxx @@ -18,7 +18,7 @@ #include "../LArCollisionTimeAlg.h" #include "../LArTimeVetoAlg.h" #include "../LArCellHVCorrAlg.h" - +#include "../LArHVFraction.h" DECLARE_COMPONENT( LArNoisyROAlg ) DECLARE_COMPONENT( LArG3Escale ) @@ -40,4 +40,4 @@ DECLARE_COMPONENT( LArNoisyROTool ) DECLARE_COMPONENT( LArCollisionTimeAlg ) DECLARE_COMPONENT( LArTimeVetoAlg ) DECLARE_COMPONENT( LArCellHVCorrAlg ) - +DECLARE_COMPONENT( LArHVFraction ) diff --git a/LArCalorimeter/LArDigitization/LArDigitization/LArPileUpTool.h b/LArCalorimeter/LArDigitization/LArDigitization/LArPileUpTool.h index 3be312e48e1c1ddedf3a468675fcf09398486140..44f1acc5be36ebbd5ae4a91691d12bd694437df2 100755 --- a/LArCalorimeter/LArDigitization/LArDigitization/LArPileUpTool.h +++ b/LArCalorimeter/LArDigitization/LArDigitization/LArPileUpTool.h @@ -42,6 +42,7 @@ #include "GaudiKernel/Property.h" #include "StoreGate/ReadCondHandle.h" #include "LArRawConditions/LArADC2MeV.h" +#include "LArRawConditions/LArAutoCorrNoise.h" class StoreGateSvc; class PileUpMergeSvc; @@ -212,7 +213,8 @@ class LArPileUpTool : virtual public ILArPileUpTool, public PileUpToolBase SG::ReadCondHandleKey<ILArShape> m_shapeKey{this,"ShapeKey","LArShape","SG Key of LArShape object"}; SG::ReadCondHandleKey<LArADC2MeV> m_adc2mevKey{this,"ADC2MeVKey","LArADC2MeV","SG Key of ADC2MeV conditions object"}; - ToolHandle<ILArAutoCorrNoiseTool> m_autoCorrNoiseTool; + //ToolHandle<ILArAutoCorrNoiseTool> m_autoCorrNoiseTool; + SG::ReadCondHandleKey<LArAutoCorrNoise> m_autoCorrNoiseKey{this,"AutoCorrNoiseKey","LArAutoCorrNoise","SG Key of AutoCorrNoise conditions object"}; ToolHandle<ILArBadChannelMasker> m_maskingTool; SG::ReadCondHandleKey<LArBadFebCont> m_badFebKey; ToolHandle<ITriggerTime> m_triggerTimeTool; diff --git a/LArCalorimeter/LArDigitization/python/LArDigitizationConfig.py b/LArCalorimeter/LArDigitization/python/LArDigitizationConfig.py index 1487af56e716acd37a79e451bcccd92a60feb7f7..3143da57ab00012aeab06a0df69213c14a3bd508 100644 --- a/LArCalorimeter/LArDigitization/python/LArDigitizationConfig.py +++ b/LArCalorimeter/LArDigitization/python/LArDigitizationConfig.py @@ -122,8 +122,10 @@ def getLArPileUpTool(name='LArPileUpTool', **kwargs): ## useLArFloat()=True,isOv from LArRecUtils.LArADC2MeVCondAlgDefault import LArADC2MeVCondAlgDefault LArADC2MeVCondAlgDefault() - # Tool for noise autocorrelation generation - kwargs.setdefault('AutoCorrNoiseTool', 'LArAutoCorrNoiseToolDefault') + + # AutoCorrNoiseCondAlgo + from LArRecUtils.LArAutoCorrNoiseCondAlgDefault import LArAutoCorrNoiseCondAlgDefault + LArAutoCorrNoiseCondAlgDefault() # bad channel masking from LArBadChannelTool.LArBadChannelToolConf import LArBadChannelMasker diff --git a/LArCalorimeter/LArDigitization/src/LArPileUpTool.cxx b/LArCalorimeter/LArDigitization/src/LArPileUpTool.cxx index f21c5c416fd7cd63a8bad40a6ed386e2f86170b7..8bfd1fb145cdb633e8733e82f95db8c3c2106778 100755 --- a/LArCalorimeter/LArDigitization/src/LArPileUpTool.cxx +++ b/LArCalorimeter/LArDigitization/src/LArPileUpTool.cxx @@ -39,7 +39,6 @@ LArPileUpTool::LArPileUpTool(const std::string& type, const std::string& name, c m_hitmap(nullptr), m_hitmap_DigiHSTruth(nullptr), m_DigitContainer(nullptr), - m_autoCorrNoiseTool("LArAutoCorrNoiseTool"), m_maskingTool(this,"LArBadChannelMaskingTool"), m_badFebKey("LArBadFeb"), m_triggerTimeTool("CosmicTriggerTimeTool"), @@ -160,7 +159,6 @@ LArPileUpTool::LArPileUpTool(const std::string& type, const std::string& name, c declareProperty("UsePhase",m_usePhase,"use 1ns binned pulse shape (default=false)"); declareProperty("RndmSvc",m_rndmSvc,"Random number service for LAr digitization"); declareProperty("UseRndmEvtRun",m_rndmEvtRun,"Use Run and Event number to seed rndm number (default=false)"); - declareProperty("AutoCorrNoiseTool",m_autoCorrNoiseTool,"Tool handle for electronic noise covariance"); declareProperty("MaskingTool",m_maskingTool,"Tool handle for dead channel masking"); declareProperty("BadFebKey",m_badFebKey,"Key of BadFeb object in ConditionsStore"); declareProperty("RndmEvtOverlay",m_RndmEvtOverlay,"Pileup and/or noise added by overlaying random events (default=false)"); @@ -366,16 +364,8 @@ StatusCode LArPileUpTool::initialize() // retrieve tool to compute sqrt of time correlation matrix if ( !m_RndmEvtOverlay && m_NoiseOnOff) { - if (m_autoCorrNoiseTool.retrieve().isFailure()) { - ATH_MSG_ERROR(" Unable to find tool LArAutoCorrNoiseTool"); - return StatusCode::FAILURE; - } - ATH_MSG_INFO(" retrieved LArAutoCorrNoiseTool"); + ATH_CHECK(m_autoCorrNoiseKey.initialize()); } - else { - m_autoCorrNoiseTool.disable(); - } - if (m_maskingTool.retrieve().isFailure()) { ATH_MSG_INFO(" No tool for bad channel masking"); m_useBad=false; @@ -1953,6 +1943,13 @@ StatusCode LArPileUpTool::MakeDigit(const Identifier & cellId, noise=*noiseHdl; } + const LArAutoCorrNoise* autoCorrNoise=nullptr; + if ( !m_RndmEvtOverlay && m_NoiseOnOff) { + SG::ReadCondHandle<LArAutoCorrNoise> autoCorrNoiseHdl(m_autoCorrNoiseKey); + autoCorrNoise=*autoCorrNoiseHdl; + } + + LArDigit *Digit; LArDigit *Digit_DigiHSTruth; @@ -2156,7 +2153,7 @@ StatusCode LArPileUpTool::MakeDigit(const Identifier & cellId, else SigmaNoise=0.; } // Sqrt of noise covariance matrix - const std::vector<float>* CorGen=&(m_autoCorrNoiseTool->autoCorrSqrt(cellId,igain,m_NSamples)); + const std::vector<float>& CorGen=autoCorrNoise->autoCorrSqrt(cellId,igain); RandGaussZiggurat::shootArray(m_engine,m_NSamples,m_Rndm,0.,1.); @@ -2165,7 +2162,7 @@ StatusCode LArPileUpTool::MakeDigit(const Identifier & cellId, m_Noise[i]=0.; for(int j=0;j<=i;j++) { index = i*m_NSamples + j; - m_Noise[i] += m_Rndm[j] * ((*CorGen)[index]); + m_Noise[i] += m_Rndm[j] * CorGen[index]; } m_Noise[i]=m_Noise[i]*SigmaNoise; } diff --git a/LArCalorimeter/LArElecCalib/LArElecCalib/selection.xml b/LArCalorimeter/LArElecCalib/LArElecCalib/selection.xml index 0bcd24cc5332c199ce43c738aed53e76205dfc67..d197e798dbffe43546e43262804786d0d6343391 100755 --- a/LArCalorimeter/LArElecCalib/LArElecCalib/selection.xml +++ b/LArCalorimeter/LArElecCalib/LArElecCalib/selection.xml @@ -26,7 +26,6 @@ <class name="ILArPhysCaliTdiff" /> <class name="ILArRamp" /> <class name="ILArRinj" /> - <class name="ILArRterm" /> <class name="ILArShape" /> <class name="ILArTdrift" /> <class name="ILArTshaper" /> diff --git a/LArCalorimeter/LArExample/LArConditionsCommon/python/LArHVDB.py b/LArCalorimeter/LArExample/LArConditionsCommon/python/LArHVDB.py index d5cf77e488f13bb90eb9e365034983f688120273..f9bdca79be57cf021f3ce459c5f0ae87fa8df98d 100644 --- a/LArCalorimeter/LArExample/LArConditionsCommon/python/LArHVDB.py +++ b/LArCalorimeter/LArExample/LArConditionsCommon/python/LArHVDB.py @@ -23,7 +23,6 @@ if not conddb.isMC and not conddb.isOnline: from LArRecUtils.LArRecUtilsConf import LArHVCondAlg hvcond = LArHVCondAlg(HVPathologies="LArHVPathology",OutputHVData="LArHVData") - hvcond.OutputLevel=DEBUG condseq += hvcond from LArRecUtils.LArRecUtilsConf import LArHVScaleCorrCondAlg diff --git a/LArCalorimeter/LArExample/LArConditionsCommon/share/LArConditionsCommon_MC_jobOptions.py b/LArCalorimeter/LArExample/LArConditionsCommon/share/LArConditionsCommon_MC_jobOptions.py index 5bc9286529ac7f195b326c5d415ea95e23cc5aee..ea5653765f41b46826525e4f9bdec7b2f77c58e4 100755 --- a/LArCalorimeter/LArExample/LArConditionsCommon/share/LArConditionsCommon_MC_jobOptions.py +++ b/LArCalorimeter/LArExample/LArConditionsCommon/share/LArConditionsCommon_MC_jobOptions.py @@ -34,26 +34,39 @@ if svcMgr.MessageSvc.OutputLevel <= DEBUG : from IOVDbSvc.CondDB import conddb -larCondDBFolders = [("LArRampMC","/LAR/ElecCalibMC/Ramp"), - ("LArAutoCorrMC","/LAR/ElecCalibMC/AutoCorr"), - ("LArDAC2uAMC","/LAR/ElecCalibMC/DAC2uA"), - ("LArPedestalMC","/LAR/ElecCalibMC/Pedestal"), - ("LArNoiseMC","/LAR/ElecCalibMC/Noise"), - ("LArfSamplMC","/LAR/ElecCalibMC/fSampl"), - ("LAruA2MeVMC","/LAR/ElecCalibMC/uA2MeV"), - ("LArMinBiasMC","/LAR/ElecCalibMC/MinBias"), - ("LArMinBiasAverageMC","/LAR/ElecCalibMC/MinBiasAverage") +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArDAC2uAMC_LArDAC2uASym_ as LArDAC2uASymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArMinBiasAverageMC_LArMinBiasAverageSym_ as LArMinBiasAverageSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArMinBiasMC_LArMinBiasSym_ as LArMinBiasSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArNoiseMC_LArNoiseSym_ as LArNoiseSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArRampMC_LArRampSym_ as LArRampSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArfSamplMC_LArfSamplSym_ as LArfSamplSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LAruA2MeVMC_LAruA2MeVSym_ as LAruA2MeVSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArAutoCorrMC_LArAutoCorrSym_ as LArAutoCorrSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArShape32MC_LArShape32Sym_ as LArShapeSymAlg +from LArRecUtils.LArRecUtilsConf import LArSymConditionsAlg_LArMphysOverMcalMC_LArMphysOverMcalSym_ as LArMPhysOverMcalSymAlg + +from LArRecUtils.LArMCSymCondAlg import LArMCSymCondAlgDefault + +larCondDBFolders = [("LArRampMC","/LAR/ElecCalibMC/Ramp","LArRamp", LArRampSymAlg ), + ("LArAutoCorrMC","/LAR/ElecCalibMC/AutoCorr","LArAutoCorr", LArAutoCorrSymAlg), + ("LArDAC2uAMC","/LAR/ElecCalibMC/DAC2uA","LArDAC2uA",LArDAC2uASymAlg), + ("LArPedestalMC","/LAR/ElecCalibMC/Pedestal","LArPedestal",None), + ("LArNoiseMC","/LAR/ElecCalibMC/Noise","LArNoise",LArNoiseSymAlg), + ("LArfSamplMC","/LAR/ElecCalibMC/fSampl","LArfSampl",LArfSamplSymAlg), + ("LAruA2MeVMC","/LAR/ElecCalibMC/uA2MeV","LAruA2MeV", LAruA2MeVSymAlg), + ("LArMinBiasMC","/LAR/ElecCalibMC/MinBias","LArMinBias",LArMinBiasSymAlg), + ("LArMinBiasAverageMC","/LAR/ElecCalibMC/MinBiasAverage","LArMinBiasAverage",LArMinBiasAverageSymAlg) ] if larCondFlags.useMCShape(): - larCondDBFolders += [("LArShape32MC","/LAR/ElecCalibMC/Shape")] + larCondDBFolders += [("LArShape32MC","/LAR/ElecCalibMC/Shape","LArShape",LArShapeSymAlg)] include( "LArConditionsCommon/LArIdMap_MC_jobOptions.py" ) from LArBadChannelTool.LArBadChannelToolConf import LArBadChannelCondAlg,LArBadFebCondAlg -larCondDBFolders += [("CondAttrListCollection","/LAR/BadChannels/BadChannels")] +conddb.addFolder(LArDB,"/LAR/BadChannels/BadChannels"+LArDBConnection, className="CondAttrListCollection") condSeq+=LArBadChannelCondAlg(ReadKey="/LAR/BadChannels/BadChannels") -larCondDBFolders += [("AthenaAttributeList","/LAR/BadChannels/MissingFEBs")] +conddb.addFolder(LArDB,"/LAR/BadChannels/MissingFEBs"+LArDBConnection, className="AthenaAttributeList") condSeq+=LArBadFebCondAlg(ReadKey="/LAR/BadChannels/MissingFEBs") condSeq+=LArBadFebCondAlg("LArKnownBadFebAlg",ReadKey="",WriteKey="LArKnownBadFEBs") @@ -62,21 +75,25 @@ condSeq+=LArBadFebCondAlg("LArKnownMNBFebAlg",ReadKey="",WriteKey="LArKnownMNBFE ## these may be conditional. if larCondFlags.hasMphys() : - larCondDBFolders += [("LArMphysOverMcalMC","/LAR/ElecCalibMC/MphysOverMcal")] + larCondDBFolders += [("LArMphysOverMcalMC","/LAR/ElecCalibMC/MphysOverMcal","LArMphysOverMcal",LArMPhysOverMcalSymAlg)] # HV Scale Corr if larCondFlags.hasHVCorr() : - larCondDBFolders += [ ('LArHVScaleCorrComplete', '/LAR/ElecCalibMC/HVScaleCorr') ] - + larCondDBFolders += [ ('LArHVScaleCorrComplete', '/LAR/ElecCalibMC/HVScaleCorr',"LArHVScaleCorr",None) ] + +LArMCSymCondAlgDefault() ## fill them all -for i in larCondDBFolders : - className = None - if type(i) == type(()): - className, i = i - conddb.addFolder(LArDB,i+LArDBConnection, className=className) +for className,fldr,key,calg in larCondDBFolders: + if calg is not None: + newkey=key+"Sym" + else: + newkey=key + conddb.addFolder(LArDB,fldr+LArDBConnection, className=className) ## allow override - larCondFlags.addTag(i,conddb) + larCondFlags.addTag(fldr,conddb) + if calg: + condSeq+=calg(ReadKey=key,WriteKey=newkey) ## apply hierarchical tag larCondFlags.addTag('/LAR/ElecCalibMC',conddb) diff --git a/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py index 5f8484e73d031e74a7bd38d13dec5ef79bbfae91..395edf7d0b2777d2ba8c3b35aedc42a8709889ec 100644 --- a/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py +++ b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py @@ -16,10 +16,10 @@ def LArGMCfg(configFlags): if doAlignment: if configFlags.Input.isMC: #Monte Carlo case: - result.merge(addFolders(configFlags,["/LAR/Align","/LAR/LArCellPositionShift"],"LAR_OFL")[0]) + result.merge(addFolders(configFlags,["/LAR/Align","/LAR/LArCellPositionShift"],"LAR_OFL")) else: #Regular offline data processing - result.merge(addFolders(configFlags,["/LAR/Align","/LAR/LArCellPositionShift"],"LAR_ONL")[0]) + result.merge(addFolders(configFlags,["/LAR/Align","/LAR/LArCellPositionShift"],"LAR_ONL")) return result diff --git a/LArCalorimeter/LArMonTools/share/LArDigitMon_jobOptions.py b/LArCalorimeter/LArMonTools/share/LArDigitMon_jobOptions.py index 53e50475097b6b4fc12932965dc9b0aa41516699..34b4cf7117bdc688fd1e2022b9a666c7d5e6e9a6 100644 --- a/LArCalorimeter/LArMonTools/share/LArDigitMon_jobOptions.py +++ b/LArCalorimeter/LArMonTools/share/LArDigitMon_jobOptions.py @@ -48,10 +48,6 @@ theLArDigitMon = LArDigitMon(name="LArDigitMon", Streams = StreamsToMonitor ) -theLArDigitMon.LArPedestalKey='LArPedestal' - - -#ToolSvc += theLArDigitMon LArMon.AthenaMonTools+=[ theLArDigitMon ] diff --git a/LArCalorimeter/LArMonTools/share/LArRODMonTool_jobOptions.py b/LArCalorimeter/LArMonTools/share/LArRODMonTool_jobOptions.py index 078b7ab1c35fd4bc94e82f25d35477779ea1e8aa..b9a2c21f7e6f88361d81f766b989e360516ff853 100755 --- a/LArCalorimeter/LArMonTools/share/LArRODMonTool_jobOptions.py +++ b/LArCalorimeter/LArMonTools/share/LArRODMonTool_jobOptions.py @@ -119,9 +119,4 @@ theLArRODMonTool = LArRODMonTool(name="LArRODMonTool", ProcessNEvents = EventBlockSize ) -from AthenaCommon.BeamFlags import jobproperties -theLArRODMonTool.LArPedestalKey='LArPedestal' - LArMon.AthenaMonTools+=[ theLArRODMonTool ] - -#theLArRODMonTool.OutputLevel = DEBUG diff --git a/LArCalorimeter/LArMonTools/src/LArDigitMon.cxx b/LArCalorimeter/LArMonTools/src/LArDigitMon.cxx index 2c5958868f64efda6aecd44f0cb26fa9f3fc06fb..459e3751f3b8254f62dcad45e1f5825998f911df 100755 --- a/LArCalorimeter/LArMonTools/src/LArDigitMon.cxx +++ b/LArCalorimeter/LArMonTools/src/LArDigitMon.cxx @@ -40,14 +40,10 @@ //LAr infos: #include "Identifier/HWIdentifier.h" -#include "LArCabling/LArCablingService.h" +#include "LArCabling/LArOnOffIdMapping.h" #include "LArIdentifier/LArOnlineID.h" #include "LArRawEvent/LArDigit.h" #include "LArRawEvent/LArDigitContainer.h" -#include "LArRecEvent/LArNoisyROSummary.h" - -//Events infos: -#include "xAODEventInfo/EventInfo.h" #include "LArTrigStreamMatching.h" @@ -67,7 +63,6 @@ LArDigitMon::LArDigitMon(const std::string& type, m_strHelper(0), m_LArOnlineIDHelper(0), m_LArEM_IDHelper(0), - m_LArCablingService("LArCablingService"), m_badChannelMask("BadLArRawChannelMask"), m_summary(0), m_feedthroughID(0), @@ -83,8 +78,6 @@ LArDigitMon::LArDigitMon(const std::string& type, /**bool use to mask the bad channels*/ declareProperty("IgnoreBadChannels", m_ignoreKnownBadChannels=false); declareProperty("LArBadChannelMask",m_badChannelMask); - declareProperty("LArPedestalKey", m_larPedestalKey="LArPedestal"); - declareProperty("LArDigitContainerKey", m_LArDigitContainerKey = "FREE"); /**default cut to select events*/ declareProperty("SigmaCut", m_SigmaCut=5); /**default saturation cuts*/ @@ -171,15 +164,15 @@ LArDigitMon::initialize() return StatusCode::FAILURE; } + + ATH_CHECK(m_digitContainerKey.initialize()); + ATH_CHECK(m_eventInfoKey.initialize()); + ATH_CHECK(m_keyPedestal.initialize()); + ATH_CHECK(m_cablingKey.initialize()); + ATH_CHECK(m_noisyROSummaryKey.initialize()); + - - /** Get LAr Calbling Service*/ - sc=m_LArCablingService.retrieve(); - if (sc.isFailure()) { - ATH_MSG_ERROR( "Could not retrieve LArCablingService" ); - return StatusCode::FAILURE; - } - + /** Get bad-channel mask (only if jO IgnoreBadChannels is true)*/ if (m_ignoreKnownBadChannels) { sc=m_badChannelMask.retrieve(); @@ -191,13 +184,6 @@ LArDigitMon::initialize() m_badChannelMask.disable(); } - /** Retrieve pedestals container*/ - sc = detStore()->regHandle(m_larPedestal,m_larPedestalKey); - if (sc.isFailure()) { - ATH_MSG_ERROR( "could not register handle for pedestal " ); - return StatusCode::FAILURE; - } - /** Bool used for online*/ m_PercComputed=false; @@ -312,13 +298,8 @@ LArDigitMon::fillHistograms() m_eventsCounter++; // retrieve LArNoisyROSummary and skip the event if number of FEB is greater than the one declare in JO. - const LArNoisyROSummary* noisyRO; - StatusCode sc = evtStore()->retrieve(noisyRO,"LArNoisyROSummary"); - if (sc.isFailure()) - { - ATH_MSG_WARNING( "Can't retrieve LArNoisyROSummary " ); - return StatusCode::SUCCESS; - } + SG::ReadHandle<LArNoisyROSummary> noisyRO{m_noisyROSummaryKey}; + const std::vector<HWIdentifier>& noisyFEB = noisyRO->get_noisy_febs(); if(int(noisyFEB.size())>m_NumberBadFebs) { @@ -327,13 +308,8 @@ LArDigitMon::fillHistograms() } /**EventID is a part of EventInfo, search event informations:*/ - // unsigned long run=0; - const xAOD::EventInfo* thisEvent; - if (evtStore()->retrieve(thisEvent).isFailure()) { - ATH_MSG_ERROR( "Failed to retrieve EventInfo object" ); - return StatusCode::FAILURE; - } - + SG::ReadHandle<xAOD::EventInfo> thisEvent{m_eventInfoKey}; + m_evtId = thisEvent->eventNumber(); unsigned l1Trig = thisEvent->level1TriggerType(); ATH_MSG_DEBUG("Event nb " << m_evtId ); @@ -342,15 +318,14 @@ LArDigitMon::fillHistograms() m_streamsThisEvent=trigStreamMatching(m_streams,thisEvent->streamTags()); - /** retrieve LArDigitContainer*/ - const LArDigitContainer* pLArDigitContainer; - sc = evtStore()->retrieve(pLArDigitContainer, m_LArDigitContainerKey); - if (sc.isFailure()) { - ATH_MSG_WARNING( "Can\'t retrieve LArDigitContainer with key " - << m_LArDigitContainerKey ); - return StatusCode::SUCCESS; - } - + SG::ReadCondHandle<ILArPedestal> pedestalHdl{m_keyPedestal}; + const ILArPedestal* pedestals=*pedestalHdl; + + SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey}; + const LArOnOffIdMapping* cabling=*cablingHdl; + + + SG::ReadHandle<LArDigitContainer> pLArDigitContainer{m_digitContainerKey}; /** Define iterators to loop over Digits containers*/ LArDigitContainer::const_iterator itDig = pLArDigitContainer->begin(); @@ -473,8 +448,8 @@ LArDigitMon::fillHistograms() /** Retrieve pedestals */ HWIdentifier id = pLArDigit->hardwareID(); CaloGain::CaloGain gain = pLArDigit->gain(); - float pedestal = m_larPedestal->pedestal(id,gain); - float pedestalRMS= m_larPedestal->pedestalRMS(id,gain); + float pedestal = pedestals->pedestal(id,gain); + float pedestalRMS=pedestals->pedestalRMS(id,gain); /**skip cells with no pedestals reference in db.*/ if(pedestal <= (1.0+LArElecCalib::ERRORCODE)) continue; @@ -484,7 +459,7 @@ LArDigitMon::fillHistograms() //int sampling = m_LArEM_IDHelper->sampling(id); /**skip disconnected channels:*/ - if(!m_LArCablingService->isOnlineConnected(id)) continue; + if(!cabling->isOnlineConnected(id)) continue; /** Determine to which partition this channel belongs to*/ diff --git a/LArCalorimeter/LArMonTools/src/LArDigitMon.h b/LArCalorimeter/LArMonTools/src/LArDigitMon.h index fa9c6bcce1b8cdae88c7a0ba0c806b14d5de5689..baefd69cd36e04b40d3a8d8702c393e5154a5966 100755 --- a/LArCalorimeter/LArMonTools/src/LArDigitMon.h +++ b/LArCalorimeter/LArMonTools/src/LArDigitMon.h @@ -24,11 +24,21 @@ //STL: #include <string> +#include "StoreGate/ReadCondHandleKey.h" +#include "StoreGate/ReadHandleKey.h" + +//Events infos: +#include "xAODEventInfo/EventInfo.h" +#include "LArRecEvent/LArNoisyROSummary.h" + +class LArDigitContainer; +class LArOnOffIdMapping; + class LArEM_ID; class LArOnlineID; class HWIdentifier; class LArOnlineIDStrHelper; -class LArCablingService; +class LArOnOffIdMapping; class TProfile2D_LW; class TProfile_LW; @@ -68,17 +78,21 @@ protected: LArOnlineIDStrHelper* m_strHelper; const LArOnlineID* m_LArOnlineIDHelper; const LArEM_ID* m_LArEM_IDHelper; - - /** Handle to LArCablingService */ - ToolHandle<LArCablingService> m_LArCablingService; + + //** Handle to cabling */ + SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this, "CablingKey", "LArOnOffIdMap","Cabling key"}; /** Handle to bad-channel mask */ ToolHandle<ILArBadChannelMasker> m_badChannelMask; /** Handle to pedestal */ - const DataHandle<ILArPedestal> m_larPedestal; - + SG::ReadCondHandleKey<ILArPedestal> m_keyPedestal{this,"LArPedestalKey","LArPedestal","SG key of LArPedestal CDO"}; + SG::ReadHandleKey<LArNoisyROSummary> m_noisyROSummaryKey{this,"NoisyROSumKey","LArNoisyROSummary","SG key of LArNoisyROSummary object"}; + SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this,"EventInfoKey","EventInfo","SG Key of EventInfo object"}; + + SG::ReadHandleKey<LArDigitContainer> m_digitContainerKey{this,"LArDigitContainerKey","FREE","SG key of LArDigitContainer read from Bytestream"}; + private: @@ -187,9 +201,6 @@ private: double m_TreshNull; double m_TreshSat; - std::string m_LArDigitContainerKey; - std::string m_larPedestalKey; - //Added for Stream aware: std::vector<std::string> m_streams; std::vector<unsigned> m_streamsThisEvent; diff --git a/LArCalorimeter/LArMonTools/src/LArHVCorrectionMonTool.cxx b/LArCalorimeter/LArMonTools/src/LArHVCorrectionMonTool.cxx index fc1d6af193c5dedc51506caacbf0d103caba21d6..b5c948d206b5ef8106d0f5bd3b5d89759ba93b76 100644 --- a/LArCalorimeter/LArMonTools/src/LArHVCorrectionMonTool.cxx +++ b/LArCalorimeter/LArMonTools/src/LArHVCorrectionMonTool.cxx @@ -331,7 +331,7 @@ LArHVCorrectionMonTool::fillHistograms() float hvdev = 0; float hvcorr = m_hvCorrTool->Scale(offlineID); //ATH_MSG_VERBOSE( "hvcorr" << hvcorr ); - float hvonline = m_dd_HVScaleCorr->HVScaleCorr(offlineID); + float hvonline = m_dd_HVScaleCorr->HVScaleCorr(id); if (hvonline<=0) continue; //No valid online correction //ATH_MSG_VERBOSE( "hvonline" << hvonline ); if (hvcorr>hvonline) hvdev = hvonline-hvcorr; //Monitor only channels that get a higher correction from DCS (eg are at a lower voltage). diff --git a/LArCalorimeter/LArMonTools/src/LArRODMonTool.cxx b/LArCalorimeter/LArMonTools/src/LArRODMonTool.cxx index 4c638d237d55b53ea6b862628666ee09b4609c49..3156c1ee135357c0ce5d4b29b8151557e8120fbe 100755 --- a/LArCalorimeter/LArMonTools/src/LArRODMonTool.cxx +++ b/LArCalorimeter/LArMonTools/src/LArRODMonTool.cxx @@ -65,19 +65,13 @@ LArRODMonTool::LArRODMonTool(const std::string& type, m_dumpDigits(false) { - declareProperty("LArDigitContainerKey", m_LArDigitContainerKey = "HIGH"); declareProperty("useEvtCounter", m_useEvtCounter = true); - declareProperty("LArRawChannelKey_fromBytestream",m_channelKey_fromBytestream="LArRawChannels_fromBytestream"); - declareProperty("LArRawChannelKey_fromDigits",m_channelKey_fromDigits="LArRawChannels_fromDigits"); - declareProperty("KeyOFC",m_keyOFC="LArOFC") ; - declareProperty("KeyShape",m_keyShape="LArShape") ; declareProperty("DigitsFileName",m_DigitsFileName = "digits.txt"); declareProperty("EnergyFileName",m_EnergyFileName = "energy.txt"); declareProperty("AiFileName",m_AiFileName = "Calib_ai.dat"); declareProperty("DumpCellsFileName",m_DumpCellsFileName = "dumpCells.txt"); declareProperty("DoDspTestDump",m_doDspTestDump = false); declareProperty("DoCellsDump",m_doCellsDump = false); - declareProperty("LArPedestalKey",m_larpedestalkey = "LArPedestal"); declareProperty("DoCheckSum",m_doCheckSum = true); declareProperty("DoRodStatus",m_doRodStatus = true); declareProperty("PrintEnergyErrors",m_printEnergyErrors = true); @@ -187,50 +181,32 @@ LArRODMonTool::initialize() { m_dumpDigits=(m_doDspTestDump || m_doCellsDump || (m_adc_th != 0)); -// For Eon/Eoff dump -// if (m_doDspTestDump) { - sc = detStore()->regHandle(m_dd_ofc,m_keyOFC); - if (sc!=StatusCode::SUCCESS) { - ATH_MSG_FATAL( "Cannot register DataHandle for OFC object with key " << m_keyOFC ); - return sc; - } + ATH_CHECK(m_channelKey_fromDigits.initialize()); + ATH_CHECK(m_channelKey_fromBytestream.initialize()); + ATH_CHECK(m_digitContainerKey.initialize()); + ATH_CHECK(m_eventInfoKey.initialize()); - sc = detStore()->regHandle(m_dd_shape,m_keyShape); - if (sc!=StatusCode::SUCCESS) { - ATH_MSG_FATAL( "Cannot register DataHandle for Shape object with key " << m_keyShape ); - return sc; - } + ATH_CHECK(m_keyOFC.initialize()); + ATH_CHECK(m_keyShape.initialize()); + ATH_CHECK(m_keyHVScaleCorr.initialize()); + ATH_CHECK(m_keyPedestal.initialize()); - sc = detStore()->regHandle(m_dd_HVScaleCorr,"LArHVScaleCorr"); - if (sc!=StatusCode::SUCCESS) { - ATH_MSG_FATAL( "Cannot register DataHandle for HVScaleCorr object with key LArHVScaleCorr" ); - return sc; - } + ATH_CHECK(m_adc2mevKey.initialize()); - ATH_CHECK(m_adc2mevKey.initialize()); + sc = m_calo_noise_tool.retrieve(); + if (sc.isFailure()) { + ATH_MSG_ERROR( "Unable to find calo noise tool" ); + return StatusCode::FAILURE; + } - sc = m_calo_noise_tool.retrieve(); - if (sc.isFailure()) { - ATH_MSG_ERROR( "Unable to find calo noise tool" ); - return StatusCode::FAILURE; - } + ATH_CHECK(m_cablingKey.initialize()); - ATH_CHECK(m_cablingKey.initialize()); + sc = detStore()->retrieve(m_calo_description_mgr); + if (sc.isFailure()) { + ATH_MSG_ERROR( "Unable to find CeloDetDescrManager " ); + return StatusCode::FAILURE; + } - sc = detStore()->retrieve(m_calo_description_mgr); - if (sc.isFailure()) { - ATH_MSG_ERROR( "Unable to find CeloDetDescrManager " ); - return StatusCode::FAILURE; - } -// } -// For Eon/Eoff dump -// if (m_skipNullPed || m_doDspTestDump) { - sc=detStore()->retrieve(m_larpedestal,m_larpedestalkey); - if (sc.isFailure()) { - ATH_MSG_ERROR( "Cannot register DataHandle for Pedestal object with key " << m_larpedestalkey ); - return StatusCode::FAILURE; - } -// } if (m_skipKnownProblematicChannels) { sc=m_badChannelMask.retrieve(); if (sc.isFailure()) { @@ -661,12 +637,10 @@ StatusCode LArRODMonTool::fillHistograms() { // Between -222 and 222 MeV (~ 4 TeV) 2**9=512 MeV precision (range 3) */ + SG::ReadHandle<xAOD::EventInfo> thisEventInfo(m_eventInfoKey); - const xAOD::EventInfo* thisEventInfo; - if (evtStore()->retrieve(thisEventInfo).isFailure()) { - ATH_MSG_ERROR( "No EventInfo object found! Can't read run number!" ); - return StatusCode::FAILURE; - } + SG::ReadCondHandle<ILArPedestal> pedestalHdl{m_keyPedestal}; + const ILArPedestal* pedestals=*pedestalHdl; m_curr_lb=thisEventInfo->lumiBlock(); if(m_last_lb < 0) m_last_lb = m_curr_lb; @@ -730,34 +704,14 @@ StatusCode LArRODMonTool::fillHistograms() { } */ - // Retrieve LArRawChannels from Digits (via LArRawChannelBuilder) - const LArRawChannelContainer* rawColl_fromDigits; - StatusCode sc = evtStore()->retrieve(rawColl_fromDigits, m_channelKey_fromDigits); - if(sc.isFailure()) { - ATH_MSG_WARNING( "Can\'t retrieve LArRawChannelContainer with key " << m_channelKey_fromDigits ); - return StatusCode::FAILURE; - } - // Retrieve LArRawChannels from ByteStream (i.e. calculated by DSP) - const LArRawChannelContainer* rawColl_fromBytestream; - sc = evtStore()->retrieve(rawColl_fromBytestream, m_channelKey_fromBytestream); - if(sc.isFailure()) { - ATH_MSG_WARNING( "Can\'t retrieve LArRawChannelContainer with key " << m_channelKey_fromBytestream ); - return StatusCode::FAILURE; - } + SG::ReadHandle<LArRawChannelContainer> rawColl_fromDigits(m_channelKey_fromDigits); + + SG::ReadHandle<LArRawChannelContainer> rawColl_fromBytestream(m_channelKey_fromBytestream); + + SG::ReadHandle<LArDigitContainer> pLArDigitContainer(m_digitContainerKey); + - const LArDigitContainer* pLArDigitContainer=NULL; -// For Eon/Eoff dump -// if (m_dumpDigits) { - sc = evtStore()->retrieve(pLArDigitContainer, m_LArDigitContainerKey); - if (sc.isFailure()) { - ATH_MSG_WARNING( "Can't retrieve LArDigitContainer with key " << m_LArDigitContainerKey <<". Turn off digit dump." ); - closeDumpfiles(); - m_dumpDigits=false; - m_doDspTestDump=false; - m_doCellsDump=false; - } -// } if (m_doCheckSum || m_doRodStatus) { FebStatus_Check(); ATH_MSG_DEBUG("Found " << m_ignoreFEBs.size() << " FEBs with checksum errors or statatus errors. Will ignore these FEBs."); @@ -798,7 +752,7 @@ StatusCode LArRODMonTool::fillHistograms() { //Check pedestal if needed if (m_skipNullPed) { const CaloGain::CaloGain gain = rcDigIt->gain(); - const float ped = m_larpedestal->pedestal(idDig,gain); + const float ped = pedestals->pedestal(idDig,gain); if(ped <= (1.0+LArElecCalib::ERRORCODE)) continue; } @@ -1070,6 +1024,18 @@ StatusCode LArRODMonTool::compareChannels(const HWIdentifier chid,const LArRawCh SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey}; const LArOnOffIdMapping* cabling=*cablingHdl; + SG::ReadCondHandle<ILArOFC> ofcHdl{m_keyOFC}; + const ILArOFC* ofcs=*ofcHdl; + + SG::ReadCondHandle<ILArShape> shapeHdl{m_keyShape}; + const ILArShape* shapes=*shapeHdl; + + SG::ReadCondHandle<ILArHVScaleCorr> hvScaleCorrHdl{m_keyHVScaleCorr}; + const ILArHVScaleCorr* hvScaleCorrs=*hvScaleCorrHdl; + + SG::ReadCondHandle<ILArPedestal> pedestalHdl{m_keyPedestal}; + const ILArPedestal* pedestals=*pedestalHdl; + SG::ReadCondHandle<LArADC2MeV> adc2MeVHdl{m_adc2mevKey}; const LArADC2MeV* adc2mev=*adc2MeVHdl; @@ -1201,7 +1167,7 @@ StatusCode LArRODMonTool::compareChannels(const HWIdentifier chid,const LArRawCh } hg.m_hEon_VS_Eoff->Fill(rcDig.energy(),en_fB); // For Eon/Eoff or Qon/Qoff dump - const float hvscale = m_dd_HVScaleCorr->HVScaleCorr(chid); + const float hvscale = hvScaleCorrs->HVScaleCorr(chid); //if ( ((fabs(DiffE) > DECut && hvscale == 1.) || (keepQ && (fabs(DiffQ) > DQCut))) && dig) { if ( ((fabs(DiffE) > DECut) || (keepQ && (fabs(DiffQ) > DQCut))) && dig) { // absolute cut on energy 1.MeV @@ -1239,22 +1205,22 @@ StatusCode LArRODMonTool::compareChannels(const HWIdentifier chid,const LArRawCh os << "Digits : "; for (unsigned int k = 0; k<samples.size(); k++) {os << samples.at(k) << " ";} ATH_MSG_INFO( os.str() ); - ILArOFC::OFCRef_t this_OFC_a_test = m_dd_ofc->OFC_a(chid,rcDig.gain()); + ILArOFC::OFCRef_t this_OFC_a_test = ofcs->OFC_a(chid,rcDig.gain()); os.clear(); os.seekp(0); os << "OFCa : "; for (unsigned int k = 0; k<this_OFC_a_test.size(); ++k) {os << this_OFC_a_test.at(k) << " ";} ATH_MSG_INFO( os.str() ); - ILArOFC::OFCRef_t this_OFC_b_test = m_dd_ofc->OFC_b(chid,rcDig.gain()); + ILArOFC::OFCRef_t this_OFC_b_test = ofcs->OFC_b(chid,rcDig.gain()); os.clear(); os.seekp(0); os << "OFCb : "; for (unsigned int k = 0; k<this_OFC_b_test.size(); ++k) {os << this_OFC_b_test.at(k) << " ";} ATH_MSG_INFO( os.str() ); - ILArShape::ShapeRef_t this_Shape_test = m_dd_shape->Shape(chid,rcDig.gain()); + ILArShape::ShapeRef_t this_Shape_test = shapes->Shape(chid,rcDig.gain()); os.clear(); os.seekp(0); os << "Shape : "; for (unsigned int k = 0; k<this_Shape_test.size(); ++k) {os << this_Shape_test.at(k) << " ";} ATH_MSG_INFO( os.str() ); - ILArShape::ShapeRef_t this_ShapeDer_test = m_dd_shape->ShapeDer(chid,rcDig.gain()); + ILArShape::ShapeRef_t this_ShapeDer_test = shapes->ShapeDer(chid,rcDig.gain()); os.clear(); os.seekp(0); os << "ShapeDer : "; for (unsigned int k = 0; k<this_ShapeDer_test.size(); ++k) {os << this_ShapeDer_test.at(k) << " ";} @@ -1263,7 +1229,7 @@ StatusCode LArRODMonTool::compareChannels(const HWIdentifier chid,const LArRawCh const float escale = ramp[1]; float ramp0 = ramp[0]; if (q_gain == 0) ramp0 = 0.; // no ramp intercepts in HG - const float ped = m_larpedestal->pedestal(chid,rcDig.gain()); + const float ped = pedestals->pedestal(chid,rcDig.gain()); ATH_MSG_INFO( "Escale: "<<escale<<" intercept: "<<ramp0<<" pedestal: "<<ped<<" gain: "<<rcDig.gain() ); const Identifier cellid=cabling->cnvToIdentifier(chid); const CaloDetDescrElement* cellDDE = m_calo_description_mgr->get_element(cellid); @@ -1373,18 +1339,18 @@ StatusCode LArRODMonTool::compareChannels(const HWIdentifier chid,const LArRawCh if ((keepE && fabs(DiffE)>DECut) || (keepT && fabs(DiffT)>DTCut) || (keepQ && DiffQ > DQCut)) { if (m_doDspTestDump) { int Ind = 0; - const float timeBinWidth_test=m_dd_ofc->timeBinWidth(chid,q_gain); + const float timeBinWidth_test=ofcs->timeBinWidth(chid,q_gain); unsigned delayIdx_test=(unsigned)floor(0.5+Ind/timeBinWidth_test); - ILArOFC::OFCRef_t this_OFC_a_test = m_dd_ofc->OFC_a(chid,q_gain,delayIdx_test); - ILArOFC::OFCRef_t this_OFC_b_test = m_dd_ofc->OFC_b(chid,q_gain,delayIdx_test); - ILArShape::ShapeRef_t this_OFC_h_test = m_dd_shape->Shape(chid,q_gain,delayIdx_test); - ILArShape::ShapeRef_t this_OFC_d_test = m_dd_shape->ShapeDer(chid,q_gain,delayIdx_test); + ILArOFC::OFCRef_t this_OFC_a_test = ofcs->OFC_a(chid,q_gain,delayIdx_test); + ILArOFC::OFCRef_t this_OFC_b_test = ofcs->OFC_b(chid,q_gain,delayIdx_test); + ILArShape::ShapeRef_t this_OFC_h_test = shapes->Shape(chid,q_gain,delayIdx_test); + ILArShape::ShapeRef_t this_OFC_d_test = shapes->ShapeDer(chid,q_gain,delayIdx_test); const std::vector<float>& ramp=adc2mev->ADC2MEV(chid,q_gain); const std::vector<short>& samples=dig->samples(); const float escale = ramp[1]; float ramp0 = ramp[0]; if (q_gain == 0) ramp0 = 0.; // no ramp intercepts in HG - const float ped = m_larpedestal->pedestal(chid,q_gain); + const float ped = pedestals->pedestal(chid,q_gain); this->DumpCellEvent((int)m_counter,this_OFC_a_test,this_OFC_b_test,this_OFC_h_test,this_OFC_d_test,escale,ramp0,ped,&samples,(int)(rcDig.energy()),(int)(en_fB),m_fai,m_fdig,m_fen, chid, (int)m_eventsCounter); } if (m_doCellsDump) { diff --git a/LArCalorimeter/LArMonTools/src/LArRODMonTool.h b/LArCalorimeter/LArMonTools/src/LArRODMonTool.h index 01ec12df336a33a72e725866626c5b3674334e1f..ac1ce536ddef233906c25f463c76b4784a88b8b5 100755 --- a/LArCalorimeter/LArMonTools/src/LArRODMonTool.h +++ b/LArCalorimeter/LArMonTools/src/LArRODMonTool.h @@ -25,11 +25,17 @@ #include "LArRecConditions/ILArBadChannelMasker.h" #include "StoreGate/ReadCondHandleKey.h" +#include "StoreGate/ReadHandleKey.h" +//Events infos: +#include "xAODEventInfo/EventInfo.h" + -//#include "LArRawEvent/LArRawChannel.h" class LArRawChannel; class HWIdentifier; class LArOnOffIdMapping; +class LArRawChannelContainer; +class LArDigitContainer; + #include "TH2I.h" #include "TH2F.h" @@ -190,19 +196,19 @@ private: TH2I* m_hTErrors_LB_stream; TH2I* m_hQErrors_LB_stream; + + SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this,"EventInfoKey","EventInfo","SG Key of EventInfo object"}; // Keys for LArRawChannels containers - std::string m_channelKey_fromBytestream; - std::string m_channelKey_fromDigits; + SG::ReadHandleKey<LArRawChannelContainer> m_channelKey_fromBytestream{this,"LArRawChannelKey_fromBytestream","LArRawChannels","SG key of LArRawChannels produced by teh DSP"}; + SG::ReadHandleKey<LArRawChannelContainer> m_channelKey_fromDigits{this,"LArRawChannelKey_fromDigits","LArRawChannels_FromDigits","SG key of LArRawChannels produced offline"}; - // Key for LArDigits container - std::string m_LArDigitContainerKey; + SG::ReadHandleKey<LArDigitContainer> m_digitContainerKey{this,"LArDigitContainerKey","FREE","SG key of LArDigitContainer read from Bytestream"}; - // To retrieve OFC's - std::string m_keyOFC ; - std::string m_keyShape ; - const DataHandle<ILArOFC> m_dd_ofc; - const DataHandle<ILArShape> m_dd_shape; - const DataHandle<ILArHVScaleCorr> m_dd_HVScaleCorr; + + SG::ReadCondHandleKey<ILArOFC> m_keyOFC{this,"KeyOFC","LArOFC","SG key of LArOFC CDO"}; + SG::ReadCondHandleKey<ILArShape> m_keyShape{this,"KeyShape","LArShape","SG key of LArShape CDO"}; + SG::ReadCondHandleKey<ILArHVScaleCorr> m_keyHVScaleCorr{this,"KeyHVScaleCorr","LArHVScaleCorr","SG key of LArHVScaleCorr CDO"}; + SG::ReadCondHandleKey<ILArPedestal> m_keyPedestal{this,"LArPedestalKey","LArPedestal","SG key of LArPedestal CDO"}; SG::ReadCondHandleKey<LArADC2MeV> m_adc2mevKey{this,"LArADC2MeVKey","LArADC2MeV","SG Key of the LArADC2MeV CDO"}; @@ -213,9 +219,6 @@ private: SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping CDO"}; const CaloDetDescrManager *m_calo_description_mgr; - const DataHandle<ILArPedestal> m_larpedestal; - std::string m_larpedestalkey; - // Output files names std::string m_DigitsFileName; std::string m_EnergyFileName; diff --git a/LArCalorimeter/LArRawConditions/LArRawConditions/LArAutoCorrNoise.h b/LArCalorimeter/LArRawConditions/LArRawConditions/LArAutoCorrNoise.h new file mode 100644 index 0000000000000000000000000000000000000000..1cb95995485cc4513c6edcb374be5c8ac87c32da --- /dev/null +++ b/LArCalorimeter/LArRawConditions/LArRawConditions/LArAutoCorrNoise.h @@ -0,0 +1,35 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef LARRAWCONDITIONS_LARAUTOCORRNOISE +#define LARRAWCONDITIONS_LARAUTOCORRNOISE + +#include <vector> + +#include "LArRawConditions/LArMCSym.h" + +class LArAutoCorrNoise +{ + +public: + LArAutoCorrNoise() = delete; + + LArAutoCorrNoise( std::vector<std::map<HWIdentifier, std::vector<float>>>&& input, const LArMCSym* larMCsym ); + + ~LArAutoCorrNoise(); + + const std::vector<float>& autoCorrSqrt( const HWIdentifier& id, int gain ) const; + const std::vector<float>& autoCorrSqrt( const Identifier& id, int gain ) const; + +private: + const LArMCSym* m_larMCsym; + std::vector<std::map<HWIdentifier, std::vector<float>>> m_autoCorrNoise; +}; + +#include "AthenaKernel/CLASS_DEF.h" +CLASS_DEF( LArAutoCorrNoise, 224426548, 1 ) +#include "AthenaKernel/CondCont.h" +CONDCONT_DEF( LArAutoCorrNoise, 107335812 ); + +#endif diff --git a/LArCalorimeter/LArRawConditions/LArRawConditions/LArHVScaleCorrComplete.h b/LArCalorimeter/LArRawConditions/LArRawConditions/LArHVScaleCorrComplete.h index 286e8cb9af239062995c320d5a8f22af5be3300f..d825d41889173007cb679abd209782e957e6cb3a 100644 --- a/LArCalorimeter/LArRawConditions/LArRawConditions/LArHVScaleCorrComplete.h +++ b/LArCalorimeter/LArRawConditions/LArRawConditions/LArHVScaleCorrComplete.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Dear emacs, this is -*-c++-*- @@ -24,8 +24,9 @@ class LArHVScaleCorrComplete: public ILArHVScaleCorr , // online ID inline const float& HVScaleCorr(const HWIdentifier& id ) const {return (this->get(id).m_data);}; - - // offline ID + + + // offline ID, not implemented here! const float& HVScaleCorr(const Identifier& id ) const; // set method filling the data members individually (if one diff --git a/LArCalorimeter/LArRawConditions/src/LArAutoCorrNoise.cxx b/LArCalorimeter/LArRawConditions/src/LArAutoCorrNoise.cxx new file mode 100644 index 0000000000000000000000000000000000000000..e4e4fa16c6d8b424183e30c4c214cb4623774409 --- /dev/null +++ b/LArCalorimeter/LArRawConditions/src/LArAutoCorrNoise.cxx @@ -0,0 +1,23 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#include "LArRawConditions/LArAutoCorrNoise.h" + +LArAutoCorrNoise::LArAutoCorrNoise( std::vector<std::map<HWIdentifier, std::vector<float>>>&& input, + const LArMCSym* larMCsym ) + : m_larMCsym( larMCsym ) +{ + m_autoCorrNoise = input; + + larMCsym = nullptr; + input.clear(); +} + +LArAutoCorrNoise::~LArAutoCorrNoise() {} + +const std::vector<float>& LArAutoCorrNoise::autoCorrSqrt( const Identifier& id, int gain ) const +{ + const HWIdentifier hwid = m_larMCsym->ZPhiSymOfl( id ); + return m_autoCorrNoise.at( gain ).at( hwid ); +} diff --git a/LArCalorimeter/LArRawConditions/src/LArHVScaleCorrComplete.cxx b/LArCalorimeter/LArRawConditions/src/LArHVScaleCorrComplete.cxx index a6b397cdaf3717141be35619b221755d619d820f..3fb8ddf0a61a3950367d484ee8768035576af937 100644 --- a/LArCalorimeter/LArRawConditions/src/LArHVScaleCorrComplete.cxx +++ b/LArCalorimeter/LArRawConditions/src/LArHVScaleCorrComplete.cxx @@ -1,16 +1,16 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include "LArRawConditions/LArHVScaleCorrComplete.h" -const float& LArHVScaleCorrComplete::HVScaleCorr(const Identifier& id ) const { - const HWIdentifier chid = larCablingSvc()->createSignalChannelID(id); - return (this->get(chid).m_data); -} - - void LArHVScaleCorrComplete::set(const HWIdentifier& CellID, const float corr) { this->setPdata(CellID,corr); } +const float& LArHVScaleCorrComplete::HVScaleCorr(const Identifier& id ) const { + std::cout << "LArHVScaleCorrComplete access by offlien id not implemented!" << std::endl; + std::abort(); + const static float errcode=LArElecCalib::ERRORCODE; + return errcode; +} diff --git a/LArCalorimeter/LArRecUtils/python/LArADC2MeVCondAlgDefault.py b/LArCalorimeter/LArRecUtils/python/LArADC2MeVCondAlgDefault.py index fe409e34df6f904ea951eed671cf99d2e8983933..551b7b98c79a37c9069c661e027ccacdf258e1a3 100644 --- a/LArCalorimeter/LArRecUtils/python/LArADC2MeVCondAlgDefault.py +++ b/LArCalorimeter/LArRecUtils/python/LArADC2MeVCondAlgDefault.py @@ -27,9 +27,17 @@ def LArADC2MeVCondAlgDefault(): from LArConditionsCommon.LArCondFlags import larCondFlags if not larCondFlags.hasMphys(): theADC2MeVCondAlg.LArMphysOverMcalKey="" #No MphysOVerMcal + else: + theADC2MeVCondAlg.LArMphysOverMcalKey="LArMphysOverMcalSym" if not larCondFlags.hasHVCorr(): theADC2MeVCondAlg.LArHVScaleCorrKey="" + + theADC2MeVCondAlg.LAruA2MeVKey="LAruA2MeVSym" + theADC2MeVCondAlg.LArDAC2uAKey="LArDAC2uASym" + theADC2MeVCondAlg.LArRampKey="LArRampSym" + + theADC2MeVCondAlg.UseFEBGainTresholds=False else: # not MC: from LArRecUtils.LArFEBConfigReaderDefault import LArFEBConfigReaderDefault diff --git a/LArCalorimeter/LArRecUtils/python/LArADC2MeVToolDefault.py b/LArCalorimeter/LArRecUtils/python/LArADC2MeVToolDefault.py index c9671f1fef218c351952e203009cb18a4b94bbba..763d697aaab6267c63d430b8848cdd4127bd5dfe 100644 --- a/LArCalorimeter/LArRecUtils/python/LArADC2MeVToolDefault.py +++ b/LArCalorimeter/LArRecUtils/python/LArADC2MeVToolDefault.py @@ -10,6 +10,7 @@ from LArConditionsCommon.LArCondFlags import larCondFlags def LArADC2MeVToolDefault (name="LArADC2MeVToolDefault", **kw): mlog = logging.getLogger( 'LArADC2MeVToolDefault::__init__ ' ) + mlog.warning("The LArADC2MeVTool is deprecated! Use LArADC2MeVCondAlg!") #Check if the tool exits already in ToolSvc if hasattr(ServiceMgr.ToolSvc,name): mlog.info("LArADC2MeV Tool with name" + name + "already known to ToolSvc") diff --git a/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseCondAlgDefault.py b/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseCondAlgDefault.py new file mode 100644 index 0000000000000000000000000000000000000000..dc1a639d6e323174aa532ed21c377a93783981df --- /dev/null +++ b/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseCondAlgDefault.py @@ -0,0 +1,32 @@ +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + +from AthenaCommon.Include import Include, IncludeError, include +from IOVDbSvc.CondDB import conddb + +if conddb.isMC: + include("LArConditionsCommon/LArConditionsCommon_MC_jobOptions.py") +else: + include("LArConditionsCommon/LArConditionsCommon_comm_jobOptions.py") + +from LArRecUtils.LArRecUtilsConf import LArAutoCorrNoiseCondAlg +from AthenaCommon.AlgSequence import AthSequencer +from LArCabling.LArCablingAccess import LArOnOffIdMapping +from LArRecUtils.LArMCSymCondAlg import LArMCSymCondAlgDefault +condSeq = AthSequencer("AthCondSeq") + + +def LArAutoCorrNoiseCondAlgDefault(): + + LArOnOffIdMapping() + LArMCSymCondAlgDefault() + condSeq = AthSequencer("AthCondSeq") + if hasattr (condSeq,"LArAutoCorrNoiseCondAlg"): + return getattr(condSeq,"LArAutoCorrNoiseCondAlg") + + theAutoCorrNoiseCondAlg=LArAutoCorrNoiseCondAlg("LArAutoCorrNoiseCondAlg") + + from LArROD.LArRODFlags import larRODFlags + theAutoCorrNoiseCondAlg.nSampl = larRODFlags.nSamples() + + condSeq+=theAutoCorrNoiseCondAlg + return theAutoCorrNoiseCondAlg diff --git a/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseToolDefault.py b/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseToolDefault.py index 9c6b4a6bc7c515e818ae71bb40e95c6ea72073a2..7736fe0b9b2c33e551f76e2c2da7c69239ac7184 100644 --- a/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseToolDefault.py +++ b/LArCalorimeter/LArRecUtils/python/LArAutoCorrNoiseToolDefault.py @@ -16,7 +16,7 @@ def LArAutoCorrNoiseToolDefault (name="LArAutoCorrNoiseToolDefault", **kw): mlog = logging.getLogger( 'LArAutoCorrNoiseToolDefault::__init__ ' ) mlog.info("entering") - + mlog.warning("The LArAutoCorrNoiseToolDefault is depricated. Please use LArAutoCorrNoiseCondAlg") # do the configuration if globalflags.DataSource()=='data': tool.MCSym = False diff --git a/LArCalorimeter/LArRecUtils/python/LArAutoCorrTotalToolDefault.py b/LArCalorimeter/LArRecUtils/python/LArAutoCorrTotalToolDefault.py index 62f46c1d5ad4e3bc1babb7a06e9fd9b13c2d03af..3b862059f36357533ad988c22eb017bd17788576 100644 --- a/LArCalorimeter/LArRecUtils/python/LArAutoCorrTotalToolDefault.py +++ b/LArCalorimeter/LArRecUtils/python/LArAutoCorrTotalToolDefault.py @@ -17,6 +17,7 @@ def LArAutoCorrTotalToolDefault (name="LArAutoCorrTotalToolDefault", **kw): mlog = logging.getLogger( 'LArAutoCorrTotalToolDefault::__init__ ' ) mlog.info("entering") + mlog.warning("LArAutoCorrTotalTool is deprecated. Please use LArAutoCorrCondAlg") # do the configuration if globalflags.DataSource()=='data': diff --git a/LArCalorimeter/LArRecUtils/python/LArHVScaleRetrieverDefault.py b/LArCalorimeter/LArRecUtils/python/LArHVScaleRetrieverDefault.py deleted file mode 100644 index 34564a9a19dc4c1eb559db984d7bf1f8347a33d8..0000000000000000000000000000000000000000 --- a/LArCalorimeter/LArRecUtils/python/LArHVScaleRetrieverDefault.py +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - -from AthenaCommon.Logging import logging - - -# import the base class -from LArRecUtils.LArRecUtilsConf import LArHVScaleRetriever - -def LArHVScaleRetrieverDefault(name="LArHVScaleRetrieverDefault", **kw): - from AthenaCommon.AppMgr import ToolSvc - - mlog = logging.getLogger( 'LArHVScaleRetrieverDefault' ) - #Check if the tool exits already in ToolSvc - if hasattr(ToolSvc,name): - mlog.info("LArHVScaleRetriever with name "+ name+" already known to ToolSvc") - return getattr(ToolSvc,name) - - - tool=LArHVScaleRetriever(name) - from AthenaCommon.GlobalFlags import globalflags - from AthenaCommon import CfgMgr - if (globalflags.DataSource()!='data'): - tool.IsMC=True - mlog.info("%s configured for MC" % name) - else: - #Data case, need also LArHVCorrTool - tool.IsMC=False - mlog.info("%s configured for real data" % name) - if 'LArHVCorrTool' in kw: - tool.LArHVCorrTool= kw['LArHVCorrTool'] - else: - from LArRecUtils.LArHVCorrToolDefault import LArHVCorrToolDefault - theLArHVCorrTool=LArHVCorrToolDefault() - tool.LArHVCorrTool=theLArHVCorrTool - pass - - ToolSvc += tool - return tool - diff --git a/LArCalorimeter/LArRecUtils/python/LArMCSymCondAlg.py b/LArCalorimeter/LArRecUtils/python/LArMCSymCondAlg.py index 8a7a750e6dffee7f8a9b66f9f30db140f834aaea..ba06f935618da4f910a9cffa3c94a2a0d82b7c2f 100644 --- a/LArCalorimeter/LArRecUtils/python/LArMCSymCondAlg.py +++ b/LArCalorimeter/LArRecUtils/python/LArMCSymCondAlg.py @@ -3,6 +3,6 @@ def LArMCSymCondAlgDefault(): condSeq = AthSequencer("AthCondSeq") if not hasattr(condSeq, "LArMCSymCondAlg"): from LArRecUtils.LArRecUtilsConf import LArMCSymCondAlg - condSeq+=LArMCSymCondAlg(ReadKey="LArOnOffIdMap") + condSeq+=LArMCSymCondAlg("LArMCSymCondAlg",ReadKey="LArOnOffIdMap") return diff --git a/LArCalorimeter/LArRecUtils/python/LArOFCToolDefault.py b/LArCalorimeter/LArRecUtils/python/LArOFCToolDefault.py index 4724de1d008608b57d06afc31ca8cc784dc1182f..ee76425ca6296be86a16794b75871c32e3db8978 100644 --- a/LArCalorimeter/LArRecUtils/python/LArOFCToolDefault.py +++ b/LArCalorimeter/LArRecUtils/python/LArOFCToolDefault.py @@ -16,6 +16,7 @@ def LArOFCToolDefault (name="LArOFCToolDefault", **kw): mlog = logging.getLogger( 'LArOFCToolDefault::__init__ ' ) mlog.info("entering") + mlog.warning("The LArOFCTool is deprecated! Use LArOFCCondAlg!") # do the configuration if globalflags.DataSource()=='data': diff --git a/LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.cxx b/LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.cxx new file mode 100644 index 0000000000000000000000000000000000000000..a68e2be63ce2e27e36776ae2a36f949e5d62f8f9 --- /dev/null +++ b/LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.cxx @@ -0,0 +1,191 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#include "LArAutoCorrNoiseCondAlg.h" + +#include "LArElecCalib/LArConditionsException.h" + +#include "LArIdentifier/LArOnlineID.h" +#include "LArIdentifier/LArOnline_SuperCellID.h" + +#include "GaudiKernel/EventIDRange.h" + +LArAutoCorrNoiseCondAlg::LArAutoCorrNoiseCondAlg( const std::string& name, ISvcLocator* pSvcLocator ) + : ::AthAlgorithm( name, pSvcLocator ) + , m_LArOnOffIdMappingObjKey( "LArOnOffIdMap" ) + , m_LArMCSymObjKey( "LArMCSym" ) + , m_LArAutoCorrObjKey( "LArAutoCorr" ) + , m_LArAutoCorrNoiseObjKey( "LArAutoCorrNoise" ) + , m_condSvc( "CondSvc", name ) + , m_isSuperCell( false ) + , m_MCsym( true ) + , m_nSampl( 4 ) +{ + declareProperty( "LArOnOffIdMappingObjKey", m_LArOnOffIdMappingObjKey, "Key to read LArOnOffIdMapping object" ); + declareProperty( "LArMCSymObjKey", m_LArMCSymObjKey, "Key to read LArMCSym object" ); + declareProperty( "LArAutoCorrObjKey", m_LArAutoCorrObjKey, "Key to read LArAutoCorr object" ); + declareProperty( "LArAutoCorrNoiseObjKey", m_LArAutoCorrNoiseObjKey, "Key to write LArAutoCorrNoise object" ); + declareProperty( "isSuperCell", m_isSuperCell ); + declareProperty( "MCsym", m_MCsym ); + declareProperty( "nSampl", m_nSampl ); +} + +LArAutoCorrNoiseCondAlg::~LArAutoCorrNoiseCondAlg() {} + +StatusCode LArAutoCorrNoiseCondAlg::initialize() +{ + ATH_MSG_DEBUG( "initialize " << name() ); + + // CondSvc + ATH_CHECK( m_condSvc.retrieve() ); + + // ReadCondHandle initialization + ATH_CHECK( m_LArOnOffIdMappingObjKey.initialize() ); + ATH_CHECK( m_LArMCSymObjKey.initialize() ); + ATH_CHECK( m_LArAutoCorrObjKey.initialize() ); + + ATH_CHECK( m_LArAutoCorrNoiseObjKey.initialize() ); + + // WriteCondHandle initialization + if ( m_condSvc->regHandle( this, m_LArAutoCorrNoiseObjKey ).isFailure() ) { + ATH_MSG_ERROR( "Unable to register WriteCondHandle " << m_LArAutoCorrNoiseObjKey.fullKey() << " with CondSvc" ); + return StatusCode::FAILURE; + } + + // Number of gains + m_nGains = ( m_isSuperCell ) ? 1 : 3; + + + if (m_isSuperCell) { + ATH_MSG_ERROR("This cond-algo doesn't work yet for SuperCells"); + } + //Super-cells are only half-implemented here. + //The produced LArAutoCorrNoise CDO will always use LArMCSym to query the underlying storage but + //we dont' use symmetry for SuperCells. Suggest to implement dedicated CDO for supercells. + + + return StatusCode::SUCCESS; +} + +StatusCode LArAutoCorrNoiseCondAlg::execute() +{ + + // WriteHandle setup + SG::WriteCondHandle<LArAutoCorrNoise> writeHandle( m_LArAutoCorrNoiseObjKey ); + if ( writeHandle.isValid() ) { + ATH_MSG_DEBUG( "CondHandle " << writeHandle.fullKey() << " is already valid." ); + return StatusCode::SUCCESS; + } + + // Identifier helper + const LArOnlineID_Base* larOnlineID = nullptr; + if ( m_isSuperCell ) { + const LArOnline_SuperCellID* scidhelper; + ATH_CHECK( detStore()->retrieve( scidhelper, "LArOnline_SuperCellID" ) ); + larOnlineID = scidhelper; // cast to base-class + } else { // regular cells + const LArOnlineID* idhelper; + ATH_CHECK( detStore()->retrieve( idhelper, "LArOnlineID" ) ); + larOnlineID = idhelper; // cast to base-class + } + // Mapping helper + const LArOnOffIdMapping* larOnOffIdMapping = nullptr; + SG::ReadCondHandle<LArOnOffIdMapping> larOnOffIdMappingHdl{m_LArOnOffIdMappingObjKey}; + larOnOffIdMapping = *larOnOffIdMappingHdl; + if ( larOnOffIdMapping == nullptr ) { + ATH_MSG_ERROR( "Failed to retrieve LArOnOffIdMapping object" ); + } + // MC symmetrization helper + const LArMCSym* larMCsym = nullptr; + SG::ReadCondHandle<LArMCSym> larMCsymHdl{m_LArMCSymObjKey}; + larMCsym = *larMCsymHdl; + if ( larMCsym == nullptr ) { + ATH_MSG_ERROR( "Failed to retrieve LArMCSym object" ); + } + + // Get pointers to inputs + // Retrieve validity ranges and determine their intersection + EventIDRange rangeAutoCorr; + + SG::ReadCondHandle<ILArAutoCorr> AutoCorrHdl{m_LArAutoCorrObjKey}; + const ILArAutoCorr* larAutoCorr{*AutoCorrHdl}; + if ( !AutoCorrHdl.range( rangeAutoCorr ) ) { + ATH_MSG_ERROR( "Failed to retrieve validity range for " << AutoCorrHdl.key() ); + } + + std::vector<std::map<HWIdentifier, std::vector<float>>> terms( m_nGains ); + + std::vector<HWIdentifier>::const_iterator it, it_e; + if ( !m_isSuperCell && m_MCsym ) { + it = larMCsym->symIds().begin(); + it_e = larMCsym->symIds().end(); + } else { + it = larOnlineID->channel_begin(); + it_e = larOnlineID->channel_end(); + } + + int count{0}; + + for ( ; it != it_e; ++it ) { + count++; + const HWIdentifier id = *it; + + if ( larOnOffIdMapping->isOnlineConnected( id ) ) { + // the Shape is a function of gain + for ( unsigned int igain = 0; igain < m_nGains; igain++ ) { + const ILArAutoCorr::AutoCorrRef_t AC = larAutoCorr->autoCorr( id, igain ); + + std::vector<float> vTerms; + const int size = m_nSampl * m_nSampl; + vTerms.resize( size ); + + // compute sqrt to covariance matrix + for ( int j = 0; j < m_nSampl; j++ ) { + // a) diagonal terms + double ck = 0.; + for ( int k = 0; k <= j - 1; k++ ) { + int index = j * m_nSampl + k; + ck = ck + vTerms[index] * vTerms[index]; + } + // diagonal term of autocorr matrix = 1 + vTerms[j * m_nSampl + j] = sqrt( std::fabs( 1. - ck ) ); + // b) off-diagonal terms + for ( int i = j + 1; i < m_nSampl; i++ ) { + double ck = 0; + for ( int k = 0; k <= j - 1; k++ ) { + int index1 = i * m_nSampl + k; + int index2 = j * m_nSampl + k; + ck = ck + vTerms[index1] * vTerms[index2]; + } + int index = i * m_nSampl + j; + int index2 = j * m_nSampl + j; + unsigned int index3 = ( i - j ) - 1; + double AutoCorr = 0.; + if ( index3 < ( AC.size() ) ) AutoCorr = AC[index3]; + vTerms[index] = ( AutoCorr - ck ) / vTerms[index2]; + } + } + + terms[igain][id] = vTerms; + + } //(loop on gains) + + } else // unconnected + for ( unsigned int igain = 0; igain < m_nGains; igain++ ) { + terms[igain][id] = std::vector<float>( 1, 0. ); + } + } + + ATH_MSG_INFO( "LArAutoCorrNoise: Ncell " << ( ( m_MCsym ) ? "w/ MCsym" : "w/o MCsym: " ) << count ); + ATH_MSG_DEBUG( "LArAutoCorrNoise: end of loop over cells" ); + + // Make output object + std::unique_ptr<LArAutoCorrNoise> larAutoCorrNoise = + std::make_unique<LArAutoCorrNoise>( std::move( terms ), larMCsym ); + + // Write + ATH_CHECK( writeHandle.record( rangeAutoCorr, larAutoCorrNoise.release() ) ); + + return StatusCode::SUCCESS; +} diff --git a/LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.h b/LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.h new file mode 100644 index 0000000000000000000000000000000000000000..33fca304f7a287b61928d991226baccecae581ce --- /dev/null +++ b/LArCalorimeter/LArRecUtils/src/LArAutoCorrNoiseCondAlg.h @@ -0,0 +1,48 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef LARAUTOCORRNOISECONDALG_H +#define LARAUTOCORRNOISECONDALG_H + +#include "AthenaBaseComps/AthAlgorithm.h" +#include "GaudiKernel/ICondSvc.h" +#include "StoreGate/ReadCondHandleKey.h" +#include "StoreGate/WriteCondHandleKey.h" + +#include "LArCabling/LArOnOffIdMapping.h" +#include "LArRawConditions/LArMCSym.h" + +#include "LArElecCalib/ILArAutoCorr.h" + +#include "LArRawConditions/LArAutoCorrNoise.h" + +class LArAutoCorrNoise; + +class LArAutoCorrNoiseCondAlg : public AthAlgorithm +{ +public: + LArAutoCorrNoiseCondAlg( const std::string& name, ISvcLocator* pSvcLocator ); + virtual ~LArAutoCorrNoiseCondAlg() override; + + virtual StatusCode initialize() override; + virtual StatusCode execute() override; + +private: + SG::ReadCondHandleKey<LArOnOffIdMapping> m_LArOnOffIdMappingObjKey; + SG::ReadCondHandleKey<LArMCSym> m_LArMCSymObjKey; + + SG::ReadCondHandleKey<ILArAutoCorr> m_LArAutoCorrObjKey; + + SG::WriteCondHandleKey<LArAutoCorrNoise> m_LArAutoCorrNoiseObjKey; + + ServiceHandle<ICondSvc> m_condSvc; + + bool m_isSuperCell; + bool m_MCsym; + + unsigned int m_nGains; + int m_nSampl; +}; + +#endif diff --git a/LArCalorimeter/LArRecUtils/src/LArAutoCorrTotalCondAlg.cxx b/LArCalorimeter/LArRecUtils/src/LArAutoCorrTotalCondAlg.cxx index 9a35358bb17cabcb6152b44f09f3e01222537c7d..1b47aa88e227481e50d08c220756450842230e52 100644 --- a/LArCalorimeter/LArRecUtils/src/LArAutoCorrTotalCondAlg.cxx +++ b/LArCalorimeter/LArRecUtils/src/LArAutoCorrTotalCondAlg.cxx @@ -18,12 +18,12 @@ LArAutoCorrTotalCondAlg::LArAutoCorrTotalCondAlg(const std::string &name, : ::AthAlgorithm(name, pSvcLocator), m_LArADC2MeVObjKey("LArADC2MeV"), m_LArOnOffIdMappingObjKey("LArOnOffIdMap"), - m_LArShapeObjKey("LArShape"), - m_LArAutoCorrObjKey("LArAutoCorr"), - m_LArNoiseObjKey("LArNoise"), + m_LArShapeObjKey("LArShapeSym"), + m_LArAutoCorrObjKey("LArAutoCorrSym"), + m_LArNoiseObjKey("LArNoiseSym"), m_LArPedestalObjKey("LArPedestal"), - m_LArfSamplObjKey("LArfSampl"), - m_LArMinBiasObjKey("LArMinBias"), + m_LArfSamplObjKey("LArfSamplSym"), + m_LArMinBiasObjKey("LArMinBiasSym"), m_LArAutoCorrTotalObjKey("LArAutoCorrTotal"), m_condSvc("CondSvc", name), m_Nminbias(0), m_NoPile(false), m_isMC(true), m_isSuperCell(false), m_useMixedOFCOpt(false), m_Nsamples(5), diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.cxx b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.cxx index fbeb8cc6e6d3a2d354b51ba14545217f9553a78c..7eaaaea160736fe6b0c4832f7deb1249fe46fd7d 100644 --- a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.cxx +++ b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.cxx @@ -130,10 +130,11 @@ StatusCode LArHVScaleCorrCondAlg::execute() { const LArHVData *hvdata = *hvDataHdl; // Online HVScaleCorr (if needed to subtract) - const LArHVScaleCorrFlat *onlHVCorr = nullptr; + const ILArHVScaleCorr *onlHVCorr = nullptr; if(m_undoOnlineHVCorr) { SG::ReadCondHandle<ILArHVScaleCorr> onlHVCorrHdl(m_onlineHVScaleCorrKey); - onlHVCorr = dynamic_cast<const LArHVScaleCorrFlat*>(*onlHVCorrHdl); + // onlHVCorr = dynamic_cast<const LArHVScaleCorrFlat*>(*onlHVCorrHdl); + onlHVCorr = *onlHVCorrHdl; if(!onlHVCorr) { ATH_MSG_ERROR("Do not have online HV corr. conditions object, but asked to undo !!!!"); return StatusCode::FAILURE; @@ -251,7 +252,7 @@ StatusCode LArHVScaleCorrCondAlg::finalize() // *** compute global ADC2MeV factor from subfactors *** -StatusCode LArHVScaleCorrCondAlg::getScale(const HASHRANGEVEC& hashranges, std::vector<float> &vScale, const LArHVData *hvdata, const LArHVScaleCorrFlat *onlHVCorr) const { +StatusCode LArHVScaleCorrCondAlg::getScale(const HASHRANGEVEC& hashranges, std::vector<float> &vScale, const LArHVData *hvdata, const ILArHVScaleCorr *onlHVCorr) const { unsigned nChannelsUpdates=0; diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h index 799375ae743659b197dddaa9794498211f6a5ebf..9f66b4bb22dd3ebd6228bbafb4e004c338b64223 100644 --- a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h +++ b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h @@ -3,8 +3,8 @@ */ // Rewritten from LArHVScaleCorrTool -#ifndef LARRECUTILS_LArHVSCALEcORRCONDALG_H -#define LARRECUTILS_LArHVSCALECORRCONDALG_H +#ifndef LARRECUTILS_LARHVSCALECORRCONDALG_H +#define LARRECUTILS_LARHVSCALECORRCONDALG_H #include "AthenaBaseComps/AthAlgorithm.h" @@ -98,7 +98,6 @@ class LArHVScaleCorrCondAlg: public AthAlgorithm */ - bool m_doTdrift; unsigned int m_deltatupdate; bool m_updateIfChanged; bool m_undoOnlineHVCorr; @@ -122,7 +121,7 @@ class LArHVScaleCorrCondAlg: public AthAlgorithm HASHRANGEVEC m_hashRanges[2];//x2 for the side HASHRANGEVEC m_completeRange; HASHRANGEVEC cellsIDsToPartition(const std::set<Identifier>& cellsIDvec) const; - StatusCode getScale(const HASHRANGEVEC& hashranges, std::vector<float> &vScale, const LArHVData* hvdata, const LArHVScaleCorrFlat *onlHVCorr) const; + StatusCode getScale(const HASHRANGEVEC& hashranges, std::vector<float> &vScale, const LArHVData* hvdata, const ILArHVScaleCorr *onlHVCorr) const; }; #endif diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx b/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx deleted file mode 100644 index 6dc0576398778d273b28654d0d9f53eca236cdaf..0000000000000000000000000000000000000000 --- a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx +++ /dev/null @@ -1,95 +0,0 @@ -///////////////////////// -*- C++ -*- ///////////////////////////// - -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// LArHVScaleRetriever.cxx -// Implementation file for class LArHVScaleRetriever -// Author: P-A Delsart delsart at in2p3.fr -/////////////////////////////////////////////////////////////////// - -// LArTools includes -#include "LArHVScaleRetriever.h" - -// STL includes - -// FrameWork includes -#include "GaudiKernel/IToolSvc.h" - - - -/////////////////////////////////////////////////////////////////// -// Public methods: -/////////////////////////////////////////////////////////////////// - -// Constructors -//////////////// -LArHVScaleRetriever::LArHVScaleRetriever( const std::string& type, - const std::string& name, - const IInterface* parent ) : - ::AthAlgTool ( type, name, parent ) - , m_ilarhvcorrtool("LArHVCorrToolDefault") - , m_keyHVScaleCorr("LArHVScaleCorr") - , m_isMC(false) -{ - declareInterface< ILArHVCorrTool >(this); - - declareProperty( "IsMC", m_isMC ); - declareProperty( "LArHVCorrTool", m_ilarhvcorrtool ); - declareProperty("KeyHVScaleCorr",m_keyHVScaleCorr); -} - -// Destructor -/////////////// -LArHVScaleRetriever::~LArHVScaleRetriever() -{} - -// Athena algtool's Hooks -//////////////////////////// -StatusCode LArHVScaleRetriever::initialize() -{ - ATH_MSG_INFO ("Initializing " << name() << "..."); - - if( m_isMC ) { - ATH_CHECK( m_keyHVScaleCorr.initialize() ); - m_ilarhvcorrtool.disable(); - }else { - CHECK( m_ilarhvcorrtool.retrieve() ) ; - } - - return StatusCode::SUCCESS; -} - - -float LArHVScaleRetriever::Scale(const HWIdentifier& id) const { - if(m_isMC) { - SG::ReadCondHandle<ILArHVScaleCorr> corr (m_keyHVScaleCorr); - return (*corr)->HVScaleCorr(id) ; - } - return m_ilarhvcorrtool->Scale(id); -} - -float LArHVScaleRetriever::Scale(const Identifier& id) const { - if(m_isMC) { - SG::ReadCondHandle<ILArHVScaleCorr> corr (m_keyHVScaleCorr); - return (*corr)->HVScaleCorr(id) ; - } - return m_ilarhvcorrtool->Scale(id); -} - - -StatusCode LArHVScaleRetriever::LoadCalibration(IOVSVC_CALLBACK_ARGS_P(i,k)) { - if(!m_isMC) return m_ilarhvcorrtool->LoadCalibration(i,k) ; - return StatusCode::FAILURE; -} - -StatusCode LArHVScaleRetriever::record() { - if(!m_isMC) return m_ilarhvcorrtool->record(); - return StatusCode::FAILURE; -} - -bool LArHVScaleRetriever::updateOnLastCallback() const { - if(!m_isMC) return m_ilarhvcorrtool->updateOnLastCallback(); - return false; -} diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h b/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h deleted file mode 100644 index f43e43996e5bb77765151c204508554057723840..0000000000000000000000000000000000000000 --- a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h +++ /dev/null @@ -1,102 +0,0 @@ -///////////////////////// -*- C++ -*- ///////////////////////////// - -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -// LArHVScaleRetriever.h -// Header file for class LArHVScaleRetriever -// Author: P-A Delsart delsart at in2p3.fr -/////////////////////////////////////////////////////////////////// -#ifndef LARTOOLS_LARHVSCALERETRIEVER_H -#define LARTOOLS_LARHVSCALERETRIEVER_H 1 - -// STL includes -#include <string> - -// FrameWork includes -#include "AthenaBaseComps/AthAlgTool.h" -#include "StoreGate/ReadCondHandleKey.h" -#include "GaudiKernel/ServiceHandle.h" - -// LArElecCalib includes -#include "LArElecCalib/ILArHVCorrTool.h" -#include "LArElecCalib/ILArHVScaleCorr.h" - -#include "GaudiKernel/ToolHandle.h" - -// Forward declaration - - -/////////////////////////////////////////////////////////////////// -/// \class LArHVScaleRetriever -/// \brief Single tool to retrieve LAr HV correction factor from MC or data input. -/// -/// Retrieving LAr HV correction factors is done differently for MC and data input files. -/// This tool is a simple wrapper around the 2 corresponding methods. -/// -/// It implements the ILArHVCorrTool interface and provide a IsMC property which should -/// be enough to configure it to read data or MC input. -/// -/// Further configuration can be done through 2 properties : -/// - "LArHVCorrTool" : a ILArHVCorrTool instance (retrived by default from "LArHVCorrTool") -/// - KeyHVScaleCorr : a string used to retrieve the DataHandle<ILArHVScaleCorr> (default : "LArHVScaleCorr" -/// -/////////////////////////////////////////////////////////////////// - -class LArHVScaleRetriever - : virtual public ::ILArHVCorrTool, - public ::AthAlgTool -{ - - /////////////////////////////////////////////////////////////////// - // Public methods: - /////////////////////////////////////////////////////////////////// - public: - - // Copy constructor: - - /// Constructor with parameters: - LArHVScaleRetriever( const std::string& type, - const std::string& name, - const IInterface* parent ); - - /// Destructor: - virtual ~LArHVScaleRetriever(); - - // Athena algtool's Hooks - virtual StatusCode initialize(); - - - // implement ILArHVCorrTool interface - virtual float Scale(const HWIdentifier& id) const ; - - virtual float Scale(const Identifier& id) const ; - - - virtual StatusCode LoadCalibration(IOVSVC_CALLBACK_ARGS) ; - - virtual StatusCode record() ; - - bool updateOnLastCallback() const; - - private: - - /// Default constructor: - LArHVScaleRetriever(); - - - ToolHandle<ILArHVCorrTool> m_ilarhvcorrtool; - SG::ReadCondHandleKey<ILArHVScaleCorr> m_keyHVScaleCorr; - bool m_isMC; -}; - -// I/O operators -////////////////////// - -/////////////////////////////////////////////////////////////////// -// Inline methods: -/////////////////////////////////////////////////////////////////// - - -#endif //> !LARTOOLS_LARHVSCALERETRIEVER_H diff --git a/LArCalorimeter/LArRecUtils/src/LArOFCCondAlg.cxx b/LArCalorimeter/LArRecUtils/src/LArOFCCondAlg.cxx index 1c1cb9e496f918dd22688369680aadb7ede82434..40e7f35a34d4b6164e355cc25210c26cdc2666a0 100644 --- a/LArCalorimeter/LArRecUtils/src/LArOFCCondAlg.cxx +++ b/LArCalorimeter/LArRecUtils/src/LArOFCCondAlg.cxx @@ -25,8 +25,8 @@ LArOFCCondAlg::LArOFCCondAlg(const std::string &name, ISvcLocator *pSvcLocator) : ::AthAlgorithm(name, pSvcLocator), m_LArOnOffIdMappingObjKey("LArOnOffIdMap"), - m_LArShapeObjKey("LArShape"), - m_LArNoiseObjKey("LArNoise"), + m_LArShapeObjKey("LArShapeSym"), + m_LArNoiseObjKey("LArNoiseSym"), m_LArPedestalObjKey("LArPedestal"), m_LArAutoCorrTotalObjKey("LArAutoCorrTotal"), m_LArOFCObjKey("LArOFC"), diff --git a/LArCalorimeter/LArRecUtils/src/components/LArRecUtils_entries.cxx b/LArCalorimeter/LArRecUtils/src/components/LArRecUtils_entries.cxx index 631b3c08cd06a9703de21667c310146384fd91bb..b90e8dca174432c6355dc03e1bba50b985cc1883 100644 --- a/LArCalorimeter/LArRecUtils/src/components/LArRecUtils_entries.cxx +++ b/LArCalorimeter/LArRecUtils/src/components/LArRecUtils_entries.cxx @@ -14,7 +14,6 @@ #include "../LArFEBConfigReader.h" #include "../LArFlatConditionSvc.h" #include "../LArFCalTowerBuilderToolTestAlg.h" -#include "../LArHVScaleRetriever.h" #include "../LArFlatConditionsAlg.h" #include "../LArOnOffMappingAlg.h" #include "../LArCalibLineMappingAlg.h" @@ -29,6 +28,7 @@ #include "../LArHVIdMappingAlg.h" #include "../LArHVCondAlg.h" #include "../LArHVScaleCorrCondAlg.h" +#include "../LArAutoCorrNoiseCondAlg.h" DECLARE_COMPONENT( LArADC2MeVTool ) @@ -47,7 +47,6 @@ DECLARE_COMPONENT( LArFCalTowerBuilderTool ) DECLARE_COMPONENT( LArFEBConfigReader ) DECLARE_COMPONENT( LArFlatConditionSvc ) DECLARE_COMPONENT( LArFCalTowerBuilderToolTestAlg ) -DECLARE_COMPONENT( LArHVScaleRetriever ) DECLARE_COMPONENT( LArCondAlgAutoCorrSC ) DECLARE_COMPONENT( LArCondAlgDAC2uAFlat ) DECLARE_COMPONENT( LArCondAlgDAC2uASC ) @@ -90,3 +89,4 @@ DECLARE_COMPONENT( LArHVIdMappingAlg ) DECLARE_COMPONENT( LArOFCCondAlg ) DECLARE_COMPONENT( LArHVCondAlg ) DECLARE_COMPONENT( LArHVScaleCorrCondAlg ) +DECLARE_COMPONENT( LArAutoCorrNoiseCondAlg ) diff --git a/LArCalorimeter/LArTools/CMakeLists.txt b/LArCalorimeter/LArTools/CMakeLists.txt index 181d46f5760402c61d1093abf4650b07fb91c9bf..05b0998b4d8df67a1a43063cf8f065b20328ece6 100644 --- a/LArCalorimeter/LArTools/CMakeLists.txt +++ b/LArCalorimeter/LArTools/CMakeLists.txt @@ -13,6 +13,7 @@ atlas_depends_on_subdirs( PUBLIC GaudiKernel LArCalorimeter/LArCabling LArCalorimeter/LArElecCalib + Calorimeter/CaloCell PRIVATE Calorimeter/CaloIdentifier Database/AthenaPOOL/AthenaPoolUtilities diff --git a/LArCalorimeter/LArTools/LArTools/LArHVFraction.h b/LArCalorimeter/LArTools/LArTools/LArHVFraction.h deleted file mode 100644 index 0bc236038cf3f395bd0536a008d2447f7adb5577..0000000000000000000000000000000000000000 --- a/LArCalorimeter/LArTools/LArTools/LArHVFraction.h +++ /dev/null @@ -1,74 +0,0 @@ -// this file is -*- C++ -*- - -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef LARHVTOOLS_LARHVFRACTION_H -#define LARHVTOOLS_LARHVFRACTION_H - -#include "LArElecCalib/ILArHVCorrTool.h" - -///////////////////////////////////////////////////////////////////////// -/// \class LArHVFraction -/// \brief Retrieves the energy of cells affected by HV issues -/// -/// -/// This class provides utilities to select cells affected by HV issues and -/// to compute their number and amount of energy from a given list of cells. -/// -/// The class makes use of ILArHVCorrTool and implements this selection : -/// isAffected = |hvcorr - 1| > threshold -/// where hvcorr=ILArHVCorrTool::Scale( cell ) and threshold is the parameter given to the ctor. -/// -class LArHVFraction { - public: - LArHVFraction(const ILArHVCorrTool *tool, double threshold=0.002) : m_tool(tool), m_threshold(threshold) {} - - struct Result { - double energySum; - size_t numCells; - }; - - - - bool isHVAffected(const CaloCell* cell) const { - if(cell->caloDDE()->is_tile()) return false; - - Identifier cellID=cell->ID(); - //retrieve offline correction from DB: - float hvcorr = m_tool->Scale(cellID); - - //Correction should be between (0 and 2) - if (!(hvcorr>0. && hvcorr<100.)) return false; - - return (fabs(hvcorr-1.)>m_threshold) ; - } - - - /// Returns the energy & num of cells affected by HV issues. - /// Inputs parameter are *any* type of iterator over cells. - template<class CELLITERATOR> - Result findHVaffectedCells(CELLITERATOR it, CELLITERATOR itEnd) { - - double energyHVaff=0; - size_t numCellsHVaff=0; - - for( ;it!=itEnd; it++) { - const CaloCell* thisCell = *it; - - if( isHVAffected(thisCell) ){ - energyHVaff+=fabs(thisCell->e()); - numCellsHVaff++; - }//end of non nominal HV area - - } - return Result {energyHVaff, numCellsHVaff}; - } - - protected: - const ILArHVCorrTool *m_tool; - double m_threshold; -}; - -#endif diff --git a/LumiBlock/LumiBlockComps/LumiBlockComps/LumiBlockMetaDataTool.h b/LumiBlock/LumiBlockComps/LumiBlockComps/LumiBlockMetaDataTool.h index 05f68664da1592a556c71b0329e93470e24f5701..c38da2c39117defa067ba5b725012ee47e5d5d36 100644 --- a/LumiBlock/LumiBlockComps/LumiBlockComps/LumiBlockMetaDataTool.h +++ b/LumiBlock/LumiBlockComps/LumiBlockComps/LumiBlockMetaDataTool.h @@ -57,15 +57,6 @@ public: /// Function writing the collected metadata to the output virtual StatusCode metaDataStop(); - /// Function collecting the metadata from a new input file - virtual StatusCode beginInputFile(const SG::SourceID&) {return this->beginInputFile();} - - /// Function collecting the metadata from a new input file - virtual StatusCode endInputFile(const SG::SourceID&) {return this->endInputFile();} - - /// Function writing the collected metadata to the output - virtual StatusCode metaDataStop(const SG::SourceID&) {return this->metaDataStop();} - /// functions from ILumiBlockMetaDataTool inline const Root::TGRLCollection* getGRLCollection() const { return m_grlcollection; } inline const TString& getUniqueGRLString() const { return m_grlxmlstring; } diff --git a/MuonSpectrometer/MuonCablings/MuonCablingData/MuonCablingData/MuonMDT_CablingMap.h b/MuonSpectrometer/MuonCablings/MuonCablingData/MuonCablingData/MuonMDT_CablingMap.h index 95f64ac450de432205a90804e65613a306b045a5..f2e7694f0b7d8f87a5d8b95f7dc3449264231694 100644 --- a/MuonSpectrometer/MuonCablings/MuonCablingData/MuonCablingData/MuonMDT_CablingMap.h +++ b/MuonSpectrometer/MuonCablings/MuonCablingData/MuonCablingData/MuonMDT_CablingMap.h @@ -72,10 +72,10 @@ class MuonMDT_CablingMap : public MdtMapBase<MdtSubdetectorMap> { uint32_t getROBId(const IdentifierHash stationCode); /** return a vector of HashId lists for a given list of ROD's */ - const std::vector<IdentifierHash> getChamberHashVec(const std::vector< uint32_t> &ROBId_list); + const std::vector<IdentifierHash> getChamberHashVec(const std::vector< uint32_t> &ROBId_list) const; /** return a HashId list for a given ROD */ - const std::vector<IdentifierHash>& getChamberHashVec(const uint32_t ROBId); + const std::vector<IdentifierHash>& getChamberHashVec(const uint32_t ROBId) const; /** return the ROD id of a given chamber */ std::vector<uint32_t> getAllROBId(); @@ -124,6 +124,9 @@ class MuonMDT_CablingMap : public MdtMapBase<MdtSubdetectorMap> { }; +//#include "CLIDSvc/CLASS_DEF.h" CLASS_DEF( MuonMDT_CablingMap , 51038731 , 1 ) +#include "AthenaKernel/CondCont.h" +CLASS_DEF( CondCont<MuonMDT_CablingMap>, 34552845, 0 ) #endif diff --git a/MuonSpectrometer/MuonCablings/MuonCablingData/src/MuonMDT_CablingMap.cxx b/MuonSpectrometer/MuonCablings/MuonCablingData/src/MuonMDT_CablingMap.cxx index dd85bca788ddd7eb85991bb28b9873ddc1d1346b..33fcc6ded7be9bf38a292b59278cd8c8f9d6c689 100644 --- a/MuonSpectrometer/MuonCablings/MuonCablingData/src/MuonMDT_CablingMap.cxx +++ b/MuonSpectrometer/MuonCablings/MuonCablingData/src/MuonMDT_CablingMap.cxx @@ -423,7 +423,7 @@ uint32_t MuonMDT_CablingMap::getROBId(const IdentifierHash stationCode) return rodId; } -const std::vector<IdentifierHash>& MuonMDT_CablingMap::getChamberHashVec(const uint32_t ROBId) +const std::vector<IdentifierHash>& MuonMDT_CablingMap::getChamberHashVec(const uint32_t ROBId) const { RODToChamberMap::const_iterator Rob_it = m_RODToChamber->find(ROBId); if(Rob_it != m_RODToChamber->end()) { @@ -435,7 +435,7 @@ const std::vector<IdentifierHash>& MuonMDT_CablingMap::getChamberHashVec(const u } } -const std::vector<IdentifierHash> MuonMDT_CablingMap::getChamberHashVec(const std::vector< uint32_t> &ROBId_list) +const std::vector<IdentifierHash> MuonMDT_CablingMap::getChamberHashVec(const std::vector< uint32_t> &ROBId_list) const { std::vector<IdentifierHash> HashVec; diff --git a/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/CMakeLists.txt b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/CMakeLists.txt index cb08ff7105d5c4ecf81302e2238c07d7d83a53c7..2957a3b18d3d505a5542a842550606e782a390ba 100644 --- a/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/CMakeLists.txt +++ b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/CMakeLists.txt @@ -18,18 +18,21 @@ atlas_depends_on_subdirs( PUBLIC Event/EventInfo Event/EventInfoMgt MuonSpectrometer/MuonCablings/MuonCablingData - MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface ) + MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface + MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondSvc + MuonSpectrometer/MuonConditions/MuonCondCabling/MDT_CondCabling + Tools/PathResolver ) # Component(s) in the package: atlas_add_library( MuonMDT_CablingLib src/*.cxx PUBLIC_HEADERS MuonMDT_Cabling LINK_LIBRARIES AthenaBaseComps AthenaKernel GaudiKernel StoreGateLib SGtests MuonIdHelpersLib - PRIVATE_LINK_LIBRARIES AthenaPoolUtilities Identifier EventInfo MuonCablingData MuonCondInterface ) + PRIVATE_LINK_LIBRARIES AthenaPoolUtilities Identifier EventInfo MuonCablingData MuonCondInterface MuonCondSvc ) atlas_add_component( MuonMDT_Cabling src/components/*.cxx - LINK_LIBRARIES AthenaBaseComps AthenaKernel StoreGateLib SGtests GaudiKernel MuonIdHelpersLib AthenaPoolUtilities Identifier EventInfo MuonCablingData MuonCondInterface MuonMDT_CablingLib ) + LINK_LIBRARIES AthenaBaseComps AthenaKernel StoreGateLib SGtests GaudiKernel MuonIdHelpersLib AthenaPoolUtilities Identifier EventInfo MuonCablingData MuonCondInterface MuonMDT_CablingLib MuonCondSvc ) # Install files from the package: atlas_install_python_modules( python/*.py ) diff --git a/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/MuonMDT_Cabling/MuonMDT_CablingAlg.h b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/MuonMDT_Cabling/MuonMDT_CablingAlg.h new file mode 100644 index 0000000000000000000000000000000000000000..4e04aa0352b8a6dfec870d61b42bb6bbd6131578 --- /dev/null +++ b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/MuonMDT_Cabling/MuonMDT_CablingAlg.h @@ -0,0 +1,54 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +/** + MuonMDT_CablingAlg reads raw condition data and writes derived condition data to the condition store +*/ + +#ifndef MUONMDT_CABLING_MUONMDT_CABLINGALG_H +#define MUONMDT_CABLING_MUONMDT_CABLINGALG_H + +#include "AthenaBaseComps/AthAlgorithm.h" +#include "StoreGate/ReadCondHandleKey.h" +#include "StoreGate/WriteCondHandleKey.h" +#include "GaudiKernel/ICondSvc.h" +#include "AthenaPoolUtilities/CondAttrListCollection.h" + +#include "GaudiKernel/AlgTool.h" +#include "MuonCondInterface/IMDTCablingDbTool.h" +#include "GaudiKernel/IChronoStatSvc.h" +#include "MuonCablingData/MuonMDT_CablingMap.h" +#include "AthenaKernel/IIOVDbSvc.h" +#include "GaudiKernel/MsgStream.h" +#include "AthenaBaseComps/AthAlgTool.h" + +class Identifier; +class StoreGateSvc; +class MdtIdHelper; +class IIOVSvc; +class IIOVDbSvc; +class StatusCode; +class MuonMDT_CablingMap; + +class MuonMDT_CablingAlg: public AthAlgorithm { + + public: + + MuonMDT_CablingAlg (const std::string& name, ISvcLocator* pSvcLocator); + virtual ~MuonMDT_CablingAlg() = default; + virtual StatusCode initialize() override; + virtual StatusCode execute() override; + virtual StatusCode finalize() override; + + private: + + const MdtIdHelper* m_mdtIdHelper; + SG::ReadCondHandleKey<CondAttrListCollection> m_readKeyMez; + SG::ReadCondHandleKey<CondAttrListCollection> m_readKeyMap; + SG::WriteCondHandleKey<MuonMDT_CablingMap> m_writeKey{this, "WriteKey", "MuonMDT_CablingMap", "Key of output MDT cabling map"}; + ServiceHandle<ICondSvc> m_condSvc; + +}; + +#endif diff --git a/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/MuonMDT_CablingAlg.cxx b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/MuonMDT_CablingAlg.cxx new file mode 100644 index 0000000000000000000000000000000000000000..110c4f7e80e9f4093f2e85d3ce92240b02c5fa85 --- /dev/null +++ b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/MuonMDT_CablingAlg.cxx @@ -0,0 +1,301 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#include "MuonMDT_Cabling/MuonMDT_CablingAlg.h" + +#include "GaudiKernel/MsgStream.h" +#include "StoreGate/StoreGateSvc.h" +#include "SGTools/TransientAddress.h" +#include "CoralBase/Attribute.h" +#include "CoralBase/AttributeListSpecification.h" +#include "AthenaPoolUtilities/AthenaAttributeList.h" +#include "AthenaPoolUtilities/CondAttrListCollection.h" +#include "Identifier/IdentifierHash.h" +#include "MuonIdHelpers/MdtIdHelper.h" +#include "PathResolver/PathResolver.h" +#include <fstream> +#include <string> +#include <stdlib.h> +#include "MuonCondSvc/MdtStringUtils.h" +#include <map> +#include "Identifier/Identifier.h" + +MuonMDT_CablingAlg::MuonMDT_CablingAlg(const std::string& name, ISvcLocator* pSvcLocator) : + AthAlgorithm(name, pSvcLocator), + m_readKeyMez("/MDT/CABLING/MEZZANINE_SCHEMA"), + m_readKeyMap("/MDT/CABLING/MAP_SCHEMA"), + m_condSvc{"CondSvc", name} +{ + declareProperty("MezzanineFolders", m_readKeyMez); + declareProperty("MapFolders", m_readKeyMap); +} + +StatusCode MuonMDT_CablingAlg::initialize(){ + + ATH_MSG_DEBUG( "initialize " << name() ); + ATH_CHECK(m_condSvc.retrieve()); + ATH_CHECK(m_readKeyMez.initialize()); + ATH_CHECK(m_readKeyMap.initialize()); + ATH_CHECK(m_writeKey.initialize()); + if(m_condSvc->regHandle(this, m_writeKey).isFailure()) { + ATH_MSG_FATAL("unable to register WriteCondHandle " << m_writeKey.fullKey() << " with CondSvc"); + return StatusCode::FAILURE; + } + ATH_CHECK( detStore()->retrieve(m_mdtIdHelper, "MDTIDHELPER" ) ); + + return StatusCode::SUCCESS; +} + +StatusCode MuonMDT_CablingAlg::execute(){ + + ATH_MSG_DEBUG( "execute " << name() ); + + // Write Cond Handle + + SG::WriteCondHandle<MuonMDT_CablingMap> writeHandle{m_writeKey}; + if (writeHandle.isValid()) { + ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid." + << ". In theory this should not be called, but may happen" + << " if multiple concurrent events are being processed out of order."); + return StatusCode::SUCCESS; + } + std::unique_ptr<MuonMDT_CablingMap> writeCdo{std::make_unique<MuonMDT_CablingMap>()}; + + // Read Cond Handle + + SG::ReadCondHandle<CondAttrListCollection> readHandleMez{ m_readKeyMez }; + const CondAttrListCollection* readCdoMez{*readHandleMez}; + if(readCdoMez==0){ + ATH_MSG_ERROR("Null pointer to the read conditions object"); + return StatusCode::FAILURE; + } + EventIDRange rangeMez; + if ( !readHandleMez.range(rangeMez) ) { + ATH_MSG_ERROR("Failed to retrieve validity range for " << readHandleMez.key()); + return StatusCode::FAILURE; + } + ATH_MSG_INFO("Size of CondAttrListCollection " << readHandleMez.fullKey() << " readCdoMez->size()= " << readCdoMez->size()); + ATH_MSG_INFO("Range of input is " << rangeMez); + + SG::ReadCondHandle<CondAttrListCollection> readHandleMap{ m_readKeyMap }; + const CondAttrListCollection* readCdoMap{*readHandleMap}; + if(readCdoMap==0){ + ATH_MSG_ERROR("Null pointer to the read conditions object"); + return StatusCode::FAILURE; + } + EventIDRange rangeMap; + if ( !readHandleMap.range(rangeMap) ) { + ATH_MSG_ERROR("Failed to retrieve validity range for " << readHandleMap.key()); + return StatusCode::FAILURE; + } + ATH_MSG_INFO("Size of CondAttrListCollection " << readHandleMap.fullKey() << " readCdoMap->size()= " << readCdoMap->size()); + ATH_MSG_INFO("Range of input is " << rangeMap); + + // Create an intersection of input IOVs + EventIDRange rangeIntersection = EventIDRange::intersect(rangeMez,rangeMap); + if(rangeIntersection.start()>rangeIntersection.stop()) { + ATH_MSG_ERROR("Invalid intersection range: " << rangeIntersection); + return StatusCode::FAILURE; + } + + // begin like MDTCablingDbTool::loadMDTMap() ---------- + + // access to Mezzanine Schema Table to obtained the mezzanine type + + CondAttrListCollection::const_iterator itrMez; + for (itrMez = readCdoMez->begin(); itrMez != readCdoMez->end(); ++itrMez) { + const coral::AttributeList& atr=itrMez->second; + int sequence; + int layer; + int mezzanine_type; + mezzanine_type=*(static_cast<const int*>((atr["Mezzanine_Type"]).addressOfData())); + layer=*(static_cast<const int*>((atr["Layer"]).addressOfData())); + sequence=*(static_cast<const int*>((atr["Sequence"]).addressOfData())); + ATH_MSG_VERBOSE( "Sequence load is " << sequence << " for the mezzanine type = "<< mezzanine_type<< " for the layer number = " <<layer ); + // here add the mezzanine type to the cabling class + bool addLine = writeCdo->addMezzanineLine(mezzanine_type, layer, sequence); + if (!addLine) { + ATH_MSG_ERROR( "Could not add the mezzanine sequence to the map " ); + } + else { + ATH_MSG_VERBOSE( "Sequence added successfully to the map" ); + } + } + + // access to Map Schema Table to obtained the Map + + bool BMGchamberadded = false; + + CondAttrListCollection::const_iterator itrMap; + for (itrMap = readCdoMap->begin(); itrMap != readCdoMap->end(); ++itrMap) { + const coral::AttributeList& atr=itrMap->second; + + std::string map; + std::string chamber_name, subdetector_id; + int eta, phi, chan; + int mrod, csm, mezzanine_type; + + chamber_name=*(static_cast<const std::string*>((atr["Chamber_Name"]).addressOfData())); + eta=*(static_cast<const int*>((atr["Eta"]).addressOfData())); + phi=*(static_cast<const int*>((atr["Phi"]).addressOfData())); + subdetector_id=*(static_cast<const std::string*>((atr["SubDet_Id"]).addressOfData())); + mrod=*(static_cast<const int*>((atr["MROD"]).addressOfData())); + csm=*(static_cast<const int*>((atr["CSM"]).addressOfData())); + chan=*(static_cast<const int*>((atr["Chan"]).addressOfData())); + mezzanine_type=*(static_cast<const int*>((atr["Mezzanine_Type"]).addressOfData())); + map=*(static_cast<const std::string*>((atr["Map"]).addressOfData())); + + ATH_MSG_VERBOSE( "Data load is: /n" << + "Chamber_Name = " << chamber_name << " eta= " << eta << " Phi= " << phi + << " sub_id = " <<subdetector_id << " mrod = " << mrod << " csm = " << csm + << " chan= " << chan << " mezzanine_type= " << mezzanine_type << " map = " <<map + << " FINISHED HERE " ); + + // convert the string name to index + std::string stationNameString = chamber_name.substr(0,3); + // fix for the BOE chambers, which in the offline are treated as BOL + if (stationNameString == "BOE") { + stationNameString = "BOL"; + } + if (stationNameString == "BMG") BMGchamberadded = true; + int stationIndex = m_mdtIdHelper->stationNameIndex(stationNameString); + ATH_MSG_VERBOSE( "station name: " << stationNameString << " index: " << stationIndex ); + // convert the subdetector id to integer + int subdetectorId = atoi(subdetector_id.c_str()); + + std::string delimiter = ","; + std::vector<std::string> info_map; + MuonCalib::MdtStringUtils::tokenize(map,info_map,delimiter); + ATH_MSG_VERBOSE( " parsing of the map" ); + + int index=0; + int tdcId = -99; + int channelId = -99; + int multilayer = -99; + int layer = -99; + int tube = -99; + + // this is a loop on the mezzanines, add each mezzanine to the map + + for(unsigned int i=0; i<info_map.size();i++){ + ATH_MSG_VERBOSE( i << "..."<< info_map[i] ); + int info = atoi(info_map[i].c_str()); + index++; + // this is a tdcid + if (index==1) { + tdcId = info; + } + // this is a channel Id + else if (index==2) { + channelId = info; + } + // this is a tube id that must be unpacked + else if (index==3) { + // unpack the tube Id + tube = info%100; + layer = ((info-tube)/100)%10; + multilayer = (((info-tube)/100)-layer)/10 ; + index = 0; + ATH_MSG_VERBOSE( "Adding new mezzanine: tdcId " << tdcId << " channel " << channelId + << " station " << stationIndex << " multilayer " << multilayer << " layer " << layer << " tube " << tube ); + // now this mezzanine can be added to the map: + writeCdo->addMezzanine(mezzanine_type, stationIndex, eta, phi, multilayer, + layer, tube, subdetectorId, mrod, csm, tdcId, channelId); + } + } + + } + + if(m_mdtIdHelper->stationNameIndex("BMG") != -1 && !BMGchamberadded) { + ATH_MSG_WARNING( "Running a layout including BMG chambers, but missing them in cabling from conditions --> hard-coding BMG cabling." ); + int stationIndex = m_mdtIdHelper->stationNameIndex("BMG"); + + // BMG1A12 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, 1, 6, 1, 4,(i*6)+1, 97, 50, 0, 16-2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, 1, 6, 2, 4,(i*6)+1, 97, 50, 0, 16-2*i, 0); + // BMG2A12 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, 2, 6, 1, 4,(i*6)+1, 97, 50, 1, 16-2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, 2, 6, 2, 4,(i*6)+1, 97, 50, 1, 16-2*i, 0); + // BMG3A12 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, 3, 6, 1, 4,(i*6)+1, 97, 50, 2, 16-2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, 3, 6, 2, 4,(i*6)+1, 97, 50, 2, 16-2*i, 0); + + // BMG1C12 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, -1, 6, 1, 4,(i*6)+6, 98, 50, 0, 2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, -1, 6, 2, 4,(i*6)+6, 98, 50, 0, 2*i, 0); + // BMG2C12 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, -2, 6, 1, 4,(i*6)+6, 98, 50, 1, 2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, -2, 6, 2, 4,(i*6)+6, 98, 50, 1, 2*i, 0); + // BMG3C12 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, -3, 6, 1, 4,(i*6)+6, 98, 50, 2, 2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, -3, 6, 2, 4,(i*6)+6, 98, 50, 2, 2*i, 0); + + // BMG1A14 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, 1, 7, 1, 4,(i*6)+6, 97, 51, 0, 2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, 1, 7, 2, 4,(i*6)+6, 97, 51, 0, 2*i, 0); + // BMG2A14 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, 2, 7, 1, 4,(i*6)+6, 97, 51, 1, 2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, 2, 7, 2, 4,(i*6)+6, 97, 51, 1, 2*i, 0); + // BMG3A14 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, 3, 7, 1, 4,(i*6)+6, 97, 51, 2, 2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, 3, 7, 2, 4,(i*6)+6, 97, 51, 2, 2*i, 0); + + // BMG1C14 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, -1, 7, 1, 4,(i*6)+1, 98, 51, 0, 16-2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, -1, 7, 2, 4,(i*6)+1, 98, 51, 0, 16-2*i, 0); + // BMG2C14 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, -2, 7, 1, 4,(i*6)+1, 98, 51, 1, 16-2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, -2, 7, 2, 4,(i*6)+1, 98, 51, 1, 16-2*i, 0); + // BMG3C14 ---------------- mezzanine_type, stationIndex, eta, phi, multilayer, layer, tube, subdetectorId, mrod, csm, tdcId, channelId + for(int i=0; i<9; i++) // ML1 + writeCdo->addMezzanine( 60, stationIndex, -3, 7, 1, 4,(i*6)+1, 98, 51, 2, 16-2*i+1, 0); + for(int i=0; i<9; i++) // ML2 + writeCdo->addMezzanine( 60, stationIndex, -3, 7, 2, 4,(i*6)+1, 98, 51, 2, 16-2*i, 0); + } + + ATH_MSG_VERBOSE( "Collection CondAttrListCollection CLID " + << readCdoMap->clID() ); + + // end like MDTCablingDbTool::loadMDTMap() ---------- + + // maybe better empty check here + + if ( writeHandle.record(rangeIntersection, std::move(writeCdo)).isFailure() ) { + ATH_MSG_FATAL("Could not record MuonMDT_CablingMap " << writeHandle.key() + << " with EventRange " << rangeIntersection << " into Conditions Store"); + return StatusCode::FAILURE; + } + ATH_MSG_INFO("recorded new " << writeHandle.key() << " with range " << rangeIntersection << " into Conditions Store"); + + return StatusCode::SUCCESS; +} + + +StatusCode MuonMDT_CablingAlg::finalize(){ + + ATH_MSG_DEBUG( "finalize " << name() ); + return StatusCode::SUCCESS; +} diff --git a/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/components/MuonMDT_Cabling_entries.cxx b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/components/MuonMDT_Cabling_entries.cxx index af477c483ea3a3bc5e91f14b6b9a20f4021028f6..6061408bd500fb1451960045b1f60cc8e6f1f4c0 100644 --- a/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/components/MuonMDT_Cabling_entries.cxx +++ b/MuonSpectrometer/MuonCablings/MuonMDT_Cabling/src/components/MuonMDT_Cabling_entries.cxx @@ -1,6 +1,8 @@ #include "MuonMDT_Cabling/MuonMDT_CablingSvc.h" +#include "MuonMDT_Cabling/MuonMDT_CablingAlg.h" #include "MuonMDT_Cabling/MdtTestCabling.h" DECLARE_COMPONENT( MuonMDT_CablingSvc ) +DECLARE_COMPONENT( MuonMDT_CablingAlg ) DECLARE_COMPONENT( MdtTestCabling ) diff --git a/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/python/MuonByteStreamCnvTestConfig.py b/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/python/MuonByteStreamCnvTestConfig.py index 0ce76d65963e7de96a9b4d98ed49e0bc5ea89d0d..a9070f20eeb2be61825ee390352d5f681dcb6195 100644 --- a/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/python/MuonByteStreamCnvTestConfig.py +++ b/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/python/MuonByteStreamCnvTestConfig.py @@ -8,7 +8,7 @@ def getMdtRdoToMdtDigit(name="MdtRdoToMdtDigitOverlay", **kwargs): kwargs.setdefault("DecodeTgcRDO", False) kwargs.setdefault("DecodeCscRDO", False) from OverlayCommonAlgs.OverlayFlags import overlayFlags - kwargs.setdefault("RetrievePrivateCopy", not overlayFlags.isDataOverlay()) + kwargs.setdefault("RetrievePrivateCopy", False) kwargs.setdefault("EvtStore", overlayFlags.dataStore()) return CfgMgr.MuonRdoToMuonDigitTool(name, **kwargs) @@ -24,7 +24,7 @@ def getRpcRdoToRpcDigit(name="RpcRdoToRpcDigitOverlay", **kwargs): kwargs.setdefault("DecodeTgcRDO", False) kwargs.setdefault("DecodeCscRDO", False) from OverlayCommonAlgs.OverlayFlags import overlayFlags - kwargs.setdefault("RetrievePrivateCopy", not overlayFlags.isDataOverlay()) + kwargs.setdefault("RetrievePrivateCopy", False) kwargs.setdefault("EvtStore", overlayFlags.dataStore()) return CfgMgr.MuonRdoToMuonDigitTool(name, **kwargs) @@ -40,7 +40,7 @@ def getTgcRdoToTgcDigit(name="TgcRdoToTgcDigitOverlay", **kwargs): kwargs.setdefault("DecodeTgcRDO", True) kwargs.setdefault("DecodeCscRDO", False) from OverlayCommonAlgs.OverlayFlags import overlayFlags - kwargs.setdefault("RetrievePrivateCopy", not overlayFlags.isDataOverlay()) + kwargs.setdefault("RetrievePrivateCopy", False) kwargs.setdefault("EvtStore", overlayFlags.dataStore()) return CfgMgr.MuonRdoToMuonDigitTool(name, **kwargs) diff --git a/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCablingConfig.py b/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCablingConfig.py index 7d2d0ab5f691fbfefb12fd8435afaa1df7d6ab8e..2df2b8b780077f9de72b5f4257a583fd4175bab6 100644 --- a/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCablingConfig.py +++ b/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCablingConfig.py @@ -11,6 +11,11 @@ from AthenaCommon.DetFlags import DetFlags from RecExConfig.RecFlags import rec as recFlags from MuonCnvFlags import muonCnvFlags +from AthenaCommon.AlgSequence import AthSequencer +from MuonMDT_Cabling.MuonMDT_CablingConf import MuonMDT_CablingAlg +condSequence = AthSequencer("AthCondSeq") +condSequence += MuonMDT_CablingAlg("MuonMDT_CablingAlg") + # defaults have to be re-set now since the jobproperties and trigger flags are now available # SS muonCnvFlags.setDefaults() @@ -138,16 +143,20 @@ if DetFlags.readRDOBS.MDT_on() or DetFlags.readRDOPool.MDT_on() or DetFlags.rea from IOVDbSvc.CondDB import conddb IOVDbSvc = ServiceMgr.IOVDbSvc if globalflags.DataSource()=='data': - conddb.addFolder("MDT","/MDT/CABLING/MAP_SCHEMA") - conddb.addFolder("MDT","/MDT/CABLING/MEZZANINE_SCHEMA") + conddb.addFolder("MDT","/MDT/CABLING/MAP_SCHEMA",className='CondAttrListCollection') + conddb.addFolder("MDT","/MDT/CABLING/MEZZANINE_SCHEMA",className='CondAttrListCollection') MDTCablingDbTool.MapFolders = "/MDT/CABLING/MAP_SCHEMA" MDTCablingDbTool.MezzanineFolders = "/MDT/CABLING/MEZZANINE_SCHEMA" + MuonMDT_CablingAlg.MapFolders = "/MDT/CABLING/MAP_SCHEMA" + MuonMDT_CablingAlg.MezzanineFolders = "/MDT/CABLING/MEZZANINE_SCHEMA" else: - conddb.addFolder("MDT_OFL","/MDT/Ofl/CABLING/MAP_SCHEMA") - conddb.addFolder("MDT_OFL","/MDT/Ofl/CABLING/MEZZANINE_SCHEMA") + conddb.addFolder("MDT_OFL","/MDT/Ofl/CABLING/MAP_SCHEMA",className='CondAttrListCollection') + conddb.addFolder("MDT_OFL","/MDT/Ofl/CABLING/MEZZANINE_SCHEMA",className='CondAttrListCollection') MDTCablingDbTool.MapFolders = "/MDT/Ofl/CABLING/MAP_SCHEMA" MDTCablingDbTool.MezzanineFolders = "/MDT/Ofl/CABLING/MEZZANINE_SCHEMA" - + MuonMDT_CablingAlg.MapFolders = "/MDT/Ofl/CABLING/MAP_SCHEMA" + MuonMDT_CablingAlg.MezzanineFolders = "/MDT/Ofl/CABLING/MEZZANINE_SCHEMA" + ToolSvc += MDTCablingDbTool diff --git a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MMPrepDataContainerCnv.cxx b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MMPrepDataContainerCnv.cxx index 424657976f50377a826350b4ab964f46bb6c9f6e..68497de4c03b598fba354156049b2740978031b0 100644 --- a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MMPrepDataContainerCnv.cxx +++ b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MMPrepDataContainerCnv.cxx @@ -32,8 +32,6 @@ StatusCode MMPrepDataContainerCnv::initialize() { if( !MMPrepDataContainerCnvBase::initialize().isSuccess() ) return StatusCode::FAILURE; - msgSvc()->setOutputLevel( "MMPrepDataContainerCnv", MSG::DEBUG ); - // Get the messaging service, print where you are MsgStream log(msgSvc(), "MMPrepDataContainerCnv"); if (log.level() <= MSG::INFO) log << MSG::INFO << "MMPrepDataContainerCnv::initialize()" << endmsg; diff --git a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MM_RawDataContainerCnv.cxx b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MM_RawDataContainerCnv.cxx index 86df555daaf672bdbe4191be99827ef4242d4a2f..cba2e8a51c8fbc6d093b25783e94732173043d60 100644 --- a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MM_RawDataContainerCnv.cxx +++ b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/MM_RawDataContainerCnv.cxx @@ -20,8 +20,6 @@ StatusCode MM_RawDataContainerCnv::initialize() { if( !MM_RawDataContainerCnvBase::initialize().isSuccess() ) return StatusCode::FAILURE; - msgSvc()->setOutputLevel( "MM_RawDataContainerCnv", MSG::DEBUG ); - // Get the messaging service, print where you are MsgStream log(msgSvc(), "MM_RawDataContainerCnv"); if (log.level() <= MSG::INFO) log << MSG::INFO << "MM_RawDataContainerCnv::initialize()" << endmsg; @@ -74,4 +72,4 @@ MM_RawDataContainerCnv::createTransient() throw std::runtime_error("Unsupported persistent version of MM Raw Data (RDO) container"); } return transCont; -} \ No newline at end of file +} diff --git a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/STGC_RawDataContainerCnv.cxx b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/STGC_RawDataContainerCnv.cxx index 979d5c62143b769e3a426291c47d7c60bab693ae..1319fa8508af4a408d2a32a3eb858afc04ba45ce 100644 --- a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/STGC_RawDataContainerCnv.cxx +++ b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/STGC_RawDataContainerCnv.cxx @@ -19,8 +19,6 @@ StatusCode STGC_RawDataContainerCnv::initialize() { if( !STGC_RawDataContainerCnvBase::initialize().isSuccess() ) return StatusCode::FAILURE; - msgSvc()->setOutputLevel( "STGC_RawDataContainerCnv", MSG::DEBUG ); - // Get the messaging service, print where you are MsgStream log(msgSvc(), "STGC_RawDataContainerCnv"); if (log.level() <= MSG::INFO) log << MSG::INFO << "STGC_RawDataContainerCnv::initialize()" << endmsg; @@ -76,4 +74,4 @@ STGC_RawDataContainerCnv::createTransient() throw std::runtime_error("Unsupported persistent version of STGC Raw Data (RDO) container"); } return transCont; -} \ No newline at end of file +} diff --git a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/sTgcPrepDataContainerCnv.cxx b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/sTgcPrepDataContainerCnv.cxx index 2787a36a0805f0e462bb95a64d8ac54161724cc0..86872b81668f38df89c414c4d68de8c76e5d9177 100644 --- a/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/sTgcPrepDataContainerCnv.cxx +++ b/MuonSpectrometer/MuonCnv/MuonEventAthenaPool/src/sTgcPrepDataContainerCnv.cxx @@ -32,8 +32,6 @@ StatusCode sTgcPrepDataContainerCnv::initialize() { if( !sTgcPrepDataContainerCnvBase::initialize().isSuccess() ) return StatusCode::FAILURE; - msgSvc()->setOutputLevel( "sTgcPrepDataContainerCnv", MSG::DEBUG ); - // Get the messaging service, print where you are MsgStream log(msgSvc(), "sTgcPrepDataContainerCnv"); if (log.level() <= MSG::INFO) log << MSG::INFO << "sTgcPrepDataContainerCnv::initialize()" << endmsg; diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/make_dd.icc b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/make_dd.icc index 8fa1bdaaaade88987448d795baa8c1514a1efddb..b0b48f61b300392a3c7b1fc58730e4b8b9b6fe61 100644 --- a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/make_dd.icc +++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/make_dd.icc @@ -235,7 +235,7 @@ const MuonGM::MuonDetectorManager& make_dd() spos3->ID.detectorAddress = "dum3.1.1....3A"; ddmdet.Register(); - ddmdet.roParameters.stereoAngel.push_back(0); + ddmdet.roParameters.stereoAngle.push_back(0); AGDDDetectorPositioner* mpos2 = new AGDDDetectorPositioner ("pmdum2", xform); deleter.add (mpos2); diff --git a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/CMakeLists.txt b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/CMakeLists.txt index e83946c57bb3747aff54163d08a1d628c0849c90..b8baefe0fdce59c64898db1ab003f0a329f0f713 100644 --- a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/CMakeLists.txt +++ b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/CMakeLists.txt @@ -24,7 +24,8 @@ atlas_depends_on_subdirs( PUBLIC MuonSpectrometer/MuonDigitContainer MuonSpectrometer/MuonIdHelpers MuonSpectrometer/MuonRDO - MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData ) + MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData + MuonSpectrometer/MuonCablings/MuonCablingData ) # External dependencies: find_package( tdaq-common COMPONENTS eformat_write DataWriter ) @@ -34,7 +35,7 @@ atlas_add_component( MuonMDT_CnvTools src/*.cxx src/components/*.cxx INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} - LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} ByteStreamData ByteStreamData_test GaudiKernel AthenaBaseComps StoreGateLib SGtests AtlasDetDescr Identifier ByteStreamCnvSvcBaseLib MuonMDT_CablingLib MdtCalibSvcLib MuonCalibEvent MuonContainerManager MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib MuonRDO MuonPrepRawData ) + LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} ByteStreamData ByteStreamData_test GaudiKernel AthenaBaseComps StoreGateLib SGtests AtlasDetDescr Identifier ByteStreamCnvSvcBaseLib MuonMDT_CablingLib MdtCalibSvcLib MuonCalibEvent MuonContainerManager MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib MuonRDO MuonPrepRawData MuonCablingData ) # Install files from the package: atlas_install_headers( MuonMDT_CnvTools ) diff --git a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx index 8d228cfaddc22ebe55285b6d0998f096df91b29f..695bafcc870771380db9fe7c219834737b3d393e 100644 --- a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx +++ b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.cxx @@ -21,8 +21,6 @@ #include "MdtCalibSvc/MdtCalibrationSvcSettings.h" #include "MdtCalibSvc/MdtCalibrationSvcInput.h" -#include "MuonMDT_Cabling/MuonMDT_CablingSvc.h" - #include "MuonPrepRawData/MdtTwinPrepData.h" // TWIN TUBES #include "GaudiKernel/ThreadLocalContext.h" @@ -84,11 +82,6 @@ Muon::MdtRdoToPrepDataTool::~MdtRdoToPrepDataTool() StatusCode Muon::MdtRdoToPrepDataTool::initialize() { - if (StatusCode::SUCCESS != serviceLocator()->service("MuonMDT_CablingSvc", m_mdtCabling)) { - ATH_MSG_ERROR(" Can't get MuonMDT_CablingSvc "); - return StatusCode::FAILURE; - } - if(detStore()->retrieve( m_muonMgr ).isFailure()) { ATH_MSG_FATAL(" Cannot retrieve MuonDetectorManager "); return StatusCode::FAILURE; @@ -155,8 +148,8 @@ StatusCode Muon::MdtRdoToPrepDataTool::initialize() // check if initializing of DataHandle objects success ATH_CHECK( m_rdoContainerKey.initialize() ); - ATH_CHECK( m_mdtPrepDataContainerKey.initialize() ); + ATH_CHECK( m_readKey.initialize() ); return StatusCode::SUCCESS; } @@ -169,7 +162,13 @@ StatusCode Muon::MdtRdoToPrepDataTool::finalize() StatusCode Muon::MdtRdoToPrepDataTool::decode( const std::vector<uint32_t>& robIds ) { - const std::vector<IdentifierHash>& chamberHashInRobs = m_mdtCabling->getChamberHashVec(robIds); + SG::ReadCondHandle<MuonMDT_CablingMap> readHandle{m_readKey}; + const MuonMDT_CablingMap* readCdo{*readHandle}; + if(readCdo==0){ + ATH_MSG_ERROR("Null pointer to the read conditions object"); + return StatusCode::FAILURE; + } + const std::vector<IdentifierHash>& chamberHashInRobs = readCdo->getChamberHashVec(robIds); return decode(chamberHashInRobs); } diff --git a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.h b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.h index 2ce6429151841cfafd09c97fba707c6904866704..f4d999ae47acf15107fb2408070444dc5ef1a440 100644 --- a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.h +++ b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataTool.h @@ -18,16 +18,17 @@ #include "MuonPrepRawData/MuonPrepDataContainer.h" #include "MuonRDO/MdtCsmContainer.h" +#include "MuonCablingData/MuonMDT_CablingMap.h" +#include "StoreGate/ReadCondHandleKey.h" + #include <string> class AtlasDetectorID; class Identifier; class MdtIdHelper; class MdtDigit; class MdtCalibrationSvc; -class MuonMDT_CablingSvc; class MdtCalibrationSvcSettings; class MdtCalibHit; -//class MuonMDT_CablingSvc; //class MdtRDO_Decoder; class MdtCsm; class StoreGateSvc; @@ -142,9 +143,6 @@ namespace Muon ToolHandle<Muon::IMDT_RDO_Decoder> m_mdtDecoder; ToolHandle<Muon::MuonIdHelperTool> m_idHelper; - //retreive the cabling svc - MuonMDT_CablingSvc* m_mdtCabling; - //keepTrackOfFullEventDecoding bool m_fullEventDone; @@ -167,6 +165,8 @@ namespace Muon std::map<Identifier, std::vector<Identifier> > m_DeadChannels; void initDeadChannels(const MuonGM::MdtReadoutElement* mydetEl); + SG::ReadCondHandleKey<MuonMDT_CablingMap> m_readKey{this, "ReadKey", "MuonMDT_CablingMap", "Key of MuonMDT_CablingMap"}; + }; } // end of namespace diff --git a/MuonSpectrometer/MuonConfig/CMakeLists.txt b/MuonSpectrometer/MuonConfig/CMakeLists.txt index 378e13d59737394db286c62abd607e66f95dc0e5..17623cc7b65486c228b9eeb94a86f76b11e8ba12 100644 --- a/MuonSpectrometer/MuonConfig/CMakeLists.txt +++ b/MuonSpectrometer/MuonConfig/CMakeLists.txt @@ -7,4 +7,17 @@ atlas_subdir( MuonConfig ) # Install files from the package: atlas_install_python_modules( python/*.py ) -atlas_install_joboptions( share/*.py ) \ No newline at end of file +atlas_install_joboptions( share/*.py ) + + +atlas_add_test( MuonCablingConfigTest + SCRIPT python -m MuonConfig.MuonCablingConfig + POST_EXEC_SCRIPT nopost.sh ) + +atlas_add_test( MuonReconstructionConfigTest + SCRIPT python -m MuonConfig.MuonReconstructionConfig + POST_EXEC_SCRIPT nopost.sh ) + +atlas_add_test( MuonSegmentFindingConfigTest + SCRIPT python -m MuonConfig.MuonSegmentFindingConfig + POST_EXEC_SCRIPT nopost.sh ) diff --git a/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py b/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py index 767d6bd8736e907937620346e6b283f71994bcb7..f6cba997e36746e03f1dc4d14bb5659dfc4cd950 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py +++ b/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py @@ -28,7 +28,7 @@ if __name__=="__main__": from AthenaCommon.Logging import log log.debug('About to set up Segment Finding.') - ConfigFlags.Input.Files = ["myESD.pool.root"] + ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/q221/21.3/myESD.pool.root"] ConfigFlags.Muon.doCSCs = False ConfigFlags.lock() diff --git a/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py index dfc44354121c9949f7f8d55e5b22b9c16f3562d5..78a1091d1dd0b88129623df3554258d76f134183 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py +++ b/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py @@ -813,7 +813,7 @@ if __name__=="__main__": from AthenaCommon.Logging import log log.debug('About to set up Segment Finding.') - ConfigFlags.Input.Files = ["myESD.pool.root"] + ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/q221/21.3/myESD.pool.root"] ConfigFlags.Input.isMC = True ConfigFlags.Muon.doCSCs = False ConfigFlags.lock() diff --git a/MuonSpectrometer/MuonDetDescr/MuonAGDDBase/src/mm_readoutHandler.cxx b/MuonSpectrometer/MuonDetDescr/MuonAGDDBase/src/mm_readoutHandler.cxx index b6a90dc58989189e6ed35c13a4ad1ec820133568..9e76d69890cdb4ec86d8b130c747fb61c4d3f234 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonAGDDBase/src/mm_readoutHandler.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonAGDDBase/src/mm_readoutHandler.cxx @@ -18,13 +18,46 @@ void mm_readoutHandler::ElementHandle() bool ret=true; MM->roParameters.stripPitch = getAttributeAsDouble ("stripPitch", ret); + if (! ret) std::cout << "WARNING: stripPitch is missing" << std::endl; + MM->roParameters.gasThickness = getAttributeAsDouble ("gasThickness", ret); + if (! ret) std::cout << "WARNING: gasThickness is missing" << std::endl; + MM->roParameters.pcbThickness = getAttributeAsDouble ("pcbThickness", ret); + if (! ret) std::cout << "WARNING: pcbThickness is missing" << std::endl; + MM->roParameters.driftThickness = getAttributeAsDouble ("driftThickness", ret); - MM->roParameters.stereoAngel = getAttributeAsVector ("stereoAngle", ret); + if (! ret) std::cout << "WARNING: driftThickness is missing" << std::endl; + + MM->roParameters.stereoAngle = getAttributeAsVector ("stereoAngle", ret); + if (! ret) std::cout << "WARNING: stereoAngle is missing" << std::endl; + MM->roParameters.readoutSide = getAttributeAsIntVector ("readoutSide", ret); + if (! ret) std::cout << "WARNING: readoutSide is missing" << std::endl; + MM->roParameters.zpos = getAttributeAsDouble ("zPos", ret); + if (! ret) std::cout << "WARNING: zPos is missing" << std::endl; + MM->roParameters.distanceFromZAxis = getAttributeAsDouble ("distanceFromZAxis", ret); + if (! ret) std::cout << "WARNING: distanceFromZAxis is missing" << std::endl; + MM->roParameters.roLength = getAttributeAsDouble ("roLength", ret); + if (! ret) std::cout << "WARNING: roLength is missing" << std::endl; + + MM->roParameters.sStripWidth = getAttributeAsDouble ("sStripWidth", ret); + if (! ret) std::cout << "WARNING: sStripWidth is missing" << std::endl; + + MM->roParameters.lStripWidth = getAttributeAsDouble ("lStripWidth", ret); + if (! ret) std::cout << "WARNING: lStripWidth is missing" << std::endl; + + MM->roParameters.activeH = getAttributeAsDouble ("activeH", ret); + if (! ret) std::cout << "WARNING: activeH is missing" << std::endl; + + MM->roParameters.minYPhi = getAttributeAsDouble ("minYPhi", ret); + if (! ret) std::cout << "WARNING: minYPhi is missing" << std::endl; + + MM->roParameters.maxYPhi = getAttributeAsDouble ("maxYPhi", ret); + if (! ret) std::cout << "WARNING: maxYPhi is missing" << std::endl; + } diff --git a/MuonSpectrometer/MuonDetDescr/MuonAGDDDescription/MuonAGDDDescription/MMDetectorDescription.h b/MuonSpectrometer/MuonDetDescr/MuonAGDDDescription/MuonAGDDDescription/MMDetectorDescription.h index f42da84164d22eca6a53f73205026c03697246ad..46ba4eec3ca95ca78bca13e65e110d4f87b73b77 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonAGDDDescription/MuonAGDDDescription/MMDetectorDescription.h +++ b/MuonSpectrometer/MuonDetDescr/MuonAGDDDescription/MuonAGDDDescription/MMDetectorDescription.h @@ -16,11 +16,16 @@ struct MMReadoutParameters { double gasThickness; double pcbThickness; double driftThickness; - std::vector<double> stereoAngel; + std::vector<double> stereoAngle; std::vector<int> readoutSide; double zpos; double distanceFromZAxis; double roLength; + double sStripWidth; + double lStripWidth; + double activeH; + double minYPhi; + double maxYPhi; }; class MMDetectorDescription: public AGDDDetector { diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonChannelDesign.h b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonChannelDesign.h index 0a71604a2308c5d08a9e55fc74f9ca49e523ff1e..230e66d477a96a81cb228a6d82046c7e5712be9d 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonChannelDesign.h +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonChannelDesign.h @@ -116,15 +116,20 @@ namespace MuonGM { Amg::Vector2D chPos; if (!channelPosition( chNum, chPos) ) return -10000.; - - double sA = stereoAngle(chNum); + // For MM Stereo strips, we rotated the geometry so the main axis is along the stereo angle + // As such,our calculations are in 1D and do not require the use of the angle + // We are commenting out instead of removing while we come to a permanent solution + // Alexandre Laurier September 12 2018 + //double sA = stereoAngle(chNum); - Amg::Vector2D chLoc( (pos.x()-chPos.x())*cos(sA)-(pos.y()-chPos.y())*sin(sA), - + (pos.x()-chPos.x())*sin(sA)+(pos.y()-chPos.y())*cos(sA) ); + //Amg::Vector2D chLoc( (pos.x()-chPos.x())*cos(sA)-(pos.y()-chPos.y())*sin(sA), + // + (pos.x()-chPos.x())*sin(sA)+(pos.y()-chPos.y())*cos(sA) ); + Amg::Vector2D chLoc( pos.x()-chPos.x() , pos.y()-chPos.y()); if ( validMode && fabs(chLoc.x()) > 0.5*channelWidth( pos) ) { + std::cout << "problem in identification of the channel: distance to nearest channel, channel width:" - <<chLoc.x()<<","<< channelWidth(pos) << std::endl; + <<chLoc.x()<<","<< channelWidth(pos) << std::endl; } return chLoc.x(); @@ -149,7 +154,11 @@ namespace MuonGM { // xMid = pos.x() - pos.y()*tan(sAngle); // For all MM planes the local position is already rotated xMid = pos.x(); - chNum = int( cos(sAngle)*(xMid - xMfirst)/inputPitch+1.5 ); + // This line is to deal with strips in the deadzone. For now, return strip #1 until we figure out best fix + // Alexandre Laurier 12 Sept 2018 + if (xMid > -xSize/2 && xMid < firstPos+inputPitch/2) return 1; // + chNum = int( (xMid - xMfirst)/inputPitch+1.5 ); + //chNum = int( cos(sAngle)*(xMid - xMfirst)/inputPitch+1.5 ); } if (chNum<1) return -1; if (chNum>nch) return -1; // used also for calculation of the number of strips @@ -250,7 +259,7 @@ namespace MuonGM { } else if ( type==MuonChannelDesign::etaStrip ) { - if (sAngle==0.||inputPitch<1.0) { + if (sAngle==0.) { // MM == inputPitch<1.0 always use same code to calculate strip position for layers with and without stereo angle @@ -268,6 +277,10 @@ namespace MuonGM { pos[0] = x; pos[1] = 0; } + else if (inputPitch <1.0) { + pos[0] = firstPos + inputPitch*(st-1); + pos[1] = 0; + } else { // default pos[0] = x; pos[1] = 0; @@ -275,6 +288,13 @@ namespace MuonGM { return true; } + else if (inputPitch <1.0) { + pos[0] = firstPos + inputPitch*(st-1); + pos[1] = 0; + return true; + } + + // strip central position double xMid = firstPos + (st-1)*inputPitch/cos(sAngle); diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx index a860746fefe3a9c3c526b0d95f0ea56570049636..cc34eaebf8f2d529989ef5a23107afe9f344889b 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx @@ -175,14 +175,20 @@ namespace MuonGM { // identifier of the first channel to retrieve max number of strips Identifier id = manager()->mmIdHelper()->channelID(getStationName(),getStationEta(),getStationPhi(),m_ml, il+1, 1); int chMax = manager()->mmIdHelper()->channelMax(id); - if ( chMax < 0 ) chMax = 2500; - + if ( chMax < 0 ) { + chMax = 2500; + reLog()<<MSG::WARNING<<"MMReadoutElement -- Max number of strips not a real value"<<endmsg; + } char side = getStationEta() < 0 ? 'C' : 'A'; char sector_l = getStationName().substr(2,1)=="L" ? 'L' : 'S'; MMDetectorHelper aHelper; MMDetectorDescription* mm = aHelper.Get_MMDetector(sector_l, abs(getStationEta()), getStationPhi(), m_ml, side); MMReadoutParameters roParam = mm->GetReadoutParameters(); + m_halfX = roParam.activeH/2; + m_minHalfY = roParam.sStripWidth/2; + m_maxHalfY = roParam.lStripWidth/2; + m_etaDesign[il].type=0; m_etaDesign[il].xSize=2*m_halfX; @@ -193,53 +199,55 @@ namespace MuonGM { m_etaDesign[il].deadI = 0.; m_etaDesign[il].deadS = 0.; - double pitch = getStationName().substr(2,1)=="L" ? roParam.stripPitch : roParam.stripPitch; + double pitch = roParam.stripPitch; m_etaDesign[il].inputPitch = pitch; m_etaDesign[il].inputLength = m_etaDesign[il].minYSize; m_etaDesign[il].inputWidth = pitch; m_etaDesign[il].thickness = roParam.gasThickness; - if (m_ml == 1) m_etaDesign[il].sAngle = (roParam.stereoAngel).at(il); - else if (m_ml == 2) m_etaDesign[il].sAngle = (roParam.stereoAngel).at(il); + if (m_ml == 1) m_etaDesign[il].sAngle = (roParam.stereoAngle).at(il); + else if (m_ml == 2) m_etaDesign[il].sAngle = (roParam.stereoAngle).at(il); else reLog()<<MSG::WARNING <<"MMReadoutElement -- Unexpected Multilayer: m_ml= " << m_ml <<endmsg; if (m_etaDesign[il].sAngle == 0.) { // stereo angle 0. - m_etaDesign[il].firstPos = -0.5*m_etaDesign[il].xSize + 0.5*pitch; - m_etaDesign[il].signY = 1 ; + m_etaDesign[il].firstPos = -0.5*m_etaDesign[il].xSize + 0.5*pitch; + m_etaDesign[il].signY = 1 ; - m_etaDesign[il].nch = (int) (m_etaDesign[il].xSize/pitch) + 1; + m_etaDesign[il].nch = (int) (m_etaDesign[il].xSize/pitch) + 1; - if (m_etaDesign[il].nch > chMax) { // fix with help of dead zone + if (m_etaDesign[il].nch > chMax) { // fix with help of dead zone - double dead = 0.5*(m_etaDesign[il].xSize - chMax*pitch); - m_etaDesign[il].deadO = dead; - m_etaDesign[il].deadI = dead; - m_etaDesign[il].firstPos += dead; - m_etaDesign[il].nch = chMax; - } + double dead = 0.5*(m_etaDesign[il].xSize - chMax*pitch); + m_etaDesign[il].deadO = dead; + m_etaDesign[il].deadI = dead; + m_etaDesign[il].firstPos += dead; + m_etaDesign[il].nch = chMax; + } } else { - m_etaDesign[il].signY = il==2? 1 : -1 ; + m_etaDesign[il].signY = il==2? 1 : -1 ; // firstPos in the position of the centre of the 1st strip on locX axis - m_etaDesign[il].firstPos = -0.5*m_etaDesign[il].xSize // lower module boundary - +0.5*pitch/cos(m_etaDesign[il].sAngle) // half of the strip size in x projection - -0.5*m_etaDesign[il].minYSize*tan(fabs(m_etaDesign[il].sAngle)); // offset needed to fill the corner - // the position of the centre of the last strip on locX axis (in order to cover the module) - double lastPos = 0.5*m_etaDesign[il].xSize // upper module boundary - -0.5*pitch/cos(m_etaDesign[il].sAngle) // half of the strip size in x projection - +0.5*m_etaDesign[il].maxYSize*tan(fabs(m_etaDesign[il].sAngle)); // offset needed to fill the corner + // Alexandre Laurier 12 Sept 2018 + // The MM planes were rotated previously so now the local axis follows the stereo Angle of the strips + // This means all the local coordinates calculations are to be done without x-y projections + // This change was implemented due to tracking constraints and conventions + + // first strip is at bottom of ga + empty strip volume + half strip + m_etaDesign[il].firstPos = -0.5*m_etaDesign[il].xSize + 0.5*pitch + roParam.minYPhi; + + double lastPos = 0.5*m_etaDesign[il].xSize-0.5*pitch-roParam.maxYPhi; // number of channels needed to cover the module - m_etaDesign[il].nch = int((lastPos -m_etaDesign[il].firstPos)/(pitch*cos(m_etaDesign[il].sAngle)))+1 ; + m_etaDesign[il].nch = int((lastPos -m_etaDesign[il].firstPos)/(pitch*cos(m_etaDesign[il].sAngle)))+1; - if (m_etaDesign[il].nch > chMax) { // dead zone does not help here - just limit number of channels + if (m_etaDesign[il].nch > chMax) { // dead zone does not help here - just limit number of channels - std::cerr<<"number of strips exceeds the maximum, adjusted:"<<m_etaDesign[il].nch<<"->"<<chMax << std::endl; - m_etaDesign[il].nch = chMax; + std::cerr<<"number of strips exceeds the maximum, adjusted:"<<m_etaDesign[il].nch<<"->"<<chMax << std::endl; + m_etaDesign[il].nch = chMax; - } + } } diff --git a/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx b/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx index 76e98991e1c6d102e0dfd981bcaead6de9205a26..f1463d8a85c1449d954cf5e06b49ad860e640c2f 100644 --- a/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx +++ b/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx @@ -931,9 +931,23 @@ StatusCode MM_DigitizationTool::doDigitization() { // contain (name, eta, phi, multiPlet) m_idHelper->get_detectorElement_hash(layerID, detectorElementHash); + const MuonGM::MuonChannelDesign* mmChannelDesign = detectorReadoutElement->getDesign(digitID); - double distToChannelWithStripID = mmChannelDesign->distanceToChannel(positionOnSurface, stripNumber); - double distToChannel = mmChannelDesign->distanceToChannel(positionOnSurface); + // As of September 12 2018, to reduce the number of errors and warnings in MM digitization, + // we assign the strips in the dead regions stripNumber=1 (short term fix). + // The distToChannel validation breaks when we do this so we must add another if statement + // These changes should be reverted once we arrive to a proper solution for these dead strips + // Alexandre Laurier 12 Sept 2018 + double distToChannelWithStripID; + double distToChannel; + if (stripNumber ==1){ + distToChannelWithStripID =0.; + distToChannel =0.; + } + else{ + distToChannelWithStripID = mmChannelDesign->distanceToChannel(positionOnSurface, stripNumber); + distToChannel = mmChannelDesign->distanceToChannel(positionOnSurface); + } ATH_MSG_DEBUG(" looking up collection using detectorElementHash " << (int)detectorElementHash << " " @@ -947,7 +961,7 @@ StatusCode MM_DigitizationTool::doDigitization() { m_exitcode = 12; if(m_writeOutputFile) m_ntuple->Fill(); continue; - } + } // Obtain Magnetic Field At Detector Surface Amg::Vector3D hitOnSurfaceGlobal = surf.transform()*hitOnSurface; @@ -1013,22 +1027,24 @@ StatusCode MM_DigitizationTool::doDigitization() { MM_ElectronicsToolInput stripDigitOutput( tmpStripOutput.NumberOfStripsPos(), tmpStripOutput.chipCharge(), tmpStripOutput.chipTime(), digitID , hit.kineticEnergy()); // This block is purely validation - for(size_t i = 0; i<tmpStripOutput.NumberOfStripsPos().size(); i++){ - int tmpStripID = tmpStripOutput.NumberOfStripsPos().at(i); - bool isValid; - Identifier cr_id = m_idHelper->channelID(stName, m_idHelper->stationEta(layerID), m_idHelper->stationPhi(layerID), m_idHelper->multilayer(layerID), m_idHelper->gasGap(layerID), tmpStripID, true, &isValid); - if (!isValid) { - ATH_MSG_WARNING( "MicroMegas digitization: failed to create a valid ID for (chip response) strip n. " << tmpStripID << "; associated positions will be set to 0.0." ); - } else { - Amg::Vector2D cr_strip_pos(0., 0.); - if ( !detectorReadoutElement->stripPosition(cr_id,cr_strip_pos) ) { - ATH_MSG_WARNING("MicroMegas digitization: failed to associate a valid local position for (chip response) strip n. " - << tmpStripID - << "; associated positions will be set to 0.0." - ); - } - } - } + if (stripNumber!=1){ // Extra if statement from quick fix from deadstrip = #1 + for(size_t i = 0; i<tmpStripOutput.NumberOfStripsPos().size(); i++){ + int tmpStripID = tmpStripOutput.NumberOfStripsPos().at(i); + bool isValid; + Identifier cr_id = m_idHelper->channelID(stName, m_idHelper->stationEta(layerID), m_idHelper->stationPhi(layerID), m_idHelper->multilayer(layerID), m_idHelper->gasGap(layerID), tmpStripID, true, &isValid); + if (!isValid) { + ATH_MSG_WARNING( "MicroMegas digitization: failed to create a valid ID for (chip response) strip n. " << tmpStripID << "; associated positions will be set to 0.0." ); + } else { + Amg::Vector2D cr_strip_pos(0., 0.); + if ( !detectorReadoutElement->stripPosition(cr_id,cr_strip_pos) ) { + ATH_MSG_WARNING("MicroMegas digitization: failed to associate a valid local position for (chip response) strip n. " + << tmpStripID + << "; associated positions will be set to 0.0." + ); + } + } + } + } v_stripDigitOutput.push_back(stripDigitOutput); diff --git a/MuonSpectrometer/MuonDigitization/MuonFastDigitization/src/MM_FastDigitizer.cxx b/MuonSpectrometer/MuonDigitization/MuonFastDigitization/src/MM_FastDigitizer.cxx index aae0346ccde85f2e786d4ca7586d81b085085f29..fcc59733e263878ce9baaa694047f8c7c6c3afa6 100644 --- a/MuonSpectrometer/MuonDigitization/MuonFastDigitization/src/MM_FastDigitizer.cxx +++ b/MuonSpectrometer/MuonDigitization/MuonFastDigitization/src/MM_FastDigitizer.cxx @@ -332,7 +332,7 @@ StatusCode MM_FastDigitizer::execute() { Amg::Vector3D ldir = surf.transform().inverse().linear()*Amg::Vector3D(hit.globalDirection().x(), hit.globalDirection().y(), hit.globalDirection().z()); Amg::Vector3D ldirTime; // the stereo angle vector stores the angles in rad. the vector indices are 0,1,2,3 which map to layers 1,2,3,4 - if ( std::abs( (roParam.stereoAngel).at(m_idHelper->gasGap(layid)-1) ) > 0. ) + if ( std::abs( (roParam.stereoAngle).at(m_idHelper->gasGap(layid)-1) ) > 0. ) ldirTime = ldir; else ldirTime = surf.transform().inverse().linear()*Amg::Vector3D(hit.globalDirection().x(), hit.globalDirection().y(), -hit.globalDirection().z()); @@ -532,7 +532,7 @@ StatusCode MM_FastDigitizer::execute() { ATH_MSG_VERBOSE(" Prd: r " << prd->globalPosition().perp() << " phi " << prd->globalPosition().phi() << " z " << prd->globalPosition().z()); } else { for (int loop_direction = -1; loop_direction <=1; loop_direction+=2) { - Amg::Vector3D stepInDriftGap = loop_direction * ldir * (roParam.stripPitch/std::cos(roParam.stereoAngel.at(m_idHelper->gasGap(layid)-1) ))/abs(ldir.x()); + Amg::Vector3D stepInDriftGap = loop_direction * ldir * (roParam.stripPitch/std::cos(roParam.stereoAngle.at(m_idHelper->gasGap(layid)-1) ))/abs(ldir.x()); if (loop_direction == 1) CurrentHitInDriftGap = slpos + stepInDriftGap; while (std::abs(CurrentHitInDriftGap.z()) <= roParam.gasThickness) { Amg::MatrixX* cov = new Amg::MatrixX(1,1); diff --git a/MuonSpectrometer/MuonG4/NSW_Sim/data/NSW_StationDescription.xml b/MuonSpectrometer/MuonG4/NSW_Sim/data/NSW_StationDescription.xml index fdc3bfa964826df8e7146223628d0aed3a248565..f934c8d20a9fdf4e10f0af1f4f2f85ada74c49f9 120000 --- a/MuonSpectrometer/MuonG4/NSW_Sim/data/NSW_StationDescription.xml +++ b/MuonSpectrometer/MuonG4/NSW_Sim/data/NSW_StationDescription.xml @@ -1 +1 @@ -stations.v1.81.xml \ No newline at end of file +stations.v1.82.xml \ No newline at end of file diff --git a/MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v1.82.xml b/MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v1.82.xml new file mode 100644 index 0000000000000000000000000000000000000000..d6422110eba906da8f26d1d968371003c69761a3 --- /dev/null +++ b/MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v1.82.xml @@ -0,0 +1,339 @@ +<?xml version="1.0" encoding="UTF-8"?> +<AGDD> + +<section name="NSW_Parameters" version="1" top_volume="useless" date="December 16 2014" author="S.Chen" > +<!-- Global variables--> +<var name="NSW_NbrOfLayers" value="4"/> +<var name="NSW_NbrOfDriftPcb" value="3"/> +<var name="NSW_NbrOfROPcb" value="2"/> +</section> + +<section name="NSW_sTGC_Parameters" version="13.7" top_volume="useless" date=" June 30, 2016 " author="Daniel Lellouch"> +<!-- ================ Global Variables ================= --> + +<!-- Thickness of a quadruplet --> +<var name="NSW_sTGC_Tck" value="49.34"/> +<!-- Gas Gap inside one layer --> +<var name="NSW_sTGC_GasTck" value="2.85"/> +<!-- G10 thickness per layer --> +<var name="NSW_sTGC_pcbTck" value="3"/> +<!-- Number of layers in a quaduplet --> +<var name="NSW_sTGC_NbrOfLayers" value="4"/> +<!-- Wire pitch --> +<var name="NSW_sTGC_WirePitch" value="1.8"/> +<!-- Strip pitch --> +<var name="NSW_sTGC_StripPitch" value="3.2"/> +<!-- Strip width --> +<var name="NSW_sTGC_StripWidth" value="2.7"/> +<!-- Width of G10 frame besides gas volume --> +<var name="NSW_sTGC_SideFrame" value="28.5"/> +<!-- Width of G10 frame in base w/o capacitor --> +<var name="NSW_sTGC_hFrameNoCapacitor" value="11"/> +<!-- Width of G10 frame in base with capacitor --> +<var name="NSW_sTGC_hFrameCapacitor" value="14"/> +<!-- Opening (in degrees) of trapezes in small wedges --> +<var name="NSW_sTGC_SmallOpening" value="17"/> +<!-- Opening (in degrees) of trapezes in large wedges --> +<var name="NSW_sTGC_LargeOpening" value="28"/> +<!-- Z center of small Pivot --> +<var name="NSW_sTGC_ZSmallPivot" value="7344"/> +<!-- Z center of small Confirm --> +<var name="NSW_sTGC_ZSmallConfirm" value="7010"/> +<!-- Z center of Large Pivot --> +<var name="NSW_sTGC_ZLargePivot" value="7474"/> +<!-- Z center of Large Confirm --> +<var name="NSW_sTGC_ZLargeConfirm" value="7808"/> +<!-- Z of each volume, relative to center of quadruplet --> +<array name="NSW_sTGC_LayerDeltaZ" values="-16.45;-5.48;5.49;16.46"/> +<!-- Side of the Pad readout --> +<array name="NSW_sTGC_PadSide" values="-1;1;-1;1"/> +<!-- Side of the Strip readout --> +<array name="NSW_sTGC_StripSide" values="1;-1;1;-1"/> +</section> + +<!-- ================ sTGC ========================= --> + + +<section name="NewSmallWheels_sTGC" version="22.1" top_volume="useless" date=" June 22, 2018 " author="Daniel Lellouch"> + +<composition name="NSW_sTGC"> + +<sTGC_Tech type="sTGC_1" geometryLevel="1" nLayers="NSW_sTGC_NbrOfLayers" gasTck="NSW_sTGC_GasTck" pcbTck="NSW_sTGC_pcbTck" Tck="NSW_sTGC_Tck" f4="NSW_sTGC_hFrameNoCapacitor" f5="NSW_sTGC_hFrameNoCapacitor" f6="NSW_sTGC_SideFrame"/> + +<!-- ================ small Pivot ========================= --> + +<sTGC type="sTG1-QS1P" tech="sTGC_1" subType="QS1P" sWidth="346.93" lWidth="743.15" Length="1325.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="279.32" lPadWidth="667.18" padH="80;80;80.24;80.24" rankPadPhi="4;3;2;1" nPadPhi="4;4;3;3" anglePadPhi="5" firstPadPhiDivision_C="-5;-5;-2.5;-2.5" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-5;-5;-2.5;-2.5" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="17;17;17;17" firstPadH="65.8;65.8;28.61;28.61" firstPadRow="1;1;1;1" sStripWidth="293.48" lStripWidth="681.33" wireCutout="802.8;829.8;856.8;883.8" nWires="371;370;370;370" firstWire="-333;-331.65;-332.55;-332.1" wireGroupWidth="20" nStrips="406" firstTriggerBand="3;3;3;3" nTriggerBands="28;28;28;28" firstStripInTrigger="44;44;44;44" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13; 12;13;12;13;12;13;10" StripsInBandsLayer2="12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;13;12; 13;12;13;12;13;12;10" StripsInBandsLayer3="12;13;12;13;12;13;12;13;13;12;13;12;13;12;13;12;13;12;13;12;13;12; 13;12;13;13;12;13;8" StripsInBandsLayer4="12;13;12;13;12;13;13;12;13;12;13;12;13;12;13;13;12;13;12;13;12;13; 12;13;12;13;13;12;8" nWireGroups="19;20;19;19" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QS1P" type="ENDCAP" chamberType="sTGS" radius="1563" zPos="NSW_sTGC_ZSmallPivot" phi0="22.5"/> + +<sTGC type="sTG1-QS2P" tech="sTGC_1" subType="QS2P" sWidth="746.14" lWidth="1102.25" Length="1191.4" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="677.64" lPadWidth="1026.28" padH="80;80;80.24;80.24" rankPadPhi="2;1;4;3" nPadPhi="2;2;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="0;0;-3.75;-3.75" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="0;0;-3.75;-3.75" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="15;15;15;15" firstPadH="93.2;93.2;60.09;60.09" firstPadRow="18;18;18;18" sStripWidth="691.8" lStripWidth="1040.43" wireCutout="0;0;0;0" nWires="569;570;570;570" firstWire="-511.2;-511.65;-512.55;-512.1" wireGroupWidth="20" nStrips="365" firstTriggerBand="34;34;34;34" nTriggerBands="30;30;30;30" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="4;13;12;13;12;13;12;13;12;12; 12;13;12;12;13;12;13;12;13;12; 13;12;13;12;;12;13;12;13;11" StripsInBandsLayer2="5;12;13;12;13;12;13;12;13;13; 13;12;13;12;13;12;13;12;13;12; 13;12;13;12;13;12;13;12;13;10" StripsInBandsLayer3="5;12;13;12;13;12;13;12;13;13; 13;12;13;12;13;12;13;12;13;12; 13;12;13;12;13;12;13;12;13;10" StripsInBandsLayer4="7;12;13;12;13;12;13;13;12;12; 12;13;12;13;12;13;13;12;13;12; 13;12;13;12;13;12;13;13;12;7" nWireGroups="29;30;29;29" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QS2P" type="ENDCAP" chamberType="sTGS" radius="2831.5" zPos="NSW_sTGC_ZSmallPivot" phi0="22.5"/> + +<sTGC type="sTG1-QS3P" tech="sTGC_1" subType="QS3P" sWidth="1105.96" lWidth="1406.59" Length="1005.8" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1037.46" lPadWidth="1330.62" padH="80;80;80.24;80.24" rankPadPhi="2;1;4;3" nPadPhi="2;2;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="0;0;-3.75;-3.75" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="0;0;-3.75;-3.75" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="12;12;13;13" firstPadH="89.4;89.4;59.88;59.88" firstPadRow="33;33;33;33" sStripWidth="1051.61" lStripWidth="1344.78" wireCutout="0;0;0;0" nWires="739;739;739;738" firstWire="-664.2;-664.65;-663.75;-663.3" wireGroupWidth="20" nStrips="307" firstTriggerBand="64;64;64;64" nTriggerBands="26;26;25;25" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="3;12;13;12;13;12;13;12;13;13; 13;12;13;12;13;12;12;13;12;13; 12;13;12;13;12;5" StripsInBandsLayer2="6;12;13;12;13;13;12;13;12;12; 12;13;12;13;12;13;12;13;12;13; 13;12;13;12;13;3" StripsInBandsLayer3="6;12;13;12;13;13;12;13;12;12; 12;13;12;13;12;13;12;13;12;13; 12;13;12;13;13" StripsInBandsLayer4="7;13;12;13;12;13;12;13;12;12; 12;13;13;12;13;12;13;12;13;12; 13;12;13;13;11" nWireGroups="37;38;38;38" firstWireGroup="20;14;10;3"/> +</sTGC> + +<chamberPosition volume="sTG1-QS3P" type="ENDCAP" chamberType="sTGS" radius="3942.5" zPos="NSW_sTGC_ZSmallPivot" phi0="22.5"/> + + +<!-- ================ small confirm =============== --> + +<sTGC type="sTG1-QS1C" tech="sTGC_1" subType="QS1C" sWidth="346.93" lWidth="743.15" Length="1325.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="293.48" lPadWidth="681.33" padH="76.35;76.35;76.59;76.59" rankPadPhi="1;4;2;3" nPadPhi="4;4;4;4" anglePadPhi="5" firstPadPhiDivision_C="-3.75;-6.25;-3.75;-6.25" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-6.25;-3.75;-6.25;-3.75" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="17;17;18;18" firstPadH="78.4;78.4;43.21;43.21" firstPadRow="2;2;2;2" sStripWidth="293.48" lStripWidth="681.33" wireCutout="883.8;856.8;829.8;802.8" nWires="370;370;370;371" firstWire="-332.1;-331.65;-332.55;-333" wireGroupWidth="20" nStrips="406" firstTriggerBand="5;5;5;5" nTriggerBands="32;32;31;31" firstStripInTrigger="44;44;44;44" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="12;12;12;11;12;12;12;12;12;12; 12;12;12;12;12;12;11;12;12;12; 12;12;12;12;12;12;12;12;11;12;12;12" StripsInBandsLayer2="12;12;12;12;11;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 11;12;12;12;12;12;12;12;12;12;12;11" StripsInBandsLayer3="12;12;12;12;11;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12;11;10" StripsInBandsLayer4="12;12;12;12;12;12;12;12;11; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12;12;9" nWireGroups="20;19;19;19" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QS1C" type="ENDCAP" chamberType="sTGS" radius="1563" zPos="NSW_sTGC_ZSmallConfirm" phi0="22.5"/> + +<sTGC type="sTG1-QS2C" tech="sTGC_1" subType="QS2C" sWidth="746.14" lWidth="1102.25" Length="1191.4" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="691.8" lPadWidth="1040.43" padH="76.35;76.35;76.59;76.59" rankPadPhi="3;2;4;1" nPadPhi="3;3;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-1.87;-5.62;-1.87" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-1.87;-5.62;-1.87;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="16;16;15;15" firstPadH="43.8;43.8;89.29;89.29" firstPadRow="19;19;20;20" sStripWidth="691.8" lStripWidth="1040.43" wireCutout="0;0;0;0" nWires="570;570;570;569" firstWire="-512.1;-511.65;-512.55;-511.2" wireGroupWidth="20" nStrips="365" firstTriggerBand="64;64;64;64" nTriggerBands="31;31;31;31" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="2;12;12;12;11;12;12;12;12;12;12; 12;12;12;12;12;11;12;12;12;12; 12;12;12;12;12;12;12;12;11;12" StripsInBandsLayer2="12;12;12;12;12;12;12;12;12;12;12; 12;12;12;11;12;12;12;12;12;12; ;12;12;12;12;12;12;12;12;12" StripsInBandsLayer3="2;12;12;12;12;12;12;12;12;12;12; 12;12;12;11;12;12;12;12;12;12; ;12;12;12;12;12;12;12;12;12" StripsInBandsLayer4="5;12;11;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12" nWireGroups="30;29;29;29" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QS2C" type="ENDCAP" chamberType="sTGS" radius="2831.5" zPos="NSW_sTGC_ZSmallConfirm" phi0="22.5"/> + +<sTGC type="sTG1-QS3C" tech="sTGC_1" subType="QS3C" sWidth="1105.96" lWidth="1406.59" Length="1005.8" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1051.61" lPadWidth="1344.78" padH="76.35;76.35;76.59;76.59" rankPadPhi="3;2;4;1" nPadPhi="3;3;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-1.87;-5.62;-1.87" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-1.87;-5.62;-1.87;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="13;13;14;14" firstPadH="61.66;61.66;34.38;34.38" firstPadRow="35;35;35;35" sStripWidth="1051.61" lStripWidth="1344.78" wireCutout="0;0;0;0" nWires="738;739;739;739" firstWire="-663.3;-664.65;-663.75;-664.2" wireGroupWidth="20" nStrips="307" firstTriggerBand="37;37;37;37" nTriggerBands="26;26;25;25" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="6;7;12;12;12;12;12;12;11;11; 12;12;12;12;12;12;12;12;12;12; 12;11;12;13;12;12" StripsInBandsLayer2="2;10;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;13;12" StripsInBandsLayer3="2;10;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;13;13" StripsInBandsLayer4="1;12;12;12;12;12;12;11;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;13;11" nWireGroups="38;38;38;38" firstWireGroup="5;14;15;3"/> +</sTGC> + +<chamberPosition volume="sTG1-QS3C" type="ENDCAP" chamberType="sTGS" radius="3942.5" zPos="NSW_sTGC_ZSmallConfirm" phi0="22.5"/> + + +<!-- ================ Large Pivot ==================== --> + +<sTGC type="sTG1-QL1P" tech="sTGC_1" subType="QL1P" sWidth="542.61" lWidth="1206.82" Length="1332" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="476.42" lPadWidth="1126.66" padH="81.42;81.42;81.66;81.66" rankPadPhi="4;3;2;1" nPadPhi="6;6;7;7" anglePadPhi="5" firstPadPhiDivision_C="-10;-10;-12.5;-12.5" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-10;-10;-12.5;-12.5" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="17;17;16;16" firstPadH="54.39;54.39;98.15;98.15" firstPadRow="1;1;2;2" sStripWidth="490.84" lStripWidth="1141.09" wireCutout="808;835;862;889" nWires="621;620;620;620" firstWire="-558;-556.65;-557.55;-557.1" wireGroupWidth="20" nStrips="408" firstTriggerBand="3;3;3;3" nTriggerBands="30;30;30;30" firstStripInTrigger="45;45;45;45" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="13;13;12;13;13;13;12;13;13;12;13;13;13;12;13;13;12;13;13;13;12;13; 13;12;13;13;13;12;13;13" StripsInBandsLayer2="13;13;12;13;13;13;12;13;13;13;12;13;13;12;13;13;13;12;13;13;13;12; 13;13;12;13;13;13;12;13" StripsInBandsLayer3="13;13;12;13;13;13;12;13;13;13;12;13;13;13;12;13;13;13;12;13;13;13; 12;13;13;13;12;13;13;13" StripsInBandsLayer4="13;13;12;13;13;13;13;12;13;13;13;12;13;13;13;12;13;13;13;13;12;13; 13;13;12;13;13;13;12;13" nWireGroups="32;32;32;32" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QL1P" type="ENDCAP" chamberType="sTGL" radius="1595" zPos="NSW_sTGC_ZLargePivot" phi0="0.0"/> + +<sTGC type="sTG1-QL2P" tech="sTGC_1" subType="QL2P" sWidth="1211.81" lWidth="1807.5" Length="1194.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1144.12" lPadWidth="1727.34" padH="81.42;81.42;81.66;81.66" rankPadPhi="2;1;4;3" nPadPhi="4;4;5;5" anglePadPhi="7.5" firstPadPhiDivision_C="-7.5;-7.5;-11.25;-11.25" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-7.5;-7.5;-11.25;-11.25" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="14;14;15;15" firstPadH="99.51;99.51;65.69;65.69" firstPadRow="18;18;18;18" sStripWidth="1158.55" lStripWidth="1741.77" wireCutout="0;0;0;0" nWires="953;954;954;954" firstWire="-856.8;-857.25;-858.15;-857.7" wireGroupWidth="20" nStrips="366" firstTriggerBand="33;33;33;33" nTriggerBands="30;30;30;29" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="9;6;12;13;13;12;13;13;13;12;13;13;1313;13;13;13;12;13;13;12;13;13;13; 12;13;13;12;13;13;13" StripsInBandsLayer2="9;6;13;13;12;13;13;13;12;13;13;12;1213;13;13;12;13;13;13;12;13;13;13; 12;13;13;12;13;13;13" StripsInBandsLayer3="7;8;12;13;13;13;12;13;13;13;12;13;1313;13;12;13;13;13;12;13;13;13;12; 13;13;13;12;13;13;13" StripsInBandsLayer4="7;8;13;13;13;12;13;13;13;12;13;13;1313;13;12;13;13;13;12;13;13;13;12; 13;13;13;12;13;13" nWireGroups="48;49;49;48" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QL2P" type="ENDCAP" chamberType="sTGL" radius="2868.3" zPos="NSW_sTGC_ZLargePivot" phi0="0.0"/> + +<sTGC type="sTG1-QL3P" tech="sTGC_1" subType="QL3P" sWidth="1813.68" lWidth="2111" Length="1153" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="545.3" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode="539.26"> + +<sTGC_readout sPadWidth="1745.99" lPadWidth="2054" padH="81.42;81.42;81.66;81.66" + rankPadPhi="2;1;4;3" nPadPhi="4;4;5;5" anglePadPhi="7.5" firstPadPhiDivision_C="-7.5;-7.5;-11.25;-11.25" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-7.5;-7.5;-11.25;-11.25" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="15;15;14;14" firstPadH="32.38;32.38;83.57;83.57" firstPadRow="32;32;33;33" sStripWidth="1760.42" lStripWidth="2054" wireCutout="0;0;0;0" nWires="1133;1134;1134;1134" firstWire="-1018.8;-1019.25;-1019.7;-1019.7" wireGroupWidth="20" nStrips="353" firstTriggerBand="63;63;63;62" nTriggerBands="28;28;28;29" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="10;13;12;13;13;12;13;13;13; 12;13;13;12;13;13;12;13;13;13; 12;13;13;12;13;13;13;12;13" StripsInBandsLayer2="11;13;12;13;13;13;12;13;13; 12;13;13;13;12;13;13;13;12;13; 13;13;12;13;13;12;13;13;11" StripsInBandsLayer3="13;13;13;12;13;13;13;12;13; 13;13;12;13;13;13;12;13;13;13; 12;13;13;13;12;13;13;13;8" StripsInBandsLayer4="1;13;13;13;12;13;13;13;13;12; 13;13;13;12;13;13;13;12;13;13; 13;13;12;13;13;13;12;13;7" nWireGroups="57;58;58;57" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QL3P" type="ENDCAP" chamberType="sTGL" radius="4054.5" zPos="NSW_sTGC_ZLargePivot" phi0="0.0"/> + +<!-- =============== Large Confirm ===================== --> + +<sTGC type="sTG1-QL1C" tech="sTGC_1" subType="QL1C" sWidth="542.61" lWidth="1206.82" Length="1332" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="490.84" lPadWidth="1141.09" padH="85.07;85.07;85.31;85.31" rankPadPhi="4;3;2;1" nPadPhi="6;6;6;6" anglePadPhi="5" firstPadPhiDivision_C="-8.75;-11.25;-8.75;-11.25" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-11.25;-8.75;-11.25;-8.75" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="16;16;16;16" firstPadH="77.79;77.79;38.01;38.01" firstPadRow="1;1;1;1" sStripWidth="490.84" lStripWidth="1141.09" wireCutout="889;862;835;808" nWires="620;620;620;621" firstWire="-557.1;-556.65;-557.55;-558" wireGroupWidth="20" nStrips="408" firstTriggerBand="3;3;3;3" nTriggerBands="29;29;28;28" firstStripInTrigger="44;44;44;44" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="13;13;13;14;13;13;14;13;13;13; 14;13;13;14;13;13;13;14;13;13; 13;14;13;13;14;13;13;13" StripsInBandsLayer2="13;13;13;14;13;13;14;13;13;14; 13;13;13;14;13;13;14;13;13;14; 13;13;13;14;13;13;14;13" StripsInBandsLayer3="14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;13;14;13; 13;13;14;13;13;14;13;13" StripsInBandsLayer4="14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;13;14;13; 14;13;13;14;13;13;14;13" nWireGroups="32;32;32;32" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QL1C" type="ENDCAP" chamberType="sTGL" radius="1595" zPos="NSW_sTGC_ZLargeConfirm" phi0="0.0"/> + +<sTGC type="sTG1-QL2C" tech="sTGC_1" subType="QL2C" sWidth="1211.81" lWidth="1807.5" Length="1194.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1158.55" lPadWidth="1741.77" padH="85.07;85.07;85.31;85.31" rankPadPhi="3;2;4;1" nPadPhi="4;4;4;4" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-9.37;-5.62;-9.37" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-9.37;-5.62;-9.37;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="14;14;14;14" firstPadH="99.84;99.84;63.9;63.9" firstPadRow="17;17;17;17" sStripWidth="1158.55" lStripWidth="1741.77" wireCutout="0;0;0;0" nWires="954;954;954;953" firstWire="-857.7;-857.25;-858.15;-856.8" wireGroupWidth="20" nStrips="366" firstTriggerBand="30;30;30;30" nTriggerBands="29;29;29;29" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="12;5;13;13;13;14;13;13;14;13; 13;13;14;13;13;14;13;13;13;14; 13;13;14;13;13;13;14;13;13" StripsInBandsLayer2="11;5;13;14;13;13;14;13;13;13; 14;13;13;14;13;13;14;13;13;14; 13;13;13;14;13;13;14;13;13" StripsInBandsLayer3="10;7;13;13;14;13;13;14;13;13; 13;14;13;13;14;13;13;14;13;13; 14;13;13;14;13;13;14;13;13" StripsInBandsLayer4="9;7;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;14;13;13; 14;13;13;14;13;13;14;13;12" nWireGroups="49;49;48;48" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QL2C" type="ENDCAP" chamberType="sTGL" radius="2868.3" zPos="NSW_sTGC_ZLargeConfirm" phi0="0.0"/> + +<sTGC type="sTG1-QL3C" tech="sTGC_1" subType="QL3C" sWidth="1813.68" lWidth="2111" Length="1153" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="545.3" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode="539.26"> + +<sTGC_readout sPadWidth="1760.42" lPadWidth="2054" padH="85.07;85.07;85.31;85.31" rankPadPhi="3;2;4;1" nPadPhi="4;4;4;4" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-9.37;-5.62;-9.37" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-9.37;-5.62;-9.37;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="13;13;14;14" firstPadH="83.76;83.76;51.17;51.17" firstPadRow="31;31;31;31" sStripWidth="1760.42" lStripWidth="2054" wireCutout="0;0;0;0" nWires="1134;1134;1134;1133" firstWire="-1019.7;-1019.25;-1020.15;-1018.8" wireGroupWidth="20" nStrips="353" firstTriggerBand="60;60;60;60" nTriggerBands="28;28;28;28" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="3;13;13;13;13;14;13;13;14;13;13; 13;14;13;13;14;13;13;13;14;13; 13;13;14;13;13;14;8" StripsInBandsLayer2="2;14;13;13;14;13;13;13;14;13;13; 14;13;13;14;13;13;13;14;13;13; 14;13;13;14;13;13;7" StripsInBandsLayer3="2;14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;13;14;13;13;14; 13;13;14;13;13;14;4" StripsInBandsLayer4="3;14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;13;14;13; 13;14;13;13;14;13;3" nWireGroups="58;58;57;57" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QL3C" type="ENDCAP" chamberType="sTGL" radius="4054.5" zPos="NSW_sTGC_ZLargeConfirm" phi0="0.0"/> + +</composition> +</section> + + +<!-- ========== MicroMegas ============================== --> + +<section name="NSW_MM_Parameters" version="1" top_volume="useless" date="December 16 2014" author="S.Chen" > + +<!-- Frames. "f1": frame width close to the trapezium large side. "f2": frame width close to the trapezium small side. "f3": frame width close to the trapezium oblique side --> + +<!-- Distance from IP, labeled zmin_MM in Parameter Book --> +<var name="NSW_MM_LM_distanceFromIP" value="7536"/> +<var name="NSW_MM_SM_distanceFromIP" value="7072"/> +<!-- Thickness of Multilayer and the subcomponent (mm)--> +<var name="NSW_MM_GasTck" value="5.04"/> +<var name="NSW_MM_ROPcbTck" value="11.69"/> +<var name="NSW_MM_DriftPcbTck" value="11.284"/> +<var name="NSW_MM_MultilayerTck" value="NSW_NbrOfLayers* NSW_MM_GasTck + (NSW_NbrOfDriftPcb) * NSW_MM_DriftPcbTck+ ( NSW_NbrOfROPcb) * NSW_MM_ROPcbTck" /> <!-- Thickness of one multilayer --> + +<!-- Large sector modules (LM1" LM2). Modules are all trapezoid. ""Height"": radial envelope" ""base/top Width"": upper/lower side of the trapezoid--> +<var name="NSW_MM_LM1_InnerRadius" value="923" /> +<var name="NSW_MM_LM1_Length" value="2310" /> +<var name="NSW_MM_LM1_outerRadius" value="NSW_MM_LM1_InnerRadius+NSW_MM_LM1_Length" /> +<var name="NSW_MM_LM1_f1" value="30"/> +<var name="NSW_MM_LM1_f2" value="30"/> +<var name="NSW_MM_LM1_f3" value="100"/> +<var name="NSW_MM_LMGap_Length" value="5" /> <!-- Radial gap between LM1 and LM2 --> +<var name="NSW_MM_LM2_InnerRadius" value="NSW_MM_LM1_outerRadius+NSW_MM_LMGap_Length" /> +<var name="NSW_MM_LM2_Length" value="1410" /> +<var name="NSW_MM_LM2_outerRadius" value="NSW_MM_LM2_InnerRadius+NSW_MM_LM2_Length" /> +<var name="NSW_MM_LM1_baseWidth" value="640" /> +<var name="NSW_MM_LM1_topWidth" value="2008.5" /> +<var name="NSW_MM_LM2_baseWidth" value="2022.8" /> +<var name="NSW_MM_LM2_topWidth" value="2220" /> +<var name="NSW_MM_LM2_f1" value="30"/> +<var name="NSW_MM_LM2_f2" value="30"/> +<var name="NSW_MM_LM2_f3" value="100"/> +<!-- These lines added by Alexandre Laurier to fix MM active Geometry --> +<var name="NSW_MM_LM1_activeA" value="453.0"/> +<var name="NSW_MM_LM1_activeB" value="1780.0"/> +<var name="NSW_MM_LM1_activeH" value="2238.8"/> +<var name="NSW_MM_LM2_activeA" value="1828.0"/> +<var name="NSW_MM_LM2_activeB" value="2015.0"/> +<var name="NSW_MM_LM2_activeH" value="1339.3"/> +<!-- Small sector modules (SM1" SM2). Modules are all trapezoids. ""Height"": radial envelope" ""base/top Width"": upper/lower side --> +<var name="NSW_MM_SM1_InnerRadius" value="895" /> +<var name="NSW_MM_SM1_Length" value="2210" /> +<var name="NSW_MM_SM1_outerRadius" value="NSW_MM_SM1_InnerRadius+NSW_MM_SM1_Length" /> +<var name="NSW_MM_SMGap_Length" value="5" /> <!-- Radial gap between SM1 and SM2 --> +<var name="NSW_MM_SM1_f1" value="30"/> +<var name="NSW_MM_SM1_f2" value="30"/> +<var name="NSW_MM_SM1_f3" value="100"/> +<var name="NSW_MM_SM2_InnerRadius" value="NSW_MM_SM1_outerRadius+NSW_MM_SMGap_Length" /> +<var name="NSW_MM_SM2_Length" value="1350" /> +<var name="NSW_MM_SM2_outerRadius" value="NSW_MM_SM2_InnerRadius+NSW_MM_SM2_Length" /> +<var name="NSW_MM_SM1_baseWidth" value="500" /> +<var name="NSW_MM_SM1_topWidth" value="1319.2" /> +<var name="NSW_MM_SM2_baseWidth" value="1321.1" /> +<var name="NSW_MM_SM2_topWidth" value="1821.5" /> +<var name="NSW_MM_SM2_f1" value="30"/> +<var name="NSW_MM_SM2_f2" value="30"/> +<var name="NSW_MM_SM2_f3" value="100"/> +<!-- These lines added by Alexandre Laurier to fix MM active Geometry --> +<var name="NSW_MM_SM1_activeA" value="310.0"/> +<var name="NSW_MM_SM1_activeB" value="1102.5"/> +<var name="NSW_MM_SM1_activeH" value="2139.3"/> +<var name="NSW_MM_SM2_activeA" value="1130.0"/> +<var name="NSW_MM_SM2_activeB" value="1575.0"/> +<var name="NSW_MM_SM2_activeH" value="1279.3"/> + +<var name="NSW_MM_LargeSector_ZCENTER" value="(NSW_sTGC_ZLargePivot+NSW_sTGC_ZLargeConfirm)/2."/> +<var name="NSW_MM_SmallSector_ZCENTER" value="(NSW_sTGC_ZSmallPivot+NSW_sTGC_ZSmallConfirm)/2."/> + + +<!-- Thickness of inter-multilayer spacers --> +<var name="NSW_MM_SpacerThickness" value="50" /> + +<!-- Global z-coordinate for the sector center --> +<!-- <var name="NSW_MM_LargeSector_ZCENTER" value="NSW_MM_LM_distanceFromIP + 4.*NSW_MM_DriftPcbTck + 4.*NSW_MM_ROPcbTck + 4.*NSW_MM_GasTck + NSW_MM_SpacerThickness/2."/> +<var name="NSW_MM_SmallSector_ZCENTER" value="NSW_MM_SM_distanceFromIP + 4.*NSW_MM_DriftPcbTck + 4.*NSW_MM_ROPcbTck + 4.*NSW_MM_GasTck + NSW_MM_SpacerThickness/2."/> --> + +</section> + +<section name="NewSmallWheelsMM" version="1" top_volume="useless" date="December 16 2014" author="S.Chen" > + + +<!-- Technologies --> +<mm_Tech type="MM_1" geometryLevel="1" nLayers="NSW_NbrOfLayers" gasTck="NSW_MM_GasTck" driftPcbTck="NSW_MM_DriftPcbTck" ROPcbTck="NSW_MM_ROPcbTck" Tck="NSW_MM_MultilayerTck" /> +<mmSpacer_Tech type="Spa_1" Tck="NSW_MM_SpacerThickness" /> + +<!-- large wheel --> +<micromegas type="sMD1-1-1" tech="MM_1" subType="M1L1" sWidth="NSW_MM_LM1_baseWidth" lWidth="NSW_MM_LM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM1_Length" ylFrame="NSW_MM_LM1_f1" ysFrame="NSW_MM_LM1_f2" xFrame="NSW_MM_LM1_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM1_InnerRadius" roLength="NSW_MM_LM1_Length" sStripWidth="NSW_MM_LM1_activeA" lStripWidth="NSW_MM_LM1_activeB" activeH="NSW_MM_LM1_activeH" minYPhi="12.3" maxYPhi="7"/> +</micromegas> +<micromegas type="sMD1-2-1" tech="MM_1" subType="M2L1" sWidth="NSW_MM_LM2_baseWidth" lWidth="NSW_MM_LM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM2_Length" ylFrame="NSW_MM_LM2_f1" ysFrame="NSW_MM_LM2_f2" xFrame="NSW_MM_LM2_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM2_InnerRadius" roLength="NSW_MM_LM2_Length" sStripWidth="NSW_MM_LM2_activeA" lStripWidth="NSW_MM_LM2_activeB" activeH="NSW_MM_LM2_activeH" minYPhi="22" maxYPhi="24"/> +</micromegas> +<micromegas type="sMD1-1-2" tech="MM_1" subType="M1L2" sWidth="NSW_MM_LM1_baseWidth" lWidth="NSW_MM_LM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM1_Length" ylFrame="NSW_MM_LM1_f1" ysFrame="NSW_MM_LM1_f2" xFrame="NSW_MM_LM1_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM1_InnerRadius" roLength="NSW_MM_LM1_Length" sStripWidth="NSW_MM_LM1_activeA" lStripWidth="NSW_MM_LM1_activeB" activeH="NSW_MM_LM1_activeH" minYPhi="12.3" maxYPhi="7"/> +</micromegas> +<micromegas type="sMD1-2-2" tech="MM_1" subType="M2L2" sWidth="NSW_MM_LM2_baseWidth" lWidth="NSW_MM_LM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM2_Length" ylFrame="NSW_MM_LM2_f1" ysFrame="NSW_MM_LM2_f2" xFrame="NSW_MM_LM2_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM2_InnerRadius" roLength="NSW_MM_LM2_Length" sStripWidth="NSW_MM_LM2_activeA" lStripWidth="NSW_MM_LM2_activeB" activeH="NSW_MM_LM2_activeH" minYPhi="22" maxYPhi="24"/> +</micromegas> + +<mmSpacer type="spa1-1" tech="Spa_1" sWidth="NSW_MM_LM1_baseWidth" lWidth="NSW_MM_LM1_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_LM1_Length" /> +<mmSpacer type="spa1-2" tech="Spa_1" sWidth="NSW_MM_LM2_baseWidth" lWidth="NSW_MM_LM2_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_LM2_Length" /> + + +<!-- small wheel --> +<micromegas type="sMD3-1-1" tech="MM_1" subType="M1S1" sWidth="NSW_MM_SM1_baseWidth" lWidth="NSW_MM_SM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM1_Length" ylFrame="NSW_MM_SM1_f1" ysFrame="NSW_MM_SM1_f2" xFrame="NSW_MM_SM1_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM1_InnerRadius" roLength="NSW_MM_SM1_Length" sStripWidth="NSW_MM_SM1_activeA" lStripWidth="NSW_MM_SM1_activeB" activeH="NSW_MM_SM1_activeH" minYPhi="0.7" maxYPhi="0.4"/> +</micromegas> +<micromegas type="sMD3-2-1" tech="MM_1" subType="M2S1" sWidth="NSW_MM_SM2_baseWidth" lWidth="NSW_MM_SM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM2_Length" ylFrame="NSW_MM_SM2_f1" ysFrame="NSW_MM_SM2_f2" xFrame="NSW_MM_SM2_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM2_InnerRadius" roLength="NSW_MM_SM2_Length" sStripWidth="NSW_MM_SM2_activeA" lStripWidth="NSW_MM_SM2_activeB" activeH="NSW_MM_SM2_activeH" minYPhi="1.92" maxYPhi="10"/> +</micromegas> +<micromegas type="sMD3-1-2" tech="MM_1" subType="M1S2" sWidth="NSW_MM_SM1_baseWidth" lWidth="NSW_MM_SM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM1_Length" ylFrame="NSW_MM_SM1_f1" ysFrame="NSW_MM_SM1_f2" xFrame="NSW_MM_SM1_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM1_InnerRadius" roLength="NSW_MM_SM1_Length" sStripWidth="NSW_MM_SM1_activeA" lStripWidth="NSW_MM_SM1_activeB" activeH="NSW_MM_SM1_activeH" minYPhi="0.7" maxYPhi="0.4"/> +</micromegas> +<micromegas type="sMD3-2-2" tech="MM_1" subType="M2S2" sWidth="NSW_MM_SM2_baseWidth" lWidth="NSW_MM_SM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM2_Length" ylFrame="NSW_MM_SM2_f1" ysFrame="NSW_MM_SM2_f2" xFrame="NSW_MM_SM2_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM2_InnerRadius" roLength="NSW_MM_SM2_Length" sStripWidth="NSW_MM_SM2_activeA" lStripWidth="NSW_MM_SM2_activeB" activeH="NSW_MM_SM2_activeH" minYPhi="1.92" maxYPhi="10"/> +</micromegas> +<mmSpacer type="spa3-1" tech="Spa_1" sWidth="NSW_MM_SM1_baseWidth" lWidth="NSW_MM_SM1_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_SM1_Length" /> +<mmSpacer type="spa3-2" tech="Spa_1" sWidth="NSW_MM_SM2_baseWidth" lWidth="NSW_MM_SM2_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_SM2_Length" /> + +<composition name="NSW_MM" > +<!-- A-SIDE --> + +<!-- LARGE SECTOR --> + +<!-- MM multilayer 1 --> +<chamberPosition volume="sMD1-1-1" radius="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> +<chamberPosition volume="sMD1-2-1" radius="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> +<!-- spacer --> +<mposPhi volume="spa1-1" ncopy="8" R_Z="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2;NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 270.; 90." /> +<mposPhi volume="spa1-2" ncopy="8" R_Z="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2;NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 270.; 90." /> + +<!-- MM multilayer 2 --> +<chamberPosition volume="sMD1-1-2" radius="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> +<chamberPosition volume="sMD1-2-2" radius="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> + +<!-- SMALL SECTOR --> + +<!-- MM multilayer 1 --> +<chamberPosition volume="sMD3-1-1" radius="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> +<chamberPosition volume="sMD3-2-1" radius="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> + +<!-- spacer --> +<mposPhi volume="spa3-1" ncopy="8" R_Z="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2;NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 270.; 90." /> +<mposPhi volume="spa3-2" ncopy="8" R_Z="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2;NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 270.; 90." /> + +<!-- MM multilayer 2 --> +<chamberPosition volume="sMD3-1-2" radius="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> +<chamberPosition volume="sMD3-2-2" radius="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> + +<!-- C-SIDE --> +<!-- LARGE SECTOR --> +<!-- spacer --> +<mposPhi volume="spa1-1" ncopy="8" R_Z="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2;-NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 90.; 90." /> +<mposPhi volume="spa1-2" ncopy="8" R_Z="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2;-NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 90.; 90." /> + +<!-- SMALL SECTOR --> +<!-- spacer --> +<mposPhi volume="spa3-1" ncopy="8" R_Z="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2;-NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 90.; 90." /> +<mposPhi volume="spa3-2" ncopy="8" R_Z="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2;-NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 90.; 90." /> + +</composition> + +</section> + + +<!-- ========== Poisitionning sTGC in NSW================ --> + + +<section name="NewSmallWheels" version="4.3" top_volume="useless" date=" April 20, 2015 " author="Daniel Lellouch"> + +<composition name="NewSmallWheel"> + <posXYZ volume="NSW_sTGC" X_Y_Z="0.;0.;0."/> + <posXYZ volume="NSW_MM" X_Y_Z="0.;0.;0." /> +</composition> + +</section> +</AGDD> diff --git a/MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v2.06.xml b/MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v2.06.xml new file mode 100644 index 0000000000000000000000000000000000000000..3c7deddc506ba74e3636d13e5ed103badb1dc389 --- /dev/null +++ b/MuonSpectrometer/MuonG4/NSW_Sim/data/stations.v2.06.xml @@ -0,0 +1,1802 @@ +<?xml version="1.0" encoding="UTF-8"?> +<AGDD> + +<section name="NSW_Parameters" version="1" top_volume="useless" date="December 16 2014" author="S.Chen" > +<!-- Global variables--> +<var name="NSW_NbrOfLayers" value="4"/> +<var name="NSW_NbrOfDriftPcb" value="3"/> +<var name="NSW_NbrOfROPcb" value="2"/> +<!--Center between the large sectors and the small sectors--> +<var name="ZCenter_Global" value="7409"/> +</section> + +<section name="NSW_sTGC_Parameters" version="13.7" top_volume="useless" date=" June 30, 2016 " author="Daniel Lellouch"> +<!-- ================ Global Variables ================= --> + +<!-- Thickness of a quadruplet --> +<var name="NSW_sTGC_Tck" value="49.34"/> +<!-- Gas Gap inside one layer --> +<var name="NSW_sTGC_GasTck" value="2.85"/> +<!-- G10 thickness per layer --> +<var name="NSW_sTGC_pcbTck" value="3"/> +<!-- Number of layers in a quaduplet --> +<var name="NSW_sTGC_NbrOfLayers" value="4"/> +<!-- Wire pitch --> +<var name="NSW_sTGC_WirePitch" value="1.8"/> +<!-- Strip pitch --> +<var name="NSW_sTGC_StripPitch" value="3.2"/> +<!-- Strip width --> +<var name="NSW_sTGC_StripWidth" value="2.7"/> +<!-- Width of G10 frame besides gas volume --> +<var name="NSW_sTGC_SideFrame" value="28.5"/> +<!-- Width of G10 frame in base w/o capacitor --> +<var name="NSW_sTGC_hFrameNoCapacitor" value="11"/> +<!-- Width of G10 frame in base with capacitor --> +<var name="NSW_sTGC_hFrameCapacitor" value="14"/> +<!-- Opening (in degrees) of trapezes in small wedges --> +<var name="NSW_sTGC_SmallOpening" value="17"/> +<!-- Opening (in degrees) of trapezes in large wedges --> +<var name="NSW_sTGC_LargeOpening" value="28"/> +<!-- Z center of small Pivot --> +<var name="NSW_sTGC_ZSmallPivot" value="ZCenter_Global-65"/> +<!-- Z center of small Confirm --> +<var name="NSW_sTGC_ZSmallConfirm" value="ZCenter_Global-399"/> +<!-- Z center of Large Pivot --> +<var name="NSW_sTGC_ZLargePivot" value="ZCenter_Global+65"/> +<!-- Z center of Large Confirm --> +<var name="NSW_sTGC_ZLargeConfirm" value="ZCenter_Global+399"/> +<!-- Z of each volume, relative to center of quadruplet --> +<array name="NSW_sTGC_LayerDeltaZ" values="-16.45;-5.48;5.49;16.46"/> +<!-- Side of the Pad readout --> +<array name="NSW_sTGC_PadSide" values="-1;1;-1;1"/> +<!-- Side of the Strip readout --> +<array name="NSW_sTGC_StripSide" values="1;-1;1;-1"/> +</section> + +<!-- ================ sTGC ========================= --> + + +<section name="NewSmallWheels_sTGC" version="22.1" top_volume="useless" date=" June 22, 2018 " author="Daniel Lellouch"> + +<composition name="NSW_sTGC"> + +<sTGC_Tech type="sTGC_1" geometryLevel="1" nLayers="NSW_sTGC_NbrOfLayers" gasTck="NSW_sTGC_GasTck" pcbTck="NSW_sTGC_pcbTck" Tck="NSW_sTGC_Tck" f4="NSW_sTGC_hFrameNoCapacitor" f5="NSW_sTGC_hFrameNoCapacitor" f6="NSW_sTGC_SideFrame"/> + +<!-- ================ small Pivot ========================= --> + +<sTGC type="sTG1-QS1P" tech="sTGC_1" subType="QS1P" sWidth="346.93" lWidth="743.15" Length="1325.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="279.32" lPadWidth="667.18" padH="80;80;80.24;80.24" rankPadPhi="4;3;2;1" nPadPhi="4;4;3;3" anglePadPhi="5" firstPadPhiDivision_C="-5;-5;-2.5;-2.5" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-5;-5;-2.5;-2.5" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="17;17;17;17" firstPadH="65.8;65.8;28.61;28.61" firstPadRow="1;1;1;1" sStripWidth="293.48" lStripWidth="681.33" wireCutout="802.8;829.8;856.8;883.8" nWires="371;370;370;370" firstWire="-333;-331.65;-332.55;-332.1" wireGroupWidth="20" nStrips="406" firstTriggerBand="3;3;3;3" nTriggerBands="28;28;28;28" firstStripInTrigger="44;44;44;44" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13; 12;13;12;13;12;13;10" StripsInBandsLayer2="12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;12;13;13;12; 13;12;13;12;13;12;10" StripsInBandsLayer3="12;13;12;13;12;13;12;13;13;12;13;12;13;12;13;12;13;12;13;12;13;12; 13;12;13;13;12;13;8" StripsInBandsLayer4="12;13;12;13;12;13;13;12;13;12;13;12;13;12;13;13;12;13;12;13;12;13; 12;13;12;13;13;12;8" nWireGroups="19;20;19;19" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QS1P" type="ENDCAP" chamberType="sTGS" radius="1563" zPos="NSW_sTGC_ZSmallPivot" phi0="22.5"/> + +<sTGC type="sTG1-QS2P" tech="sTGC_1" subType="QS2P" sWidth="746.14" lWidth="1102.25" Length="1191.4" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="677.64" lPadWidth="1026.28" padH="80;80;80.24;80.24" rankPadPhi="2;1;4;3" nPadPhi="2;2;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="0;0;-3.75;-3.75" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="0;0;-3.75;-3.75" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="15;15;15;15" firstPadH="93.2;93.2;60.09;60.09" firstPadRow="18;18;18;18" sStripWidth="691.8" lStripWidth="1040.43" wireCutout="0;0;0;0" nWires="569;570;570;570" firstWire="-511.2;-511.65;-512.55;-512.1" wireGroupWidth="20" nStrips="365" firstTriggerBand="34;34;34;34" nTriggerBands="30;30;30;30" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="4;13;12;13;12;13;12;13;12;12; 12;13;12;12;13;12;13;12;13;12; 13;12;13;12;;12;13;12;13;11" StripsInBandsLayer2="5;12;13;12;13;12;13;12;13;13; 13;12;13;12;13;12;13;12;13;12; 13;12;13;12;13;12;13;12;13;10" StripsInBandsLayer3="5;12;13;12;13;12;13;12;13;13; 13;12;13;12;13;12;13;12;13;12; 13;12;13;12;13;12;13;12;13;10" StripsInBandsLayer4="7;12;13;12;13;12;13;13;12;12; 12;13;12;13;12;13;13;12;13;12; 13;12;13;12;13;12;13;13;12;7" nWireGroups="29;30;29;29" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QS2P" type="ENDCAP" chamberType="sTGS" radius="2831.5" zPos="NSW_sTGC_ZSmallPivot" phi0="22.5"/> + +<sTGC type="sTG1-QS3P" tech="sTGC_1" subType="QS3P" sWidth="1105.96" lWidth="1406.59" Length="1005.8" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1037.46" lPadWidth="1330.62" padH="80;80;80.24;80.24" rankPadPhi="2;1;4;3" nPadPhi="2;2;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="0;0;-3.75;-3.75" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="0;0;-3.75;-3.75" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="12;12;13;13" firstPadH="89.4;89.4;59.88;59.88" firstPadRow="33;33;33;33" sStripWidth="1051.61" lStripWidth="1344.78" wireCutout="0;0;0;0" nWires="739;739;739;738" firstWire="-664.2;-664.65;-663.75;-663.3" wireGroupWidth="20" nStrips="307" firstTriggerBand="64;64;64;64" nTriggerBands="26;26;25;25" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="3;12;13;12;13;12;13;12;13;13; 13;12;13;12;13;12;12;13;12;13; 12;13;12;13;12;5" StripsInBandsLayer2="6;12;13;12;13;13;12;13;12;12; 12;13;12;13;12;13;12;13;12;13; 13;12;13;12;13;3" StripsInBandsLayer3="6;12;13;12;13;13;12;13;12;12; 12;13;12;13;12;13;12;13;12;13; 12;13;12;13;13" StripsInBandsLayer4="7;13;12;13;12;13;12;13;12;12; 12;13;13;12;13;12;13;12;13;12; 13;12;13;13;11" nWireGroups="37;38;38;38" firstWireGroup="20;14;10;3"/> +</sTGC> + +<chamberPosition volume="sTG1-QS3P" type="ENDCAP" chamberType="sTGS" radius="3942.5" zPos="NSW_sTGC_ZSmallPivot" phi0="22.5"/> + + +<!-- ================ small confirm =============== --> + +<sTGC type="sTG1-QS1C" tech="sTGC_1" subType="QS1C" sWidth="346.93" lWidth="743.15" Length="1325.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="293.48" lPadWidth="681.33" padH="76.35;76.35;76.59;76.59" rankPadPhi="1;4;2;3" nPadPhi="4;4;4;4" anglePadPhi="5" firstPadPhiDivision_C="-3.75;-6.25;-3.75;-6.25" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-6.25;-3.75;-6.25;-3.75" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="17;17;18;18" firstPadH="78.4;78.4;43.21;43.21" firstPadRow="2;2;2;2" sStripWidth="293.48" lStripWidth="681.33" wireCutout="883.8;856.8;829.8;802.8" nWires="370;370;370;371" firstWire="-332.1;-331.65;-332.55;-333" wireGroupWidth="20" nStrips="406" firstTriggerBand="5;5;5;5" nTriggerBands="32;32;31;31" firstStripInTrigger="44;44;44;44" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="12;12;12;11;12;12;12;12;12;12; 12;12;12;12;12;12;11;12;12;12; 12;12;12;12;12;12;12;12;11;12;12;12" StripsInBandsLayer2="12;12;12;12;11;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 11;12;12;12;12;12;12;12;12;12;12;11" StripsInBandsLayer3="12;12;12;12;11;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12;11;10" StripsInBandsLayer4="12;12;12;12;12;12;12;12;11; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12;12;9" nWireGroups="20;19;19;19" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QS1C" type="ENDCAP" chamberType="sTGS" radius="1563" zPos="NSW_sTGC_ZSmallConfirm" phi0="22.5"/> + +<sTGC type="sTG1-QS2C" tech="sTGC_1" subType="QS2C" sWidth="746.14" lWidth="1102.25" Length="1191.4" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="691.8" lPadWidth="1040.43" padH="76.35;76.35;76.59;76.59" rankPadPhi="3;2;4;1" nPadPhi="3;3;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-1.87;-5.62;-1.87" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-1.87;-5.62;-1.87;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="16;16;15;15" firstPadH="43.8;43.8;89.29;89.29" firstPadRow="19;19;20;20" sStripWidth="691.8" lStripWidth="1040.43" wireCutout="0;0;0;0" nWires="570;570;570;569" firstWire="-512.1;-511.65;-512.55;-511.2" wireGroupWidth="20" nStrips="365" firstTriggerBand="64;64;64;64" nTriggerBands="31;31;31;31" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="2;12;12;12;11;12;12;12;12;12;12; 12;12;12;12;12;11;12;12;12;12; 12;12;12;12;12;12;12;12;11;12" StripsInBandsLayer2="12;12;12;12;12;12;12;12;12;12;12; 12;12;12;11;12;12;12;12;12;12; ;12;12;12;12;12;12;12;12;12" StripsInBandsLayer3="2;12;12;12;12;12;12;12;12;12;12; 12;12;12;11;12;12;12;12;12;12; ;12;12;12;12;12;12;12;12;12" StripsInBandsLayer4="5;12;11;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12" nWireGroups="30;29;29;29" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QS2C" type="ENDCAP" chamberType="sTGS" radius="2831.5" zPos="NSW_sTGC_ZSmallConfirm" phi0="22.5"/> + +<sTGC type="sTG1-QS3C" tech="sTGC_1" subType="QS3C" sWidth="1105.96" lWidth="1406.59" Length="1005.8" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1051.61" lPadWidth="1344.78" padH="76.35;76.35;76.59;76.59" rankPadPhi="3;2;4;1" nPadPhi="3;3;3;3" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-1.87;-5.62;-1.87" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-1.87;-5.62;-1.87;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="13;13;14;14" firstPadH="61.66;61.66;34.38;34.38" firstPadRow="35;35;35;35" sStripWidth="1051.61" lStripWidth="1344.78" wireCutout="0;0;0;0" nWires="738;739;739;739" firstWire="-663.3;-664.65;-663.75;-664.2" wireGroupWidth="20" nStrips="307" firstTriggerBand="37;37;37;37" nTriggerBands="26;26;25;25" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="6;7;12;12;12;12;12;12;11;11; 12;12;12;12;12;12;12;12;12;12; 12;11;12;13;12;12" StripsInBandsLayer2="2;10;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;12;13;12" StripsInBandsLayer3="2;10;12;12;12;12;12;12;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;13;13" StripsInBandsLayer4="1;12;12;12;12;12;12;11;12;12; 12;12;12;12;12;12;12;12;12;12; 12;12;12;13;11" nWireGroups="38;38;38;38" firstWireGroup="5;14;15;3"/> +</sTGC> + +<chamberPosition volume="sTG1-QS3C" type="ENDCAP" chamberType="sTGS" radius="3942.5" zPos="NSW_sTGC_ZSmallConfirm" phi0="22.5"/> + + +<!-- ================ Large Pivot ==================== --> + +<sTGC type="sTG1-QL1P" tech="sTGC_1" subType="QL1P" sWidth="542.61" lWidth="1206.82" Length="1332" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="476.42" lPadWidth="1126.66" padH="81.42;81.42;81.66;81.66" rankPadPhi="4;3;2;1" nPadPhi="6;6;7;7" anglePadPhi="5" firstPadPhiDivision_C="-10;-10;-12.5;-12.5" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-10;-10;-12.5;-12.5" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="17;17;16;16" firstPadH="54.39;54.39;98.15;98.15" firstPadRow="1;1;2;2" sStripWidth="490.84" lStripWidth="1141.09" wireCutout="808;835;862;889" nWires="621;620;620;620" firstWire="-558;-556.65;-557.55;-557.1" wireGroupWidth="20" nStrips="408" firstTriggerBand="3;3;3;3" nTriggerBands="30;30;30;30" firstStripInTrigger="45;45;45;45" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="13;13;12;13;13;13;12;13;13;12;13;13;13;12;13;13;12;13;13;13;12;13; 13;12;13;13;13;12;13;13" StripsInBandsLayer2="13;13;12;13;13;13;12;13;13;13;12;13;13;12;13;13;13;12;13;13;13;12; 13;13;12;13;13;13;12;13" StripsInBandsLayer3="13;13;12;13;13;13;12;13;13;13;12;13;13;13;12;13;13;13;12;13;13;13; 12;13;13;13;12;13;13;13" StripsInBandsLayer4="13;13;12;13;13;13;13;12;13;13;13;12;13;13;13;12;13;13;13;13;12;13; 13;13;12;13;13;13;12;13" nWireGroups="32;32;32;32" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QL1P" type="ENDCAP" chamberType="sTGL" radius="1595" zPos="NSW_sTGC_ZLargePivot" phi0="0.0"/> + +<sTGC type="sTG1-QL2P" tech="sTGC_1" subType="QL2P" sWidth="1211.81" lWidth="1807.5" Length="1194.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1144.12" lPadWidth="1727.34" padH="81.42;81.42;81.66;81.66" rankPadPhi="2;1;4;3" nPadPhi="4;4;5;5" anglePadPhi="7.5" firstPadPhiDivision_C="-7.5;-7.5;-11.25;-11.25" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-7.5;-7.5;-11.25;-11.25" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="14;14;15;15" firstPadH="99.51;99.51;65.69;65.69" firstPadRow="18;18;18;18" sStripWidth="1158.55" lStripWidth="1741.77" wireCutout="0;0;0;0" nWires="953;954;954;954" firstWire="-856.8;-857.25;-858.15;-857.7" wireGroupWidth="20" nStrips="366" firstTriggerBand="33;33;33;33" nTriggerBands="30;30;30;29" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="9;6;12;13;13;12;13;13;13;12;13;13;1313;13;13;13;12;13;13;12;13;13;13; 12;13;13;12;13;13;13" StripsInBandsLayer2="9;6;13;13;12;13;13;13;12;13;13;12;1213;13;13;12;13;13;13;12;13;13;13; 12;13;13;12;13;13;13" StripsInBandsLayer3="7;8;12;13;13;13;12;13;13;13;12;13;1313;13;12;13;13;13;12;13;13;13;12; 13;13;13;12;13;13;13" StripsInBandsLayer4="7;8;13;13;13;12;13;13;13;12;13;13;1313;13;12;13;13;13;12;13;13;13;12; 13;13;13;12;13;13" nWireGroups="48;49;49;48" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QL2P" type="ENDCAP" chamberType="sTGL" radius="2868.3" zPos="NSW_sTGC_ZLargePivot" phi0="0.0"/> + +<sTGC type="sTG1-QL3P" tech="sTGC_1" subType="QL3P" sWidth="1813.68" lWidth="2111" Length="1153" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="545.3" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode="539.26"> + +<sTGC_readout sPadWidth="1745.99" lPadWidth="2054" padH="81.42;81.42;81.66;81.66" + rankPadPhi="2;1;4;3" nPadPhi="4;4;5;5" anglePadPhi="7.5" firstPadPhiDivision_C="-7.5;-7.5;-11.25;-11.25" PadPhiShift_C="2;-2;2;-2" firstPadPhiDivision_A="-7.5;-7.5;-11.25;-11.25" PadPhiShift_A="-2;2;-2;2" rankPadH="1;2;3;4" nPadH="15;15;14;14" firstPadH="32.38;32.38;83.57;83.57" firstPadRow="32;32;33;33" sStripWidth="1760.42" lStripWidth="2054" wireCutout="0;0;0;0" nWires="1133;1134;1134;1134" firstWire="-1018.8;-1019.25;-1019.7;-1019.7" wireGroupWidth="20" nStrips="353" firstTriggerBand="63;63;63;62" nTriggerBands="28;28;28;29" firstStripInTrigger="1;1;1;1" firstStripWidth="1.6;3.2;1.6;3.2" StripsInBandsLayer1="10;13;12;13;13;12;13;13;13; 12;13;13;12;13;13;12;13;13;13; 12;13;13;12;13;13;13;12;13" StripsInBandsLayer2="11;13;12;13;13;13;12;13;13; 12;13;13;13;12;13;13;13;12;13; 13;13;12;13;13;12;13;13;11" StripsInBandsLayer3="13;13;13;12;13;13;13;12;13; 13;13;12;13;13;13;12;13;13;13; 12;13;13;13;12;13;13;13;8" StripsInBandsLayer4="1;13;13;13;12;13;13;13;13;12; 13;13;13;12;13;13;13;12;13;13; 13;13;12;13;13;13;12;13;7" nWireGroups="57;58;58;57" firstWireGroup="20;5;10;15"/> +</sTGC> + +<chamberPosition volume="sTG1-QL3P" type="ENDCAP" chamberType="sTGL" radius="4054.5" zPos="NSW_sTGC_ZLargePivot" phi0="0.0"/> + +<!-- =============== Large Confirm ===================== --> + +<sTGC type="sTG1-QL1C" tech="sTGC_1" subType="QL1C" sWidth="542.61" lWidth="1206.82" Length="1332" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="490.84" lPadWidth="1141.09" padH="85.07;85.07;85.31;85.31" rankPadPhi="4;3;2;1" nPadPhi="6;6;6;6" anglePadPhi="5" firstPadPhiDivision_C="-8.75;-11.25;-8.75;-11.25" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-11.25;-8.75;-11.25;-8.75" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="16;16;16;16" firstPadH="77.79;77.79;38.01;38.01" firstPadRow="1;1;1;1" sStripWidth="490.84" lStripWidth="1141.09" wireCutout="889;862;835;808" nWires="620;620;620;621" firstWire="-557.1;-556.65;-557.55;-558" wireGroupWidth="20" nStrips="408" firstTriggerBand="3;3;3;3" nTriggerBands="29;29;28;28" firstStripInTrigger="44;44;44;44" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="13;13;13;14;13;13;14;13;13;13; 14;13;13;14;13;13;13;14;13;13; 13;14;13;13;14;13;13;13" StripsInBandsLayer2="13;13;13;14;13;13;14;13;13;14; 13;13;13;14;13;13;14;13;13;14; 13;13;13;14;13;13;14;13" StripsInBandsLayer3="14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;13;14;13; 13;13;14;13;13;14;13;13" StripsInBandsLayer4="14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;13;14;13; 14;13;13;14;13;13;14;13" nWireGroups="32;32;32;32" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QL1C" type="ENDCAP" chamberType="sTGL" radius="1595" zPos="NSW_sTGC_ZLargeConfirm" phi0="0.0"/> + +<sTGC type="sTG1-QL2C" tech="sTGC_1" subType="QL2C" sWidth="1211.81" lWidth="1807.5" Length="1194.6" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="0" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode ="0"> + +<sTGC_readout sPadWidth="1158.55" lPadWidth="1741.77" padH="85.07;85.07;85.31;85.31" rankPadPhi="3;2;4;1" nPadPhi="4;4;4;4" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-9.37;-5.62;-9.37" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-9.37;-5.62;-9.37;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="14;14;14;14" firstPadH="99.84;99.84;63.9;63.9" firstPadRow="17;17;17;17" sStripWidth="1158.55" lStripWidth="1741.77" wireCutout="0;0;0;0" nWires="954;954;954;953" firstWire="-857.7;-857.25;-858.15;-856.8" wireGroupWidth="20" nStrips="366" firstTriggerBand="30;30;30;30" nTriggerBands="29;29;29;29" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="12;5;13;13;13;14;13;13;14;13; 13;13;14;13;13;14;13;13;13;14; 13;13;14;13;13;13;14;13;13" StripsInBandsLayer2="11;5;13;14;13;13;14;13;13;13; 14;13;13;14;13;13;14;13;13;14; 13;13;13;14;13;13;14;13;13" StripsInBandsLayer3="10;7;13;13;14;13;13;14;13;13; 13;14;13;13;14;13;13;14;13;13; 14;13;13;14;13;13;14;13;13" StripsInBandsLayer4="9;7;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;14;13;13; 14;13;13;14;13;13;14;13;12" nWireGroups="49;49;48;48" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QL2C" type="ENDCAP" chamberType="sTGL" radius="2868.3" zPos="NSW_sTGC_ZLargeConfirm" phi0="0.0"/> + +<sTGC type="sTG1-QL3C" tech="sTGC_1" subType="QL3C" sWidth="1813.68" lWidth="2111" Length="1153" Tck="NSW_sTGC_Tck" xFrame="NSW_sTGC_SideFrame" ysFrame="NSW_sTGC_hFrameNoCapacitor" ylFrame="NSW_sTGC_hFrameCapacitor" yCutout="545.3" stripPitch="NSW_sTGC_StripPitch" wirePitch="NSW_sTGC_WirePitch" stripWidth="NSW_sTGC_StripWidth" yCutoutCathode="539.26"> + +<sTGC_readout sPadWidth="1760.42" lPadWidth="2054" padH="85.07;85.07;85.31;85.31" rankPadPhi="3;2;4;1" nPadPhi="4;4;4;4" anglePadPhi="7.5" firstPadPhiDivision_C="-5.62;-9.37;-5.62;-9.37" PadPhiShift_C="-2;2;-2;2" firstPadPhiDivision_A="-9.37;-5.62;-9.37;-5.62" PadPhiShift_A="2;-2;2;-2" rankPadH="1;2;3;4" nPadH="13;13;14;14" firstPadH="83.76;83.76;51.17;51.17" firstPadRow="31;31;31;31" sStripWidth="1760.42" lStripWidth="2054" wireCutout="0;0;0;0" nWires="1134;1134;1134;1133" firstWire="-1019.7;-1019.25;-1020.15;-1018.8" wireGroupWidth="20" nStrips="353" firstTriggerBand="60;60;60;60" nTriggerBands="28;28;28;28" firstStripInTrigger="1;1;1;1" firstStripWidth="3.2;1.6;3.2;1.6" StripsInBandsLayer1="3;13;13;13;13;14;13;13;14;13;13; 13;14;13;13;14;13;13;13;14;13; 13;13;14;13;13;14;8" StripsInBandsLayer2="2;14;13;13;14;13;13;13;14;13;13; 14;13;13;14;13;13;13;14;13;13; 14;13;13;14;13;13;7" StripsInBandsLayer3="2;14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;13;14;13;13;14; 13;13;14;13;13;14;4" StripsInBandsLayer4="3;14;13;13;14;13;13;14;13;13;14; 13;13;14;13;13;14;13;13;14;13; 13;14;13;13;14;13;3" nWireGroups="58;58;57;57" firstWireGroup="5;10;15;20"/> +</sTGC> + +<chamberPosition volume="sTG1-QL3C" type="ENDCAP" chamberType="sTGL" radius="4054.5" zPos="NSW_sTGC_ZLargeConfirm" phi0="0.0"/> + +</composition> +</section> + + +<!-- ========== MicroMegas ============================== --> + +<section name="NSW_MM_Parameters" version="1" top_volume="useless" date="December 16 2014" author="S.Chen" > + +<!-- Frames. "f1": frame width close to the trapezium large side. "f2": frame width close to the trapezium small side. "f3": frame width close to the trapezium oblique side --> + +<!-- Distance from IP, labeled zmin_MM in Parameter Book --> +<var name="NSW_MM_LM_distanceFromIP" value="7536"/> +<var name="NSW_MM_SM_distanceFromIP" value="7072"/> +<!-- Thickness of Multilayer and the subcomponent (mm)--> +<var name="NSW_MM_GasTck" value="5.04"/> +<var name="NSW_MM_ROPcbTck" value="11.69"/> +<var name="NSW_MM_DriftPcbTck" value="11.284"/> +<var name="NSW_MM_MultilayerTck" value="NSW_NbrOfLayers* NSW_MM_GasTck + (NSW_NbrOfDriftPcb) * NSW_MM_DriftPcbTck+ ( NSW_NbrOfROPcb) * NSW_MM_ROPcbTck" /> <!-- Thickness of one multilayer --> + +<!-- Large sector modules (LM1" LM2). Modules are all trapezoid. ""Height"": radial envelope" ""base/top Width"": upper/lower side of the trapezoid--> +<var name="NSW_MM_LM1_InnerRadius" value="923" /> +<var name="NSW_MM_LM1_Length" value="2310" /> +<var name="NSW_MM_LM1_outerRadius" value="NSW_MM_LM1_InnerRadius+NSW_MM_LM1_Length" /> +<var name="NSW_MM_LM1_f1" value="30"/> +<var name="NSW_MM_LM1_f2" value="30"/> +<var name="NSW_MM_LM1_f3" value="100"/> +<var name="NSW_MM_LMGap_Length" value="5" /> <!-- Radial gap between LM1 and LM2 --> +<var name="NSW_MM_LM2_InnerRadius" value="NSW_MM_LM1_outerRadius+NSW_MM_LMGap_Length" /> +<var name="NSW_MM_LM2_Length" value="1410" /> +<var name="NSW_MM_LM2_outerRadius" value="NSW_MM_LM2_InnerRadius+NSW_MM_LM2_Length" /> +<var name="NSW_MM_LM1_baseWidth" value="640" /> +<var name="NSW_MM_LM1_topWidth" value="2008.5" /> +<var name="NSW_MM_LM2_baseWidth" value="2022.8" /> +<var name="NSW_MM_LM2_topWidth" value="2220" /> +<var name="NSW_MM_LM2_f1" value="30"/> +<var name="NSW_MM_LM2_f2" value="30"/> +<var name="NSW_MM_LM2_f3" value="100"/> +<!-- These lines added by Alexandre Laurier to fix MM active Geometry --> +<var name="NSW_MM_LM1_activeA" value="453.0"/> +<var name="NSW_MM_LM1_activeB" value="1780.0"/> +<var name="NSW_MM_LM1_activeH" value="2238.8"/> +<var name="NSW_MM_LM2_activeA" value="1828.0"/> +<var name="NSW_MM_LM2_activeB" value="2015.0"/> +<var name="NSW_MM_LM2_activeH" value="1339.3"/> +<!-- Small sector modules (SM1" SM2). Modules are all trapezoids. ""Height"": radial envelope" ""base/top Width"": upper/lower side --> +<var name="NSW_MM_SM1_InnerRadius" value="895" /> +<var name="NSW_MM_SM1_Length" value="2210" /> +<var name="NSW_MM_SM1_outerRadius" value="NSW_MM_SM1_InnerRadius+NSW_MM_SM1_Length" /> +<var name="NSW_MM_SMGap_Length" value="5" /> <!-- Radial gap between SM1 and SM2 --> +<var name="NSW_MM_SM1_f1" value="30"/> +<var name="NSW_MM_SM1_f2" value="30"/> +<var name="NSW_MM_SM1_f3" value="100"/> +<var name="NSW_MM_SM2_InnerRadius" value="NSW_MM_SM1_outerRadius+NSW_MM_SMGap_Length" /> +<var name="NSW_MM_SM2_Length" value="1350" /> +<var name="NSW_MM_SM2_outerRadius" value="NSW_MM_SM2_InnerRadius+NSW_MM_SM2_Length" /> +<var name="NSW_MM_SM1_baseWidth" value="500" /> +<var name="NSW_MM_SM1_topWidth" value="1319.2" /> +<var name="NSW_MM_SM2_baseWidth" value="1321.1" /> +<var name="NSW_MM_SM2_topWidth" value="1821.5" /> +<var name="NSW_MM_SM2_f1" value="30"/> +<var name="NSW_MM_SM2_f2" value="30"/> +<var name="NSW_MM_SM2_f3" value="100"/> +<!-- These lines added by Alexandre Laurier to fix MM active Geometry --> +<var name="NSW_MM_SM1_activeA" value="310.0"/> +<var name="NSW_MM_SM1_activeB" value="1102.5"/> +<var name="NSW_MM_SM1_activeH" value="2139.3"/> +<var name="NSW_MM_SM2_activeA" value="1130.0"/> +<var name="NSW_MM_SM2_activeB" value="1575.0"/> +<var name="NSW_MM_SM2_activeH" value="1279.3"/> + +<var name="NSW_MM_LargeSector_ZCENTER" value="ZCenter_Global+232."/> +<var name="NSW_MM_SmallSector_ZCENTER" value="ZCenter_Global-232."/> + + +<!-- Thickness of inter-multilayer spacers --> +<var name="NSW_MM_SpacerThickness" value="50" /> + +<!-- Global z-coordinate for the sector center --> +<!-- <var name="NSW_MM_LargeSector_ZCENTER" value="NSW_MM_LM_distanceFromIP + 4.*NSW_MM_DriftPcbTck + 4.*NSW_MM_ROPcbTck + 4.*NSW_MM_GasTck + NSW_MM_SpacerThickness/2."/> +<var name="NSW_MM_SmallSector_ZCENTER" value="NSW_MM_SM_distanceFromIP + 4.*NSW_MM_DriftPcbTck + 4.*NSW_MM_ROPcbTck + 4.*NSW_MM_GasTck + NSW_MM_SpacerThickness/2."/> --> + +</section> + +<section name="NewSmallWheelsMM" version="1" top_volume="useless" date="December 16 2014" author="S.Chen" > + + +<!-- Technologies --> +<mm_Tech type="MM_1" geometryLevel="1" nLayers="NSW_NbrOfLayers" gasTck="NSW_MM_GasTck" driftPcbTck="NSW_MM_DriftPcbTck" ROPcbTck="NSW_MM_ROPcbTck" Tck="NSW_MM_MultilayerTck" /> +<!--Chilufya<mmSpacer_Tech type="Spa_1" Tck="NSW_MM_SpacerThickness" />Chilufya--> + +<!-- large wheel --> +<micromegas type="sMD1-1-1" tech="MM_1" subType="M1L1" sWidth="NSW_MM_LM1_baseWidth" lWidth="NSW_MM_LM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM1_Length" ylFrame="NSW_MM_LM1_f1" ysFrame="NSW_MM_LM1_f2" xFrame="NSW_MM_LM1_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM1_InnerRadius" roLength="NSW_MM_LM1_Length" sStripWidth="NSW_MM_LM1_activeA" lStripWidth="NSW_MM_LM1_activeB" activeH="NSW_MM_LM1_activeH" minYPhi="12.3" maxYPhi="7"/> +</micromegas> +<micromegas type="sMD1-2-1" tech="MM_1" subType="M2L1" sWidth="NSW_MM_LM2_baseWidth" lWidth="NSW_MM_LM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM2_Length" ylFrame="NSW_MM_LM2_f1" ysFrame="NSW_MM_LM2_f2" xFrame="NSW_MM_LM2_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM2_InnerRadius" roLength="NSW_MM_LM2_Length" sStripWidth="NSW_MM_LM2_activeA" lStripWidth="NSW_MM_LM2_activeB" activeH="NSW_MM_LM2_activeH" minYPhi="22" maxYPhi="24"/> +</micromegas> +<micromegas type="sMD1-1-2" tech="MM_1" subType="M1L2" sWidth="NSW_MM_LM1_baseWidth" lWidth="NSW_MM_LM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM1_Length" ylFrame="NSW_MM_LM1_f1" ysFrame="NSW_MM_LM1_f2" xFrame="NSW_MM_LM1_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM1_InnerRadius" roLength="NSW_MM_LM1_Length" sStripWidth="NSW_MM_LM1_activeA" lStripWidth="NSW_MM_LM1_activeB" activeH="NSW_MM_LM1_activeH" minYPhi="12.3" maxYPhi="7"/> +</micromegas> +<micromegas type="sMD1-2-2" tech="MM_1" subType="M2L2" sWidth="NSW_MM_LM2_baseWidth" lWidth="NSW_MM_LM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_LM2_Length" ylFrame="NSW_MM_LM2_f1" ysFrame="NSW_MM_LM2_f2" xFrame="NSW_MM_LM2_f3"> +<mm_readout stripPitch="0.45" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_LM2_InnerRadius" roLength="NSW_MM_LM2_Length" sStripWidth="NSW_MM_LM2_activeA" lStripWidth="NSW_MM_LM2_activeB" activeH="NSW_MM_LM2_activeH" minYPhi="22" maxYPhi="24"/> +</micromegas> + +<!--Chilufya<mmSpacer type="spa1-1" tech="Spa_1" sWidth="NSW_MM_LM1_baseWidth" lWidth="NSW_MM_LM1_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_LM1_Length" /> +<mmSpacer type="spa1-2" tech="Spa_1" sWidth="NSW_MM_LM2_baseWidth" lWidth="NSW_MM_LM2_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_LM2_Length" />Chilufya--> + + +<!-- small wheel --> +<micromegas type="sMD3-1-1" tech="MM_1" subType="M1S1" sWidth="NSW_MM_SM1_baseWidth" lWidth="NSW_MM_SM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM1_Length" ylFrame="NSW_MM_SM1_f1" ysFrame="NSW_MM_SM1_f2" xFrame="NSW_MM_SM1_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM1_InnerRadius" roLength="NSW_MM_SM1_Length" sStripWidth="NSW_MM_SM1_activeA" lStripWidth="NSW_MM_SM1_activeB" activeH="NSW_MM_SM1_activeH" minYPhi="0.7" maxYPhi="0.4"/> +</micromegas> +<micromegas type="sMD3-2-1" tech="MM_1" subType="M2S1" sWidth="NSW_MM_SM2_baseWidth" lWidth="NSW_MM_SM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM2_Length" ylFrame="NSW_MM_SM2_f1" ysFrame="NSW_MM_SM2_f2" xFrame="NSW_MM_SM2_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.; 0.; 0.02618; -0.02618" readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM2_InnerRadius" roLength="NSW_MM_SM2_Length" sStripWidth="NSW_MM_SM2_activeA" lStripWidth="NSW_MM_SM2_activeB" activeH="NSW_MM_SM2_activeH" minYPhi="1.92" maxYPhi="10"/> +</micromegas> +<micromegas type="sMD3-1-2" tech="MM_1" subType="M1S2" sWidth="NSW_MM_SM1_baseWidth" lWidth="NSW_MM_SM1_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM1_Length" ylFrame="NSW_MM_SM1_f1" ysFrame="NSW_MM_SM1_f2" xFrame="NSW_MM_SM1_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM1_InnerRadius" roLength="NSW_MM_SM1_Length" sStripWidth="NSW_MM_SM1_activeA" lStripWidth="NSW_MM_SM1_activeB" activeH="NSW_MM_SM1_activeH" minYPhi="0.7" maxYPhi="0.4"/> +</micromegas> +<micromegas type="sMD3-2-2" tech="MM_1" subType="M2S2" sWidth="NSW_MM_SM2_baseWidth" lWidth="NSW_MM_SM2_topWidth" Tck="NSW_MM_MultilayerTck" Length="NSW_MM_SM2_Length" ylFrame="NSW_MM_SM2_f1" ysFrame="NSW_MM_SM2_f2" xFrame="NSW_MM_SM2_f3"> +<mm_readout stripPitch="0.425" gasThickness="NSW_MM_GasTck" pcbThickness="NSW_MM_ROPcbTck" driftThickness="NSW_MM_DriftPcbTck" stereoAngle="0.02618; -0.02618; 0.; 0." readoutSide="-1; 1; -1; 1" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." distanceFromZAxis="NSW_MM_SM2_InnerRadius" roLength="NSW_MM_SM2_Length" sStripWidth="NSW_MM_SM2_activeA" lStripWidth="NSW_MM_SM2_activeB" activeH="NSW_MM_SM2_activeH" minYPhi="1.92" maxYPhi="10"/> +</micromegas> +<!--Chilufya<mmSpacer type="spa3-1" tech="Spa_1" sWidth="NSW_MM_SM1_baseWidth" lWidth="NSW_MM_SM1_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_SM1_Length" /> +<mmSpacer type="spa3-2" tech="Spa_1" sWidth="NSW_MM_SM2_baseWidth" lWidth="NSW_MM_SM2_topWidth" Tck="NSW_MM_SpacerThickness" Length="NSW_MM_SM2_Length" />Chilufya--> + +<composition name="NSW_MM" > +<!-- A-SIDE --> + +<!-- LARGE SECTOR --> + +<!-- MM multilayer 1 --> +<chamberPosition volume="sMD1-1-1" radius="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> +<chamberPosition volume="sMD1-2-1" radius="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> +<!-- spacer --> +<!--Chilufya<mposPhi volume="spa1-1" ncopy="8" R_Z="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2;NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 270.; 90." /> +<mposPhi volume="spa1-2" ncopy="8" R_Z="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2;NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 270.; 90." />Chilufya--> + +<!-- MM multilayer 2 --> +<chamberPosition volume="sMD1-1-2" radius="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> +<chamberPosition volume="sMD1-2-2" radius="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2" zPos="NSW_MM_LargeSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="0" /> + +<!-- SMALL SECTOR --> + +<!-- MM multilayer 1 --> +<chamberPosition volume="sMD3-1-1" radius="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> +<chamberPosition volume="sMD3-2-1" radius="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER-NSW_MM_MultilayerTck/2.-NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> + +<!-- spacer --> +<!--Chilufya<mposPhi volume="spa3-1" ncopy="8" R_Z="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2;NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 270.; 90." /> +<mposPhi volume="spa3-2" ncopy="8" R_Z="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2;NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 270.; 90." />Chilufya--> + +<!-- MM multilayer 2 --> +<chamberPosition volume="sMD3-1-2" radius="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> +<chamberPosition volume="sMD3-2-2" radius="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2" zPos="NSW_MM_SmallSector_ZCENTER+NSW_MM_MultilayerTck/2.+NSW_MM_SpacerThickness/2." type="ENDCAP" chamberType="Micromegas" phi0="22.5" /> + +<!-- C-SIDE --> +<!-- LARGE SECTOR --> +<!-- spacer --> +<!--Chilufya<mposPhi volume="spa1-1" ncopy="8" R_Z="(NSW_MM_LM1_InnerRadius+NSW_MM_LM1_outerRadius)/2;-NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 90.; 90." /> +<mposPhi volume="spa1-2" ncopy="8" R_Z="(NSW_MM_LM2_InnerRadius+NSW_MM_LM2_outerRadius)/2;-NSW_MM_LargeSector_ZCENTER" Phi0="0" rot=" 90.; 90.; 90." />Chilufya--> + +<!-- SMALL SECTOR --> +<!-- spacer --> +<!--Chilufya<mposPhi volume="spa3-1" ncopy="8" R_Z="(NSW_MM_SM1_InnerRadius+NSW_MM_SM1_outerRadius)/2;-NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 90.; 90." /> +<mposPhi volume="spa3-2" ncopy="8" R_Z="(NSW_MM_SM2_InnerRadius+NSW_MM_SM2_outerRadius)/2;-NSW_MM_SmallSector_ZCENTER" Phi0="22.5" rot=" 90.; 90.; 90." />Chilufya--> + +</composition> + +</section> + + + + + + + +<!--====================================SPACER FRAME===============================================--> + +<section name = "LS and SS Spacer Frames" + version = "0.0" + date = "25-07-2017" + author = "Georgian Engineering Team - Niko Tsutskiridze" + top_volume = "NSW_Spacer"> + +<!-- LS Spacer Ftame --> +<gvxy name="LS_StructuralPlate_Main" material="Aluminium" dZ="5.9"> + <gvxy_point X_Y="226.; 958."/> + <gvxy_point X_Y="914.15; 3281."/> + <gvxy_point X_Y="1007.3; 4613."/> + <gvxy_point X_Y="0.01; 4613."/> + <gvxy_point X_Y="0.01; 958."/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut1" material="Aluminium" dZ="7."> + <gvxy_point X_Y="902.87; 4123."/> + <gvxy_point X_Y="932.24; 4543."/> + <gvxy_point X_Y="40.; 4543."/> + <gvxy_point X_Y="40.; 4123."/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut2" material="Aluminium" dZ="7."> + <gvxy_point X_Y="774.41; 3913.25"/> + <gvxy_point X_Y="770.86; 3963."/> + <gvxy_point X_Y="135.; 3963."/> + <gvxy_point X_Y="135.; 3821.33"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut3" material="Aluminium" dZ="7."> + <gvxy_point X_Y="778.83; 3639.29"/> + <gvxy_point X_Y="792.52; 3835.04"/> + <gvxy_point X_Y="203.42; 3750.35"/> + <gvxy_point X_Y="203.46; 3720.65"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut4" material="Aluminium" dZ="7."> + <gvxy_point X_Y="477.15; 3586.36"/> + <gvxy_point X_Y="477.24; 3606.18"/> + <gvxy_point X_Y="135.; 3654.58"/> + <gvxy_point X_Y="135.; 3541.07"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut5" material="Aluminium" dZ="7."> + <gvxy_point X_Y="762.41; 3404.48"/> + <gvxy_point X_Y="772.57; 3549.82"/> + <gvxy_point X_Y="286.06; 3485.41"/> + <gvxy_point X_Y="286.1; 3465.58"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut6" material="Aluminium" dZ="7."> + <gvxy_point X_Y="600.; 3314.58"/> + <gvxy_point X_Y="602.55; 3354.42"/> + <gvxy_point X_Y="60.; 3424.01"/> + <gvxy_point X_Y="60.; 3314.58"/> +</gvxy> + +<box name="LS_StructuralPlate_Cut7" material="Aluminium" X_Y_Z="138.; 70.; 7. " /> + +<gvxy name="LS_StructuralPlate_Cut8" material="Aluminium" dZ="7."> + <gvxy_point X_Y="678.71; 2838.18"/> + <gvxy_point X_Y="772.71; 3155.5"/> + <gvxy_point X_Y="63.52; 3155.5"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut9" material="Aluminium" dZ="7."> + <gvxy_point X_Y="533.6; 2715.5"/> + <gvxy_point X_Y="551.94; 2791.05"/> + <gvxy_point X_Y="40.; 3055.11"/> + <gvxy_point X_Y="40.; 2715.5"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut10" material="Aluminium" dZ="7."> + <gvxy_point X_Y="459.9; 2169.9"/> + <gvxy_point X_Y="585.97; 2595.5"/> + <gvxy_point X_Y="117.42; 2595.5"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut11" material="Aluminium" dZ="7."> + <gvxy_point X_Y="391.41; 2095.5"/> + <gvxy_point X_Y="135.; 2414.15"/> + <gvxy_point X_Y="135.; 2095.5"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut12" material="Aluminium" dZ="7."> + <gvxy_point X_Y="344.91; 1865.18"/> + <gvxy_point X_Y="389.44; 2015.5"/> + <gvxy_point X_Y="258.79; 2015.5"/> +</gvxy> +<gvxy name="LS_StructuralPlate_Cut13" material="Aluminium" dZ="7."> + <gvxy_point X_Y="275.45; 1825.5"/> + <gvxy_point X_Y="172.35; 2005.44"/> + <gvxy_point X_Y="135.; 1995.5"/> + <gvxy_point X_Y="135.; 1825.5"/> +</gvxy> + +<gvxy name="LS_StructuralPlate_Cut14" material="Aluminium" dZ="7."> + <gvxy_point X_Y="173.8; 1028."/> + <gvxy_point X_Y="380.41; 1725.5"/> + <gvxy_point X_Y="40.; 1725.5"/> + <gvxy_point X_Y="40.; 1028."/> +</gvxy> + +<subtraction name="LS_StructuralPlateSub" > + <posXYZ volume="LS_StructuralPlate_Main" /> + <posXYZ volume="LS_StructuralPlate_Cut1" /> + <posXYZ volume="LS_StructuralPlate_Cut2" /> + <posXYZ volume="LS_StructuralPlate_Cut3" /> + <posXYZ volume="LS_StructuralPlate_Cut4" /> + <posXYZ volume="LS_StructuralPlate_Cut5" /> + <posXYZ volume="LS_StructuralPlate_Cut6" /> + <posXYZ volume="LS_StructuralPlate_Cut7" X_Y_Z="589.; 3235.5; 0." /> + <posXYZ volume="LS_StructuralPlate_Cut8" /> + <posXYZ volume="LS_StructuralPlate_Cut9" /> + <posXYZ volume="LS_StructuralPlate_Cut10" /> + <posXYZ volume="LS_StructuralPlate_Cut11" /> + <posXYZ volume="LS_StructuralPlate_Cut12" /> + <posXYZ volume="LS_StructuralPlate_Cut13" /> + <posXYZ volume="LS_StructuralPlate_Cut14" /> +</subtraction> + +<composition name="LS_StructuralPlate" > + <posXYZ volume="LS_StructuralPlateSub" /> + <posXYZ volume="LS_StructuralPlateSub" rot="0. ; 180. ; 0." /> +</composition> + +<box name="LS_Central_reference_bar" material="Aluminium" X_Y_Z="1704.; 100.; 27.8 " /> + +<box name="LS_Channel_section_L2000_Main" material="Aluminium" X_Y_Z="50.; 2000.; 30. " /> +<box name="LS_Channel_section_L2000_Cut" material="Aluminium" X_Y_Z="40.; 2050.; 20. " /> +<subtraction name="LS_Channel_section_L2000" > + <posXYZ volume="LS_Channel_section_L2000_Main" /> + <posXYZ volume="LS_Channel_section_L2000_Cut" /> +</subtraction> + +<box name="LS_Channel_section_L1200_Main" material="Aluminium" X_Y_Z="50.; 1200.; 30. " /> +<subtraction name="LS_Channel_section_L1200" > + <posXYZ volume="LS_Channel_section_L1200_Main" /> + <posXYZ volume="LS_Channel_section_L2000_Cut" /> +</subtraction> + +<box name="LS_Channel_section_L850_Main" material="Aluminium" X_Y_Z="50.; 850.; 30. " /> +<subtraction name="LS_Channel_section_L850" > + <posXYZ volume="LS_Channel_section_L850_Main" /> + <posXYZ volume="LS_Channel_section_L2000_Cut" /> +</subtraction> + +<box name="LS_Channel_section_L1000_Main" material="Aluminium" X_Y_Z="50.; 1000.; 30. " /> +<subtraction name="LS_Channel_section_L1000" > + <posXYZ volume="LS_Channel_section_L1000_Main" /> + <posXYZ volume="LS_Channel_section_L2000_Cut" /> +</subtraction> + +<box name="LS_UProfile_L1460_Main" material="Aluminium" X_Y_Z="20.; 1460.; 30. " /> +<box name="LS_UProfile_L1460_Cut" material="Aluminium" X_Y_Z="20.; 1500.; 24. " /> +<subtraction name="LS_UProfile_L1460" > + <posXYZ volume="LS_UProfile_L1460_Main" /> + <posXYZ volume="LS_UProfile_L1460_Cut" X_Y_Z="-3.; 0.; 0." /> +</subtraction> + +<box name="LS_UProfile_L750_Main" material="Aluminium" X_Y_Z="20.; 750.; 30. " /> +<subtraction name="LS_UProfile_L750" > + <posXYZ volume="LS_UProfile_L750_Main" /> + <posXYZ volume="LS_UProfile_L1460_Cut" X_Y_Z="3.; 0.; 0." /> +</subtraction> + +<gvxy name="LS_Top_Interface" material="Aluminium" dZ="30."> + <gvxy_point X_Y="914.3; 3484.44"/> + <gvxy_point X_Y="1146.47; 3571.68"/> + <gvxy_point X_Y="1141.27; 3656.86"/> + <gvxy_point X_Y="1054.98; 3656.86"/> + <gvxy_point X_Y="1054.98; 4070."/> + <gvxy_point X_Y="813.64; 4070."/> + <gvxy_point X_Y="774.65; 3494.2"/> +</gvxy> + +<gvxy name="LS_Bottom_Grabber_interface" material="Aluminium" dZ="30."> + <gvxy_point X_Y="-801.54; 2552.21"/> + <gvxy_point X_Y="-858.34; 2743.97"/> + <gvxy_point X_Y="-591.97; 2822.88"/> + <gvxy_point X_Y="-535.17; 2631.11"/> +</gvxy> + +<gvxy name="LS_Bottom_Interface" material="Aluminium" dZ="30."> + <gvxy_point X_Y="-558.42; 1731.46"/> + <gvxy_point X_Y="-616.93; 1928.98"/> + <gvxy_point X_Y="-678.34; 1910.78"/> + <gvxy_point X_Y="-727.9; 1985.99"/> + <gvxy_point X_Y="-570.48; 2124.21"/> + <gvxy_point X_Y="-437.49; 2163.6"/> + <gvxy_point X_Y="-329.56; 1799.25"/> +</gvxy> + +<box name="LS_MM_Connectors" material="Aluminium" X_Y_Z="76.; 40.; 30. " /> +<composition name="LS_MM_Connectors_Assembly" > + <posXYZ volume="LS_MM_Connectors" X_Y_Z="323.24; 1278.98; 0." rot="0. ; 0. ; -16.5" /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="596.23; 2200.58; 0." rot="0. ; 0. ; -16.5" /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="800.97; 2891.78; 0." rot="0. ; 0. ; -16.5" /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="922.31; 3368.81; 0." rot="0. ; 0. ; -4." /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="986.76; 4290.41; 0." rot="0. ; 0. ; -4." /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="824.; 4615.; 0." rot="0. ; 0. ; 90." /> +</composition> + +<box name="LS_KM_Joint" material="ShieldSteel" X_Y_Z="150.; 118.; 48. " /> + +<composition name="LS_Spacer_Frame_Assembly" > + <posXYZ volume="LS_StructuralPlate" X_Y_Z="0.; 0.; 18." /> + <posXYZ volume="LS_StructuralPlate" X_Y_Z="0.; 0.; -18." /> + <posXYZ volume="LS_Central_reference_bar" X_Y_Z="0.; 3235.5; 0." /> + <posXYZ volume="LS_Channel_section_L2000" X_Y_Z="0.; 2185.49; 0." /> + <posXYZ volume="LS_Channel_section_L1200" X_Y_Z="0.; 3885.51; 0." /> + <posXYZ volume="LS_Channel_section_L850" X_Y_Z="130.5; 3710.51; 0." /> + <posXYZ volume="LS_Channel_section_L850" X_Y_Z="-130.5; 3710.51; 0." /> + <posXYZ volume="LS_Channel_section_L1000" X_Y_Z="130.5; 2223.; 0." /> + <posXYZ volume="LS_Channel_section_L1000" X_Y_Z="-130.5; 2223.; 0." /> + <posXYZ volume="LS_UProfile_L1460" X_Y_Z="252.; 2455.49; 0." /> + <posXYZ volume="LS_UProfile_L1460" X_Y_Z="-252.; 2455.49; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="252.; 3760.5; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="-252.; 3760.5; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="465.; 3760.5; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="-465.; 3760.5; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="678.; 3760.5; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="-678.; 3760.5; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="465.; 2551.; 0." /> + <posXYZ volume="LS_UProfile_L750" X_Y_Z="-465.; 2551.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_Top_Interface" X_Y_Z="0.; 0.; 0." /> + <posXYZ volume="LS_Top_Interface" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_Bottom_Grabber_interface" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="LS_Bottom_Grabber_interface" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_Bottom_Interface" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="LS_Bottom_Interface" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_MM_Connectors_Assembly" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="LS_MM_Connectors_Assembly" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="0.; 956.; 0." rot="0. ; 0. ; 90." /> + <posXYZ volume="LS_MM_Connectors" X_Y_Z="0.; 4615.; 0." rot="0. ; 0. ; 90." /> + <posXYZ volume="LS_KM_Joint" X_Y_Z="-1130.01; 3970.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="LS_KM_Joint" X_Y_Z="1130.01; 3970.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="LS_KM_Joint" X_Y_Z="656.6; 1798.8; 0." rot="0. ; 0. ; -16.5" /> +</composition> + +<composition name="LS" > + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 0." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 45." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 90." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 135." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 180." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 225." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 270." /> + <posXYZ volume="LS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 315." /> +</composition> +<!-- LS Spacer Ftame --> + +<!-- SS Spacer Ftame --> +<gvxy name="SS_StructuralPlate_Main" material="Aluminium" dZ="5.9"> + <gvxy_point X_Y="154.8; 930."/> + <gvxy_point X_Y="745.; 4114.46"/> + <gvxy_point X_Y="745.; 4425."/> + <gvxy_point X_Y="0.01; 4425."/> + <gvxy_point X_Y="0.01; 930."/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut1" material="Aluminium" dZ="7."> + <gvxy_point X_Y="685.; 4242.5"/> + <gvxy_point X_Y="685.; 4375."/> + <gvxy_point X_Y="25.; 4375."/> + <gvxy_point X_Y="25.; 4242.5"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut2" material="Aluminium" dZ="7."> + <gvxy_point X_Y="449.11; 4102.75"/> + <gvxy_point X_Y="446.87; 4122.5"/> + <gvxy_point X_Y="125.; 4122.5"/> + <gvxy_point X_Y="125.; 4028.36"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut3" material="Aluminium" dZ="7."> + <gvxy_point X_Y="577.21; 3867.18"/> + <gvxy_point X_Y="620.57; 4101.07"/> + <gvxy_point X_Y="131.86; 3988.9"/> + <gvxy_point X_Y="131.86; 3969.4"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut4" material="Aluminium" dZ="7."> + <gvxy_point X_Y="395.9; 3847.5"/> + <gvxy_point X_Y="398.14; 3867.25"/> + <gvxy_point X_Y="125.; 3929.94"/> + <gvxy_point X_Y="125.; 3847.5"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut5" material="Aluminium" dZ="7."> + <gvxy_point X_Y="495.98; 3705.39"/> + <gvxy_point X_Y="495.98; 3747.5"/> + <gvxy_point X_Y="25.; 3747.5"/> + <gvxy_point X_Y="25.; 3475.7"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut6" material="Aluminium" dZ="7."> + <gvxy_point X_Y="488.74; 3225.16"/> + <gvxy_point X_Y="576.8; 3700.3"/> + <gvxy_point X_Y="45.63; 3441.26"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut7" material="Aluminium" dZ="7."> + <gvxy_point X_Y="408.58; 3177.5"/> + <gvxy_point X_Y="417.35; 3215.48"/> + <gvxy_point X_Y="25.; 3406.82"/> + <gvxy_point X_Y="25.; 3177.5"/> +</gvxy> + +<box name="SS_StructuralPlate_Cut8" material="Aluminium" X_Y_Z="92.; 70.; 7. " /> + +<gvxy name="SS_StructuralPlate_Cut9" material="Aluminium" dZ="7."> + <gvxy_point X_Y="429.19; 3037.5"/> + <gvxy_point X_Y="25.; 3037.5"/> + <gvxy_point X_Y="25.; 2483.96"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut10" material="Aluminium" dZ="7."> + <gvxy_point X_Y="342.44; 2435.8"/> + <gvxy_point X_Y="445.53; 2992.05"/> + <gvxy_point X_Y="50.98; 2451.7"/> + <gvxy_point X_Y="59.05; 2435.8"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut11" material="Aluminium" dZ="7."> + <gvxy_point X_Y="275.17; 2072.87"/> + <gvxy_point X_Y="330.64; 2372.16"/> + <gvxy_point X_Y="310.98; 2395.8"/> + <gvxy_point X_Y="39.37; 2395.8"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut12" material="Aluminium" dZ="7."> + <gvxy_point X_Y="245.39; 2045.82"/> + <gvxy_point X_Y="25.; 2347.65"/> + <gvxy_point X_Y="25.; 2045.82"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut13" material="Aluminium" dZ="7."> + <gvxy_point X_Y="144.83; 1534.74"/> + <gvxy_point X_Y="203.73; 1852.5"/> + <gvxy_point X_Y="125.; 1852.5"/> + <gvxy_point X_Y="125.; 1536.56"/> +</gvxy> + +<gvxy name="SS_StructuralPlate_Cut14" material="Aluminium" dZ="7."> + <gvxy_point X_Y="123.38; 980."/> + <gvxy_point X_Y="201.04; 1399."/> + <gvxy_point X_Y="25.; 1399."/> + <gvxy_point X_Y="25.; 980."/> +</gvxy> + +<subtraction name="SS_StructuralPlateSub" > + <posXYZ volume="SS_StructuralPlate_Main" /> + <posXYZ volume="SS_StructuralPlate_Cut1" /> + <posXYZ volume="SS_StructuralPlate_Cut2" /> + <posXYZ volume="SS_StructuralPlate_Cut3" /> + <posXYZ volume="SS_StructuralPlate_Cut4" /> + <posXYZ volume="SS_StructuralPlate_Cut5" /> + <posXYZ volume="SS_StructuralPlate_Cut6" /> + <posXYZ volume="SS_StructuralPlate_Cut7" /> + <posXYZ volume="SS_StructuralPlate_Cut8" X_Y_Z="-340.5; 3107.5; 0." /> + <posXYZ volume="SS_StructuralPlate_Cut9" /> + <posXYZ volume="SS_StructuralPlate_Cut10" /> + <posXYZ volume="SS_StructuralPlate_Cut11" /> + <posXYZ volume="SS_StructuralPlate_Cut12" /> + <posXYZ volume="SS_StructuralPlate_Cut13" /> + <posXYZ volume="SS_StructuralPlate_Cut14" /> +</subtraction> + +<composition name="SS_StructuralPlate" > + <posXYZ volume="SS_StructuralPlateSub" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="SS_StructuralPlateSub" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> +</composition> + +<box name="SS_Central_reference_bar" material="Aluminium" X_Y_Z="1012.; 100.; 28. " /> + +<box name="SS_Channel_section_L1100_Main" material="Aluminium" X_Y_Z="50.; 1100.; 30. " /> +<subtraction name="SS_Channel_section_L1100" > + <posXYZ volume="SS_Channel_section_L1100_Main" /> + <posXYZ volume="LS_Channel_section_L2000_Cut" /> +</subtraction> + + +<box name="SS_Channel_section_L650_Main" material="Aluminium" X_Y_Z="50.; 650.; 30. " /> +<subtraction name="SS_Channel_section_L650" > + <posXYZ volume="SS_Channel_section_L650_Main" /> + <posXYZ volume="LS_Channel_section_L2000_Cut" /> +</subtraction> + +<box name="SS_UProfile_L1000_Main" material="Aluminium" X_Y_Z="20.; 1000.; 30. " /> +<subtraction name="SS_UProfile_L1000" > + <posXYZ volume="SS_UProfile_L1000_Main" /> + <posXYZ volume="LS_UProfile_L1460_Cut" X_Y_Z="-3.; 0.; 0." /> +</subtraction> + +<box name="SS_UProfile_L920_Main" material="Aluminium" X_Y_Z="20.; 920.; 30. " /> +<subtraction name="SS_UProfile_L920" > + <posXYZ volume="SS_UProfile_L920_Main" /> + <posXYZ volume="LS_UProfile_L1460_Cut" X_Y_Z="-3.; 0.; 0." /> +</subtraction> + +<box name="SS_UProfile_L1200_Main" material="Aluminium" X_Y_Z="20.; 1200.; 30. " /> +<subtraction name="SS_UProfile_L1200" > + <posXYZ volume="SS_UProfile_L1200_Main" /> + <posXYZ volume="LS_UProfile_L1460_Cut" X_Y_Z="-3.; 0.; 0." /> +</subtraction> + +<box name="SS_UProfile_L700_Main" material="Aluminium" X_Y_Z="20.; 700.; 30. " /> +<subtraction name="SS_UProfile_L700" > + <posXYZ volume="SS_UProfile_L700_Main" /> + <posXYZ volume="LS_UProfile_L1460_Cut" X_Y_Z="-3.; 0.; 0." /> +</subtraction> + +<gvxy name="SS_Top_Interface" material="Aluminium" dZ="30."> + <gvxy_point X_Y="849.99; 3705.17"/> + <gvxy_point X_Y="849.99; 4260."/> + <gvxy_point X_Y="627.69; 4260."/> + <gvxy_point X_Y="627.69; 4106.34"/> + <gvxy_point X_Y="564.77; 3758.03"/> +</gvxy> + +<gvxy name="SS_Bottom_Grabber_interface" material="Aluminium" dZ="30."> + <gvxy_point X_Y="454.99; 1875."/> + <gvxy_point X_Y="454.99; 2075."/> + <gvxy_point X_Y="255.; 2075."/> + <gvxy_point X_Y="255.; 1875."/> +</gvxy> + +<gvxy name="SS_Bottom_Interface" material="Aluminium" dZ="30."> + <gvxy_point X_Y="442.2; 1397.5"/> + <gvxy_point X_Y="442.2; 1560.65"/> + <gvxy_point X_Y="397.; 1560.65"/> + <gvxy_point X_Y="397.; 1792.5"/> + <gvxy_point X_Y="194.29; 1792.5"/> + <gvxy_point X_Y="149.53; 1434.71"/> + <gvxy_point X_Y="204.54; 1397.5"/> +</gvxy> + +<box name="SS_MM_Connectors" material="Aluminium" X_Y_Z="76.; 40.; 30. " /> +<box name="SS_MM_Connectors_Lar" material="Aluminium" X_Y_Z="120.; 40.; 30. " /> +<composition name="SS_MM_Connectors_Assembly" > + <posXYZ volume="SS_MM_Connectors" X_Y_Z="214.86; 1243.14; 0." rot="0. ; 0. ; -10.5" /> + <posXYZ volume="SS_MM_Connectors" X_Y_Z="376.17; 2113.54; 0." rot="0. ; 0. ; -10.5" /> + <posXYZ volume="SS_MM_Connectors" X_Y_Z="497.16; 2766.34; 0." rot="0. ; 0. ; -10.5" /> + <posXYZ volume="SS_MM_Connectors" X_Y_Z="626.36; 3463.34; 0." rot="0. ; 0. ; -10.5" /> + <posXYZ volume="SS_MM_Connectors_Lar" X_Y_Z="766.02; 4337.75; 0." rot="0. ; 0. ; -10.5" /> + <posXYZ volume="SS_MM_Connectors" X_Y_Z="624.; 4427.; 0." rot="0. ; 0. ; 90." /> +</composition> + +<box name="SS_KM_Joint" material="ShieldSteel" X_Y_Z="154.; 101.; 48. " /> + +<composition name="SS_Spacer_Frame_Assembly" > + <posXYZ volume="SS_StructuralPlate" X_Y_Z="0.; 0.; 18." /> + <posXYZ volume="SS_StructuralPlate" X_Y_Z="0.; 0.; -18." /> + <posXYZ volume="SS_Central_reference_bar" X_Y_Z="0.; 3107.5; 0." /> + <posXYZ volume="LS_Channel_section_L2000" X_Y_Z="0.; 2057.49; 0." /> + <posXYZ volume="SS_Channel_section_L1100" X_Y_Z="0.; 3707.51; 0." /> + <posXYZ volume="SS_Channel_section_L1100" X_Y_Z="-110.5; 3707.51; 0." /> + <posXYZ volume="SS_Channel_section_L1100" X_Y_Z="110.5; 3707.51; 0." /> + <posXYZ volume="SS_Channel_section_L650" X_Y_Z="-110.5; 1722.; 0." /> + <posXYZ volume="SS_Channel_section_L650" X_Y_Z="110.5; 1722.; 0." /> + <posXYZ volume="SS_UProfile_L1000" X_Y_Z="-345.; 3742.5; 0." /> + <posXYZ volume="SS_UProfile_L1000" X_Y_Z="345.; 3742.5; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_UProfile_L920" X_Y_Z="-195.; 3782.5; 0." /> + <posXYZ volume="SS_UProfile_L920" X_Y_Z="195.; 3782.5; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_UProfile_L1200" X_Y_Z="-195.; 2457.49; 0." /> + <posXYZ volume="SS_UProfile_L1200" X_Y_Z="195.; 2457.49; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_UProfile_L700" X_Y_Z="-360.; 2587.5; 0." /> + <posXYZ volume="SS_UProfile_L700" X_Y_Z="360.; 2587.5; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_Top_Interface" X_Y_Z="0.; 0.; 0." /> + <posXYZ volume="SS_Top_Interface" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_Bottom_Grabber_interface" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="SS_Bottom_Grabber_interface" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_Bottom_Interface" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="SS_Bottom_Interface" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_MM_Connectors_Assembly" X_Y_Z="0.; 0.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="SS_MM_Connectors_Assembly" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="SS_MM_Connectors" X_Y_Z="0.; 928.; 0." rot="0. ; 0. ; 90." /> + <posXYZ volume="SS_MM_Connectors" X_Y_Z="0.; 4427.; 0." rot="0. ; 0. ; 90." /> + <posXYZ volume="SS_KM_Joint" X_Y_Z="-927.01; 4160.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="SS_KM_Joint" X_Y_Z="927.01; 4160.; 0." rot="0. ; 0. ; 0." /> + <posXYZ volume="SS_KM_Joint" X_Y_Z="-532.01; 1975.; 0." rot="0. ; 0. ; 0." /> +</composition> + +<composition name="SS_AssemblyRot" > + <posXYZ volume="SS_Spacer_Frame_Assembly" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 22.5" /> +</composition> + +<composition name="SS" > + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 0." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 45." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 90." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 135." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 180." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 225." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 270." /> + <posXYZ volume="SS_AssemblyRot" X_Y_Z="0.; 0.; 0." rot=" 0. ; 0. ; 315." /> +</composition> +<!-- End SS Spacer_Frame--> + +<composition name="LS_and_SS_SideA" > + <posXYZ volume="LS" X_Y_Z="0.; 0.; 7641." rot=" 0. ; 0. ; 0." /> + <posXYZ volume="SS" X_Y_Z="0.; 0.; 7177." rot=" 0. ; 0. ; 0." /> +</composition> + +<composition name="LS_and_SS_SideC" > + <posXYZ volume="LS" X_Y_Z="0.; 0.; -7641." rot=" 0. ; 0. ; 0." /> + <posXYZ volume="SS" X_Y_Z="0.; 0.; -7177." rot=" 0. ; 0. ; 0." /> +</composition> + +<composition name="NSW_Spacer" > + <posXYZ volume="LS_and_SS_SideA" /> + <posXYZ volume="LS_and_SS_SideC" /> +</composition> + +</section> + + + + + + + + + + + + + + + +<!--====================================Support Structures and Hub===============================================--> + +<section name = "NSW Aluminum Structure and HUB" + version = "0.0" + date = "25-04-2017" + author = "Georgian Engineering Team - Niko Tsutskiridze" + top_volume = "NSW_Aluminum_Structure_and_HUB"> + +<!-- ********************************************** New Hub ************************************************** --> + +<!-- Horizontal Shielding --> +<gvxysx name="Hub_Outer_Plate1" material="Lead" dZ="517.5"> + <gvxy_point X_Y="-163.1; 820.05"/> + <gvxy_point X_Y=" -169.25; 850.95"/> +</gvxysx> + + <gvxysx name="Hub_Outer_Plate2" material="PolyBoron207HD5" dZ="517.5"> + <gvxy_point X_Y="-163.1; 820."/> + <gvxy_point X_Y=" -153.15; 770."/> +</gvxysx> + +<gvxysx name="Hub_Outer_Plate3" material="Lead" dZ="504."> + <gvxy_point X_Y="-163.1; 820.05"/> + <gvxy_point X_Y=" -169.25; 850.95"/> +</gvxysx> + +<gvxysx name="Hub_Outer_Plate4" material="PolyBoron207HD5" dZ="545."> + <gvxy_point X_Y="-163.1; 820."/> + <gvxy_point X_Y=" -153.15; 770."/> +</gvxysx> + +<gvxysx name="Hub_Outer_Plate5" material="Lead" dZ="30."> + <gvxy_point X_Y="-163.1; 820.05"/> + <gvxy_point X_Y=" -169.25; 850.95"/> +</gvxysx> + +<gvxysx name="Hub_Outer_Plate6" material="PolyBoron207HD5" dZ="30."> + <gvxy_point X_Y="-163.1; 820."/> + <gvxy_point X_Y=" -153.15; 770."/> +</gvxysx> + +<gvxysx name="Hub_Outer_Plate7" material="Lead" dZ="85."> + <gvxy_point X_Y="-163.1; 820.05"/> + <gvxy_point X_Y=" -169.25; 850.95"/> +</gvxysx> + +<gvxysx name="Hub_Outer_Plate8" material="PolyBoron207HD5" dZ="126."> +<gvxy_point X_Y="-163.1; 820."/> + <gvxy_point X_Y=" -153.15; 770."/> +</gvxysx> + +<composition name="Horizontal_Shielding_ForRot_Spec" > + <posXYZ volume="Hub_Outer_Plate5" X_Y_Z="0.; 0.; 908.2" /> + <posXYZ volume="Hub_Outer_Plate6" X_Y_Z="0.; 0.; 908.2" /> +</composition> + +<composition name="Horizontal_Shielding_ForRot_Spec2" > + <posXYZ volume="Hub_Outer_Plate3" X_Y_Z="0.; 0.; 248.7" rot=" 0. ; 0. ; 22.5" /> + <posXYZ volume="Hub_Outer_Plate4" X_Y_Z="0.; 0.; 228.2" rot=" 0. ; 0. ; 22.5" /> +</composition> + +<composition name="Horizontal_Shielding_ForRot" > + <posXYZ volume="Hub_Outer_Plate1" X_Y_Z="0.; 0.; 643.45" /> + <posXYZ volume="Hub_Outer_Plate2" X_Y_Z="0.; 0.; 643.45" /> + <posXYZ volume="Horizontal_Shielding_ForRot_Spec2" /> + <posXYZ volume="Hub_Outer_Plate7" X_Y_Z="0.; 0.; 39.2" /> + <posXYZ volume="Hub_Outer_Plate8" X_Y_Z="0.; 0.; 18.7" /> +</composition> + +<composition name="Horizontal_Shielding" > + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 0." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 45." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 90." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 135." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 180." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 225." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 270." /> + <posXYZ volume="Horizontal_Shielding_ForRot" rot=" 0. ; 0. ; 315." /> + <posXYZ volume="Horizontal_Shielding_ForRot_Spec" rot=" 0. ; 0. ; 22.5" /> + <posXYZ volume="Horizontal_Shielding_ForRot_Spec" rot=" 0. ; 0. ; 67.5" /> + <posXYZ volume="Horizontal_Shielding_ForRot_Spec" rot=" 0. ; 0. ; -22.5" /> + <posXYZ volume="Horizontal_Shielding_ForRot_Spec" rot=" 0. ; 0. ; -67.5" /> +</composition> +<!-- End Horizontal Shielding (New Hub) --> + +<!-- Other Parts of New Hub --> +<pcon name="HUB_Extension_inner_tube" material="ShieldSteel" nbPhi="20"> + <polyplane Rio_Z="172.; 225.; 997.75"/> + <polyplane Rio_Z=" 152.3; 225.; 0."/> +</pcon> +<tubs name="HUB_Extension_plate_HO_side" material="ShieldSteel" Rio_Z="172.5; 530.; 59.2" /> +<tubs name="Copper_disk_Extension" material="Copper" Rio_Z="225.5; 454.5; 998." /> +<tubs name="HUB_Extension_outer_tube" material="ShieldSteel" Rio_Z="455.5; 530.; 998.7" /> + +<pcon name="HUB_Main_part_inner_tube" material="ShieldSteel" nbPhi="20"> + <polyplane Rio_Z="148.7; 225.; 858.5"/> + <polyplane Rio_Z=" 137.; 225.; 0."/> +</pcon> + +<tubs name="Copper_disk_Main_part" material="Copper" Rio_Z="225.5; 699.5; 760." /> + +<gvxysxy name="Plate_IP_Main" material="ShieldSteel" dZ="91.6"> + <gvxy_point X_Y="769.95; 153.16"/> + <gvxy_point X_Y="652.77; 436.16"/> + <gvxy_point X_Y="436.16; 652.77"/> + <gvxy_point X_Y="153.16; 769.95"/> +</gvxysxy> + +<tubs name="Plate_IP_Cut_Tube" material="ShieldSteel" Rio_Z="0.; 226.; 95." /> + +<subtraction name="Plate_IP" > + <posXYZ volume="Plate_IP_Main" /> + <posXYZ volume="Plate_IP_Cut_Tube" /> +</subtraction> + +<gvxysxy name="HUB_Main_part_outer_tube_Main" material="ShieldSteel" dZ="767.7"> + <gvxy_point X_Y="769.95; 153.16"/> + <gvxy_point X_Y="652.77; 436.16"/> + <gvxy_point X_Y="436.16; 652.77"/> + <gvxy_point X_Y="153.16; 769.95"/> +</gvxysxy> + +<tubs name="HUB_Main_part_outer_tube_Cut_Tube" material="ShieldSteel" Rio_Z="0.; 700.; 770." /> + +<subtraction name="HUB_Main_part_outer_tube" > + <posXYZ volume="HUB_Main_part_outer_tube_Main" /> + <posXYZ volume="HUB_Main_part_outer_tube_Cut_Tube" /> +</subtraction> + +<gvxysxy name="Plate_HO_Main" material="ShieldSteel" dZ="78."> + <gvxy_point X_Y="769.95; 153.16"/> + <gvxy_point X_Y="652.77; 436.16"/> + <gvxy_point X_Y="436.16; 652.77"/> + <gvxy_point X_Y="153.16; 769.95"/> +</gvxysxy> + +<tubs name="Plate_HO_Cut_Tube" material="ShieldSteel" Rio_Z="0.; 150.5; 80." /> + +<subtraction name="Plate_HO" > + <posXYZ volume="Plate_HO_Main" /> + <posXYZ volume="Plate_HO_Cut_Tube" /> +</subtraction> + +<tubs name="Plate_HO_SupportTube" material="ShieldSteel" Rio_Z="585.; 770.; 21.4" profile="-15.; 210." nbPhi="20"/> + +<tubs name="Disque_shileding_ext" material="PolyBoron207HD5" Rio_Z="532.5; 800.; 40." /> +<tubs name="Plaque_polyboron_droite_v2" material="PolyBoron207HD5" Rio_Z="532.5; 582.5; 200." /> + +<composition name="Hub_Other_Parts_Assembly" > + <posXYZ volume="HUB_Extension_plate_HO_side" X_Y_Z="0.; 0.; 1920.6" /> + <posXYZ volume="HUB_Extension_inner_tube" X_Y_Z="0.; 0.; 892.25" /> + <posXYZ volume="Copper_disk_Extension" X_Y_Z="0.; 0.; 1391.95" /> + <posXYZ volume="HUB_Extension_outer_tube" X_Y_Z="0.; 0.; 1391.6" /> + <posXYZ volume="HUB_Main_part_inner_tube" X_Y_Z="0.; 0.; -45.8" /> + <posXYZ volume="Copper_disk_Main_part" X_Y_Z="0.; 0.; 434.2" /> + <posXYZ volume="Plate_IP" /> + <posXYZ volume="HUB_Main_part_outer_tube" X_Y_Z="0.; 0.; 430.3" /> + <posXYZ volume="Disque_shileding_ext" X_Y_Z="0.; 0.; 944.2" /> + <posXYZ volume="Plaque_polyboron_droite_v2" X_Y_Z="0.; 0.; 1064.25" /> + <posXYZ volume="Plate_HO" X_Y_Z="0.; 0.; 853.2" /> + <posXYZ volume="Plate_HO_SupportTube" X_Y_Z="0.; 0.; 902.95" /> +</composition> +<!-- End Other Parts of New Hub --> + +<composition name="New_Hub" > + <posXYZ volume="Hub_Other_Parts_Assembly" /> + <posXYZ volume="Horizontal_Shielding" /> +</composition> +<!-- ************************************************************************************** End New Hub *********************************************** --> + +<!-- **************************************************** Inner Spoke ******************************************************************* --> +<gvxysx name="Base_Leg" material="Aluminium" dZ="390."> + <gvxy_point X_Y="40.; 531.5"/> + <gvxy_point X_Y=" 40.; -501.5"/> + <gvxy_point X_Y="150.; -501.5"/> + <gvxy_point X_Y=" 150.; -531.5"/> +</gvxysx> + +<gvxy name="JOINING_BAR3" material="Aluminium" dZ="150."> + <gvxy_point X_Y="75.; 23."/> + <gvxy_point X_Y="75.; 7."/> + <gvxy_point X_Y="640.; 7."/> + <gvxy_point X_Y="640.; -23."/> + <gvxy_point X_Y="-640.; -23."/> + <gvxy_point X_Y="-640.; 7."/> + <gvxy_point X_Y="-75.; 7."/> + <gvxy_point X_Y="-75.; 23."/> +</gvxy> + +<box name="LATERAL_PLATE_L" material="Aluminium" X_Y_Z="21.; 1680.; 390. " /> + +<gvxysx name="Front_plate2" material="Aluminium" dZ="14."> + <gvxy_point X_Y="98.65; 2867.18"/> + <gvxy_point X_Y=" 89.94; 2805.19"/> + <gvxy_point X_Y="89.94; 2587.18"/> +</gvxysx> + +<gvxysx name="LS_OUTER3_MainBox" material="Aluminium" dZ="30."> + <gvxy_point X_Y="323.7; 450."/> + <gvxy_point X_Y=" 197.21; -450."/> +</gvxysx> + +<box name="LS_OUTER3_CutBox" material="Aluminium" X_Y_Z="250.; 600.; 35. " /> + +<subtraction name="LS_OUTER3" > + <posXYZ volume="LS_OUTER3_MainBox" /> + <posXYZ volume="LS_OUTER3_CutBox" X_Y_Z=" 0.; -50.; 0. " /> +</subtraction> + +<gvxysx name="REAR_PLATE1" material="Aluminium" dZ="30."> + <gvxy_point X_Y="176.95; 309.25"/> + <gvxy_point X_Y=" 90.03; -309.25"/> +</gvxysx> + +<gvxy name="REAR_PLATE2" material="Aluminium" dZ="30."> + <gvxy_point X_Y="273.95; 174.5"/> + <gvxy_point X_Y="224.9; -174.5"/> + <gvxy_point X_Y="125.; -174.5"/> + <gvxy_point X_Y="125.; -154.5"/> + <gvxy_point X_Y="-125.; -154.5"/> + <gvxy_point X_Y="-125.; -174.5"/> + <gvxy_point X_Y="-224.9; -174.5"/> + <gvxy_point X_Y="-273.95; 174.5"/> +</gvxy> + +<box name="SHIM1" material="Aluminium" X_Y_Z="700.; 150.; 21.6 " /> +<box name="SHIM2" material="Aluminium" X_Y_Z="350.; 150.; 21.6 " /> + +<gvxysx name="REAR_PLATE3" material="Aluminium" dZ="30."> + <gvxy_point X_Y="323.7; 80."/> + <gvxy_point X_Y=" 301.21; -80."/> +</gvxysx> + +<box name="KM_FRONT_PLATE1" material="ShieldSteel" X_Y_Z="34.; 160.; 250. " /> +<box name="KM_LOCKING_PLATE1" material="ShieldSteel" X_Y_Z="20.; 120.; 200. " /> + +<gvxy name="JOINING_BAR2" material="Aluminium" dZ="29."> + <gvxy_point X_Y="175.; 75."/> + <gvxy_point X_Y="964.81; -64.27"/> + <gvxy_point X_Y="938.77; -211.99"/> + <gvxy_point X_Y="161.88; -75."/> + <gvxy_point X_Y="-161.88; -75."/> + <gvxy_point X_Y="-938.77; -211.99"/> + <gvxy_point X_Y="-964.81; -64.27"/> + <gvxy_point X_Y="-175.; 75."/> +</gvxy> + +<gvxy name="JOINING_BAR1" material="Aluminium" dZ="29."> + <gvxy_point X_Y="350.; 75."/> + <gvxy_point X_Y="1196.93; -74.34"/> + <gvxy_point X_Y="1170.88; -222.06"/> + <gvxy_point X_Y="336.88; -75."/> + <gvxy_point X_Y="-336.88; -75."/> + <gvxy_point X_Y="-1170.88; -222.06"/> + <gvxy_point X_Y="-1196.93; -74.34"/> + <gvxy_point X_Y="-350.; 75."/> +</gvxy> + +<composition name="Inner_Spoke_Assembly" > + <posXYZ volume="Base_Leg" X_Y_Z="0.; 1301.5; 0." /> + <posXYZ volume="JOINING_BAR1" X_Y_Z="0.; 4385.; -231.2" /> + <posXYZ volume="JOINING_BAR2" X_Y_Z="0.; 3065.; -231.2" /> + <posXYZ volume="JOINING_BAR3" X_Y_Z="0.; 1715.; -218.05" rot=" 90. ; 0. ; 0." /> + <posXYZ volume="LATERAL_PLATE_L" X_Y_Z="-217.3; 3635.56; 0." rot=" 0. ; 0. ; 8." /> + <posXYZ volume="LATERAL_PLATE_L" X_Y_Z="217.3; 3635.56; 0." rot=" 0. ; 0. ; -8." /> + <posXYZ volume="Front_plate2" X_Y_Z="0.; 0.; 188." /> + <posXYZ volume="LS_OUTER3" X_Y_Z="0.; 4018.41; 180." /> + <posXYZ volume="REAR_PLATE1" X_Y_Z="0.; 3114.99; -180." /> + <posXYZ volume="REAR_PLATE2" X_Y_Z="0.; 3939.93; -180." /> + <posXYZ volume="REAR_PLATE3" X_Y_Z="0.; 4388.42; -180." /> + <posXYZ volume="SHIM1" X_Y_Z="0.; 4385.; -205.85" /> + <posXYZ volume="SHIM2" X_Y_Z="0.; 3065.; -205.85" /> + <posXYZ volume="KM_FRONT_PLATE1" X_Y_Z="318.34; 4156.56; 25." rot=" 0. ; 0. ; -8." /> + <posXYZ volume="KM_FRONT_PLATE1" X_Y_Z="-318.34; 4156.56; 25." rot=" 0. ; 0. ; 8." /> + <posXYZ volume="KM_LOCKING_PLATE1" X_Y_Z="270.71; 4163.26; 0." rot=" 0. ; 0. ; -8." /> + <posXYZ volume="KM_LOCKING_PLATE1" X_Y_Z="-270.71; 4163.26; 0." rot=" 0. ; 0. ; 8." /> +</composition> + +<composition name="Inner_Spoke" > + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 22.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 67.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 112.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 157.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 202.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 247.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 292.5" /> + <posXYZ volume="Inner_Spoke_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 337.5" /> +</composition> + +<!-- *********************************************************************************** End Inner Spoke **************************************************\ +************************************* --> + +<!-- *********************************************************************************** Outer Spoke ******************************************************\ +************************************* --> + +<box name="NSW_F1_spoke_MainBox" material="Aluminium" X_Y_Z="135.; 1060.; 185. " /> +<box name="NSW_F1_spoke_CutBox" material="Aluminium" X_Y_Z="111.; 1070.; 161. " /> + +<subtraction name="NSW_F1_spoke" > + <posXYZ volume="NSW_F1_spoke_MainBox" /> + <posXYZ volume="NSW_F1_spoke_CutBox" /> +</subtraction> +<box name="NSW_F1_spoke_Bot_Plate" material="Aluminium" X_Y_Z="300.; 48.; 300. " /> + +<gvxysx name="Plaque_interface2" material="Aluminium" dZ="37."> + <gvxy_point X_Y="182.5; 375."/> + <gvxy_point X_Y="146.5; 213.2"/> + <gvxy_point X_Y="90.; -375."/> +</gvxysx> + +<gvxysx name="Plaque_interface2.1" material="Aluminium" dZ="45."> + <gvxy_point X_Y="182.5; 375."/> + <gvxy_point X_Y="146.5; 213.2"/> + <gvxy_point X_Y="90.; -375."/> +</gvxysx> + +<box name="NSW_SS_spoke_Pillar_MainBox" material="Aluminium" X_Y_Z="135.; 2683.25; 185. " /> +<box name="NSW_SS_spoke_Pillar_CutBox" material="Aluminium" X_Y_Z="113.; 2685.; 163. " /> + +<subtraction name="NSW_SS_spoke_Pillar" > + <posXYZ volume="NSW_SS_spoke_Pillar_MainBox" /> + <posXYZ volume="NSW_SS_spoke_Pillar_CutBox" /> +</subtraction> + +<box name="Spoke_Joint" material="ShieldSteel" X_Y_Z="75.; 85.; 124.4 " /> + +<gvxysx name="Manifolds_Support_Main" material="Aluminium" dZ="150."> + <gvxy_point X_Y="585.; 75."/> + <gvxy_point X_Y=" 551.74; -75."/> +</gvxysx> + +<box name="Manifolds_Support_CutBox1" material="Aluminium" X_Y_Z="1180.; 140.; 140. " /> +<box name="Manifolds_Support_CutBox2" material="Aluminium" X_Y_Z="160.; 90.; 160. " /> + +<subtraction name="Manifolds_Support" > + <posXYZ volume="Manifolds_Support_Main" /> + <posXYZ volume="Manifolds_Support_CutBox1" /> + <posXYZ volume="Manifolds_Support_CutBox2" X_Y_Z="135.; -45.; 0." /> +</subtraction> + +<box name="Cale" material="Aluminium" X_Y_Z="135.; 280.; 52. " /> +<box name="JD_JOINT2.1_Plate1" material="Aluminium" X_Y_Z="250.; 270.; 20. " /> +<box name="Shim_JD" material="Aluminium" X_Y_Z="250.; 270.; 29. " /> +<box name="JD_JOINT1_Pipe_MainBox" material="Aluminium" X_Y_Z="1300.; 120.; 80." /> +<box name="JD_JOINT1_Pipe_CutBox" material="Aluminium" X_Y_Z="1305.; 100.; 60. " /> + +<subtraction name="JD_JOINT1_Pipe" > + <posXYZ volume="JD_JOINT1_Pipe_MainBox" /> + <posXYZ volume="JD_JOINT1_Pipe_CutBox" /> +</subtraction> + +<box name="JD_JOINT2_Pipe_MainBox" material="Aluminium" X_Y_Z="900.; 120.; 80." /> + +<subtraction name="JD_JOINT2_Pipe" > + <posXYZ volume="JD_JOINT2_Pipe_MainBox" /> + <posXYZ volume="JD_JOINT1_Pipe_CutBox" /> +</subtraction> + +<box name="KM_FRONT_PLATE.1.1" material="ShieldSteel" X_Y_Z="27.; 272.; 120. " /> +<box name="Manifolds_Support_Plate" material="Aluminium" X_Y_Z="9.8; 275.; 175. " /> +<box name="AL_BAR_KM_INCLINED_PLATE" material="Aluminium" X_Y_Z="290.; 38.; 67. " /> + +<composition name="Outer_Spoke_Assembly" > + <posXYZ volume="NSW_F1_spoke" X_Y_Z="0.; 1350.; 0." /> + <posXYZ volume="NSW_F1_spoke_Bot_Plate" X_Y_Z="0.; 795.95; 0." /> + <posXYZ volume="Manifolds_Support" X_Y_Z="0.; 4515.33; 0." /> + <posXYZ volume="Plaque_interface2" X_Y_Z="0.; 1745.; 111.05" /> + <posXYZ volume="Plaque_interface2.1" X_Y_Z="0.; 1745.; -115.05" /> + <posXYZ volume="NSW_SS_spoke_Pillar" X_Y_Z="371.; 3267.85; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="NSW_SS_spoke_Pillar" X_Y_Z="-371.; 3267.85; 0." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="610.52; 4348.24; 154.75" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="322.65; 3049.77; 154.75" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="-610.52; 4348.24; 154.75" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="-322.65; 3049.77; 154.75" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Cale" X_Y_Z="537.79; 4020.21; -118.55" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Cale" X_Y_Z="338.24; 3120.06; -118.55" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Cale" X_Y_Z="-537.79; 4020.21; -118.55" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Cale" X_Y_Z="-338.24; 3120.06; -118.55" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="515.; 4020.2; -154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="315.; 3120.6; -154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="-515.; 4020.2; -154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="-315.; 3120.6; -154.6" /> + <posXYZ volume="Shim_JD" X_Y_Z="515.; 4020.2; -261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="315.; 3120.6; -261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="-515.; 4020.2; -261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="-315.; 3120.6; -261.55" /> + <posXYZ volume="JD_JOINT1_Pipe" X_Y_Z="0.; 4020.2; -207." /> + <posXYZ volume="JD_JOINT2_Pipe" X_Y_Z="0.; 3120.6; -207." /> + <posXYZ volume="KM_FRONT_PLATE.1.1" X_Y_Z="641.41; 4289.16; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="KM_FRONT_PLATE.1.1" X_Y_Z="-641.41; 4289.16; 0." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Manifolds_Support_Plate" X_Y_Z="560.93; 4459.11; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Manifolds_Support_Plate" X_Y_Z="-560.93; 4459.11; 0." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="AL_BAR_KM_INCLINED_PLATE" X_Y_Z="-243.; 4099.25; -228.5" /> +</composition> + +<!-- Outer Spoke Foot --> +<gvxysx name="Plaque_interface2_SpecMain" material="Aluminium" dZ="37."> + <gvxy_point X_Y="182.5; 375."/> + <gvxy_point X_Y="146.5; 213.2"/> + <gvxy_point X_Y="90.; -375."/> +</gvxysx> + +<box name="Plaque_interface2_Spec_CutBox" material="Aluminium" X_Y_Z="160.; 260.; 13. " /> + +<subtraction name="Plaque_interface2_Spec" > + <posXYZ volume="Plaque_interface2_SpecMain" /> + <posXYZ volume="Plaque_interface2_Spec_CutBox" X_Y_Z="-120.94; 337.19; -12.5" rot=" 0. ; 0. ; 12.5" /> +</subtraction> + +<gvxysx name="Plaque_interface2.1_SpecMain" material="Aluminium" dZ="45."> + <gvxy_point X_Y="182.5; 375."/> + <gvxy_point X_Y="146.5; 213.2"/> + <gvxy_point X_Y="90.; -375."/> +</gvxysx> + +<subtraction name="Plaque_interface2.1_Spec" > + <posXYZ volume="Plaque_interface2.1_SpecMain" /> + <posXYZ volume="Plaque_interface2_Spec_CutBox" X_Y_Z="-120.94; 337.19; 16.5" rot=" 0. ; 0. ; 12.5" /> +</subtraction> + +<box name="NSW_SS_spoke_PillarSpec_MainBox" material="ShieldSteel" X_Y_Z="135.; 2818.1; 210. " /> +<box name="NSW_SS_spoke_PillarSpec_CutBox" material="Aluminium" X_Y_Z="91.; 2820.; 166. " /> + +<subtraction name="NSW_SS_spokeSpec_Pillar" > + <posXYZ volume="NSW_SS_spoke_PillarSpec_MainBox" /> + <posXYZ volume="NSW_SS_spoke_PillarSpec_CutBox" /> +</subtraction> + +<box name="Cale_Spec" material="Aluminium" X_Y_Z="135.; 280.; 38.6 " /> +<box name="Spoke_Joint1.2" material="Aluminium" X_Y_Z="66.; 100.; 111.9 " /> + +<box name="BOTTOM_PLATE.1_Horisontal_Plate" material="ShieldSteel" X_Y_Z="29.8; 775.; 495. " /> +<box name="BOTTOM_PLATE.1_Vertical_Main_Plate" material="ShieldSteel" X_Y_Z="460.; 640.; 35. " /> + +<gvxy name="Connecting_Plates2.1" material="Aluminium" dZ="22."> + <gvxy_point X_Y="-252.; 130.65"/> + <gvxy_point X_Y="70.; 130.65"/> + <gvxy_point X_Y="252.; 25.65"/> + <gvxy_point X_Y="258.6; -124.1"/> + <gvxy_point X_Y="108.7; -130.65"/> + <gvxy_point X_Y="-252.; 19.35"/> +</gvxy> + +<box name="Tube_alu_feet_MainBox" material="Aluminium" X_Y_Z="1050.; 135.; 185. " /> +<box name="Tube_alu_feet_CutBox" material="Aluminium" X_Y_Z="1055.; 111.4; 161.4 " /> + +<subtraction name="Tube_alu_feet" > + <posXYZ volume="Tube_alu_feet_MainBox" /> + <posXYZ volume="Tube_alu_feet_CutBox" X_Y_Z="-120.94; 337.19; 16.5" rot=" 0. ; 0. ; 12.5" /> +</subtraction> + +<box name="Fix_nut" material="ShieldSteel" X_Y_Z="50.; 52.; 290. " /> + +<gvxy name="Beam_Interface" material="Aluminium" dZ="300."> + <gvxy_point X_Y="-80.; 73.4"/> + <gvxy_point X_Y="80.; 73.4"/> + <gvxy_point X_Y="80.; -73.4"/> + <gvxy_point X_Y="-80.; 28.5"/> +</gvxy> + +<gvxy name="Beam_Interface2" material="Aluminium" dZ="300."> + <gvxy_point X_Y="-80.; 79.8"/> + <gvxy_point X_Y="80.; 79.8"/> + <gvxy_point X_Y="80.; 12.6"/> + <gvxy_point X_Y="-80.; -79.8"/> +</gvxy> + +<box name="LS_T_Joint" material="ShieldSteel" X_Y_Z="80.; 70.; 134.9 " /> +<box name="LS_T_Joint2" material="ShieldSteel" X_Y_Z="77.; 67.; 147.4 " /> + +<gvxy name="Renfort_Bas1_MainBox" material="Aluminium" dZ="135."> + <gvxy_point X_Y="-337.73; -67.5"/> + <gvxy_point X_Y="-251.72; 67.5"/> + <gvxy_point X_Y="251.72; 67.5"/> + <gvxy_point X_Y="337.27; -67.5"/> +</gvxy> + +<box name="Renfort_Bas1_CutBox" material="Aluminium" X_Y_Z="680.; 115.; 115. " /> + + +<subtraction name="Renfort_Bas1" > + <posXYZ volume="Renfort_Bas1_MainBox" /> + <posXYZ volume="Renfort_Bas1_CutBox" /> +</subtraction> + +<composition name="Outer_Spoke_Assembly_FOOT1" > + <posXYZ volume="NSW_F1_spoke" X_Y_Z="0.; 1350.; 0." /> + <posXYZ volume="NSW_F1_spoke_Bot_Plate" X_Y_Z="0.; 795.95; 0." /> + <posXYZ volume="Plaque_interface2_Spec" X_Y_Z="0.; 1745.; 111.05" /> + <posXYZ volume="Plaque_interface2.1_Spec" X_Y_Z="0.; 1745.; -115.05" /> + <posXYZ volume="NSW_SS_spoke_Pillar" X_Y_Z="371.; 3267.85; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="NSW_SS_spokeSpec_Pillar" X_Y_Z="-385.59; 3333.67; 0." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Shim_JD" X_Y_Z="515.; 4020.2; -261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="315.; 3120.6; -261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="-515.; 4020.2; -261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="-315.; 3120.6; -261.55" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="515.; 4020.2; -154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="315.; 3120.6; -154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="-515.; 4020.2; -154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="-315.; 3120.6; -154.6" /> + <posXYZ volume="Cale" X_Y_Z="537.79; 4020.21; -118.55" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Cale" X_Y_Z="338.24; 3120.06; -118.55" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Cale_Spec" X_Y_Z="-537.79; 4020.21; -124.35" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Cale_Spec" X_Y_Z="-338.24; 3120.06; -124.35" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="JD_JOINT1_Pipe" X_Y_Z="0.; 4020.2; -207." /> + <posXYZ volume="JD_JOINT2_Pipe" X_Y_Z="0.; 3120.6; -207." /> + <posXYZ volume="AL_BAR_KM_INCLINED_PLATE" X_Y_Z="-243.; 4099.25; -228.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="322.65; 3049.77; 154.75" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="610.52; 4348.24; 154.75" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Spoke_Joint1.2" X_Y_Z="-322.65; 3049.28; 161." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Spoke_Joint1.2" X_Y_Z="-610.4; 4347.75; 161." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="KM_FRONT_PLATE.1.1" X_Y_Z="641.41; 4289.16; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="BOTTOM_PLATE.1_Horisontal_Plate" X_Y_Z="-675.29; 4889.64; -29." rot=" 0. ; 0. ; -45." /> + <posXYZ volume="BOTTOM_PLATE.1_Vertical_Main_Plate" X_Y_Z="-491.47; 4727.04; -257.5" rot=" 0. ; 0. ; -45." /> + <posXYZ volume="Connecting_Plates2.1" X_Y_Z="475.73; 4596.28; 103.55" rot=" 0. ; 0. ; -15." /> + <posXYZ volume="Connecting_Plates2.1" X_Y_Z="475.73; 4596.28; -103.55" rot=" 0. ; 0. ; -15." /> + <posXYZ volume="Tube_alu_feet" X_Y_Z="35.49; 4779.63; 0." rot=" 0. ; 0. ; -15." /> + <posXYZ volume="Fix_nut" X_Y_Z="-840.79; 4666.23; -5." rot=" 0. ; 0. ; -45." /> + <posXYZ volume="Fix_nut" X_Y_Z="-443.82; 5063.2; -5." rot=" 0. ; 0. ; -45." /> + <posXYZ volume="Beam_Interface" X_Y_Z="-716.12; 4723.86; 0." rot=" 0. ; 0. ; 45." /> + <posXYZ volume="Beam_Interface2" X_Y_Z="-496.92; 4934.01; 0." rot=" 0. ; 0. ; 45." /> + <posXYZ volume="LS_T_Joint" X_Y_Z="-649.; 4560.58; -172.5" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="LS_T_Joint2" X_Y_Z="-356.49; 4881.55; -166.25" rot=" 0. ; 0. ; 75." /> + <posXYZ volume="Renfort_Bas1" X_Y_Z="-329.24; 4539.98; 0." rot=" 0. ; 0. ; 45." /> +</composition> + +<composition name="Outer_Spoke_Assembly_FOOT2" > + <posXYZ volume="NSW_F1_spoke" X_Y_Z="0.; 1350.; 0." /> + <posXYZ volume="NSW_F1_spoke_Bot_Plate" X_Y_Z="0.; 795.95; 0." /> + <posXYZ volume="Plaque_interface2_Spec" X_Y_Z="0.; 1745.; 111.05" /> + <posXYZ volume="Plaque_interface2.1_Spec" X_Y_Z="0.; 1745.; -115.05" /> + <posXYZ volume="NSW_SS_spoke_Pillar" X_Y_Z="371.; 3267.85; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="NSW_SS_spokeSpec_Pillar" X_Y_Z="-385.59; 3333.67; 0." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Shim_JD" X_Y_Z="515.; 4020.2; 261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="315.; 3120.6; 261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="-515.; 4020.2; 261.55" /> + <posXYZ volume="Shim_JD" X_Y_Z="-315.; 3120.6; 261.55" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="515.; 4020.2; 154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="315.; 3120.6; 154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="-515.; 4020.2; 154.6" /> + <posXYZ volume="JD_JOINT2.1_Plate1" X_Y_Z="-315.; 3120.6; 154.6" /> + <posXYZ volume="Cale" X_Y_Z="537.79; 4020.21; 118.55" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Cale" X_Y_Z="338.24; 3120.06; 118.55" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Cale_Spec" X_Y_Z="-537.79; 4020.21; 124.35" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Cale_Spec" X_Y_Z="-338.24; 3120.06; 124.35" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="JD_JOINT1_Pipe" X_Y_Z="0.; 4020.2; 207." /> + <posXYZ volume="JD_JOINT2_Pipe" X_Y_Z="0.; 3120.6; 207." /> + <posXYZ volume="AL_BAR_KM_INCLINED_PLATE" X_Y_Z="-243.; 4099.25; 228.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="322.65; 3049.77; -154.75" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Spoke_Joint" X_Y_Z="610.52; 4348.24; -154.75" rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="Spoke_Joint1.2" X_Y_Z="-322.65; 3049.28; -161." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="Spoke_Joint1.2" X_Y_Z="-610.4; 4347.75; -161." rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="KM_FRONT_PLATE.1.1" X_Y_Z="641.41; 4289.16; 0." rot=" 0. ; 0. ; -12.5" /> + <posXYZ volume="BOTTOM_PLATE.1_Horisontal_Plate" X_Y_Z="-675.29; 4889.64; 29." rot=" 0. ; 0. ; -45." /> + <posXYZ volume="BOTTOM_PLATE.1_Vertical_Main_Plate" X_Y_Z="-491.47; 4727.04; 257.5" rot=" 0. ; 0. ; -45." /> + <posXYZ volume="Connecting_Plates2.1" X_Y_Z="475.73; 4596.28; -103.55" rot=" 0. ; 0. ; -15." /> + <posXYZ volume="Connecting_Plates2.1" X_Y_Z="475.73; 4596.28; 103.55" rot=" 0. ; 0. ; -15." /> + <posXYZ volume="Tube_alu_feet" X_Y_Z="35.49; 4779.63; 0." rot=" 0. ; 0. ; -15." /> + <posXYZ volume="Fix_nut" X_Y_Z="-840.79; 4666.23; -5." rot=" 0. ; 0. ; -45." /> + <posXYZ volume="Fix_nut" X_Y_Z="-443.82; 5063.2; -5." rot=" 0. ; 0. ; -45." /> + <posXYZ volume="Beam_Interface" X_Y_Z="-716.12; 4723.86; 0." rot=" 0. ; 0. ; 45." /> + <posXYZ volume="Beam_Interface2" X_Y_Z="-496.92; 4934.01; 0." rot=" 0. ; 0. ; 45." /> + <posXYZ volume="LS_T_Joint" X_Y_Z="-649.; 4560.58; 172.5" rot=" 0. ; 0. ; 12.5" /> + <posXYZ volume="LS_T_Joint2" X_Y_Z="-356.49; 4881.55; 166.25" rot=" 0. ; 0. ; 75." /> + <posXYZ volume="Renfort_Bas1" X_Y_Z="-329.24; 4539.98; 0." rot=" 0. ; 0. ; 45." /> +</composition> +<!-- End Outer Spoke Foot --> + + +<composition name="Outer_Spoke" > + <posXYZ volume="Outer_Spoke_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 0." /> + <posXYZ volume="Outer_Spoke_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 45." /> + <posXYZ volume="Outer_Spoke_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 90." /> + <posXYZ volume="Outer_Spoke_Assembly_FOOT1" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 135." /> + <posXYZ volume="Outer_Spoke_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 180." /> + <posXYZ volume="Outer_Spoke_Assembly_FOOT2" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 180. ; 225." /> + <posXYZ volume="Outer_Spoke_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 270." /> + <posXYZ volume="Outer_Spoke_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 315." /> +</composition> +<!-- ********************************************************************************* End Outer Spoke ****************************************************\ +************************************** --> + +<!-- *********************************************************************************** LSO LSI Connection ***********************************************\ +************************************* --> + +<box name="LSO_LSI_connection_Rot" material="ShieldSteel" X_Y_Z="63.; 754.1; 46. " /> + +<composition name="LSO_LSI_connection_Pos" > + <posXYZ volume="LSO_LSI_connection_Rot" X_Y_Z="0.; 2210.09; 0." /> +</composition> + +<composition name="LSO_LSI_Connection" > + <posXYZ volume="LSO_LSI_connection_Pos" X_Y_Z="0.; 0.; 870.2" rot=" 0. ; 0. ; 22.5" /> + <posXYZ volume="LSO_LSI_connection_Pos" X_Y_Z="0.; 0.; 870.2" rot=" 0. ; 0. ; 67.5" /> + <posXYZ volume="LSO_LSI_connection_Pos" X_Y_Z="0.; 0.; 870.2" rot=" 0. ; 0. ; -22.5" /> + <posXYZ volume="LSO_LSI_connection_Pos" X_Y_Z="0.; 0.; 870.2" rot=" 0. ; 0. ; -67.5" /> +</composition> + +<!-- *********************************************************************************** End LSO LSI Connection *******************************************\ +************************************* --> + +<!-- *********************************************************************************** Alignment Bars ***************************************************\ +**************************************** --> + +<!-- SS Bar --> +<tubs name="SS_Bar_Tube" material="Aluminium" Rio_Z="0.; 49.1; 2382." /> + +<composition name="SS_Bar_Assembly" > + <posXYZ volume="SS_Bar_Tube" X_Y_Z="69.2; 3364.6; 0" rot=" 90. ; 0. ; -3.35" /> +</composition> + +<composition name="SS_Bar" > + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 0." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 45." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 90." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 135." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 180." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 225." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 270." /> + <posXYZ volume="SS_Bar_Assembly" X_Y_Z="0.; 0.; 233.2" rot=" 0. ; 0. ; 315." /> +</composition> +<!-- End SS Bar --> + +<!-- LS Bar --> +<tubs name="LS_Bar_Tube" material="Aluminium" Rio_Z="0.; 48.; 2340." /> +<box name="LS_Arm" material="Aluminium" X_Y_Z="1010.; 40.; 50. " /> + +<composition name="LS_Bar_Assembly" > + <posXYZ volume="LS_Bar_Tube" X_Y_Z="1286.4; 3086.18; 0." rot=" 90. ; 0. ; -25." /> + <posXYZ volume="LS_Arm" X_Y_Z="1789.34; 4164.73; 0." rot=" 0. ; 0. ; -25." /> +</composition> + +<composition name="LS_Bar" > + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 0." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 45." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 90." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 135." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 180." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 225." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 270." /> + <posXYZ volume="LS_Bar_Assembly" X_Y_Z="0.; 0.; 697.2" rot=" 0. ; 0. ; 315." /> +</composition> +<!-- End LS Bar --> + +<!-- *********************************************************************************** End Alignment Bars ***********************************************\ +******************************************** --> + + +<composition name="NSW_Aluminum_Structure_and_HUB_Assembly" > + <posXYZ volume="New_Hub" /> + <posXYZ volume="Inner_Spoke" /> + <posXYZ volume="LSO_LSI_Connection" /> + <posXYZ volume="Outer_Spoke" /> + <posXYZ volume="SS_Bar" /> + <posXYZ volume="LS_Bar" /> +</composition> + +<composition name="NSW_Aluminum_Structure_and_HUB_SideA" > + <posXYZ volume="NSW_Aluminum_Structure_and_HUB_Assembly" X_Y_Z="0.; 0.; 6943.8" rot=" 0. ; 0. ; 0." /> +</composition> + +<composition name="NSW_Aluminum_Structure_and_HUB_SideC" > + <posXYZ volume="NSW_Aluminum_Structure_and_HUB_Assembly" X_Y_Z="0.; 0.; -6943.8" rot=" 0. ; 180. ; 0." /> +</composition> + +<composition name="NSW_Aluminum_Structure_and_HUB" > + <posXYZ volume="NSW_Aluminum_Structure_and_HUB_SideA" /> + <posXYZ volume="NSW_Aluminum_Structure_and_HUB_SideC" /> +</composition> + +</section> + +<!-- ===========================================NJD=========================================== --> + +<section name = "NJD Disk" + version = "0.0" + date = "16-11-2016" + author = "Georgian Engineering Team - Niko Tsutskiridze" + top_volume = "NJD_Disk"> + +<!-- NJD Disk --> + +<!-- main disk--> +<tubs name="MD01" material="ShieldSteel" Rio_Z="430.; 4360.; 40." nbPhi="32." /> +<tubs name="MD02" material="ShieldSteel" Rio_Z="430.; 2700.; 48.7" nbPhi="32." /> +<tubs name="MDB01_Cut" material="ShieldSteel" Rio_Z="0.; 840.; 3." nbPhi="32." /> + +<gvxy name="MD03" material="ShieldSteel" dZ="40." > + <gvxy_point X_Y="-3370.; -3950."/> + <gvxy_point X_Y="-3370.; -3880."/> + <gvxy_point X_Y="-3679.5; -2484."/> + <gvxy_point X_Y="-3990.; -1734.39"/> + <gvxy_point X_Y="-2599.16; -3470."/> + <gvxy_point X_Y="-2670.; -3570."/> + <gvxy_point X_Y="-2670.; -3950."/> +</gvxy> + +<subtraction name="MDB01_Un" > + <posXYZ volume="MD01" /> + <posXYZ volume="MDB01_Cut" X_Y_Z=" 0.; 0.; 19.4 " /> +</subtraction> + +<union name="MDB01" > + <posXYZ volume="MDB01_Un" /> + <posXYZ volume="MD03" /> + <posXYZ volume="MD03" rot=" 0.; 180.; 0."/> +</union> +<!-- End main disk--> + + +<!-- Ret.Flux --> +<tubs name="FLUX_Box" material="ShieldSteel" Rio_Z="3800.; 4360.; 39.9" nbPhi="32." /> +<box name="FLUX_Cut_Box" material="ShieldSteel" X_Y_Z="2200.; 400.; 50." /> + +<subtraction name="FLUX" > + <posXYZ volume="FLUX_Box" /> + <posXYZ volume="FLUX_Cut_Box" X_Y_Z=" -1930.; 3430.; 0." /> +</subtraction> +<!-- End Ret.Flux --> + +<!-- FIXING PLATE --> +<box name="FIXING_PLATE" material="ShieldSteel" X_Y_Z="350.; 975.; 40.9" /> +<box name="FIXING_PLATE_Special" material="ShieldSteel" X_Y_Z="350.; 787.5; 40.9" /> + +<composition name="FIXING_PLATE_Pos" > + <posXYZ volume="FIXING_PLATE" X_Y_Z=" 0.; 3252.5; 0." /> +</composition> + +<composition name="FIXING_PLATE_Ass" > + <posXYZ volume="FIXING_PLATE_Special" X_Y_Z=" -1208.8; 2918.31; 0." rot=" 0.; 0.; 22.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 67.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 112.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 157.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 202.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 247.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 292.5" /> + <posXYZ volume="FIXING_PLATE_Pos" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 337.5" /> +</composition> +<!-- End FIXING PLATE --> + +<!-- NJD feet--> +<gvxy name="JF01" material="ShieldSteel" dZ="37.3" > + <gvxy_point X_Y="-3300.; -3950."/> + <gvxy_point X_Y="-3300.; -3480."/> + <gvxy_point X_Y="-3270.; -3450."/> + <gvxy_point X_Y="-2730.; -3450."/> + <gvxy_point X_Y="-2700.; -3480."/> + <gvxy_point X_Y="-2700.; -3950."/> +</gvxy> + +<gvxy name="JF02" material="ShieldSteel" dZ="35." > + <gvxy_point X_Y="-342.4; -3950."/> + <gvxy_point X_Y="-342.4; -3930."/> + <gvxy_point X_Y="-77.4; -3470."/> + <gvxy_point X_Y="-57.4; -3470."/> + <gvxy_point X_Y="-57.4; -3920."/> + <gvxy_point X_Y="-87.4; -3950."/> +</gvxy> + +<gvxy name="JF03" material="ShieldSteel" dZ="48." > + <gvxy_point X_Y="-3370.; -362."/> + <gvxy_point X_Y="-3370.; 704."/> + <gvxy_point X_Y="-3495.; 704."/> + <gvxy_point X_Y="-3495.; 933."/> + <gvxy_point X_Y="-2660.; 933."/> + <gvxy_point X_Y="-2660.; 653."/> + <gvxy_point X_Y="-2700.; 653."/> + <gvxy_point X_Y="-2700.; 523."/> + <gvxy_point X_Y="-2590.; 523."/> + <gvxy_point X_Y="-2590.; -52."/> + <gvxy_point X_Y="-2685.; -52."/> + <gvxy_point X_Y="-2685.; -362."/> +</gvxy> + +<gvxy name="JF04" material="ShieldSteel" dZ="41.6" > + <gvxy_point X_Y="-453.5; -4251.1"/> + <gvxy_point X_Y="-453.5; -4158.1"/> + <gvxy_point X_Y="-603.; -4083.1"/> + <gvxy_point X_Y="-603.; -4038.1"/> + <gvxy_point X_Y="-362.; -4038.1"/> + <gvxy_point X_Y="-362.; -3998.1"/> + <gvxy_point X_Y="883.; -3998.1"/> + <gvxy_point X_Y="883.; -4251.1"/> +</gvxy> + +<gvxy name="JF05" material="ShieldSteel" dZ="356.1" > + <gvxy_point X_Y="-603.; -4048.1"/> + <gvxy_point X_Y="-603.; -4038.1"/> + <gvxy_point X_Y="-362.; -4038.1"/> + <gvxy_point X_Y="-362.; -3998.1"/> + <gvxy_point X_Y="-253.; -3998.1"/> + <gvxy_point X_Y="-253.; -4048.1"/> +</gvxy> + +<box name="JF06" material="ShieldSteel" X_Y_Z="536.; 253.; 71.4" /> + +<!-- Right--> +<composition name="Right_Feet" > + <posXYZ volume="JF01" X_Y_Z=" 0.; 0.; 38.7" rot=" 0.; 0.; 0." /> + <posXYZ volume="JF02" X_Y_Z=" -2802.5; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF02" X_Y_Z=" -3197.5; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF03" X_Y_Z=" 0.; -3974.05; 0." rot=" -90.; 0.; 0." /> + <posXYZ volume="JF04" X_Y_Z=" -2805.2; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF04" X_Y_Z=" -3203.; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF05" X_Y_Z=" -3004.1; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF06" X_Y_Z=" -3000.; -4124.6; -918.75" rot=" 0.; 0.; 0." /> +</composition> +<!-- End Right--> + +<!-- Left--> +<composition name="Left_Feet" > + <posXYZ volume="JF01" X_Y_Z=" 0.; 0.; 38.7" rot=" 0.; 180.; 0." /> + <posXYZ volume="JF02" X_Y_Z=" 2802.5; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF02" X_Y_Z=" 3197.5; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF03" X_Y_Z=" 0.; -3974.05; 0." rot=" -90.; 0.; 180." /> + <posXYZ volume="JF04" X_Y_Z=" 2805.2; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF04" X_Y_Z=" 3203.; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF05" X_Y_Z=" 3004.1; 0.; 0." rot=" 0.; 90.; 0." /> + <posXYZ volume="JF06" X_Y_Z=" 3000.; -4124.6; -918.75" rot=" 0.; 0.; 0." /> +</composition> +<!-- End Right--> +<!-- End NJD feet--> + +<composition name="JDDisk_ASide" > + <posXYZ volume="MDB01" X_Y_Z=" 0.; 0.; 6880." rot=" 0.; 0.; 0." /> + <posXYZ volume="MD02" X_Y_Z=" 0.; 0.; 6835.6" rot=" 0.; 0.;0."/> + <posXYZ volume="FLUX" X_Y_Z=" 0.; 0.; 6840." rot=" 0.; 0.; 0." /> + <posXYZ volume="FIXING_PLATE_Ass" X_Y_Z=" 0.; 0.; 6839.5" rot=" 0.; 0.; 0." /> + <posXYZ volume="Right_Feet" X_Y_Z=" 0.; 0.; 6880." rot=" 0.; 180.; 0." /> + <posXYZ volume="Left_Feet" X_Y_Z=" 0.; 0.; 6880." rot=" 0.; 180.; 0." /> +</composition> + +<composition name="JDDisk_CSide" > + <posXYZ volume="MDB01" X_Y_Z=" 0.; 0.; -6880." rot=" 0.; 180.; 0." /> + <posXYZ volume="MD02" X_Y_Z=" 0.; 0.; -6835.6" rot=" 0.; 0.;0."/> + <posXYZ volume="FLUX" X_Y_Z=" 0.; 0.; -6840." rot=" 0.; 0.; 0." /> + <posXYZ volume="FIXING_PLATE_Ass" X_Y_Z=" 0.; 0.; -6839.5" rot=" 0.; 0.; 0." /> + <posXYZ volume="Right_Feet" X_Y_Z=" 0.; 0.; -6880." rot=" 0.; 0.; 0." /> + <posXYZ volume="Left_Feet" X_Y_Z=" 0.; 0.; -6880." rot=" 0.; 0.; 0." /> +</composition> +<!-- End NJD Disk --> + +<composition name="NJD_Disk" > + <posXYZ volume="JDDisk_ASide" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 0." /> + <posXYZ volume="JDDisk_CSide" X_Y_Z=" 0.; 0.; 0." rot=" 0.; 0.; 0." /> +</composition> + +</section> + +<!-- ==================================================Feet========================================= --> + +<section name = "A Plate" + version = "0.0" + date = "29-05-2017" + author = "Georgian Engineering Team - Niko Tsutskiridze" + top_volume = "A_Plate"> + +<gvxy name="Lateral_Plate_Main" material="ShieldSteel" dZ="21."> + <gvxy_point X_Y="-3300.; -4000."/> + <gvxy_point X_Y="-3548.3; -3235.72"/> + <gvxy_point X_Y="-1458.4; -560.8"/> + <gvxy_point X_Y="73.9; 73.9"/> + <gvxy_point X_Y="-628.9; -1622.8"/> + <gvxy_point X_Y="-818.3; -1544.4"/> + <gvxy_point X_Y="-1558.6; -2491.9"/> + <gvxy_point X_Y="-1427.8; -2980."/> + <gvxy_point X_Y="-0.01; -2980."/> + <gvxy_point X_Y="-0.01; -3280."/> + <gvxy_point X_Y="-1701.9; -3280."/> + <gvxy_point X_Y="-1995.3; -3050.8"/> + <gvxy_point X_Y="-2650.; -3889."/> + <gvxy_point X_Y="-2650.; -4000."/> +</gvxy> + +<tubs name="Lateral_plate_TubeCut" material="ShieldSteel" Rio_Z=" 0. ; 600. ; 25." nbPhi="36." /> + +<subtraction name="Lateral_Plate" > + <posXYZ volume="Lateral_Plate_Main" /> + <posXYZ volume="Lateral_plate_TubeCut" X_Y_Z="-0.01; -0.01; 0." rot=" 0. ; 0. ; 0." /> +</subtraction> + +<tubs name="Anchorage" material="ShieldSteel" Rio_Z=" 0. ; 22.6 ; 577." nbPhi="36." /> + +<gvxy name="Vertical_Top_Plate" material="ShieldSteel" dZ="33."> + <gvxy_point X_Y="-3300.; -3998."/> + <gvxy_point X_Y="-3300.; -3730."/> + <gvxy_point X_Y="-2865.; -3730."/> + <gvxy_point X_Y="-2675.; -3920."/> + <gvxy_point X_Y="-2675.; -3998."/> +</gvxy> + +<box name="Horizontal_Plate" material="ShieldSteel" X_Y_Z="625.; 40.6; 287. " /> + +<composition name="A_Plate_Assembly" > + <posXYZ volume="Lateral_Plate" /> + <posXYZ volume="Lateral_Plate" X_Y_Z="0.; 0.; 0." rot="0. ; 180. ; 0." /> + <posXYZ volume="Anchorage" X_Y_Z="-3447.; -3283.25; -299.01" rot="0. ; 0. ; 0." /> + <posXYZ volume="Anchorage" X_Y_Z="3447.; -3283.25; -299.01" rot="0. ; 0. ; 0." /> + <posXYZ volume="Vertical_Top_Plate" X_Y_Z="0.; 0.; -27.01" rot="0. ; 0. ; 0." /> + <posXYZ volume="Vertical_Top_Plate" X_Y_Z="0.; 0.; -27.01" rot="0. ; 180. ; 0." /> + <posXYZ volume="Horizontal_Plate" X_Y_Z="-2987.5; -3929.7; -187.02" rot="0. ; 0. ; 0." /> + <posXYZ volume="Horizontal_Plate" X_Y_Z="2987.5; -3929.7; -187.02" rot="0. ; 0. ; 0." /> +</composition> + +<composition name="A_Plate_SideA" > + <posXYZ volume="A_Plate_Assembly" X_Y_Z=" 0. ; 0.; 7857.5" /> +</composition> + +<composition name="A_Plate_SideC" > + <posXYZ volume="A_Plate_Assembly" X_Y_Z=" 0. ; 0.; -7857.5" rot="0. ; 180. ; 0." /> +</composition> + +<composition name="A_Plate" > + <posXYZ volume="A_Plate_SideA" /> + <posXYZ volume="A_Plate_SideC" /> +</composition> + +</section> + +<!-- ========== Poisitionning all Volumes in NSW================ --> + +<section name="NewSmallWheels" version="4.3" top_volume="useless" date=" April 20, 2015 " author="Daniel Lellouch"> + +<composition name="NewSmallWheel"> + <posXYZ volume="NSW_sTGC" X_Y_Z="0.;0.;0."/> + <posXYZ volume="NSW_MM" X_Y_Z="0.;0.;0." /> + <posXYZ volume="NSW_Spacer" /> + <posXYZ volume="NSW_Aluminum_Structure_and_HUB" /> + <posXYZ volume="NJD_Disk" /> + <posXYZ volume="A_Plate" /> +</composition> + +</section> + +</AGDD> diff --git a/MuonSpectrometer/MuonOverlay/CscOverlay/CMakeLists.txt b/MuonSpectrometer/MuonOverlay/CscOverlay/CMakeLists.txt index d73dbd629d76f262046903dbcb2d3d7ae9acee77..209ee2b68ad2fcc7dd21e0487174d0c3f37aa944 100644 --- a/MuonSpectrometer/MuonOverlay/CscOverlay/CMakeLists.txt +++ b/MuonSpectrometer/MuonOverlay/CscOverlay/CMakeLists.txt @@ -33,6 +33,4 @@ atlas_add_component( CscOverlay # Install files from the package: atlas_install_headers( CscOverlay ) -atlas_install_joboptions( share/*.py ) atlas_install_python_modules( python/*.py ) - diff --git a/MuonSpectrometer/MuonOverlay/CscOverlay/share/CscOverlay_jobOptions.py b/MuonSpectrometer/MuonOverlay/CscOverlay/share/CscOverlay_jobOptions.py deleted file mode 100644 index 3ece6e4c3dbe9cd864405b4ba9e585c5a4711be5..0000000000000000000000000000000000000000 --- a/MuonSpectrometer/MuonOverlay/CscOverlay/share/CscOverlay_jobOptions.py +++ /dev/null @@ -1,10 +0,0 @@ -from Digitization.DigitizationFlags import digitizationFlags -from AthenaCommon.CfgGetter import getAlgorithm - -job += getAlgorithm("CscOverlay") -from OverlayCommonAlgs.OverlayFlags import overlayFlags -job.CscOverlay.DigitizationTool.OutputObjectName = overlayFlags.evtStore() + "+CSC_DIGITS" #private tool, so this should work -#job.CscOverlay.OutputLevel=VERBOSE -#svcMgr.MessageSvc.defaultLimit=100000 -print job.CscOverlay - diff --git a/MuonSpectrometer/MuonOverlay/MdtOverlay/CMakeLists.txt b/MuonSpectrometer/MuonOverlay/MdtOverlay/CMakeLists.txt index e166254db766edd0ddb81a8696cdecaa2fddbe06..714d01b24f2814d8688b81cfeb9499be6e286815 100644 --- a/MuonSpectrometer/MuonOverlay/MdtOverlay/CMakeLists.txt +++ b/MuonSpectrometer/MuonOverlay/MdtOverlay/CMakeLists.txt @@ -27,5 +27,3 @@ atlas_add_component( MdtOverlay # Install files from the package: atlas_install_headers( MdtOverlay ) atlas_install_python_modules( python/*.py ) -atlas_install_joboptions( share/*.py ) - diff --git a/MuonSpectrometer/MuonOverlay/MdtOverlay/share/MdtOverlay_jobOptions.py b/MuonSpectrometer/MuonOverlay/MdtOverlay/share/MdtOverlay_jobOptions.py deleted file mode 100644 index 4ca070b93c0f0ccd5ffd53c66dbbac08ac45a250..0000000000000000000000000000000000000000 --- a/MuonSpectrometer/MuonOverlay/MdtOverlay/share/MdtOverlay_jobOptions.py +++ /dev/null @@ -1,59 +0,0 @@ -include.block ( "MdtOverlay/MdtOverlay_jobOptions.py" ) - -#from Digitization.DigitizationFlags import jobproperties -from AthenaCommon import CfgGetter -#from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import MuonRdoToMuonDigitTool -#MuonRdoToMuonDigitTool = MuonRdoToMuonDigitTool ( -# "MdtRdoToMdtDigit", -# DecodeMdtRDO = True, -# DecodeRpcRDO = False, -# DecodeTgcRDO = False, -# DecodeCscRDO = False ) -#ToolSvc += CfgGetter.getPrivateTool("MdtRdoToMdtDigit") -ToolSvc += CfgGetter.getPrivateTool("MdtRdoToMdtDigit") -#job += MdtRdoToMdtDigit() - -#include ( "MDT_Digitization/MdtDigitizationTool_jobOptions.py" ) - -#if readBS and isRealData: -# ToolSvc.MdtDigitizationTool.GetT0FromBD = True - -#t if readBS and isRealData: -#t if not hasattr(ToolSvc, 'Mdt_OverlayDigitizationTool'): -# t from AthenaCommon import CfgGetter -# t ToolSvc += CfgGetter.getPrivateTool("Mdt_OverlayDigitizationTool") - -#, checkType=True) - # ToolSvc.Mdt_OverlayDigitizationTool.GetT0FromBD = True - -#jobproperties.Digitization.rndmSeedList.addSeed("MDTResponse", 49261510,105132394 ) -#jobproperties.Digitization.rndmSeedList.addSeed("MDT_Digitization", 393242561, 857132381 ) - -#from AthenaCommon import CfgGetter -#from MdtOverlay.MdtOverlayConf import MdtOverlay -job += CfgGetter.getAlgorithm("MdtOverlay") -#job.MdtOverlay.mainInputMDT_Name = "MDT_DIGITS" -#job.MdtOverlay.overlayInputMDT_Name = "MDT_DIGITS" -#job.MdtOverlay.IntegrationWindow = 20 -#job.MdtOverlay.DigitizationTool = ToolSvc.Mdt_OverlayDigitizationTool -#job.MdtOverlay.ConvertRDOToDigitTool = MuonRdoToMuonDigitTool -#job.MdtOverlay.DigitizationTool.EvtStore = job.MdtOverlay.MCStore -#job.MdtOverlay.ConvertRDOToDigitTool.RetrievePrivateCopy = True -#job.MdtOverlay.ConvertRDOToDigitTool.DataStore = job.MdtOverlay.DataStore - -#from OverlayCommonAlgs.OverlayFlags import overlayFlags -#if overlayFlags.doSignal==True: -# job.MdtOverlay.CopyObject = True - -#from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import MdtDigitToMdtRDO -#job += MdtDigitToMdtRDO() -#job.MdtDigitToMdtRDO.Store = job.MdtOverlay.OutputStore - - -#from MuonByteStreamCnvTest.MuonByteStreamCnvTestConfig import MdtDigitToMdtRDO -#job += MdtDigitToMdtRDO() -#job.MdtDigitToMdtRDO.Store = job.MdtOverlay.OutputStore -#job += CfgGetter.getPrivateTool("MdtRdoToMdtDigit") -from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import MdtDigitToMdtRDO -job += MdtDigitToMdtRDO() -job.MdtDigitToMdtRDO.Store = job.MdtOverlay.OutputStore diff --git a/MuonSpectrometer/MuonOverlay/RpcOverlay/CMakeLists.txt b/MuonSpectrometer/MuonOverlay/RpcOverlay/CMakeLists.txt index c8ec1ff30e0e8ef7f3196accc7a3df2da02f8dda..4331f2a35e219d80e9f9afb00c24ba7006cc2d27 100644 --- a/MuonSpectrometer/MuonOverlay/RpcOverlay/CMakeLists.txt +++ b/MuonSpectrometer/MuonOverlay/RpcOverlay/CMakeLists.txt @@ -27,5 +27,3 @@ atlas_add_component( RpcOverlay # Install files from the package: atlas_install_headers( RpcOverlay ) atlas_install_python_modules( python/*.py ) -atlas_install_joboptions( share/*.py ) - diff --git a/MuonSpectrometer/MuonOverlay/RpcOverlay/share/RpcOverlay_jobOptions.py b/MuonSpectrometer/MuonOverlay/RpcOverlay/share/RpcOverlay_jobOptions.py deleted file mode 100644 index 2144ca2fb12f45ee080d148789d56c4b2e460cc2..0000000000000000000000000000000000000000 --- a/MuonSpectrometer/MuonOverlay/RpcOverlay/share/RpcOverlay_jobOptions.py +++ /dev/null @@ -1,38 +0,0 @@ -from Digitization.DigitizationFlags import jobproperties - -from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import MuonRdoToMuonDigitTool -MuonRdoToMuonDigitTool = MuonRdoToMuonDigitTool ( - "RpcRdoToRpcDigit", - DecodeMdtRDO = False, - DecodeRpcRDO = True, - DecodeTgcRDO = False, - DecodeCscRDO = False ) -ToolSvc += MuonRdoToMuonDigitTool - -#old way -#include ( "RPC_Digitization/RpcDigitizationTool_jobOptions.py" ) -#jobproperties.Digitization.rndmSeedList.addSeed("RPC_Digitization", 49261510, 105132394 ) - -#new way -if not hasattr(ToolSvc, 'Rpc_OverlayDigitizationTool'): - from AthenaCommon import CfgGetter - RpcDigitizationTool = CfgGetter.getPrivateTool("Rpc_OverlayDigitizationTool") - -from RpcOverlay.RpcOverlayConf import RpcOverlay -job += RpcOverlay() -job.RpcOverlay.mainInputRPC_Name = "RPC_DIGITS" -job.RpcOverlay.overlayInputRPC_Name = "RPC_DIGITS" -job.RpcOverlay.DigitizationTool = RpcDigitizationTool -job.RpcOverlay.ConvertRDOToDigitTool = MuonRdoToMuonDigitTool -#job.RpcOverlay.DigitizationTool.EvtStore = job.RpcOverlay.MCStore -job.RpcOverlay.ConvertRDOToDigitTool.RetrievePrivateCopy = True -job.RpcOverlay.ConvertRDOToDigitTool.DataStore = job.RpcOverlay.DataStore - -from OverlayCommonAlgs.OverlayFlags import overlayFlags -if overlayFlags.doSignal==True: - job.RpcOverlay.CopyObject = True - -from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import RpcDigitToRpcRDO -job += RpcDigitToRpcRDO() -job.RpcDigitToRpcRDO.Store = job.RpcOverlay.OutputStore - diff --git a/MuonSpectrometer/MuonOverlay/TgcOverlay/CMakeLists.txt b/MuonSpectrometer/MuonOverlay/TgcOverlay/CMakeLists.txt index 30550da984fa414bcc91bf39216add80f00dceda..e1f04870376fa788773164dd1bcb6e52427ff5d7 100644 --- a/MuonSpectrometer/MuonOverlay/TgcOverlay/CMakeLists.txt +++ b/MuonSpectrometer/MuonOverlay/TgcOverlay/CMakeLists.txt @@ -28,5 +28,3 @@ atlas_add_component( TgcOverlay # Install files from the package: atlas_install_headers( TgcOverlay ) atlas_install_python_modules( python/*.py ) -atlas_install_joboptions( share/*.py ) - diff --git a/MuonSpectrometer/MuonOverlay/TgcOverlay/share/TgcOverlay_jobOptions.py b/MuonSpectrometer/MuonOverlay/TgcOverlay/share/TgcOverlay_jobOptions.py deleted file mode 100644 index 8c3ef3186cecd7206554403a0ecead541b13a5b3..0000000000000000000000000000000000000000 --- a/MuonSpectrometer/MuonOverlay/TgcOverlay/share/TgcOverlay_jobOptions.py +++ /dev/null @@ -1,33 +0,0 @@ -from Digitization.DigitizationFlags import jobproperties - -from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import MuonRdoToMuonDigitTool -MuonRdoToMuonDigitTool = MuonRdoToMuonDigitTool ( - "TgcRdoToTgcDigit", - DecodeMdtRDO = False, - DecodeRpcRDO = False, - DecodeTgcRDO = True, - DecodeCscRDO = False ) -ToolSvc += MuonRdoToMuonDigitTool - -from AthenaCommon import CfgGetter - -from TgcOverlay.TgcOverlayConf import TgcOverlay -job += TgcOverlay() -job.TgcOverlay.mainInputTGC_Name = "TGC_DIGITS" -job.TgcOverlay.overlayInputTGC_Name = "TGC_DIGITS" -#job.TgcOverlay.DigitizationTool = CfgGetter.getPrivateTool("TgcDigitizationTool", checkType=True) -job.TgcOverlay.DigitizationTool = CfgGetter.getPrivateTool("Tgc_OverlayDigitizationTool") -job.TgcOverlay.ConvertRDOToDigitTool = MuonRdoToMuonDigitTool -#job.TgcOverlay.DigitizationTool.EvtStore = job.TgcOverlay.MCStore -job.TgcOverlay.ConvertRDOToDigitTool.RetrievePrivateCopy = True -job.TgcOverlay.ConvertRDOToDigitTool.DataStore = job.TgcOverlay.DataStore - -from OverlayCommonAlgs.OverlayFlags import overlayFlags -if overlayFlags.doSignal==True: - job.TgcOverlay.CopyObject = True - -from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import TgcDigitToTgcRDO -job += TgcDigitToTgcRDO() -job.TgcDigitToTgcRDO.Store = job.TgcOverlay.OutputStore - - diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRec_jobOptions.py b/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRec_jobOptions.py index 9e64c8a35f5e4d5cdbf9a3fae71f36b1fce929a9..263ea462191513d4f6abf261c67f4a22d5cb0827 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRec_jobOptions.py +++ b/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRec_jobOptions.py @@ -144,6 +144,7 @@ if muonRecFlags.doStandalone(): if muonRecFlags.doNSWNewThirdChain(): topSequence.MuonSegmentTruthAssociationAlg.doNSW=True + topSequence.MuonStandaloneDetailedTrackTruthMaker.doNSW=True try: from RecExConfig.InputFilePeeker import inputFileSummary diff --git a/MuonSpectrometer/MuonSimEvent/CMakeLists.txt b/MuonSpectrometer/MuonSimEvent/CMakeLists.txt index b71be159d929c7cbfa0dcd2a67b2d244d76ba2fc..5214563d262569a469dece82da5461228bf7215b 100644 --- a/MuonSpectrometer/MuonSimEvent/CMakeLists.txt +++ b/MuonSpectrometer/MuonSimEvent/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( MuonSimEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel Database/AtlasSealCLHEP DetectorDescription/GeoPrimitives DetectorDescription/Identifier @@ -26,12 +25,12 @@ atlas_add_library( MuonSimEvent PUBLIC_HEADERS MuonSimEvent INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${EIGEN_LIBRARIES} SGTools GeoPrimitives Identifier GeneratorObjects HitManagement MuonIdHelpersLib + LINK_LIBRARIES ${EIGEN_LIBRARIES} AthenaKernel GeoPrimitives Identifier GeneratorObjects HitManagement MuonIdHelpersLib PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) atlas_add_dictionary( MuonSimEventDict MuonSimEvent/MuonSimEventDict.h MuonSimEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} SGTools GeoPrimitives Identifier GeneratorObjects MuonIdHelpersLib HitManagement MuonSimEvent ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaKernel GeoPrimitives Identifier GeneratorObjects MuonIdHelpersLib HitManagement MuonSimEvent ) diff --git a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/CSCSimHitCollection.h b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/CSCSimHitCollection.h index 4932701fec57835f6c7713240e76e19831548136..c18b1a896a8d3e07f8640693df47c82e301129f5 100644 --- a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/CSCSimHitCollection.h +++ b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/CSCSimHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef CSCSimHitCollection_H @@ -8,19 +8,14 @@ #include "MuonSimEvent/CSCSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<CSCSimHit> CSCOldSimHitCollection; typedef AtlasHitsVector<CSCSimHit> CSCSimHitCollection; typedef AtlasHitsVector<CSCSimHit>::iterator CSCSimHitIterator; typedef AtlasHitsVector<CSCSimHit>::const_iterator CSCSimHitConstIterator; -#ifndef __CINT__ CLASS_DEF (CSCSimHitCollection, 4053, 1) CLASS_DEF (CSCOldSimHitCollection, 1333371890, 1) -#endif #endif diff --git a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/GenericMuonSimHitCollection.h b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/GenericMuonSimHitCollection.h index f4b3ed7758c038bb874b6c0780ab0a179b7f0d52..f203b7bc0b3a12807fa4fb6c359488bf4a75ab38 100644 --- a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/GenericMuonSimHitCollection.h +++ b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/GenericMuonSimHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef GenericMuonSimHitCollection_H @@ -8,10 +8,7 @@ #include "MuonSimEvent/GenericMuonSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<GenericMuonSimHit> OldGenericMuonSimHitCollection; @@ -19,10 +16,8 @@ typedef AtlasHitsVector<GenericMuonSimHit> GenericMuonSimHitCollection; typedef AtlasHitsVector<GenericMuonSimHit>::iterator GenericMuonSimHitIterator; typedef AtlasHitsVector<GenericMuonSimHit>::const_iterator GenericMuonSimHitConstIterator; -#ifndef __CINT__ CLASS_DEF( GenericMuonSimHitCollection , 1155807089 , 1 ) CLASS_DEF( OldGenericMuonSimHitCollection , 97056587 , 1 ) -#endif #endif diff --git a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/MDTSimHitCollection.h b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/MDTSimHitCollection.h index f27eee43f84e02f998a246518df16f02578a495f..2f8bc447fd14fcd5f9ab801895c8d49a50afa28d 100644 --- a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/MDTSimHitCollection.h +++ b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/MDTSimHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef MDTSimHitCollection_H @@ -8,19 +8,14 @@ #include "MuonSimEvent/MDTSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<MDTSimHit> MDTOldSimHitCollection; typedef AtlasHitsVector<MDTSimHit> MDTSimHitCollection; typedef AtlasHitsVector<MDTSimHit>::iterator MDTSimHitIterator; typedef AtlasHitsVector<MDTSimHit>::const_iterator MDTSimHitConstIterator; -#ifndef __CINT__ CLASS_DEF (MDTSimHitCollection, 4054, 1) CLASS_DEF (MDTOldSimHitCollection, 1138135938, 1) -#endif #endif diff --git a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/RPCSimHitCollection.h b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/RPCSimHitCollection.h index 4ff446ecb90c9f5e54c3d1c8ff75e4b68905fe1b..4e3ec8e429b52b8f5ce0c19c72ef752a337b5d74 100644 --- a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/RPCSimHitCollection.h +++ b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/RPCSimHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef RPCSimHitCollection_H @@ -8,10 +8,7 @@ #include "MuonSimEvent/RPCSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<RPCSimHit> RPCOldSimHitCollection; @@ -19,9 +16,7 @@ typedef AtlasHitsVector<RPCSimHit> RPCSimHitCollection; typedef AtlasHitsVector<RPCSimHit>::iterator RPCSimHitIterator; typedef AtlasHitsVector<RPCSimHit>::const_iterator RPCSimHitConstIterator; -#ifndef __CINT__ CLASS_DEF (RPCSimHitCollection, 4051, 1) CLASS_DEF (RPCOldSimHitCollection, 1182697430, 1) -#endif #endif diff --git a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/TGCSimHitCollection.h b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/TGCSimHitCollection.h index 3a3af25927818f2fc458f0795c9a93d05bc53c45..630d4e5d12d85778c219f21c713e0b4769725fd2 100644 --- a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/TGCSimHitCollection.h +++ b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/TGCSimHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TGCSimHitCollection_H @@ -8,10 +8,7 @@ #include "MuonSimEvent/TGCSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<TGCSimHit> TGCOldSimHitCollection; @@ -19,9 +16,7 @@ typedef AtlasHitsVector<TGCSimHit> TGCSimHitCollection; typedef AtlasHitsVector<TGCSimHit>::iterator TGCSimHitIterator; typedef AtlasHitsVector<TGCSimHit>::const_iterator TGCSimHitConstIterator; -#ifndef __CINT__ CLASS_DEF (TGCSimHitCollection, 4052, 1) CLASS_DEF (TGCOldSimHitCollection, 1275808031, 1) -#endif #endif diff --git a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/sTGCSimHitCollection.h b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/sTGCSimHitCollection.h index bb6cba5330b7d149b9baeed135caeff77b9d31a8..b14e5a68588f08d87b8070794a77fd091beadf56 100644 --- a/MuonSpectrometer/MuonSimEvent/MuonSimEvent/sTGCSimHitCollection.h +++ b/MuonSpectrometer/MuonSimEvent/MuonSimEvent/sTGCSimHitCollection.h @@ -8,10 +8,7 @@ #include "MuonSimEvent/sTGCSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<sTGCSimHit> OldsTGCSimHitCollection; @@ -19,10 +16,8 @@ typedef AtlasHitsVector<sTGCSimHit> sTGCSimHitCollection; typedef AtlasHitsVector<sTGCSimHit>::iterator sTGCSimHitIterator; typedef AtlasHitsVector<sTGCSimHit>::const_iterator sTGCSimHitConstIterator; -#ifndef __CINT__ CLASS_DEF( sTGCSimHitCollection , 20180530 , 1 ) CLASS_DEF( OldsTGCSimHitCollection , 20180529 , 1 ) -#endif #endif diff --git a/MuonSpectrometer/MuonTruthAlgs/src/MuonDetailedTrackTruthMaker.cxx b/MuonSpectrometer/MuonTruthAlgs/src/MuonDetailedTrackTruthMaker.cxx index 67e8e7cfd5c4db69c1a8d552311436aefb726beb..6ec4245861a46c56461b44c66b6285ee439b9d30 100755 --- a/MuonSpectrometer/MuonTruthAlgs/src/MuonDetailedTrackTruthMaker.cxx +++ b/MuonSpectrometer/MuonTruthAlgs/src/MuonDetailedTrackTruthMaker.cxx @@ -14,9 +14,7 @@ MuonDetailedTrackTruthMaker::MuonDetailedTrackTruthMaker(const std::string &name m_truthTool("Trk::DetailedTrackTruthBuilder") { declareProperty("TruthTool", m_truthTool); - - if(m_useNSW) m_PRD_TruthNames={"sTGC_TruthMap","MM_TruthMap","RPC_TruthMap","TGC_TruthMap","MDT_TruthMap"}; - + declareProperty("doNSW",m_useNSW=false); } // Initialize method @@ -33,6 +31,8 @@ StatusCode MuonDetailedTrackTruthMaker::initialize() ATH_MSG_DEBUG("Retrieved tool " << m_truthTool ); } + if(m_useNSW) m_PRD_TruthNames={"sTGC_TruthMap","MM_TruthMap","RPC_TruthMap","TGC_TruthMap","MDT_TruthMap"}; + m_detailedTrackTruthNames.reserve ( m_trackCollectionNames.size()); for(unsigned int i=0;i<m_trackCollectionNames.size();i++){ m_detailedTrackTruthNames.emplace_back(m_trackCollectionNames.at(i).key()+"DetailedTruth"); diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/CSCDigitVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/CSCDigitVariables.h index 4d91705a9cf2e606dfd724c337e0f3e46fcd1c50..88b8cc6464e3d2613a1cc43809680791664e99fc 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/CSCDigitVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/CSCDigitVariables.h @@ -17,8 +17,9 @@ class CSCDigitVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "CSCDigitVariables"), + std::string containername, + MSG::Level msglvl) : +ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_CscIdHelper(0), m_CSC_nDigits(0), m_CSC_dig_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMDigitVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMDigitVariables.h index a0d057815c6c3fa92ccf96e68144e12f9648c3aa..30c3c8a708267e9b6e04c7fef9bd531c6e393055 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMDigitVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMDigitVariables.h @@ -17,8 +17,9 @@ class MMDigitVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "MMDigitVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_MmIdHelper(0), m_NSWMM_nDigits(0), m_NSWMM_dig_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMPRDVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMPRDVariables.h index 8598573d71376f7961cf9a10b979f24dcdef8303..1472f692bebd026acc08f80d54ed6b884b5194f8 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMPRDVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMPRDVariables.h @@ -17,8 +17,9 @@ class MMPRDVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "MMPRDVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_MmIdHelper(0), m_NSWMM_nPRDs(0), m_NSWMM_prd_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.h index b3a5b68511dd3e553eee715c345ba1c16fee7de9..2b587179d2c9ddc02fef65db73afeeeaced94c0a 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.h @@ -17,8 +17,9 @@ class MMRDOVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "MMRDOVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_MmIdHelper(0), m_NSWMM_nrdo(0), m_NSWMM_rdo_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSDOVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSDOVariables.h index 2c8499f93d3103c9feb358fb1fc1c0cafd0ad9d3..71bce331df5e5129398006eae0f217346cc14733 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSDOVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSDOVariables.h @@ -18,8 +18,9 @@ class MMSDOVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "MMSDOVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_MmIdHelper(0), m_NSWMM_nsdo(0), m_NSWMM_sdo_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSimHitVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSimHitVariables.h index 9cc59c14d5685740f446ea15206f857e50c34cf2..fe084fd265f78a84090bafa4142389d1b904231d 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSimHitVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMSimHitVariables.h @@ -17,8 +17,9 @@ class MMSimHitVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "MMSimHitVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_MmIdHelper(0), m_NSWMM_nSimHits(0), m_NSWMM_trackId(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MuEntryVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MuEntryVariables.h index b7d8eb51a9dc2b0f1417c28d10ab3ca218837aa9..6638766f2205e8599475108c59f27209d80179d8 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MuEntryVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MuEntryVariables.h @@ -17,8 +17,9 @@ class MuEntryVariables : public ValAlgVariables MuEntryVariables(StoreGateSvc* evtStore, const MuonGM::MuonDetectorManager* detManager, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "MuEntryVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_MuEntry_nParticles(0), m_MuEntry_particlePt(0), m_MuEntry_particleEta(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx index 7c206f97f9617fde530f6fedd8c7103cabaeb959..f1be5669b149a1c2fb13b62e12dab87906eb8bf0 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx @@ -110,49 +110,37 @@ StatusCode NSWPRDValAlg::initialize() { if (m_doTruth){ m_TruthVar = new TruthVariables(&(*(evtStore())), m_detManager, - m_tree, m_Truth_ContainerName); - CHECK( m_TruthVar->initializeVariables() ); + m_tree, m_Truth_ContainerName, msgLevel()); + ATH_CHECK( m_TruthVar->initializeVariables() ); } if (m_doMuEntry){ m_MuEntryVar = new MuEntryVariables(&(*(evtStore())), m_detManager, - m_tree, m_MuEntry_ContainerName); + m_tree, m_MuEntry_ContainerName, msgLevel()); ATH_CHECK( m_MuEntryVar->initializeVariables() ); } if (m_doSTGCHit){ m_sTgcSimHitVar = new sTGCSimHitVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_ContainerName); + m_sTgcIdHelper, m_tree, m_NSWsTGC_ContainerName, msgLevel()); ATH_CHECK( m_sTgcSimHitVar->initializeVariables() ); } if (m_doSTGCDigit){ m_sTgcDigitVar = new sTGCDigitVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_DigitContainerName); - ATH_CHECK( m_sTgcDigitVar->initializeVariables() ); - } - - if (m_doSTGCRDO){ - m_sTgcRdoVar = new sTGCRDOVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_RDOContainerName); - ATH_CHECK( m_sTgcRdoVar->initializeVariables() ); - } - - if (m_doSTGCDigit){ - m_sTgcDigitVar = new sTGCDigitVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_DigitContainerName); + m_sTgcIdHelper, m_tree, m_NSWsTGC_DigitContainerName, msgLevel()); ATH_CHECK( m_sTgcDigitVar->initializeVariables() ); // Take SDO conainer m_sTgcSdoVar = new sTGCSDOVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_SDOContainerName); + m_sTgcIdHelper, m_tree, m_NSWsTGC_SDOContainerName, msgLevel()); ATH_CHECK( m_sTgcSdoVar->initializeVariables() ); } if (m_doSTGCFastDigit){ // Take the "fast_SDO" instead of the SDOs from full sim m_sTgcFastSdoVar = new sTGCSDOVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, "sTGCfast_SDO"); + m_sTgcIdHelper, m_tree, "sTGCfast_SDO", msgLevel()); ATH_CHECK( m_sTgcFastSdoVar->initializeVariables() ); // Fast digits = PRD @@ -161,44 +149,37 @@ StatusCode NSWPRDValAlg::initialize() { if (m_doSTGCRDO){ m_sTgcRdoVar = new sTGCRDOVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_RDOContainerName); + m_sTgcIdHelper, m_tree, m_NSWsTGC_RDOContainerName, msgLevel()); ATH_CHECK( m_sTgcRdoVar->initializeVariables() ); } if (m_doSTGCPRD){ m_sTgcPrdVar = new sTGCPRDVariables(&(*(evtStore())), m_detManager, - m_sTgcIdHelper, m_tree, m_NSWsTGC_PRDContainerName); + m_sTgcIdHelper, m_tree, m_NSWsTGC_PRDContainerName, msgLevel()); ATH_CHECK( m_sTgcPrdVar->initializeVariables() ); } if (m_doMMHit) { m_MmSimHitVar = new MMSimHitVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_ContainerName); + m_MmIdHelper, m_tree, m_NSWMM_ContainerName, msgLevel()); ATH_CHECK( m_MmSimHitVar->initializeVariables() ); } if (m_doMMDigit) { m_MmDigitVar = new MMDigitVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_DigitContainerName); + m_MmIdHelper, m_tree, m_NSWMM_DigitContainerName, msgLevel()); ATH_CHECK( m_MmDigitVar->initializeVariables() ); // Take SDO conainer m_MmSdoVar = new MMSDOVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_SDOContainerName); + m_MmIdHelper, m_tree, m_NSWMM_SDOContainerName, msgLevel()); ATH_CHECK( m_MmSdoVar->initializeVariables() ); } - if (m_doMMRDO) { - - m_MmRdoVar = new MMRDOVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_RDOContainerName); - ATH_CHECK( m_MmRdoVar->initializeVariables() ); - } - if (m_doMMFastDigit){ // Take the "fast_SDO" instead of the SDOs from full sim m_MmFastSdoVar = new MMSDOVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, "MMfast_SDO"); + m_MmIdHelper, m_tree, "MMfast_SDO", msgLevel()); ATH_CHECK( m_MmFastSdoVar->initializeVariables() ); // Fast digits = PRD @@ -208,25 +189,19 @@ StatusCode NSWPRDValAlg::initialize() { if (m_doMMRDO) { m_MmRdoVar = new MMRDOVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_RDOContainerName); + m_MmIdHelper, m_tree, m_NSWMM_RDOContainerName, msgLevel()); ATH_CHECK( m_MmRdoVar->initializeVariables() ); } if (m_doMMPRD){ m_MmPrdVar = new MMPRDVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_PRDContainerName); - ATH_CHECK( m_MmPrdVar->initializeVariables() ); - } - - if (m_doMMPRD){ - m_MmPrdVar = new MMPRDVariables(&(*(evtStore())), m_detManager, - m_MmIdHelper, m_tree, m_NSWMM_PRDContainerName); + m_MmIdHelper, m_tree, m_NSWMM_PRDContainerName, msgLevel()); ATH_CHECK( m_MmPrdVar->initializeVariables() ); } if (m_doCSCDigit){ m_CscDigitVar = new CSCDigitVariables(&(*(evtStore())), m_detManager, - m_CscIdHelper, m_tree, m_CSC_DigitContainerName); + m_CscIdHelper, m_tree, m_CSC_DigitContainerName, msgLevel()); ATH_CHECK( m_CscDigitVar->initializeVariables() ); } diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/TruthVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/TruthVariables.h index 008c847ca93bf05179d7d6e047499ba093c532b0..d600dcd4dcac8a7c44bf49441808a2ac9d485722 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/TruthVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/TruthVariables.h @@ -17,8 +17,9 @@ class TruthVariables : public ValAlgVariables TruthVariables(StoreGateSvc* evtStore, const MuonGM::MuonDetectorManager* detManager, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "TruthVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_Truth_nVertices(0), m_Truth_vertexX(0), m_Truth_vertexY(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/ValAlgVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/ValAlgVariables.h index 264735a55f14348d9da38f920eef7d582e834746..b7ed44e29f837013c65a072d61a66c11975eae98 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/ValAlgVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/ValAlgVariables.h @@ -23,13 +23,13 @@ class ValAlgVariables const MuonGM::MuonDetectorManager* detManager, TTree* tree, std::string containername, - std::string msgname) : + MSG::Level msglvl) : m_evtStore(evtStore), m_detManager(detManager), m_tree(tree), - m_ContainerName(containername), - m_msg(msgname) + m_ContainerName(containername) { + m_msg.get().setLevel(msglvl); } virtual ~ValAlgVariables() {}; diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.cxx index c1bd81b7721d8872b97bdadaf21ebb7833f5f89c..372fea21a089ccfe92617384398196dd10a78b5a 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.cxx +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.cxx @@ -18,10 +18,7 @@ /** ---------- to be called on each evt i.e. execute level of main alg */ StatusCode sTGCDigitVariables::fillVariables() { - ATH_MSG_INFO(" do fillNSWsTGCDigitVariables()"); - MSG::Level msgLevel = MSG::VERBOSE; - m_msg.get().setLevel(msgLevel); - + ATH_MSG_DEBUG(" do fillNSWsTGCDigitVariables()"); CHECK( this->clearVariables() ); const sTgcDigitContainer* nsw_sTgcDigitContainer = nullptr; diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.h index cd61668af7b4d9c2bbbd592d08c0cffc9e9153ed..ea4d219c3b10034ee9a15a4d7d772f8718e9360a 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCDigitVariables.h @@ -17,8 +17,9 @@ class sTGCDigitVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "sTGCDigitVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_NSWsTGC_nDigits(0), m_NSWsTGC_nPadDigits(0), m_NSWsTGC_dig_time(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCPRDVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCPRDVariables.h index ddda572b53ef7b336d749cc6ac8716f4367dadbc..6b03b38a41cb40d644691f4d0ccc060695997c39 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCPRDVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCPRDVariables.h @@ -17,8 +17,9 @@ class sTGCPRDVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "sTGCPRDVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_sTgcIdHelper(0), m_NSWsTGC_nPRDs(0), m_NSWsTGC_prd_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.h index 36b00eb62bf15e1ad7e8993d390b162cddd42d10..2e89de331a01b75d91271170e6b933821572a02c 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.h @@ -17,8 +17,9 @@ class sTGCRDOVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "sTGCRDOVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_sTgcIdHelper(0), m_NSWsTGC_nrdo(0), m_NSWsTGC_rdo_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSDOVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSDOVariables.h index 2e2f2f5f8aa46daa14f48f74b66b8fe030168900..84a1a1c0fa86b91a9966c3ea7e5acb02a1077655 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSDOVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSDOVariables.h @@ -18,8 +18,9 @@ class sTGCSDOVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "sTGCSDOVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_sTgcIdHelper(0), m_NSWsTGC_nsdo(0), m_NSWsTGC_sdo_stationName(0), diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSimHitVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSimHitVariables.h index 86029f9b9af6b83c25ffda2c3cbee4c0f96ae429..2e36014ef047720d4bf7743bafb574b05cd9769f 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSimHitVariables.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCSimHitVariables.h @@ -17,8 +17,9 @@ class sTGCSimHitVariables : public ValAlgVariables const MuonGM::MuonDetectorManager* detManager, const MuonIdHelper* idhelper, TTree* tree, - std::string containername) : - ValAlgVariables(evtStore, detManager, tree, containername, "sTGCSimHitVariables"), + std::string containername, + MSG::Level msglvl) : + ValAlgVariables(evtStore, detManager, tree, containername, msglvl), m_sTgcIdHelper(0), m_NSWsTGC_nSimHits(0), m_NSWsTGC_trackId(0), diff --git a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/CTP_Decision.h b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/CTP_Decision.h index 0f4bbe9b2324b122964a96fd362c67be57e45cf9..06cdc4f8b43aae9bf5f91e76a9a3e77613adc13e 100755 --- a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/CTP_Decision.h +++ b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/CTP_Decision.h @@ -1,7 +1,7 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id: CTP_Decision.h,v 1.10 2008-05-20 16:59:50 efeld Exp $ @@ -16,7 +16,7 @@ #include <vector> // Gaudi/Athena include(s): -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" /** * @short Legacy data class representing the LVL1 CTP trigger decision diff --git a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/FakeHLTWord.h b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/FakeHLTWord.h index fdc6b1ec258f32d40ee9aa6d78d3b49b7482280e..24e548b88f83273ee7adf4d5424264bc8dcb1536 100755 --- a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/FakeHLTWord.h +++ b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/FakeHLTWord.h @@ -1,7 +1,7 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id: FakeHLTWord.h,v 1.3 2008-05-08 15:00:11 krasznaa Exp $ @@ -12,7 +12,7 @@ #include <inttypes.h> // Gaudi/Athena include(s): -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" /** * @short Fake HLT word for streaming (deprecated) diff --git a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/LVL1_ROI.h b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/LVL1_ROI.h index 54d56f91ae5c394fdc4ba014c1dfc177d9ebff15..6904e14822851432f420496ac99a5f5c82064fa7 100755 --- a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/LVL1_ROI.h +++ b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/AnalysisTriggerEvent/LVL1_ROI.h @@ -1,7 +1,7 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id: LVL1_ROI.h,v 1.4 2008-05-08 15:00:11 krasznaa Exp $ @@ -12,7 +12,7 @@ #include <vector> // Gaudi/Athena include(s): -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Local include(s): #include "AnalysisTriggerEvent/Muon_ROI.h" diff --git a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/CMakeLists.txt b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/CMakeLists.txt index 4fac0ddc76c3999ed03f5125c6651fcfa2989cb1..470872ea25ea3cf65bbc4dc34d1b8a6a2ae548a6 100644 --- a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/CMakeLists.txt +++ b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent/CMakeLists.txt @@ -7,9 +7,8 @@ atlas_subdir( AnalysisTriggerEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc + Control/AthenaKernel Control/Navigation - Control/SGTools Event/EventKernel Event/FourMom ) @@ -21,12 +20,12 @@ atlas_add_library( AnalysisTriggerEvent src/*.cxx PUBLIC_HEADERS AnalysisTriggerEvent PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES Navigation SGTools EventKernel FourMom + LINK_LIBRARIES Navigation AthenaKernel EventKernel FourMom PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) atlas_add_dictionary( AnalysisTriggerEventDict AnalysisTriggerEvent/AnalysisTriggerEventDict.h AnalysisTriggerEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} Navigation SGTools EventKernel FourMom AnalysisTriggerEvent ) + LINK_LIBRARIES ${ROOT_LIBRARIES} Navigation AthenaKernel EventKernel FourMom AnalysisTriggerEvent ) diff --git a/PhysicsAnalysis/EventTag/EventTagRawAlgs/share/RawInfoSummaryForTagWriter_jobOptions.py b/PhysicsAnalysis/EventTag/EventTagRawAlgs/share/RawInfoSummaryForTagWriter_jobOptions.py index dd02608b91212450e156c53ecf3526663752ff4c..a887c8dba33ba5e1febf3b1dbda92a077d95c0d3 100644 --- a/PhysicsAnalysis/EventTag/EventTagRawAlgs/share/RawInfoSummaryForTagWriter_jobOptions.py +++ b/PhysicsAnalysis/EventTag/EventTagRawAlgs/share/RawInfoSummaryForTagWriter_jobOptions.py @@ -19,13 +19,14 @@ if rec.doInDet(): #MBTS threshold risftwriter.MBTS_Threshold = (60.0/222.0) -topSequence += risftwriter - +if rec.doInDet() and rec.doCalo(): + topSequence += risftwriter + # store the object in the ESD -from RecExConfig.ObjKeyStore import objKeyStore -objKeyStore.addStreamESD( "RawInfoSummaryForTag", "RawInfoSummaryForTag" ) -objKeyStore.addStreamAOD( "RawInfoSummaryForTag", "RawInfoSummaryForTag" ) + from RecExConfig.ObjKeyStore import objKeyStore + objKeyStore.addStreamESD( "RawInfoSummaryForTag", "RawInfoSummaryForTag" ) + objKeyStore.addStreamAOD( "RawInfoSummaryForTag", "RawInfoSummaryForTag" ) diff --git a/PhysicsAnalysis/EventTag/TagEvent/CMakeLists.txt b/PhysicsAnalysis/EventTag/TagEvent/CMakeLists.txt index 700bf8d999b8799c303f85f8e43e0a72f08be901..cf505c4d969628e0f1d8c7afd473242f66aabbaa 100644 --- a/PhysicsAnalysis/EventTag/TagEvent/CMakeLists.txt +++ b/PhysicsAnalysis/EventTag/TagEvent/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( TagEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel Database/AthenaPOOL/AthenaPoolUtilities ) # External dependencies: @@ -19,12 +18,12 @@ atlas_add_library( TagEvent src/*.cxx PUBLIC_HEADERS TagEvent PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES SGTools AthenaPoolUtilities + LINK_LIBRARIES AthenaKernel AthenaPoolUtilities PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) atlas_add_dictionary( TagEventDict TagEvent/TagEventDict.h TagEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} SGTools AthenaPoolUtilities TagEvent ) + LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaKernel AthenaPoolUtilities TagEvent ) diff --git a/PhysicsAnalysis/EventTag/TagEvent/TagEvent/RawInfoSummaryForTag.h b/PhysicsAnalysis/EventTag/TagEvent/TagEvent/RawInfoSummaryForTag.h index 912c831eb02d207ad9b94d3e7d1b24c46858503c..0dcb64e4f2c0df5e52bcd9fbb3fffdddcd1e53c4 100644 --- a/PhysicsAnalysis/EventTag/TagEvent/TagEvent/RawInfoSummaryForTag.h +++ b/PhysicsAnalysis/EventTag/TagEvent/TagEvent/RawInfoSummaryForTag.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /* @@ -379,7 +379,7 @@ inline int RawInfoSummaryForTag::getBCMHit() const {return m_BCMHit;} inline unsigned int RawInfoSummaryForTag::getMBTSword() const {return m_MBTSword;} -# include "CLIDSvc/CLASS_DEF.h" +# include "AthenaKernel/CLASS_DEF.h" CLASS_DEF( RawInfoSummaryForTag , 254867753 , 1 ) diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTaggingConfiguration_LoadTools.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTaggingConfiguration_LoadTools.py index f4ae66c1c07e5a4f137cf0b4f0e2d94ffed30a33..68d5cbfa77a3d7bc170943f07ae3daa7969e2e2e 100644 --- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTaggingConfiguration_LoadTools.py +++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTaggingConfiguration_LoadTools.py @@ -174,14 +174,17 @@ def SetupConditionAlgorithm(ConfInstance=None): return True + from AthenaCommon.GlobalFlags import globalflags from IOVDbSvc.CondDB import conddb if conddb.dbdata == 'COMP200': conddb.addFolder("GLOBAL_ONL", "/GLOBAL/Onl/BTagCalib/RUN12", className='CondAttrListCollection') - conddb.addFolder("GLOBAL_ONL", "/GLOBAL/Onl/TrigBTagCalib/RUN12", className='CondAttrListCollection') + if globalflags.DataSource()!='data': + conddb.addFolder("GLOBAL_ONL", "/GLOBAL/Onl/TrigBTagCalib/RUN12", className='CondAttrListCollection') elif conddb.isMC: conddb.addFolder("GLOBAL_OFL", "/GLOBAL/BTagCalib/RUN12", className='CondAttrListCollection') conddb.addFolder("GLOBAL_OFL", "/GLOBAL/TrigBTagCalib/RUN12", className='CondAttrListCollection') + if ConfInstance.checkFlagsUsingBTaggingFlags(): #IP2D grades= [ "0HitIn0HitNInExp2","0HitIn0HitNInExpIn","0HitIn0HitNInExpNIn","0HitIn0HitNIn", @@ -194,7 +197,6 @@ def SetupConditionAlgorithm(ConfInstance=None): #IP3D #Same as IP2D. Revisit JetTagCalibCondAlg.cxx if not. - from AthenaCommon.GlobalFlags import globalflags from JetTagCalibration.JetTagCalibrationConf import Analysis__JetTagCalibCondAlg as JetTagCalibCondAlg readkeycalibpath = "/GLOBAL/BTagCalib/RUN12" @@ -223,7 +225,7 @@ def SetupConditionAlgorithm(ConfInstance=None): JetTagCalib = JetTagCalibCondAlg(jettagcalibcondalg, ReadKeyCalibPath=readkeycalibpath, HistosKey = histoskey, taggers = Taggers, channelAliases = BTaggingFlags.CalibrationChannelAliases, IP2D_TrackGradePartitions = grades, RNNIP_NetworkConfig = BTaggingFlags.RNNIPConfig) #JetTagCalib.OutputLevel=2 condSeq += JetTagCalib - + return True diff --git a/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitoring.cxx b/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitoring.cxx index a345ff8f4f459178ac5f1c9897cb01d8b977ef8d..1003047e27defdd1ad520bfb8bf835a9aa0c797b 100755 --- a/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitoring.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitoring.cxx @@ -1243,7 +1243,10 @@ void JetTagMonitoring::fillDetailedHistograms(const xAOD::Jet *jet, Jet_t taggab //* get detailed information *// const xAOD::BTagging* btag = jet->btagging(); - + if (not btag){ + ATH_MSG_WARNING("btag pointer is null in JetTagMonitoring::fillDetailedHistograms; filling these histograms will be skipped"); + return; + } //* detailed information for impact parameter-based informations *// unsigned int ntrk = btag->nIP3D_TrackParticles(); // number of tracks used for tagging in the jet double pb = btag->IP3D_pb(); // b likelihood @@ -1384,7 +1387,10 @@ void JetTagMonitoring::fillBadTrackBits(const std::bitset<17> failedCuts, double void JetTagMonitoring::fillGoodJetHistos(const xAOD::Jet *jet) { const xAOD::BTagging* btag = jet->btagging(); - + if (not btag){ + ATH_MSG_WARNING("btag pointer is null in JetTagMonitoring::fillGoodJetHistos; filling these histograms will be skipped"); + return; + } double sv1ip3d = btag->SV1plusIP3D_discriminant(); double mv_tmp = 0; btag->MVx_discriminant(m_mv_algorithmName,mv_tmp); @@ -1491,7 +1497,9 @@ void JetTagMonitoring::fillSuspectJetHistos(const xAOD::Jet *jet) { m_track_selector_suspect->Fill(jet->eta(), jet->phi(), 1.); const xAOD::BTagging* btag = jet->btagging(); - + if (not btag){ + ATH_MSG_WARNING("btag pointer is null in JetTagMonitoring::fillSuspectJetHistos; filling these histograms will be skipped"); + } double sv1ip3d = btag->SV1plusIP3D_discriminant(); double mv_tmp = 0; btag->MVx_discriminant(m_mv_algorithmName,mv_tmp); diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/DL1Tag.h b/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/DL1Tag.h index c26953c81bf04180104db5a9afcf8267900ce271..9779f7bddeecc54d1514c7a27525e61135fb97af 100644 --- a/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/DL1Tag.h +++ b/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/DL1Tag.h @@ -51,7 +51,7 @@ namespace Analysis { typedef std::map<std::string, std::map<std::string, double> > map_var_map; typedef std::map<std::string, std::string> str_map; typedef std::map<std::string, std::vector<lwt::Input> > map_var; - typedef std::map<std::string, lwt::LightweightNeuralNetwork*> nn_map; + typedef std::map<std::string, std::unique_ptr<lwt::LightweightNeuralNetwork>> nn_map; /** Key of calibration data: */ SG::ReadCondHandleKey<JetTagCalibCondData> m_readKey{this, "HistosKey", "JetTagCalibHistosKey", "Key of input (derived) JetTag calibration data"}; diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/MV2Tag.h b/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/MV2Tag.h index a02927dbedb451b7c52c2127cd4fba75ae4a0593..40adba7e85d859295c44300793fd4b403b752596 100644 --- a/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/MV2Tag.h +++ b/PhysicsAnalysis/JetTagging/JetTagTools/JetTagTools/MV2Tag.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETTAGTOOLS_MV2TAG_H @@ -75,7 +75,7 @@ namespace Analysis { //const xAOD::Vertex* m_priVtx; /** reader to define the MVA algorithms */ - std::map<std::string, MVAUtils::BDT*> m_egammaBDTs; + std::map<std::string, const MVAUtils::BDT*> m_egammaBDTs; std::list<std::string> m_undefinedReaders; // keep track of undefined readers to prevent too many warnings. @@ -98,11 +98,11 @@ namespace Analysis { void SetVariableRefs(const std::vector<std::string> inputVars, unsigned &nConfgVar, bool &badVariableFound, std::vector<float*> &inputPointers); - std::vector<float> GetMulticlassResponse(MVAUtils::BDT* bdt) const { + std::vector<float> GetMulticlassResponse(const MVAUtils::BDT* bdt) const { std::vector<float> v(m_nClasses,-1); return (bdt->GetPointers().size() ? bdt->GetMultiResponse(bdt->GetPointers(),m_nClasses) : v); } - double GetClassResponse (MVAUtils::BDT* bdt) const { return (bdt->GetPointers().size() ? bdt->GetGradBoostMVA(bdt->GetPointers()) : -9.); } + double GetClassResponse (const MVAUtils::BDT* bdt) const { return (bdt->GetPointers().size() ? bdt->GetGradBoostMVA(bdt->GetPointers()) : -9.); } }; // End class diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/src/DL1Tag.cxx b/PhysicsAnalysis/JetTagging/JetTagTools/src/DL1Tag.cxx index 25624c1c8b6a00b5f29c1f74d02da20ee22bfc6f..be6a9ca194a4673797a4e3d27d4cd091f3952777 100644 --- a/PhysicsAnalysis/JetTagging/JetTagTools/src/DL1Tag.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagTools/src/DL1Tag.cxx @@ -71,10 +71,6 @@ namespace Analysis { } DL1Tag::~DL1Tag() { - for ( auto network : m_NeuralNetworks) { - delete network.second; - network.second = 0; - } } StatusCode DL1Tag::initialize() { @@ -96,7 +92,6 @@ namespace Analysis { void DL1Tag::build_nn(const std::string& jetauthor, std::istream& nn_config_istream) { if (m_NeuralNetworks.count(jetauthor)) { - delete m_NeuralNetworks[jetauthor]; m_map_variables.erase(jetauthor); m_map_defaults.erase(jetauthor); m_NeuralNetworks.erase(jetauthor); @@ -129,8 +124,8 @@ namespace Analysis { if (!(std::find((nn_config.outputs).begin(), (nn_config.outputs).end(), "bottom") != (nn_config.outputs).end())) { ATH_MSG_WARNING( "#BTAG# b-tagger without b-tagging option 'bottom' - please check the NN output naming convention."); } - - m_NeuralNetworks.insert(std::make_pair(jetauthor, new lwt::LightweightNeuralNetwork(nn_config.inputs, nn_config.layers, nn_config.outputs))); + auto lwNN = std::make_unique<lwt::LightweightNeuralNetwork>(nn_config.inputs, nn_config.layers, nn_config.outputs); + m_NeuralNetworks.insert(std::make_pair(jetauthor, std::move(lwNN))); m_map_variables.insert(std::make_pair(jetauthor, nn_config.inputs)); m_map_defaults.insert(std::make_pair(jetauthor, nn_config.defaults)); diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/src/MV2Tag.cxx b/PhysicsAnalysis/JetTagging/JetTagTools/src/MV2Tag.cxx index 5ec874643422686579723aef59746e86df1905d2..daf271da48c9cf39ee5583ad4ef2e721dc0411be 100644 --- a/PhysicsAnalysis/JetTagging/JetTagTools/src/MV2Tag.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagTools/src/MV2Tag.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include "GaudiKernel/IToolSvc.h" @@ -132,7 +132,7 @@ namespace Analysis { if (m_forceMV2CalibrationAlias) { author = m_MV2CalibAlias; } - MVAUtils::BDT *bdt = nullptr; std::map<std::string, MVAUtils::BDT*>::iterator it_egammaBDT; + std::unique_ptr<MVAUtils::BDT> bdt(nullptr); std::map<std::string, const MVAUtils::BDT*>::iterator it_egammaBDT; //Retrieval of Calibration Condition Data objects SG::ReadCondHandle<JetTagCalibCondData> readCdo(m_readKey); @@ -169,12 +169,11 @@ namespace Analysis { if (tree) { ATH_MSG_DEBUG("#BTAG# TTree with name: "<<m_treeName<<" exists in the calibration file."); - bdt = new MVAUtils:: BDT(tree); + bdt = std::make_unique<MVAUtils::BDT>(tree); } else { ATH_MSG_WARNING("#BTAG# No TTree with name: "<<m_treeName<<" exists in the calibration file.. Disabling algorithm."); m_disableAlgo=true; - delete bdt; return; } @@ -189,20 +188,11 @@ namespace Analysis { if ( inputVars.size()!=nConfgVar or badVariableFound ) { ATH_MSG_WARNING("#BTAG# Number of expected variables for MVA: "<< nConfgVar << " does not match the number of variables found in the calibration file: " << inputVars.size() << " ... the algorithm will be 'disabled' "<<alias<<" "<<author); m_disableAlgo=true; - delete bdt; return; } bdt->SetPointers(inputPointers); - it_egammaBDT = m_egammaBDTs.find(alias); - if(it_egammaBDT!=m_egammaBDTs.end()) { - delete it_egammaBDT->second; - m_egammaBDTs.erase(it_egammaBDT); - } - m_egammaBDTs.insert( std::make_pair( alias, bdt ) ); - - // #2 fill inputs //replace NAN default values and, assign the values from the MVTM input map to the relevant variables //currently default values are hard coded in the definition of ReplaceNaN_andAssign() @@ -212,25 +202,12 @@ namespace Analysis { /* compute MV2: */ double mv2 = -10.; double mv2m_pb=-10., mv2m_pu=-10., mv2m_pc=-10.; - it_egammaBDT = m_egammaBDTs.find(alias); - if(it_egammaBDT==m_egammaBDTs.end()) { - int alreadyWarned = std::count(m_undefinedReaders.begin(),m_undefinedReaders.end(),alias); - if(0==alreadyWarned) { - ATH_MSG_WARNING("#BTAG# no egammaBDT defined for jet collection alias, author: "<<alias<<" "<<author); - m_undefinedReaders.push_back(alias); + if (m_taggerNameBase.find("MV2c")!=std::string::npos) mv2= GetClassResponse(bdt.get());//this gives back double + else { //if it is MV2m + std::vector<float> outputs= GetMulticlassResponse(bdt.get());//this gives back float + //vector size is checked in the function above + mv2m_pb=outputs[0]; mv2m_pu=outputs[1]; mv2m_pc=outputs[2] ; } - } - else { - if(it_egammaBDT->second !=0) { - if (m_taggerNameBase.find("MV2c")!=std::string::npos) mv2= GetClassResponse(it_egammaBDT->second);//this gives back double - else { //if it is MV2m - std::vector<float> outputs= GetMulticlassResponse(it_egammaBDT->second);//this gives back float - //vector size is checked in the function above - mv2m_pb=outputs[0]; mv2m_pu=outputs[1]; mv2m_pc=outputs[2] ; - } - } - else ATH_MSG_WARNING("#BTAG# egamma BDT is 0 for alias, author: "<<alias<<" "<<author); - } if (m_taggerNameBase.find("MV2c")!=std::string::npos) ATH_MSG_DEBUG("#BTAG# MV2 weight: " << mv2<<", "<<alias<<", "<<author); else ATH_MSG_DEBUG("#BTAG# MV2 pb, pu, pc= " << mv2m_pb<<"\t"<<mv2m_pu<<"\t"<<mv2m_pc<<", "<<alias<<", "<<author); diff --git a/PhysicsAnalysis/PrimaryDPDMaker/python/PrimaryDPDFlags.py b/PhysicsAnalysis/PrimaryDPDMaker/python/PrimaryDPDFlags.py index 97da3d360519478626b6d9eecad4befbdc294a3d..85f87e5633b51e107e5dc4c112283df72e866f52 100644 --- a/PhysicsAnalysis/PrimaryDPDMaker/python/PrimaryDPDFlags.py +++ b/PhysicsAnalysis/PrimaryDPDMaker/python/PrimaryDPDFlags.py @@ -158,7 +158,7 @@ class WriteEOverPStream(JobProperty): StreamName = "StreamDESDM_EOVERP" FileName = "" isVirtual = False - DPDMakerScript = "PrimaryDPDMaker/PerfDESDM_EOverP.py" + DPDMakerScript = "PrimaryDPDMaker/PerfDPD_EOverP.py" pass jobproperties.PrimaryDPDFlags.add_JobProperty(WriteEOverPStream) listESDtoDPD.append(WriteEOverPStream.StreamName) @@ -189,6 +189,19 @@ class WriteDESDM_EGAMMAStream(JobProperty): jobproperties.PrimaryDPDFlags.add_JobProperty(WriteDESDM_EGAMMAStream) listESDtoDPD.append(WriteDESDM_EGAMMAStream.StreamName) +class WriteDAOD_PIXELVALIDStream(JobProperty): + """ Produce the DPD for DAOD_PIXELVALID - AOD with PrepRawData """ + statusOn = True + allowedTypes = ['bool'] + StoredValue = False + StreamName = "StreamDAOD_PIXELVALID" + FileName = "" + isVirtual = False + DPDMakerScript = "InDetPrepRawDataToxAOD/PixelxAOD.py" + pass +jobproperties.PrimaryDPDFlags.add_JobProperty(WriteDAOD_PIXELVALIDStream) +listRAWtoDPD.append(WriteDAOD_PIXELVALIDStream.StreamName) + class WriteDESDM_MSPerfStream(JobProperty): """ Produce the primary DESDM for Muon Alignment and Trigger commissioning.""" statusOn = True diff --git a/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/CMakeLists.txt b/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/CMakeLists.txt index f524ea0df8fbcfc3c6fa875e84c26e250cc14c62..6ad1dc198ffc23423477fb868f8cf5fb866e01c0 100644 --- a/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/CMakeLists.txt +++ b/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/CMakeLists.txt @@ -10,8 +10,6 @@ atlas_depends_on_subdirs( PUBLIC Control/AthenaBaseComps Control/AthenaKernel Control/RootUtils - Control/CLIDSvc - Control/SGTools GaudiKernel Reconstruction/egamma/egammaEvent PRIVATE @@ -30,19 +28,19 @@ atlas_add_library( PyAnalysisExamplesLib INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${PYTHON_LIBRARIES} AthenaBaseComps AthenaKernel SGTools GaudiKernel egammaEvent StoreGateLib SGtests + LINK_LIBRARIES ${PYTHON_LIBRARIES} AthenaBaseComps AthenaKernel AthenaKernel GaudiKernel egammaEvent StoreGateLib SGtests PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} PyKernel ) atlas_add_component( PyAnalysisExamples src/components/*.cxx INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${PYTHON_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel SGTools GaudiKernel egammaEvent PyKernel StoreGateLib SGtests PyAnalysisExamplesLib ) + LINK_LIBRARIES ${PYTHON_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel AthenaKernel GaudiKernel egammaEvent PyKernel StoreGateLib SGtests PyAnalysisExamplesLib ) atlas_add_dictionary( PyAnalysisExamplesDict PyAnalysisExamples/PyAnalysisExamplesDict.h PyAnalysisExamples/selection.xml INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${PYTHON_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel SGTools GaudiKernel egammaEvent PyKernel StoreGateLib SGtests PyAnalysisExamplesLib ) + LINK_LIBRARIES ${PYTHON_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel AthenaKernel GaudiKernel egammaEvent PyKernel StoreGateLib SGtests PyAnalysisExamplesLib ) # Install files from the package: atlas_install_joboptions( share/*.py ) diff --git a/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyDetObj.h b/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyDetObj.h index 50aeed71f7c1efdabab425bfe952651d07ed9673..d903201753df5652da65942528c243f21dc31836 100755 --- a/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyDetObj.h +++ b/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyDetObj.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PYANALYSISEXAMPLES_MYDETOBJ_H @@ -7,7 +7,7 @@ #include <string> -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" class MyDetObj { diff --git a/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyObj.h b/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyObj.h index dd87985681ab68dcd127ecee428aafcbfa1707ef..b8e61ce860c80c3fb194a4e3b8bb4055b6c03f47 100755 --- a/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyObj.h +++ b/PhysicsAnalysis/PyAnalysis/PyAnalysisExamples/PyAnalysisExamples/MyObj.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PYANALYSISEXAMPLES_MYOBJ_H @@ -9,7 +9,7 @@ #include <iostream> #include <typeinfo> -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" class MyObj { diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEvent/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleEvent/CMakeLists.txt index 47159dee883e679a5eb28816c77fcd1ffadc77ef..2822639f7c3c849b88ebec50a67058e3d6c924ad 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEvent/CMakeLists.txt +++ b/PhysicsAnalysis/TruthParticleID/McParticleEvent/CMakeLists.txt @@ -9,7 +9,7 @@ atlas_subdir( McParticleEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc + Control/AthenaKernel Control/AthContainers Control/AthLinks Control/Navigation @@ -33,7 +33,7 @@ atlas_add_library( McParticleEvent PUBLIC_HEADERS McParticleEvent INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthContainers AthLinks Navigation + LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaKernel AthContainers AthLinks Navigation EventKernel NavFourMom GeneratorObjects ParticleEvent VxVertex PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ) diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthEtIsolationsContainer.h b/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthEtIsolationsContainer.h index d61fe9e692448249c42e65f56245a77f97ecb37d..cb900fda0ebef60bfabd3c4fefca6740414d25e5 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthEtIsolationsContainer.h +++ b/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthEtIsolationsContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -15,8 +15,7 @@ #include "AthContainers/DataVector.h" -// CLIDSvc includes (for persistency) -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // McParticleEvent includes #include "McParticleEvent/TruthEtIsolations.h" diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticleContainer.h b/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticleContainer.h index 6c8eff480eebf64d807cb5cc3e69b3a8c39ee596..f52f7f3fda2eee66e1221d2c6fbfd349909c906b 100644 --- a/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticleContainer.h +++ b/PhysicsAnalysis/TruthParticleID/McParticleEvent/McParticleEvent/TruthParticleContainer.h @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // TruthParticleContainer.h @@ -18,8 +18,7 @@ #include "AthContainers/DataVector.h" #include "AthLinks/ElementLink.h" -// CLIDSvc includes (for persistency) -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // GeneratorObjects includes #include "GeneratorObjects/McEventCollection.h" diff --git a/Projects/AthSimulation/externals.txt b/Projects/AthSimulation/externals.txt index d3dabb622d7e8c42d0f02dee7a1f87057adf3c04..7e48fadf74c9d0ad98388f47a8063eede955db98 100644 --- a/Projects/AthSimulation/externals.txt +++ b/Projects/AthSimulation/externals.txt @@ -9,4 +9,4 @@ AthSimulationExternalsVersion = 2.0.13 # The version of atlas/Gaudi to use: -GaudiVersion = v30r3.008 +GaudiVersion = v30r3.010 diff --git a/Projects/Athena/externals.txt b/Projects/Athena/externals.txt index 0191d7702118783068554af58be16c7338660c44..022395e5ad5f7b394809866edbdfe3e2876b02d1 100644 --- a/Projects/Athena/externals.txt +++ b/Projects/Athena/externals.txt @@ -9,4 +9,4 @@ AthenaExternalsVersion = 2.0.13 # The version of atlas/Gaudi to use: -GaudiVersion = v30r3.008 +GaudiVersion = v30r3.010 diff --git a/Projects/Athena/package_filters.txt b/Projects/Athena/package_filters.txt index a0e8dcecefbbebd3324c61588150cbaaeb71b110..70f08068d7798b5e796a4273707a842e4df16b8b 100644 --- a/Projects/Athena/package_filters.txt +++ b/Projects/Athena/package_filters.txt @@ -31,9 +31,6 @@ - graphics/VP1/VP1Systems/VP1TriggerDecisionSystems + graphics/VP1/.* -# Suspend building of Qat -- graphics/Qat/.* - # Some analysis packages that are not part of Athena - Control/AthLinksSA - PhysicsAnalysis/AnalysisCommon/CPAnalysisExamples diff --git a/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecFlags.py b/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecFlags.py index b210d9c17c87d1129bc151960060aace08110111..94a0a7535f601e8c332eefccb8aa9802b9662d54 100644 --- a/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecFlags.py +++ b/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecFlags.py @@ -88,7 +88,7 @@ class AntiKtRValues(JobProperty): """ statusOn = True allowedTypes = ['list'] - StoredValue = [0.2,0.3,0.4] + StoredValue = [0.2,0.3,0.4,1.0] class DoCellBasedSubtraction(JobProperty): """ option to use cell based subtraction @@ -117,7 +117,7 @@ class Remodulate(JobProperty): """ statusOn = True allowedTypes = ['bool'] - StoredValue = False + StoredValue = True class ExtraFlowMoments(JobProperty): """ Calculate extra flow moments @@ -131,7 +131,7 @@ class DoHIBTagging(JobProperty): """ statusOn = True allowedTypes = ['bool'] - StoredValue = False + StoredValue = True class HIClusterKey(JobProperty): diff --git a/Reconstruction/HeavyIonRec/HIJetRec/share/HIJetRec_jobOptions.py b/Reconstruction/HeavyIonRec/HIJetRec/share/HIJetRec_jobOptions.py index 352ee7fddf1b3bea62dfd978cb697833b8325d58..323392936f9122cdf3560e88c3bee633b3544620 100644 --- a/Reconstruction/HeavyIonRec/HIJetRec/share/HIJetRec_jobOptions.py +++ b/Reconstruction/HeavyIonRec/HIJetRec/share/HIJetRec_jobOptions.py @@ -1,6 +1,7 @@ from HIJetRec.HIJetRecFlags import HIJetFlags from HIGlobal.HIGlobalFlags import jobproperties from JetRec.JetRecFlags import jetFlags +from HIJetRec.HIJetRecConfig import * jetFlags.useCells.set_Value(True); diff --git a/Reconstruction/HeavyIonRec/HIRecExample/share/hiPEB_preInclude.py b/Reconstruction/HeavyIonRec/HIRecExample/share/hiPEB_preInclude.py new file mode 100644 index 0000000000000000000000000000000000000000..01eda22956b614a281de036a91674ffd720d301e --- /dev/null +++ b/Reconstruction/HeavyIonRec/HIRecExample/share/hiPEB_preInclude.py @@ -0,0 +1,22 @@ +jobproperties.Beam.bunchSpacing.set_Value_and_Lock(100) +from HIRecExample.HIRecExampleFlags import jobproperties +jobproperties.HIRecExampleFlags.doHIJetRec.set_Value_and_Lock(False) +jobproperties.HIRecExampleFlags.doHIegamma.set_Value_and_Lock(False) +jobproperties.HIRecExampleFlags.doHIJetAnalysis.set_Value_and_Lock(False) +from RecExConfig.RecFlags import rec +rec.doEgamma.set_Value_and_Lock(False) +rec.doTau.set_Value_and_Lock(False) +rec.doJetMissingETTag.set_Value_and_Lock(False) +rec.doZdc.set_Value_and_Lock(True) +rec.doLucid.set_Value_and_Lock(False) +rec.doAlfa.set_Value_and_Lock(False) +rec.doAFP.set_Value_and_Lock(False) +rec.doFTK.set_Value_and_Lock(False) +rec.doBTagging.set_Value_and_Lock(False) +from CaloRec.CaloRecFlags import jobproperties +jobproperties.CaloRecFlags.doCaloTopoCluster.set_Value_and_Lock(True) +from TriggerJobOpts.TriggerFlags import TriggerFlags +TriggerFlags.doTriggerConfigOnly.set_Value_and_Lock(True) +TriggerFlags.doHLT=False +TriggerFlags.doFEX=False +TriggerFlags.doHypo=False diff --git a/Reconstruction/HeavyIonRec/HIRecExample/share/hiTopoClusMoments_postExec.py b/Reconstruction/HeavyIonRec/HIRecExample/share/hiTopoClusMoments_postExec.py new file mode 100644 index 0000000000000000000000000000000000000000..f6e73f3da42fb9c5e434f92d1f4325b0f22ef14f --- /dev/null +++ b/Reconstruction/HeavyIonRec/HIRecExample/share/hiTopoClusMoments_postExec.py @@ -0,0 +1 @@ +StreamAOD.ItemList+=["xAOD::CaloClusterAuxContainer#CaloCalTopoClustersAux.SECOND_R.SECOND_LAMBDA.CENTER_MAG.CENTER_LAMBDA.FIRST_ENG_DENS.ENG_FRAC_MAX.ISOLATION.ENG_BAD_CELLS.N_BAD_CELLS.BADLARQ_FRAC.ENG_POS.AVG_LAR_Q.AVG_TILE_Q.EM_PROBABILITY.BadChannelList.CELL_SIGNIFICANCE.CELL_SIG_SAMPLING"] diff --git a/Reconstruction/Jet/JetEvent/CMakeLists.txt b/Reconstruction/Jet/JetEvent/CMakeLists.txt index 48d7b4641067e465bb0a26c643ec1308b4d3e823..8337a21664e5ec370917b309b522b526c1ee301e 100644 --- a/Reconstruction/Jet/JetEvent/CMakeLists.txt +++ b/Reconstruction/Jet/JetEvent/CMakeLists.txt @@ -7,11 +7,10 @@ atlas_subdir( JetEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc + Control/AthenaKernel Control/AthContainers Control/AthLinks Control/Navigation - Control/SGTools Control/StoreGate Event/EventKernel Event/FourMom @@ -31,13 +30,13 @@ atlas_add_library( JetEvent INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${Boost_LIBRARIES} ${CLHEP_LIBRARIES} AthContainers AthLinks Navigation SGTools EventKernel FourMom NavFourMom GaudiKernel ParticleEvent StoreGateLib SGtests + LINK_LIBRARIES ${Boost_LIBRARIES} ${CLHEP_LIBRARIES} AthContainers AthLinks Navigation AthenaKernel EventKernel FourMom NavFourMom GaudiKernel ParticleEvent StoreGateLib SGtests PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) atlas_add_dictionary( JetEventDict JetEvent/JetEventDict.h JetEvent/selection.xml INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthContainers AthLinks Navigation SGTools StoreGateLib SGtests EventKernel FourMom NavFourMom GaudiKernel ParticleEvent JetEvent + LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthContainers AthLinks Navigation AthenaKernel StoreGateLib SGtests EventKernel FourMom NavFourMom GaudiKernel ParticleEvent JetEvent NAVIGABLES JetCollection ) diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetCollection.h b/Reconstruction/Jet/JetEvent/JetEvent/JetCollection.h index ff87e86d06c792b4951eef9ab5ee17e0b8b611fd..682e642003f899afadd6243626a4bf08cfd11373 100755 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetCollection.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETEVENT_JETCOLLECTION_H @@ -12,7 +12,7 @@ #include "AthContainers/DataVector.h" #include "AthLinks/DataLink.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "JetEvent/Jet.h" #include "JetEvent/JetKeyDescriptor.h" #include "JetEvent/JetMomentMap.h" diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetECSCollection.h b/Reconstruction/Jet/JetEvent/JetEvent/JetECSCollection.h index f8726e0c7f17cc2a2cbde530fe337128ac7e9756..97a11786de0a43f33aa0e0e5ead99a9219c9ebe7 100755 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetECSCollection.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetECSCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETEVENT_JETECSCOLLECTION_H @@ -12,7 +12,7 @@ // INCLUDE HEADER FILES: #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "JetEvent/JetECS.h" diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptor.h b/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptor.h index d1df2c8e506bbf87435bfd987bcc98441a197747..c52c1592d546de97e981c4cce48e00ce8867c40a 100644 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptor.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptor.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETEVENT_JETKEYDESCRIPTOR_H @@ -79,7 +79,7 @@ class JetKeyDescriptor }; -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" CLASS_DEF(JetKeyDescriptor,71458009,1) struct JetKeyConstants { diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptorCollection.h b/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptorCollection.h index 8b1961960deba51062787cda8fd77f7ee5ef2077..344d6d859c7983ae8f71b17a94c6efba8b253280 100644 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptorCollection.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetKeyDescriptorCollection.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef Jetevent_Jetkeydescriptorcollection_H #define Jetevent_Jetkeydescriptorcollection_H #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" -#include "SGTools/BaseInfo.h" +#include "AthenaKernel/CLASS_DEF.h" +#include "AthenaKernel/BaseInfo.h" #include "JetEvent/JetKeyDescriptor.h" diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMap.h b/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMap.h index f56c7a6afb895ca8be4e5b26e9365ae7499e46c9..738fdda4888808740aa670021f454663cda926a2 100755 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMap.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMap.h @@ -1,13 +1,13 @@ // -*- C++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETEVENT_JETMOMENTMAP_H #define JETEVENT_JETMOMENTMAP_H -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "AthLinks/ElementLinkVector.h" diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMapCollection.h b/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMapCollection.h index d4d19d13581f9cf1e50957390cce3a9faba7339e..d11e3a220e043861ee91e3043986750a74177b1f 100644 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMapCollection.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetMomentMapCollection.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JetEvent_JetMomentMapCollection_H #define JetEvent_JetMomentMapCollection_H #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" -#include "SGTools/BaseInfo.h" +#include "AthenaKernel/CLASS_DEF.h" +#include "AthenaKernel/BaseInfo.h" #include "JetEvent/JetMomentMap.h" diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetSamplingCollection.h b/Reconstruction/Jet/JetEvent/JetEvent/JetSamplingCollection.h index dcea86ce0742549a5b1e2eb3d3aa892a0d77adfe..ca3eca709b84e83ccb391e524944c1e8190aed91 100755 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetSamplingCollection.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetSamplingCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETEVENT_JETSAMPLINGCOLLECTION_H @@ -12,7 +12,7 @@ // INCLUDE HEADER FILES: #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "JetEvent/JetSampling.h" diff --git a/Reconstruction/Jet/JetEvent/JetEvent/JetSumsCollection.h b/Reconstruction/Jet/JetEvent/JetEvent/JetSumsCollection.h index 86b253f6eb8c1c024408a744bf87d6379147647b..bd9e1dd1653e56435ba35ccc087c33f09b7dafb3 100755 --- a/Reconstruction/Jet/JetEvent/JetEvent/JetSumsCollection.h +++ b/Reconstruction/Jet/JetEvent/JetEvent/JetSumsCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef JETEVENT_JETSUMSCOLLECTION_H @@ -12,7 +12,7 @@ // INCLUDE HEADER FILES: #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "JetEvent/JetSums.h" diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_postprocessing.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_postprocessing.py index aa31f3d565e1c5941441055a0d6bf0490ebe80c3..f631a008c03f3990283a8f0b3308db12d985b3f5 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_postprocessing.py +++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_postprocessing.py @@ -22,6 +22,8 @@ if rec.doTruth() and muonCombinedRecFlags.doxAOD() and rec.doMuonCombined(): cols = [ "ExtrapolatedMuonTracks", "CombinedMuonTracks", "MSOnlyExtrapolatedMuonTracks" ] topSequence+= MuonDetailedTrackTruthMaker("MuonCombinedDetailedTrackTruthMaker") topSequence.MuonCombinedDetailedTrackTruthMaker.TrackCollectionNames = cols + if muonRecFlags.doNSWNewThirdChain(): + topSequence.MuonCombinedDetailedTrackTruthMaker.doNSW=True from TrkTruthAlgs.TrkTruthAlgsConf import TrackParticleTruthAlg for i in range(0, len(cols)): diff --git a/Reconstruction/MuonIdentification/muonEvent/CMakeLists.txt b/Reconstruction/MuonIdentification/muonEvent/CMakeLists.txt index ba9c3c55ccd936541eb64bd907c11fe74b046a3f..a3cefa0eea6a88f38862934a4911c9cd41da00e1 100644 --- a/Reconstruction/MuonIdentification/muonEvent/CMakeLists.txt +++ b/Reconstruction/MuonIdentification/muonEvent/CMakeLists.txt @@ -9,10 +9,9 @@ atlas_subdir( muonEvent ) atlas_depends_on_subdirs( PUBLIC Calorimeter/CaloEvent Calorimeter/CaloIdentifier - Control/CLIDSvc + Control/AthenaKernel Control/AthContainers Control/AthLinks - Control/SGTools Event/FourMom Event/NavFourMom PhysicsAnalysis/AnalysisCommon/ParticleEvent @@ -35,14 +34,14 @@ atlas_add_library( muonEvent INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} CaloEvent CaloIdentifier AthContainers AthLinks SGTools FourMom NavFourMom ParticleEvent Particle TrkMaterialOnTrack TrkSegment + LINK_LIBRARIES ${CLHEP_LIBRARIES} CaloEvent CaloIdentifier AthContainers AthLinks AthenaKernel FourMom NavFourMom ParticleEvent Particle TrkMaterialOnTrack TrkSegment PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} Navigation GaudiKernel VxVertex ) atlas_add_dictionary( muonEventDict muonEvent/muonEventDict.h muonEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} CaloEvent CaloIdentifier AthContainers AthLinks SGTools FourMom NavFourMom ParticleEvent Particle TrkMaterialOnTrack TrkSegment Navigation GaudiKernel VxVertex muonEvent + LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} CaloEvent CaloIdentifier AthContainers AthLinks AthenaKernel FourMom NavFourMom ParticleEvent Particle TrkMaterialOnTrack TrkSegment Navigation GaudiKernel VxVertex muonEvent NAVIGABLES Analysis::MuonContainer ELEMENT_LINKS MuonCaloEnergyContainer ) diff --git a/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonCaloEnergyContainer.h b/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonCaloEnergyContainer.h index 263352d04bc7b314bead4f9ae1691a32af39b0da..369e4b806b3456941901c7cb1940876073da0111 100644 --- a/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonCaloEnergyContainer.h +++ b/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonCaloEnergyContainer.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef MUONEVENT_MUONCALOENERGYCONTAINER_H #define MUONEVENT_MUONCALOENERGYCONTAINER_H #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "muonEvent/CaloEnergy.h" /** @class MuonCaloEnergyContainer diff --git a/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonContainer.h b/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonContainer.h index ce563e4c47c905cff19ce08bfe2a6551547c3d42..fc8424052b1566bbd527afee2d8d926a5ad8555c 100644 --- a/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonContainer.h +++ b/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef MUONEVENT_MUONCONTAINER_H @@ -19,7 +19,7 @@ // INCLUDE HEADER FILES: #include "AthContainers/DataVector.h" -#include "SGTools/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "muonEvent/Muon.h" #include "NavFourMom/IParticleContainer.h" diff --git a/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonSpShowerContainer.h b/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonSpShowerContainer.h index 0877ff4462dbe7f5a566b4d984a596ec583c45aa..3b6bd19eac358604aaf4abbfdb128fedf7059e76 100644 --- a/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonSpShowerContainer.h +++ b/Reconstruction/MuonIdentification/muonEvent/muonEvent/MuonSpShowerContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef MUONEVENT_MUONSPSHOWERCONTAINER_H @@ -16,7 +16,7 @@ ///////////////////////////////////////////////////////////////////////////////////// #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "muonEvent/MuonSpShower.h" namespace Rec { diff --git a/Reconstruction/PanTau/PanTauEvent/CMakeLists.txt b/Reconstruction/PanTau/PanTauEvent/CMakeLists.txt index 774e4ca5b1742bc931b061f1abbb2e8f6bfc205f..5692f15f9d2e86ce97f1feb5630879e8c1b2bb9d 100644 --- a/Reconstruction/PanTau/PanTauEvent/CMakeLists.txt +++ b/Reconstruction/PanTau/PanTauEvent/CMakeLists.txt @@ -8,8 +8,7 @@ atlas_subdir( PanTauEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC Control/AthContainers - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel Event/FourMom Event/xAOD/xAODPFlow Event/xAOD/xAODTau @@ -30,12 +29,12 @@ atlas_add_library( PanTauEvent INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers SGTools FourMom xAODPFlow xAODTau tauEvent + LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthenaKernel FourMom xAODPFlow xAODTau tauEvent PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} GaudiKernel JetEvent Particle ) atlas_add_dictionary( PanTauEventDict PanTauEvent/PanTauEventDict.h PanTauEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthContainers SGTools FourMom xAODPFlow xAODTau tauEvent GaudiKernel JetEvent Particle PanTauEvent ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthContainers AthenaKernel FourMom xAODPFlow xAODTau tauEvent GaudiKernel JetEvent Particle PanTauEvent ) diff --git a/Reconstruction/PanTau/PanTauEvent/PanTauEvent/PanTauSeedContainer.h b/Reconstruction/PanTau/PanTauEvent/PanTauEvent/PanTauSeedContainer.h index 8b2ebee2fc14edaf1c56aa22df5eef9f271a86ff..8371ca9170f1d485bf5a483f18b49440eff549a0 100644 --- a/Reconstruction/PanTau/PanTauEvent/PanTauEvent/PanTauSeedContainer.h +++ b/Reconstruction/PanTau/PanTauEvent/PanTauEvent/PanTauSeedContainer.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PANTAUEVENT_PANTAUSEEDCONTAINER_H #define PANTAUEVENT_PANTAUSEEDCONTAINER_H #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "PanTauEvent/PanTauSeed.h" namespace PanTau { diff --git a/Reconstruction/PanTau/PanTauEvent/PanTauEvent/TauSeedCollection.h b/Reconstruction/PanTau/PanTauEvent/PanTauEvent/TauSeedCollection.h index c455a9566b9cc41e199011e76e478325904f1ccf..e8279be2062412180e9f265fba318f467306c610 100644 --- a/Reconstruction/PanTau/PanTauEvent/PanTauEvent/TauSeedCollection.h +++ b/Reconstruction/PanTau/PanTauEvent/PanTauEvent/TauSeedCollection.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PANTAUEVENT_TAUSEEDCOLLECTION_H #define PANTAUEVENT_TAUSEEDCOLLECTION_H #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "PanTauEvent/TauSeed.h" namespace PanTau { diff --git a/Reconstruction/ParticleTruth/CMakeLists.txt b/Reconstruction/ParticleTruth/CMakeLists.txt index aab6bbfbc159fb4717dd93739de1a84246d4abdd..a6d9f939b5c4f6dad0c139823c373e7cb3524645 100644 --- a/Reconstruction/ParticleTruth/CMakeLists.txt +++ b/Reconstruction/ParticleTruth/CMakeLists.txt @@ -7,9 +7,8 @@ atlas_subdir( ParticleTruth ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc + Control/AthenaKernel Control/AthLinks - Control/SGTools Generators/GeneratorObjects Reconstruction/Particle ) @@ -21,13 +20,13 @@ atlas_add_library( ParticleTruth src/*.cxx PUBLIC_HEADERS ParticleTruth PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES AthLinks SGTools GeneratorObjects Particle + LINK_LIBRARIES AthLinks AthenaKernel GeneratorObjects Particle PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) atlas_add_dictionary( ParticleTruthDict ParticleTruth/ParticleTruthDict.h ParticleTruth/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthLinks SGTools GeneratorObjects Particle ParticleTruth + LINK_LIBRARIES ${ROOT_LIBRARIES} AthLinks AthenaKernel GeneratorObjects Particle ParticleTruth DATA_LINKS TrackParticleTruthCollection ) diff --git a/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollection.h b/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollection.h index 7af5c5e1d6f1a3ad4910edf914df26d2d2615527..e769e5f9e9f1747a76388946f47760a12411ef75 100755 --- a/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollection.h +++ b/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollection.h @@ -1,11 +1,11 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PARTICLETRUTH_TRKPARTICLETRUTHCOLLECTION_H #define PARTICLETRUTH_TRKPARTICLETRUTHCOLLECTION_H -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "ParticleTruth/TrackParticleTruth.h" #include "Particle/TrackParticleContainer.h" #include "ParticleTruth/TrackParticleTruthKey.h" diff --git a/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollectionContainer.h b/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollectionContainer.h index 7d830854ff48101ca25e36f927e0513fe08e864a..4cfd4a18f715fdccab420db430764fee5aae3c81 100644 --- a/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollectionContainer.h +++ b/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthCollectionContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PARTICLETRUTH_TRKPARTICLETRUTHCOLLECTIONCONT_H @@ -10,7 +10,7 @@ @author Jiri.Masik@cern.ch */ -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "ParticleTruth/TrackParticleTruthCollection.h" typedef DataVector<TrackParticleTruthCollection> TrackParticleTruthCollectionContainer; diff --git a/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthVector.h b/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthVector.h index 1dd992182668e253377b0fd615820051c99f1f38..a620cb56282f01fbbcfb5ab149de9c14b8dd4583 100755 --- a/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthVector.h +++ b/Reconstruction/ParticleTruth/ParticleTruth/TrackParticleTruthVector.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef PARTICLETRUTH_TRACKPARTICLETRUTHVECTOR_H @@ -8,7 +8,7 @@ #include "ParticleTruth/TrackParticleTruth.h" #include "Particle/TrackParticleContainer.h" #include "AthLinks/ElementLink.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include <map> diff --git a/Reconstruction/RecBackground/RecBackgroundEvent/CMakeLists.txt b/Reconstruction/RecBackground/RecBackgroundEvent/CMakeLists.txt index bfa85133773f2c35e9f930d66da803ca8bcd28dd..9fbd98de8a2ab0bf7ffcaefb2f3e125813874f1b 100644 --- a/Reconstruction/RecBackground/RecBackgroundEvent/CMakeLists.txt +++ b/Reconstruction/RecBackground/RecBackgroundEvent/CMakeLists.txt @@ -7,9 +7,8 @@ atlas_subdir( RecBackgroundEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc + Control/AthenaKernel Control/AthLinks - Control/SGTools Event/xAOD/xAODCaloEvent Event/xAOD/xAODJet Tracking/TrkEvent/TrkSegment ) @@ -18,5 +17,5 @@ atlas_depends_on_subdirs( PUBLIC atlas_add_library( RecBackgroundEvent src/*.cxx PUBLIC_HEADERS RecBackgroundEvent - LINK_LIBRARIES AthLinks SGTools xAODCaloEvent xAODJet TrkSegment ) + LINK_LIBRARIES AthLinks AthenaKernel xAODCaloEvent xAODJet TrkSegment ) diff --git a/Reconstruction/RecBackground/RecBackgroundEvent/RecBackgroundEvent/BeamBackgroundData.h b/Reconstruction/RecBackground/RecBackgroundEvent/RecBackgroundEvent/BeamBackgroundData.h index e4936c55f4b63179a4958b947555873ff8aa9a33..671fdfdbd611eb2daf9a5d364daa5a9978b00b16 100644 --- a/Reconstruction/RecBackground/RecBackgroundEvent/RecBackgroundEvent/BeamBackgroundData.h +++ b/Reconstruction/RecBackground/RecBackgroundEvent/RecBackgroundEvent/BeamBackgroundData.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // $Id: BeamBackgroundData.h 659084 2015-04-06 03:39:10Z ssnyder $ #ifndef RECBACKGROUNDEVENT_BEAMBACKGROUNDDATA #define RECBACKGROUNDEVENT_BEAMBACKGROUNDDATA -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "AthLinks/ElementLinkVector.h" #include "TrkSegment/Segment.h" #include "TrkSegment/SegmentCollection.h" diff --git a/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py b/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py index a3e68dd70d0681f8a3a28c07ae7b12b01fbad103..0cf0bb1102499b540dcb8d7985179c1d160a0e40 100644 --- a/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py +++ b/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py @@ -1019,13 +1019,11 @@ if rec.doFileMetaData(): from LumiBlockComps.LumiBlockCompsConf import LumiBlockMetaDataTool svcMgr.MetaDataSvc.MetaDataTools += [ "LumiBlockMetaDataTool" ] # Trigger tool - #ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool" ) - tmdt = CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool" ) - svcMgr.MetaDataSvc.MetaDataTools += [ tmdt ] + ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool" ) + svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] # EventFormat tool - #ToolSvc += CfgMgr.xAODMaker__EventFormatMetaDataTool( "EventFormatMetaDataTool" ) - #svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.EventFormatMetaDataTool ] - svcMgr.MetaDataSvc.MetaDataTools += [ CfgMgr.xAODMaker__EventFormatMetaDataTool( "EventFormatMetaDataTool" ) ] + ToolSvc += CfgMgr.xAODMaker__EventFormatMetaDataTool( "EventFormatMetaDataTool" ) + svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.EventFormatMetaDataTool ] else: # Create LumiBlock meta data containers *before* creating the output StreamESD/AOD @@ -1425,15 +1423,13 @@ if rec.doWriteAOD(): if rec.doFileMetaData(): # Trigger tool - #ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool") + ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool") - #svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] - svcMgr.MetaDataSvc.MetaDataTools += [ CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool") ] + svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] # EventFormat tool - #ToolSvc += CfgMgr.xAODMaker__EventFormatMetaDataTool( "EventFormatMetaDataTool") + ToolSvc += CfgMgr.xAODMaker__EventFormatMetaDataTool( "EventFormatMetaDataTool") - #svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.EventFormatMetaDataTool ] - svcMgr.MetaDataSvc.MetaDataTools += [ CfgMgr.xAODMaker__EventFormatMetaDataTool( "EventFormatMetaDataTool") ] + svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.EventFormatMetaDataTool ] # Put MetaData in AOD stream via AugmentedPoolStream_ # Write all meta data containers StreamAOD_Augmented.AddMetaDataItem(dfMetadataItemList()) diff --git a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_calotopoclustering_fromesd.sh b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_calotopoclustering_fromesd.sh index da080cfb879dacec6ec6a1ff96e0cfe30c604104..0903ced7028ed3fc4710395845ecc039d004fec5 100755 --- a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_calotopoclustering_fromesd.sh +++ b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_calotopoclustering_fromesd.sh @@ -2,5 +2,11 @@ # # art-description: Athena runs topoclustering from an ESD file # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + athena RecExRecoTest/RecExRecoTest_ART_caloTopoClustering_fromESD.py -echo "art-result: $?" \ No newline at end of file +echo "art-result: $?" diff --git a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_egamma_fromesd.sh b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_egamma_fromesd.sh index 434a3557fcea787b00baf8c65b5529e306db5744..9506c9c9b429a9924b261305f64ee0ed65071bb3 100755 --- a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_egamma_fromesd.sh +++ b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_egamma_fromesd.sh @@ -2,5 +2,11 @@ # # art-description: Athena runs topoclustering from an ESD file # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + athena RecExRecoTest/RecExRecoTest_ART_egamma_fromESD.py echo "art-result: $?" diff --git a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_noalgs_fromesd.sh b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_noalgs_fromesd.sh index a61ec2edb87e15b8a2750048d80ec53d3f1c062c..86909c9ee897727bf88ce618b8c919caa018151b 100755 --- a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_noalgs_fromesd.sh +++ b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_noalgs_fromesd.sh @@ -2,5 +2,11 @@ # # art-description: Athena runs topoclustering from an ESD file # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + athena RecExRecoTest/RecExRecoTest_ART_noAlgs_fromESD.py echo "art-result: $?" diff --git a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_pflow_and_jets_fromesd.sh b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_pflow_and_jets_fromesd.sh index 426f6b22f442dc56e31eac1cb8068b978ac16bdb..074efcf4c28308ca1e7a348599b8d4c0f7623868 100755 --- a/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_pflow_and_jets_fromesd.sh +++ b/Reconstruction/RecExample/RecExRecoTest/test/test_recexreco_art_pflow_and_jets_fromesd.sh @@ -2,5 +2,11 @@ # # art-description: Athena runs topoclustering from an ESD file # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + athena eflowRec/run_ESDStandardReco.py echo "art-result: $?" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_amitag_q122.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_amitag_q122.sh index 031a84c9d0faa7954cc2db824acb241fe4a9abb0..f5743f411d72bacc95f239d7e4bf912beb3f74c1 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_amitag_q122.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_amitag_q122.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs with AMI configTag q122 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --AMI=q122 --DataRunNumber 00191920 --outputESDFile=myESD.pool.root --outputAODFile=myAOD.pool.root --outputTAGFile=myTAG.pool.root --inputBSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data11_7TeV.00191920.physics_JetTauEtmiss.merge.RAW._lb0257._SFO-9._0001.1.10evts -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_cosmis_allstream.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_cosmis_allstream.sh index 9a9a3d6556ec0f8b0689759b41b375cc06c7fdc6..ce0608d5fba54d4ec4a4b18de6bd525aa01e62d9 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_cosmis_allstream.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_cosmis_allstream.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on cosmics with all streams # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data11_cos.00193024.physics_CosmicCalo.merge.RAW._lb0096._SFO-ALL._0001.1 --maxEvents 300 --autoConfiguration everything --conditionsTag="COMCOND-BLKPA-RUN1-07" --preExec="rec.doTrigger=False;" --outputESDFile myESD.pool.root --outputHISTFile myMergedMonitoring.root --outputTAGFile myTAG.pool.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_7tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_7tev.sh index 2755b03a0ad2c5c2b50c34f4d6c9622d6f72c909..7a44b596d9d63ea6d8cd4b7ca2d944f5a41d92c0 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_7tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_7tev.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on 7TeV collision data with all streams 2011 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/high_mu-data11_7TeV.00179725.physics_JetTauEtmiss.merge.RAW._lb0021.data --maxEvents 300 --autoConfiguration everything --conditionsTag="COMCOND-BLKPA-RUN1-07" --preExec 'rec.doTrigger=False;' --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_heavy_ion.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_heavy_ion.sh index 3e0337b197810e5f45f3333eeb0cebf5ef062419..cb096be0bc3830a46bd8cfa219c6d9c45817d89d 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_heavy_ion.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data11_heavy_ion.sh @@ -2,8 +2,14 @@ # # art-description: heavy ion reconstruction test from Andrzej Olszewski and Iwona Grabowska-Bold # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data11_hi.00193321.physics_HardProbes.merge.RAW._lb0050._SFO-9._0002.1 --outputESDFile ESD.pool.root --outputAODFile AOD.pool.root --conditionsTag COMCOND-BLKPA-RUN1-06 --geometryVersion ATLAS-R1-2011-02-00-00 --autoConfiguration=everything --maxEvents='25' -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data12_8tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data12_8tev.sh index c06f251698ff87c81e3aa1bc1215888469d5d85a..91b21497b16e60a9cb428a12b4eb6af340b8313c 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data12_8tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data12_8tev.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on 8TeV collision data with all streams 2012 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data12_8TeV.00209109.physics_JetTauEtmiss.merge.RAW._lb0186._SFO-1._0001.1 --maxEvents 300 --autoConfiguration everything --conditionsTag="COMCOND-BLKPA-RUN1-07" --preExec 'rec.doTrigger=False;' --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_13tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_13tev.sh index 0b27c188c3f4863087c4516b405c3103d95bbf04..240bb76f4d3b317843c9dec8d3705d20ea27c153 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_13tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_13tev.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on 13TeV collision data with all streams 2015 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data15_13TeV.00283429.physics_Main.daq.RAW._lb0154._SFO-1._0001.data --maxEvents 300 --autoConfiguration everything --conditionsTag="CONDBR2-BLKPA-2016-14" --preExec 'rec.doTrigger=False;' --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_heavy_ion.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_heavy_ion.sh index a7ddff745bf2be5497ecdf84b7add74b72b508fd..84c3895bb061eac0403bf486fc1296c3f53fe64b 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_heavy_ion.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data15_heavy_ion.sh @@ -2,8 +2,14 @@ # # art-description: heavy ion reconstruction test from Andrzej Olszewski and Iwona Grabowska-Bold # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --inputBSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data15_hi.00286711.physics_MinBiasOverlay.daq.RAW._lb0217._SFO-2._0001.data --outputESDFile=ESD.root --outputAODFile=AOD.root --maxEvents=25 --conditionsTag 'default:CONDBR2-BLKPA-2016-07' --geometryVersion 'default:ATLAS-R2-2015-03-01-00' --autoConfiguration 'everything' --preExec 'all:rec.doHeavyIon.set_Value_and_Lock(True)' -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data16_13tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data16_13tev.sh index 87757c61510293c283edc634ce47da2afeffc089..a38f0d5181c926c3a38b5c25c817c0d764ef90b9 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data16_13tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data16_13tev.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on 13TeV collision data with all streams 2016 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data16_13TeV.00310809.physics_Main.daq.RAW._lb1219._SFO-2._0001.data --maxEvents 300 --autoConfiguration everything --conditionsTag="CONDBR2-BLKPA-2016-19" --preExec 'rec.doTrigger=False;' --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev.sh index 9adb89de7973cbe6305c3c3993a7c1e3a256aa08..7f0524597dee731d2224d3088a644f5cd5575310 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on 13TeV collision data 2017, early data, A3 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data17_13TeV.00324910.physics_Main.daq.RAW._lb0713._SFO-6._0001.data --maxEvents 300 --AMI=f908 --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev_fpe.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev_fpe.sh index b8887434d711d3eea719867cde6dad6e9407841c..243279c47e033e0b400e9b9b430cc6153ffa7111 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev_fpe.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data17_13tev_fpe.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on 13TeV collision data with floating point exception enabled 2017 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data17_13TeV.00324910.physics_Main.daq.RAW._lb0713._SFO-6._0001.data --maxEvents -1 --AMI=f908 --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root --preExec 'rec.doFloatingPointException=True;rec.doTrigger=False;' --postExec 'FPEAuditor.NStacktracesOnFPE=5' -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_digimreco_tf_fct_mc16a.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_digimreco_tf_fct_mc16a.sh index 4f5b61cf890c5e892393a97c05c138c654ad4934..cf31b8c1d5df9694c6d4cf8cbe1082628a04f10f 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_digimreco_tf_fct_mc16a.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_digimreco_tf_fct_mc16a.sh @@ -2,6 +2,12 @@ # # art-description: Test of DigiMReco from HITS to AOD/TAG MC16a r9364 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --maxEvents=10 --outputRDOFile=mc16a.RDO.pool.root --outputESDFile=mc16a.ESD.pool.root --outputAODFile=mc16a.AOD.pool.root --digiSeedOffset1=1 --digiSeedOffset2=2 --inputHitsFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc16_13TeV.410501.PowhegPythia8EvtGen_A14_ttbar_hdamp258p75_nonallhad.simul.HITS.e5458_s3126/HITS.10730668._039360.pool.root.1 --jobNumber=1 --conditionsTag="default:OFLCOND-MC16-SDR-16" --geometryVersion="default:ATLAS-R2-2016-01-00-01" --skipEvents=0 --pileupFinalBunch=6 --autoConfiguration=everything --digiSteeringConf='StandardSignalOnlyTruth' --preInclude "HITtoRDO:Digitization/ForceUseOfPileUpTools.py,SimulationJobOptions/preInclude.PileUpBunchTrainsMC15_2015_25ns_Config1.py,RunDependentSimData/configLumi_run284500_mc16a.py" --preExec "all:rec.Commissioning.set_Value_and_Lock(True);from AthenaCommon.BeamFlags import jobproperties;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(20.0);from LArROD.LArRODFlags import larRODFlags;larRODFlags.NumberOfCollisions.set_Value_and_Lock(20);larRODFlags.nSamples.set_Value_and_Lock(4);larRODFlags.doOFCPileupOptimization.set_Value_and_Lock(True);larRODFlags.firstSample.set_Value_and_Lock(0);larRODFlags.useHighestGainAutoCorr.set_Value_and_Lock(True)" "all:from TriggerJobOpts.TriggerFlags import TriggerFlags as TF;TF.run2Config='2016'" "RAWtoESD:from InDetRecExample.InDetJobProperties import InDetFlags; InDetFlags.cutLevel.set_Value_and_Lock(14); from JetRec import JetRecUtils;f=lambda s:[\"xAOD::JetContainer#AntiKt4%sJets\"%(s,),\"xAOD::JetAuxContainer#AntiKt4%sJetsAux.\"%(s,),\"xAOD::EventShape#Kt4%sEventShape\"%(s,),\"xAOD::EventShapeAuxInfo#Kt4%sEventShapeAux.\"%(s,),\"xAOD::EventShape#Kt4%sOriginEventShape\"%(s,),\"xAOD::EventShapeAuxInfo#Kt4%sOriginEventShapeAux.\"%(s,)]; JetRecUtils.retrieveAODList = lambda : f(\"EMPFlow\")+f(\"LCTopo\")+f(\"EMTopo\")+[\"xAOD::EventShape#NeutralParticleFlowIsoCentralEventShape\",\"xAOD::EventShapeAuxInfo#NeutralParticleFlowIsoCentralEventShapeAux.\", \"xAOD::EventShape#NeutralParticleFlowIsoForwardEventShape\",\"xAOD::EventShapeAuxInfo#NeutralParticleFlowIsoForwardEventShapeAux.\", \"xAOD::EventShape#ParticleFlowIsoCentralEventShape\",\"xAOD::EventShapeAuxInfo#ParticleFlowIsoCentralEventShapeAux.\", \"xAOD::EventShape#ParticleFlowIsoForwardEventShape\",\"xAOD::EventShapeAuxInfo#ParticleFlowIsoForwardEventShapeAux.\", \"xAOD::EventShape#TopoClusterIsoCentralEventShape\",\"xAOD::EventShapeAuxInfo#TopoClusterIsoCentralEventShapeAux.\", \"xAOD::EventShape#TopoClusterIsoForwardEventShape\",\"xAOD::EventShapeAuxInfo#TopoClusterIsoForwardEventShapeAux.\",\"xAOD::CaloClusterContainer#EMOriginTopoClusters\",\"xAOD::ShallowAuxContainer#EMOriginTopoClustersAux.\",\"xAOD::CaloClusterContainer#LCOriginTopoClusters\",\"xAOD::ShallowAuxContainer#LCOriginTopoClustersAux.\"]; from eflowRec.eflowRecFlags import jobproperties; jobproperties.eflowRecFlags.useAODReductionClusterMomentList.set_Value_and_Lock(True); from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.AODEDMSet.set_Value_and_Lock(\"AODSLIM\");" "all:from BTagging.BTaggingFlags import BTaggingFlags;BTaggingFlags.btaggingAODList=[\"xAOD::BTaggingContainer#BTagging_AntiKt4EMTopo\",\"xAOD::BTaggingAuxContainer#BTagging_AntiKt4EMTopoAux.\",\"xAOD::BTagVertexContainer#BTagging_AntiKt4EMTopoJFVtx\",\"xAOD::BTagVertexAuxContainer#BTagging_AntiKt4EMTopoJFVtxAux.\",\"xAOD::VertexContainer#BTagging_AntiKt4EMTopoSecVtx\",\"xAOD::VertexAuxContainer#BTagging_AntiKt4EMTopoSecVtxAux.-vxTrackAtVertex\"];" "ESDtoAOD:from ParticleBuilderOptions.AODFlags import AODFlags; AODFlags.ThinGeantTruth.set_Value_and_Lock(True); AODFlags.ThinNegativeEnergyCaloClusters.set_Value_and_Lock(True); AODFlags.ThinNegativeEnergyNeutralPFOs.set_Value_and_Lock(True); from JetRec import JetRecUtils; aodlist = JetRecUtils.retrieveAODList(); JetRecUtils.retrieveAODList = lambda : [item for item in aodlist if not \"OriginTopoClusters\" in item];" --postExec "all:CfgMgr.MessageSvc().setError+=[\"HepMcParticleLink\"]" "ESDtoAOD:fixedAttrib=[s if \"CONTAINER_SPLITLEVEL = '99'\" not in s else \"\" for s in svcMgr.AthenaPoolCnvSvc.PoolAttributes];svcMgr.AthenaPoolCnvSvc.PoolAttributes=fixedAttrib" "RDOtoRDOTrigger:conddb.addOverride(\"/CALO/Ofl/Noise/PileUpNoiseLumi\",\"CALOOflNoisePileUpNoiseLumi-mc15-mu30-dt25ns\")" "ESDtoAOD:CILMergeAOD.removeItem(\"xAOD::CaloClusterAuxContainer#CaloCalTopoClustersAux.LATERAL.LONGITUDINAL.SECOND_R.SECOND_LAMBDA.CENTER_MAG.CENTER_LAMBDA.FIRST_ENG_DENS.ENG_FRAC_MAX.ISOLATION.ENG_BAD_CELLS.N_BAD_CELLS.BADLARQ_FRAC.ENG_BAD_HV_CELLS.N_BAD_HV_CELLS.ENG_POS.SIGNIFICANCE.CELL_SIGNIFICANCE.CELL_SIG_SAMPLING.AVG_LAR_Q.AVG_TILE_Q.EM_PROBABILITY.PTD.BadChannelList\");CILMergeAOD.add(\"xAOD::CaloClusterAuxContainer#CaloCalTopoClustersAux.N_BAD_CELLS.ENG_BAD_CELLS.BADLARQ_FRAC.AVG_TILE_Q.AVG_LAR_Q.CENTER_MAG.ENG_POS.CENTER_LAMBDA.SECOND_LAMBDA.SECOND_R.ISOLATION.EM_PROBABILITY\");StreamAOD.ItemList=CILMergeAOD()" --postInclude "default:PyJobTransforms/UseFrontier.py" --LowPtMinbiasHitsFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc16_13TeV.361238.Pythia8EvtGen_A3NNPDF23LO_minbias_inelastic_low.merge.HITS.e4981_s3087_s3089/HITS.10501925._000027.pool.root.1 --HighPtMinbiasHitsFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc16_13TeV.361239.Pythia8EvtGen_A3NNPDF23LO_minbias_inelastic_high.merge.HITS.e4981_s3087_s3089/HITS.10501933._000008.pool.root.1 --numberOfHighPtMinBias=0.116075313 --numberOfLowPtMinBias=44.3839246425 --numberOfCavernBkg=0 diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc15_heavy_ion.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc15_heavy_ion.sh index 10e4fdd5e9f0eb5a045f480eb4f68c4984d9cc4b..cc2007f14c9aa33fb328cb88c4d5a56c68ea3326 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc15_heavy_ion.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc15_heavy_ion.sh @@ -2,6 +2,12 @@ # # art-description: heavy ion reconstruction test from Andrzej Olszewski and Iwona Grabowska-Bold # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --inputHITSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_5TeV.420000.Hijing_PbPb_5p02TeV_MinBias_Flow_JJFV6.merge.HITS.e4962_s3004_s2921/HITS.09732013._000496.pool.root.1 --outputESDFile=ESD.pool.root --outputAODFile=AOD.pool.root --maxEvents=25 --conditionsTag 'all:OFLCOND-MC15c-SDR-11' --postInclude 'all:RecJobTransforms/UseFrontier.py,SimulationJobOptions/postInclude.HijingPars.py' --preExec 'all:rec.doHeavyIon.set_Value_and_Lock(True)' --autoConfiguration 'everything' --triggerConfig 'MCRECO:MC_HI_v3_tight_mc_prescale' --DataRunNumber '226000' --geometryVersion 'all:ATLAS-R2-2015-03-01-00' diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16.sh index 5a4886037c7ebe42a9705753551a4fb86e380f4f..39606aecd21cb42ae3ecc94e29b88ae862d977d9 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf runs on mc16, based on recon tag r9364 MC16a # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputRDOFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc16_13TeV.410501.PowhegPythia8EvtGen_A14_ttbar_hdamp258p75_nonallhad.merge.RDO.e5458_s3126_d1437/RDO.11426804._000001.pool.root.1 --maxEvents=300 --autoConfiguration everything --conditionsTag=default:OFLCOND-MC16-SDR-16 --geometryVersion=default:ATLAS-R2-2016-01-00-01 --runNumber=410501 --preExec 'rec.doTrigger=False;' --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHIST.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_rdotobs.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_rdotobs.sh index 1d720750325bc7bf67ffce6c9346c5c96c625985..d9dc3265a8c9c2bc10bcd19e3bbf11bd43625872 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_rdotobs.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_rdotobs.sh @@ -2,8 +2,14 @@ # # art-description: RDO to BS on tt mc16 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputRDOFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc16_13TeV.410501.PowhegPythia8EvtGen_A14_ttbar_hdamp258p75_nonallhad.merge.RDO.e5458_s3126_d1437/RDO.11426804._000001.pool.root.1 --outputBSFile mc16_13TeV.410501.PowhegPythia8EvtGen_A14_ttbar_hdamp258p75_nonallhad.data --autoConfiguration everything --maxEvents 300 --conditionsTag=default:OFLCOND-MC16-SDR-16 --geometryVersion=default:ATLAS-R2-2016-01-00-01 --runNumber=410501 -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_trigsplit.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_trigsplit.sh index 4a1697c7b300a67153b8b0583082e81cc51e61e3..887d7b1cca8cb6e8e6021a8cd7d9c220e62a0a81 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_trigsplit.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc16_trigsplit.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf with split trigger runs on mc16 # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + Reco_tf.py --inputRDOFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc16_13TeV.410501.PowhegPythia8EvtGen_A14_ttbar_hdamp258p75_nonallhad.merge.RDO.e5458_s3126_d1437/RDO.11426804._000001.pool.root.1 --maxEvents 300 --autoConfiguration everything --conditionsTag=default:OFLCOND-MC16-SDR-16 --geometryVersion=default:ATLAS-R2-2016-01-00-01 --runNumber=410501 --steering RAWtoESD:in-RDO RAWtoESD:in-BS RAWtoESD:in+RDO_TRIG --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHIST.root -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev.sh index 9d14d391152bcf33426d15da9b1ed1f07690c1ae..bb31dfbebbe8a81b7760284582e96393527782ac 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev.sh @@ -2,14 +2,20 @@ # # art-description: Reco_tf for PhysVal, updated with q221 (2017-11-13) + pileup # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --conditionsTag all:OFLCOND-MC16-SDR-17 --ignoreErrors 'False' --autoConfiguration='everything' --digiSeedOffset2 '1' --preExec 'all:rec.Commissioning.set_Value_and_Lock(True);from AthenaCommon.BeamFlags import jobproperties;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(0.);from LArROD.LArRODFlags import larRODFlags;larRODFlags.nSamples.set_Value_and_Lock(4);from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.AODEDMSet="AODFULL"' 'HITtoRDO:from Digitization.DigitizationFlags import digitizationFlags;digitizationFlags.overrideMetadata+=["PhysicsList"];' 'RAWtoESD:from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.triggerMenuSetup="MC_pp_v7";from CaloRec.CaloCellFlags import jobproperties;jobproperties.CaloCellFlags.doLArCellEmMisCalib=False;' --digiSeedOffset1 '1' --steering 'doRDO_TRIG' --DataRunNumber '222525' --outputRDOFile=myRDO.pool.root --outputTAGFile=myTAG.pool.root --outputAODFile=myAOD.pool.root --outputESDFile=myESD.pool.root --outputHISTFile=myHIST.root --inputHITSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.410500.PowhegPythia8EvtGen_A14_ttbar_hdamp172p5_nonallhad.simul.HITS.e4797_s2726.50events.pool.root --inputHighPtMinbiasHitsFile='/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.361035.Pythia8EvtGen_A2MSTW2008LO_minbias_inelastic_high.merge.HITS.e3581_s2578_s2195/*' --inputLowPtMinbiasHitsFile='/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.361034.Pythia8EvtGen_A2MSTW2008LO_minbias_inelastic_low.merge.HITS.e3581_s2578_s2195/*' --numberOfCavernBkg="0" --numberOfHighPtMinBias="0.12268057" --numberOfLowPtMinBias="39.8773194" --pileupFinalBunch 6 --imf False --maxEvents '500' -echo "art-result: $?" +echo "art-result: $? Reco" Reco_tf.py --inputAODFile myAOD.pool.root --outputNTUP_PHYSVALFile PhysVal_13TeV_Example.pool.root --validationFlags doExample -echo "art-result: $?" +echo "art-result: $? PhysVal" Reco_tf.py --validationFlags 'doExample,doMET,doPFlow,doTau,doEgamma,doBtag,doZee,doJet,doTopoCluster,doMuon,doTrigMinBias,doTrigIDtrk,doTrigBphys,doTrigMET,doTrigJet,doTrigTau, doTrigEgamma,doTrigMuon,doTrigBjet,doTrigHLTResult' --inputAODFile=myAOD.pool.root --outputNTUP_PHYSVALFile=myNTUP_PHYSVAL.root -echo "art-result: $?" +echo "art-result: $? Ntup" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup.sh index a474a8bffd4dc59098e112cdfdd127d6965ddd92..8259d6af7b706475e2a36e5a6688dbd0cc64aed5 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf for PhysVal, updated with q221 (2017-11-13), no pileup # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --conditionsTag all:OFLCOND-MC16-SDR-17 --ignoreErrors 'False' --autoConfiguration='everything' --digiSeedOffset2 '1' --preExec 'all:rec.Commissioning.set_Value_and_Lock(True);from AthenaCommon.BeamFlags import jobproperties;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(0.);from LArROD.LArRODFlags import larRODFlags;larRODFlags.nSamples.set_Value_and_Lock(4);from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.AODEDMSet="AODFULL"' 'HITtoRDO:from Digitization.DigitizationFlags import digitizationFlags;digitizationFlags.overrideMetadata+=["PhysicsList"];' 'RAWtoESD:from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.triggerMenuSetup="MC_pp_v7";from CaloRec.CaloCellFlags import jobproperties;jobproperties.CaloCellFlags.doLArCellEmMisCalib=False;' --digiSeedOffset1 '1' --steering 'doRDO_TRIG' --DataRunNumber '222525' --outputRDOFile=myRDO.pool.root --outputTAGFile=myTAG.pool.root --outputAODFile=myAOD.pool.root --outputESDFile=myESD.pool.root --outputHISTFile=myHIST.root --inputHITSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.410500.PowhegPythia8EvtGen_A14_ttbar_hdamp172p5_nonallhad.simul.HITS.e4797_s2726.50events.pool.root --imf False --maxEvents '500' -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup_stdcmalloc.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup_stdcmalloc.sh index 62d73893644bdcea7a5faab2272f05114458e5f2..023ca42e8ee0cb780d408567401741d171ec645c 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup_stdcmalloc.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_reco_mc15_13tev_nopileup_stdcmalloc.sh @@ -2,8 +2,14 @@ # # art-description: Reco_tf for PhysVal, updated with q221 (2017-11-13), no pileup, with stdcmalloc # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --conditionsTag all:OFLCOND-MC16-SDR-17 --ignoreErrors 'False' --autoConfiguration='everything' --digiSeedOffset2 '1' --preExec 'all:rec.Commissioning.set_Value_and_Lock(True);from AthenaCommon.BeamFlags import jobproperties;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(0.);from LArROD.LArRODFlags import larRODFlags;larRODFlags.nSamples.set_Value_and_Lock(4);from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.AODEDMSet="AODFULL"' 'HITtoRDO:from Digitization.DigitizationFlags import digitizationFlags;digitizationFlags.overrideMetadata+=["PhysicsList"];' 'RAWtoESD:from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.triggerMenuSetup="MC_pp_v7";from CaloRec.CaloCellFlags import jobproperties;jobproperties.CaloCellFlags.doLArCellEmMisCalib=False;' --digiSeedOffset1 '1' --steering 'doRDO_TRIG' --DataRunNumber '222525' --outputRDOFile=myRDO.pool.root --outputTAGFile=myTAG.pool.root --outputAODFile=myAOD.pool.root --outputESDFile=myESD.pool.root --outputHISTFile=myHIST.root --inputHITSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.410500.PowhegPythia8EvtGen_A14_ttbar_hdamp172p5_nonallhad.simul.HITS.e4797_s2726.50events.pool.root --imf False --maxEvents '500' --athenaopts="--stdcmalloc" -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_mc15_13tev.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_mc15_13tev.sh index 5bf50474e704d56d96ba231c87402f4940a38813..c3832b2c7e9e274464dfb58d9b6c8c69e49c2c91 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_mc15_13tev.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_mc15_13tev.sh @@ -2,6 +2,13 @@ # # art-description: Xiaohu Sun, Carl Gwilliam and Marie-Helene Genest # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py '--inputHITSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.410500.PowhegPythia8EvtGen_A14_ttbar_hdamp172p5_nonallhad.simul.HITS.e4797_s2726.50events.pool.root' '--jobNumber=64' '--maxEvents=10' '--postInclude=RecJobTransforms/UseFrontier.py' '--preExec' 'rec.Commissioning.set_Value_and_Lock(True);from AthenaCommon.BeamFlags import jobproperties;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(20.0);from LArROD.LArRODFlags import larRODFlags;larRODFlags.nSamples.set_Value_and_Lock(4);larRODFlags.firstSample.set_Value_and_Lock(0);larRODFlags.useHighestGainAutoCorr.set_Value_and_Lock(True)' 'RAWtoESD:from CaloRec.CaloCellFlags import jobproperties;jobproperties.CaloCellFlags.doLArCellEmMisCalib=False' 'ESDtoAOD:TriggerFlags.AODEDMSet="AODFULL"' 'RAWtoESD:from InDetRecExample.InDetJobProperties import InDetFlags; InDetFlags.doSlimming.set_Value_and_Lock(False)' 'ESDtoAOD:from InDetRecExample.InDetJobProperties import InDetFlags; InDetFlags.doSlimming.set_Value_and_Lock(False)' 'RDOtoRDOTrigger:from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.triggerMenuSetup="MC_pp_v6_tight_mc_prescale"' '--skipEvents=0' '--autoConfiguration=everything' '--conditionsTag=OFLCOND-MC15c-SDR-09' '--geometryVersion=ATLAS-R2-2015-03-01-00' '--digiSeedOffset1=1' '--digiSeedOffset2=1' '--steering=doRDO_TRIG' '--outputAODFile=AOD.pool.root' '--outputRDOFile=RDO.pool.root' '--outputESDFile=ESD.pool.root' --runNumber="110401" --pileupFinalBunch 6 --inputHighPtMinbiasHitsFile="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.361035.Pythia8EvtGen_A2MSTW2008LO_minbias_inelastic_high.merge.HITS.e3581_s2578_s2195/HITS.05608152._002668.pool.root.1" --inputLowPtMinbiasHitsFile="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/mc15_13TeV.361034.Pythia8EvtGen_A2MSTW2008LO_minbias_inelastic_low.merge.HITS.e3581_s2578_s2195/HITS.05608147._000503.pool.root.1" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_7teV_data.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_7teV_data.sh index 29dc67a372072c2b567595c8e1b3b06979999654..c466e93b8b19bc3ffef611ad10aefedc012d0a70 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_7teV_data.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_7teV_data.sh @@ -2,7 +2,14 @@ # # art-description: Jamie Boyd, Running on highmu Data at 7 TeV # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena + export TRF_ECHO=True; Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/high_mu-data11_7TeV.00179725.physics_JetTauEtmiss.merge.RAW._lb0021.data --autoConfiguration everything --conditionsTag="COMCOND-BLKPA-RUN1-07" --maxEvents 5 --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' 'rec.doTrigger=False' +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_8teV_data.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_8teV_data.sh index fe53544e949516870b69140ef6e75d712b1b0674..2a08085a54fc19b9448a24361ee25a23c264b28c 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_8teV_data.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_8teV_data.sh @@ -2,6 +2,13 @@ # # art-description: Jamie Boyd, data12_8TeV reconstruction # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data12_8TeV.00209109.physics_JetTauEtmiss.merge.RAW._lb0186._SFO-1._0001.1 --autoConfiguration everything --conditionsTag="COMCOND-BLKPA-RUN1-07" --maxEvents 5 --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputTAGFile myTAG.pool.root --outputHISTFile myHist.root --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' 'rec.doTrigger=False' + +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q220.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q220.sh index f15faaefc7af710b91199519a51dea9ee8b08aec..a2df7ebdb1c055da4fdcdd8b4bd3e6eaa2b19f3c 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q220.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q220.sh @@ -2,6 +2,13 @@ # # art-description: RIG convenors - q220 reconstruction # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --AMIConfig=q220 --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' 'DQMonFlags.doCTPMon=False' --inputBSFile='/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data15_cos.00251363.physics_IDCosmic.merge.RAW._lb0057._SFO-ALL._0001.1' + +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q221.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q221.sh index aac034bc4a2442599254253a504bd2a816cc69af..69d4c8f7a4c34f7f783133e02d56ee60707722f4 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q221.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q221.sh @@ -2,5 +2,12 @@ # # art-description: RIG convenors - q221 reconstruction # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --AMIConfig=q221 --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' + +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q222.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q222.sh index 80699080ec0bb25d55e7e5d47915085c99bb9c98..eee44b192f1c1713d56b15e06dd545008ff61d23 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q222.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q222.sh @@ -2,6 +2,13 @@ # # art-description: RIG convenors - q222 reconstruction # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --AMIConfig=q222 --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' 'DQMonFlags.doCTPMon=False' 'DQMonFlags.doHLTMon=False' --inputBSFile='/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data12_8TeV.00209109.physics_JetTauEtmiss.merge.RAW._lb0186._SFO-1._0001.1' + +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q223.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q223.sh index 0a79e9b89bca1b2193e4aa227179165404db8f5c..88a99c5b143693f18a56de9ae908714e83348b31 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q223.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recoshift_recotf_q223.sh @@ -2,7 +2,12 @@ # # art-description: RIG convenors - q223 reconstruction # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --AMIConfig=q223 --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' 'DQMonFlags.doCTPMon=False' --inputBSFile='/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data15_comm.00264034.physics_MinBias.daq.RAW._lb0644._SFO-6._0001.data' - +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_8teV_data_no.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_8teV_data_no.sh index ce425f5fb18b29d48119bbf89b09b802ea2c3a03..888b45fffce25dc20fef80033e7f75b2b117dc34 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_8teV_data_no.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_8teV_data_no.sh @@ -2,6 +2,13 @@ # # art-description: David Rousseau, data12_8TeV reconstruction, all reco switched off # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data12_8TeV.00209109.physics_JetTauEtmiss.merge.RAW._lb0186._SFO-1._0001.1 --maxEvents 5 --autoConfiguration everything --preExec 'rec.doCalo=False' 'rec.doInDet=False' 'rec.doMuon=False' 'rec.doJetMissingETTag=False' 'rec.doEgamma=False' 'rec.doMuonCombined=False' 'rec.doTau=False' 'rec.doTrigger=False' 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' --outputESDFile my.ESD.pool.root + +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_cosmic_data_2011.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_cosmic_data_2011.sh index 596399b47c5260db3bf5d85356ccb4adf3d3a12d..877ad97ec280bdc498bd611bc2385dae5e722a3f 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_cosmic_data_2011.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_cosmic_data_2011.sh @@ -2,6 +2,12 @@ # # art-description: Jamie Boyd - should be updated for 2015 # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data11_cos.00193024.physics_CosmicCalo.merge.RAW._lb0096._SFO-ALL._0001.1 --maxEvents 10 --autoConfiguration everything --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --outputHISTFile myHIST.root --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15.sh index 352e849fb083cdda73e646dd203bcc1e8749c6eb..6d78e7a3b9dc8b433e319e093a570dd427e4baf7 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15.sh @@ -2,7 +2,14 @@ # # art-description: David Rousseau # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --inputRDOFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/RDO.pool.root --maxEvents 5 --autoConfiguration everything --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' --outputESDFile my.ESD.pool.root +echo "art-result: $? Reco" + diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15_no.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15_no.sh index 639608429d06ec86d2ea050a2c6b43fec679edfa..9740e134e0d782573a02870343ddfd9064c06360 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15_no.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_recotf_mc15_no.sh @@ -2,6 +2,12 @@ # # art-description: David Rousseau # art-type: build +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --inputRDOFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/RDO.pool.root --maxEvents 5 --autoConfiguration everything --preExec 'rec.doDetailedAuditor=True' 'rec.doNameAuditor=True' 'rec.doCalo=False' 'rec.doInDet=False' 'rec.doMuon=False' 'rec.doJetMissingETTag=False' 'rec.doEgamma=False' 'rec.doMuonCombined=False' 'rec.doTau=False' 'rec.doTrigger=False' --outputESDFile my.ESD.pool.root +echo "art-result: $? Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_splash_events.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_splash_events.sh index 0f6f78c4c7187012199995022d946509495dfa50..13705702e498e95c04d534ee6b46fd16874896ca 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_splash_events.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_splash_events.sh @@ -2,8 +2,13 @@ # # art-description: Reco_tf runs on splash events with all streams # art-type: grid +# art-include: 21.0/Athena +# art-include: 21.0-TrigMC/Athena +# art-include: master/Athena +# art-include: 21.3/Athena +# art-include: 21.9/Athena export TRF_ECHO=True; Reco_tf.py --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data15_comm.00265545.physics_MinBias.merge.RAW._lb0048._SFO-ALL._0001.1 --autoConfiguration everything --conditionsTag="CONDBR2-BLKPA-2015-04" --geometryVersion="ATLAS-R2-2015-03-01-00" --outputESDFile myESD.pool.root --outputNTUP_MUONCALIBFile muonCalib.root --outputHISTFile myMergedMonitoring.root --outputTAGFile myTAG.pool.root --maxEvents 300 --preExec 'rec.doTrigger=False;' -echo "art-result: $?" +echo "art-result: $? Reco" diff --git a/Reconstruction/RecJobTransforms/share/skeleton.RAWtoALL_tf.py b/Reconstruction/RecJobTransforms/share/skeleton.RAWtoALL_tf.py index a1a6d0b73d0a9ad59b0c2ffd977066e003d0554d..a33f1f71daec30b8353fa25bd6944fcafaedc47c 100644 --- a/Reconstruction/RecJobTransforms/share/skeleton.RAWtoALL_tf.py +++ b/Reconstruction/RecJobTransforms/share/skeleton.RAWtoALL_tf.py @@ -140,10 +140,9 @@ if len(rec.DPDMakerScripts()) > 0: include( "RecExCommon/RecExCommon_topOptions.py" ) if hasattr(runArgs,"inputRDO_TRIGFile") and rec.doFileMetaData(): - #ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", - # OutputLevel = 3 ) - #svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] - svcMgr.MetaDataSvc.MetaDataTools += [ CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool",OutputLevel = 3 ) ] + ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", + OutputLevel = 3 ) + svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] #========================================================== # Use LZIB for compression of temporary outputs of AthenaMP diff --git a/Reconstruction/RecJobTransforms/share/skeleton.RAWtoESD_tf.py b/Reconstruction/RecJobTransforms/share/skeleton.RAWtoESD_tf.py index 72fdfe1668789d084ceb0bd40fabc41d9077db59..59c331a419e829f405b0c314a5c263a687a06fc0 100644 --- a/Reconstruction/RecJobTransforms/share/skeleton.RAWtoESD_tf.py +++ b/Reconstruction/RecJobTransforms/share/skeleton.RAWtoESD_tf.py @@ -200,10 +200,9 @@ if hasattr(runArgs,"topOptions"): include(runArgs.topOptions) else: include( "RecExCommon/RecExCommon_topOptions.py" ) if hasattr(runArgs,"inputRDO_TRIGFile") and rec.doFileMetaData(): - #ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", - # OutputLevel = 3 ) - #svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] - svcMgr.MetaDataSvc.MetaDataTools += [ CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool",OutputLevel = 3 ) ] + ToolSvc += CfgMgr.xAODMaker__TriggerMenuMetaDataTool( "TriggerMenuMetaDataTool", + OutputLevel = 3 ) + svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.TriggerMenuMetaDataTool ] #========================================================== # Use LZIB for compression of temporary outputs of AthenaMP diff --git a/Reconstruction/RecoTools/CaloClusterMatching/src/CaloClusterMatchingTool.h b/Reconstruction/RecoTools/CaloClusterMatching/src/CaloClusterMatchingTool.h index 9f1252c601f0e3452faa64404e0f3ae668e4b67c..5cc3a628b0743f3350342e82b6d9228ad39f3f5b 100644 --- a/Reconstruction/RecoTools/CaloClusterMatching/src/CaloClusterMatchingTool.h +++ b/Reconstruction/RecoTools/CaloClusterMatching/src/CaloClusterMatchingTool.h @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // CaloClusterMatchingTool.h @@ -48,8 +48,8 @@ namespace ClusterMatching { virtual ~CaloClusterMatchingTool(); // Athena algtool's Hooks - virtual StatusCode initialize(); - virtual StatusCode finalize(); + virtual StatusCode initialize() override; + virtual StatusCode finalize() override; /////////////////////////////////////////////////////////////////// // Const methods: diff --git a/Reconstruction/eflowEvent/CMakeLists.txt b/Reconstruction/eflowEvent/CMakeLists.txt index 337a4cc804d2808d42af3da2d13a1f16f47e88fa..51a83507c98eaecb8ca2f9c9e8da574d706b1b90 100644 --- a/Reconstruction/eflowEvent/CMakeLists.txt +++ b/Reconstruction/eflowEvent/CMakeLists.txt @@ -10,9 +10,8 @@ atlas_depends_on_subdirs( PUBLIC Calorimeter/CaloEvent Control/AthContainers Control/AthLinks - Control/CLIDSvc + Control/AthenaKernel Control/Navigation - Control/SGTools Event/EventKernel Event/FourMom Event/NavFourMom @@ -33,13 +32,13 @@ atlas_add_library( eflowEvent src/*.cxx PUBLIC_HEADERS eflowEvent INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} CaloEvent AthContainers AthLinks Navigation SGTools EventKernel FourMom NavFourMom xAODCaloEvent xAODPFlow xAODTracking GaudiKernel muonEvent Particle VxVertex ) + LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} CaloEvent AthContainers AthLinks Navigation AthenaKernel EventKernel FourMom NavFourMom xAODCaloEvent xAODPFlow xAODTracking GaudiKernel muonEvent Particle VxVertex ) atlas_generate_cliddb( eflowEvent ) atlas_add_dictionary( eflowEventDict eflowEvent/eflowEventDict.h eflowEvent/selection.xml INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} CaloEvent AthContainers AthLinks Navigation SGTools EventKernel FourMom NavFourMom xAODCaloEvent xAODPFlow xAODTracking GaudiKernel muonEvent Particle VxVertex eflowEvent + LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} CaloEvent AthContainers AthLinks Navigation AthenaKernel EventKernel FourMom NavFourMom xAODCaloEvent xAODPFlow xAODTracking GaudiKernel muonEvent Particle VxVertex eflowEvent NAVIGABLES eflowObjectContainer ) diff --git a/Reconstruction/eflowEvent/eflowEvent/eflowObjectContainer.h b/Reconstruction/eflowEvent/eflowEvent/eflowObjectContainer.h index a2328e88d4c80862d3f735d88a96061f99c08533..3638c66317cc874231adc0c77b67cd690937377b 100755 --- a/Reconstruction/eflowEvent/eflowEvent/eflowObjectContainer.h +++ b/Reconstruction/eflowEvent/eflowEvent/eflowObjectContainer.h @@ -1,12 +1,12 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef EFLOWOBJECTCONTAINER_H #define EFLOWOBJECTCONTAINER_H #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "NavFourMom/INavigable4MomentumCollection.h" diff --git a/Reconstruction/eflowRec/CMakeLists.txt b/Reconstruction/eflowRec/CMakeLists.txt index 52fc07d02356cf6a8f480e1f753f8fb1d75dad0a..67bf8d611eca32a087c6ec29ac9d50680b21ae68 100644 --- a/Reconstruction/eflowRec/CMakeLists.txt +++ b/Reconstruction/eflowRec/CMakeLists.txt @@ -13,9 +13,8 @@ atlas_depends_on_subdirs( PUBLIC Control/AthContainers Control/AthLinks Control/AthenaBaseComps - Control/CLIDSvc + Control/AthenaKernel Control/CxxUtils - Control/SGTools DetectorDescription/GeoPrimitives Event/xAOD/xAODCaloEvent Event/xAOD/xAODEgamma @@ -46,7 +45,7 @@ atlas_add_component( eflowRec src/*.cxx src/components/*.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} CaloEvent CaloIdentifier CaloRecLib AthContainers AthLinks AthenaBaseComps CxxUtils SGTools GeoPrimitives xAODCaloEvent xAODEgamma xAODMuon xAODPFlow xAODTracking GaudiKernel TrackVertexAssociationToolLib Particle RecoToolInterfaces TrkParameters CaloDetDescrLib CaloUtilsLib StoreGateLib SGtests FourMomUtils PathResolver TrkCaloExtension TrkParametersIdentificationHelpers InDetTrackSelectionToolLib ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} CaloEvent CaloIdentifier CaloRecLib AthContainers AthLinks AthenaBaseComps CxxUtils AthenaKernel GeoPrimitives xAODCaloEvent xAODEgamma xAODMuon xAODPFlow xAODTracking GaudiKernel TrackVertexAssociationToolLib Particle RecoToolInterfaces TrkParameters CaloDetDescrLib CaloUtilsLib StoreGateLib SGtests FourMomUtils PathResolver TrkCaloExtension TrkParametersIdentificationHelpers InDetTrackSelectionToolLib ) # Install files from the package: atlas_install_headers( eflowRec ) diff --git a/Reconstruction/eflowRec/eflowRec/PFOChargedCreatorAlgorithm.h b/Reconstruction/eflowRec/eflowRec/PFOChargedCreatorAlgorithm.h index 36f1341519bab859c20dabe97f19ff4cf9125a5d..04b8c515966216b4f83e8a0d9ba8aba2df222ff9 100644 --- a/Reconstruction/eflowRec/eflowRec/PFOChargedCreatorAlgorithm.h +++ b/Reconstruction/eflowRec/eflowRec/PFOChargedCreatorAlgorithm.h @@ -7,10 +7,7 @@ #include "GaudiKernel/ToolHandle.h" #include "StoreGate/DataHandle.h" -#include "TrackVertexAssociationTool/ITrackVertexAssociationTool.h" - #include "xAODPFlow/PFOContainer.h" -#include "xAODTracking/VertexContainer.h" class PFOChargedCreatorAlgorithm : public AthAlgorithm { @@ -21,7 +18,6 @@ public: ~PFOChargedCreatorAlgorithm() {} StatusCode initialize(); - void execute(const eflowCaloObject& energyFlowCaloObject, SG::WriteHandle<xAOD::PFOContainer>& chargedPFOContainerWriteHandle); StatusCode execute(); StatusCode finalize(); @@ -34,18 +30,11 @@ private: /** Toggle EOverP algorithm mode, whereby no charged shower subtraction is performed */ Gaudi::Property<bool> m_eOverPMode{this,"EOverPMode",false,"Toggle EOverP algorithm mode, whereby no charged shower subtraction is performed"}; - /** ToolHandle to tracking CP loose vertex selection tool */ - ToolHandle<CP::ITrackVertexAssociationTool> m_trackVertexAssociationTool{this,"TrackVertexAssociationTool","","ToolHandle to tracking CP loose vertex selection tool"}; - - /** ReadHandleKey for vertex container */ - SG::ReadHandleKey<xAOD::VertexContainer> m_vertexContainerReadHandleKey{this,"VertexContainerName","PrimaryVertices","ReadHandleKey for vertex container"}; - /** ReadHandleKey for eflowCaloObjectContainer */ SG::ReadHandleKey<eflowCaloObjectContainer> m_eflowCaloObjectContainerReadHandleKey{this,"eflowCaloObjectContainerName","eflowCaloObjects","ReadHandleKey for eflowCaloObjectContainer"}; /** WriteHandleKey for charged PFO */ SG::WriteHandleKey<xAOD::PFOContainer> m_chargedPFOContainerWriteHandleKey{this,"PFOOutputName","JetETMissChargedParticleFlowObjects","WriteHandleKey for charged PFO"}; - - + }; #endif diff --git a/Reconstruction/eflowRec/eflowRec/PFTrackClusterMatchingTool.h b/Reconstruction/eflowRec/eflowRec/PFTrackClusterMatchingTool.h index 7c3c384bb5083d5fc64045f2a364822e77a0186e..3490b783c73939b18904c9a232a84e5cf66c8da1 100644 --- a/Reconstruction/eflowRec/eflowRec/PFTrackClusterMatchingTool.h +++ b/Reconstruction/eflowRec/eflowRec/PFTrackClusterMatchingTool.h @@ -38,7 +38,7 @@ public: StatusCode finalize(); /** Get n clusters that matches best to a given track */ - std::vector<eflowRecCluster*> doMatches(const eflowRecTrack* track, const eflowRecClusterContainer* clusters, int n); + std::vector<eflowRecCluster*> doMatches(const eflowRecTrack* track, eflowRecClusterContainer* clusters, int n); std::vector<eflowRecCluster*> doMatches(const eflowRecTrack* track, const std::vector<eflowRecCluster*> clusters, int n); private: diff --git a/Reconstruction/eflowRec/eflowRec/eflowCaloObject.h b/Reconstruction/eflowRec/eflowRec/eflowCaloObject.h index f18c642efe9d4e99ccabbe2a676dee8fddee680b..5b2c42bc8736b924f1b8755377b90b770a600d5e 100644 --- a/Reconstruction/eflowRec/eflowRec/eflowCaloObject.h +++ b/Reconstruction/eflowRec/eflowRec/eflowCaloObject.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef EFLOWEVENT_EFLOWCALOOBJECT_H @@ -92,7 +92,7 @@ private: }; #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" class eflowCaloObjectContainer : public DataVector< eflowCaloObject > diff --git a/Reconstruction/eflowRec/eflowRec/eflowRecCluster.h b/Reconstruction/eflowRec/eflowRec/eflowRecCluster.h index 8a15fe1c249000e08e02502fb8f1ce2c29f63d5a..8f770069e7e66c15c9397615f86f3bd6630d9ee8 100644 --- a/Reconstruction/eflowRec/eflowRec/eflowRecCluster.h +++ b/Reconstruction/eflowRec/eflowRec/eflowRecCluster.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /* @@ -181,7 +181,7 @@ private: }; #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" class eflowRecClusterContainer : public DataVector< eflowRecCluster > diff --git a/Reconstruction/eflowRec/eflowRec/eflowRecTrack.h b/Reconstruction/eflowRec/eflowRec/eflowRecTrack.h index 78a54d78c151b12f4b5363b826a94d870bd6db21..8f591d9df6a31b1254d3f9be2e44df61242e8544 100644 --- a/Reconstruction/eflowRec/eflowRec/eflowRecTrack.h +++ b/Reconstruction/eflowRec/eflowRec/eflowRecTrack.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /* @@ -178,7 +178,7 @@ private: }; #include "AthContainers/DataVector.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" class eflowRecTrackContainer : public DataVector< eflowRecTrack > diff --git a/Reconstruction/eflowRec/share/PFlowMTConfig.py b/Reconstruction/eflowRec/share/PFlowMTConfig.py index 56ac69502467e4bb3b7cd02af53d38ce9958e3f0..d66a7a19d599e328a984d3ec084fb465ba6ef962 100644 --- a/Reconstruction/eflowRec/share/PFlowMTConfig.py +++ b/Reconstruction/eflowRec/share/PFlowMTConfig.py @@ -187,10 +187,6 @@ topSequence += PFAlgorithm from eflowRec.eflowRecConf import PFOChargedCreatorAlgorithm PFOChargedCreatorAlgorithm = PFOChargedCreatorAlgorithm("PFOChargedCreatorAlgorithm") -from TrackVertexAssociationTool.TrackVertexAssociationToolConf import CP__TightTrackVertexAssociationTool -PFlowTrackVertexAssociationTool = CP__TightTrackVertexAssociationTool(name="PFlowTightCPTool", dzSinTheta_cut=2.0, doPV=True) -PFOChargedCreatorAlgorithm.TrackVertexAssociationTool = PFlowTrackVertexAssociationTool - topSequence += PFOChargedCreatorAlgorithm from eflowRec.eflowRecConf import PFONeutralCreatorAlgorithm diff --git a/Reconstruction/eflowRec/src/PFClusterSelectorTool.cxx b/Reconstruction/eflowRec/src/PFClusterSelectorTool.cxx index 7939d876b9dbb7bf514e3656ecedda9c8f6e8cb7..208eec61221e08e7f7bda041801e7c74c633c346 100644 --- a/Reconstruction/eflowRec/src/PFClusterSelectorTool.cxx +++ b/Reconstruction/eflowRec/src/PFClusterSelectorTool.cxx @@ -3,6 +3,7 @@ #include "eflowRec/eflowRecCluster.h" #include "eflowRec/PFClusterSelectorTool.h" #include "xAODCaloEvent/CaloCluster.h" +#include <exception> PFClusterSelectorTool::PFClusterSelectorTool(const std::string& type,const std::string& name,const IInterface* parent): base_class(type, name, parent) @@ -68,28 +69,26 @@ StatusCode PFClusterSelectorTool::finalize(){ return StatusCode::SUCCESS; } -void PFClusterSelectorTool::retrieveLCCalCellWeight(const double& energy, const unsigned& index, std::map<IdentifierHash,double>& cellsWeight, const xAOD::CaloClusterContainer& caloCalClustersContainer) { - +void +PFClusterSelectorTool::retrieveLCCalCellWeight(const double& energy, const unsigned& index, std::map<IdentifierHash,double>& cellsWeight, const xAOD::CaloClusterContainer& caloCalClustersContainer) { /* match CaloCluster with CaloCalCluster to obtain cell weight */ /* first try the position at 'index'. If we are lucky, the loop can be avoided. */ /* Note the read handle has been tested to be valid prior to the call of this function */ const xAOD::CaloCluster* matchedCalCluster = caloCalClustersContainer.at(index); - if (matchedCalCluster){ - if (!(fabs(energy - matchedCalCluster->rawE()) < 0.001)) { matchedCalCluster = nullptr; - for (unsigned iCalCalCluster = 0; iCalCalCluster < caloCalClustersContainer.size(); - ++iCalCalCluster) { - matchedCalCluster = caloCalClustersContainer.at(iCalCalCluster); - if (fabs(energy - matchedCalCluster->rawE()) < 0.001) { - break; - } + for (unsigned iCalCalCluster = 0; iCalCalCluster < caloCalClustersContainer.size();++iCalCalCluster) { + matchedCalCluster = caloCalClustersContainer.at(iCalCalCluster); + if (fabs(energy - matchedCalCluster->rawE()) < 0.001) { + break; + } } if (!matchedCalCluster) ATH_MSG_WARNING("Invalid pointer to matched cluster - failed to find cluster match"); } - assert(matchedCalCluster); - + if (not matchedCalCluster){ + throw std::runtime_error("matchedCluster is a null pointer in PFClusterSelectorTool::retrieveLCCalCellWeight"); + } /* obtain cell index and cell weight */ const CaloDetDescrManager* calo_dd_man = CaloDetDescrManager::instance(); const CaloCell_ID* calo_id = calo_dd_man->getCaloCell_ID(); @@ -101,8 +100,6 @@ void PFClusterSelectorTool::retrieveLCCalCellWeight(const double& energy, const IdentifierHash myHashId = calo_id->calo_cell_hash(myId); cellsWeight[myHashId] = itCell.weight(); } - } - else ATH_MSG_WARNING("Invalid pointer to matched cluster - could not look up local hadron cell weights"); - + } else ATH_MSG_WARNING("Invalid pointer to matched cluster - could not look up local hadron cell weights"); return ; } diff --git a/Reconstruction/eflowRec/src/PFOChargedCreatorAlgorithm.cxx b/Reconstruction/eflowRec/src/PFOChargedCreatorAlgorithm.cxx index dde38be0878b80445a0f2ad4a8f37b5e37c9238c..bbca23ca89468e99e206b692bc723212f524855f 100644 --- a/Reconstruction/eflowRec/src/PFOChargedCreatorAlgorithm.cxx +++ b/Reconstruction/eflowRec/src/PFOChargedCreatorAlgorithm.cxx @@ -17,9 +17,6 @@ PFOChargedCreatorAlgorithm::PFOChargedCreatorAlgorithm(const std::string& name, StatusCode PFOChargedCreatorAlgorithm::initialize(){ - ATH_CHECK(m_trackVertexAssociationTool.retrieve()); - - ATH_CHECK(m_vertexContainerReadHandleKey.initialize()); ATH_CHECK(m_eflowCaloObjectContainerReadHandleKey.initialize()); ATH_CHECK(m_chargedPFOContainerWriteHandleKey.initialize()); @@ -27,18 +24,6 @@ StatusCode PFOChargedCreatorAlgorithm::initialize(){ return StatusCode::SUCCESS; } -void PFOChargedCreatorAlgorithm::execute(const eflowCaloObject& energyFlowCaloObject, SG::WriteHandle<xAOD::PFOContainer>& chargedPFOContainerWriteHandle){ - - ATH_MSG_DEBUG("Processing eflowCaloObject"); - - createChargedPFO(energyFlowCaloObject, true, chargedPFOContainerWriteHandle); - - SG::ReadHandle<xAOD::VertexContainer> vertexContainerReadHandle(m_vertexContainerReadHandleKey); - const xAOD::VertexContainer* theVertexContainer = vertexContainerReadHandle.ptr(); - addVertexLinksToChargedPFO(theVertexContainer, chargedPFOContainerWriteHandle); - -} - StatusCode PFOChargedCreatorAlgorithm::execute(){ ATH_MSG_DEBUG("Processing eflowCaloObjectContainer"); @@ -48,7 +33,7 @@ StatusCode PFOChargedCreatorAlgorithm::execute(){ /* Create Charged PFOs from all eflowCaloObjects */ SG::ReadHandle<eflowCaloObjectContainer> eflowCaloObjectContainerReadHandle(m_eflowCaloObjectContainerReadHandleKey); - for (auto thisEflowCaloObject : *eflowCaloObjectContainerReadHandle) execute(*thisEflowCaloObject,chargedPFOContainerWriteHandle); + for (auto thisEflowCaloObject : *eflowCaloObjectContainerReadHandle) createChargedPFO(*thisEflowCaloObject,true,chargedPFOContainerWriteHandle); return StatusCode::SUCCESS; } @@ -151,17 +136,3 @@ void PFOChargedCreatorAlgorithm::createChargedPFO(const eflowCaloObject& energyF }//loop over the tracks on the eflowCaloObject } - -void PFOChargedCreatorAlgorithm::addVertexLinksToChargedPFO(const xAOD::VertexContainer* theVertexContainer, SG::WriteHandle<xAOD::PFOContainer>& chargedPFOContainerWriteHandle){ - - //This is a loop on all xAOD::PFO with non-zero charge - for (auto theChargedPFO : *(chargedPFOContainerWriteHandle.ptr())){ - const xAOD::TrackParticle* theTrack = theChargedPFO->track(0); - if (theTrack){ - ElementLink< xAOD::VertexContainer> theVertexLink = m_trackVertexAssociationTool->getUniqueMatchVertexLink(*theTrack,*theVertexContainer); - bool haveSetLink = theChargedPFO->setVertexLink(theVertexLink); - if (!haveSetLink) ATH_MSG_WARNING(" Could not set vertex link on charged PFO"); - }//if valid pointer to xAOD::TrackParticle - } - -} diff --git a/Reconstruction/eflowRec/src/PFTrackClusterMatchingTool.cxx b/Reconstruction/eflowRec/src/PFTrackClusterMatchingTool.cxx index ec9d184a6a3dc643107cb37d4b8ff8ac6cdd9b8f..a4e6fbb02afe0b5e39bc8df402513e248a750e2e 100644 --- a/Reconstruction/eflowRec/src/PFTrackClusterMatchingTool.cxx +++ b/Reconstruction/eflowRec/src/PFTrackClusterMatchingTool.cxx @@ -58,10 +58,10 @@ StatusCode PFTrackClusterMatchingTool::finalize() { return StatusCode::SUCCESS; } -std::vector<eflowRecCluster*> PFTrackClusterMatchingTool::doMatches(const eflowRecTrack* track, const eflowRecClusterContainer* clusters, int nMatches) { +std::vector<eflowRecCluster*> PFTrackClusterMatchingTool::doMatches(const eflowRecTrack* track, eflowRecClusterContainer* clusters, int nMatches) { std::vector<eflowRecCluster*> vec_clusters; for (unsigned int iCluster = 0; iCluster < clusters->size(); ++iCluster) { - eflowRecCluster* thisEFRecCluster = const_cast<eflowRecCluster*>(clusters->at(iCluster)); + eflowRecCluster* thisEFRecCluster = clusters->at(iCluster); vec_clusters.push_back(thisEFRecCluster); } const std::vector<eflowRecCluster*> const_clusters = vec_clusters; diff --git a/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.cxx b/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.cxx index 457e2d31e5fd9e8adfc2cf6c5c6dde51f0675d2c..4477e902a4fa2d5c5a00d010359eda644d9b96bc 100644 --- a/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.cxx +++ b/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.cxx @@ -35,7 +35,15 @@ UPDATE : 25/06/2018 egammaSelectedTrackCopy::egammaSelectedTrackCopy(const std::string& name, ISvcLocator* pSvcLocator): - AthAlgorithm(name, pSvcLocator) + AthAlgorithm(name, pSvcLocator), + m_AllClusters{}, + m_SelectedClusters{}, + m_AllTracks{}, + m_SelectedTracks{}, + m_AllSiTracks{}, + m_SelectedSiTracks{}, + m_AllTRTTracks{}, + m_SelectedTRTTracks{} { } @@ -58,12 +66,16 @@ StatusCode egammaSelectedTrackCopy::initialize() { StatusCode egammaSelectedTrackCopy::egammaSelectedTrackCopy::finalize(){ - ATH_MSG_INFO ("AllTracks " << m_AllTracks); - ATH_MSG_INFO ("AllSiTracks " << m_AllSiTracks); - ATH_MSG_INFO ("AllTRTTracks " << m_AllTRTTracks); - ATH_MSG_INFO ("SelectedTracks " << m_SelectedTracks); - ATH_MSG_INFO ("SelectedSiTracks " << m_SelectedSiTracks); - ATH_MSG_INFO ("SelectedTRTTracks " << m_SelectedTRTTracks); + ATH_MSG_INFO ("--- egamma Selected Track Copy Statistics ---"); + ATH_MSG_INFO ("--- All Clusters: " << m_AllClusters); + ATH_MSG_INFO ("--- Selected Clusters: " << m_SelectedClusters); + ATH_MSG_INFO ("--- All Tracks: " << m_AllTracks); + ATH_MSG_INFO ("--- Selected Tracks: " << m_SelectedTracks); + ATH_MSG_INFO ("--- All Si Tracks: " << m_AllSiTracks); + ATH_MSG_INFO ("--- Selected Si Tracks: " << m_SelectedSiTracks); + ATH_MSG_INFO ("--- All TRT Tracks: " << m_AllTRTTracks); + ATH_MSG_INFO ("--- Selected TRT Tracks: " << m_SelectedTRTTracks); + ATH_MSG_INFO ("----------------------------------------- ---"); return StatusCode::SUCCESS; } @@ -92,12 +104,11 @@ StatusCode egammaSelectedTrackCopy::execute() ATH_MSG_DEBUG ("Track Particle container size: " <<trackTES->size() ); //Local counters - unsigned int allTracks(0); - unsigned int allTRTTracks(0); - unsigned int allSiTracks(0); - unsigned int selectedTracks(0); - unsigned int selectedTRTTracks(0); - unsigned int selectedSiTracks(0); + auto selectedTracks = m_SelectedTracks.buffer() ; + auto allSiTracks = m_AllSiTracks.buffer(); + auto selectedSiTracks = m_SelectedSiTracks.buffer(); + auto allTRTTracks = m_AllTRTTracks.buffer() ; + auto selectedTRTTracks = m_SelectedTRTTracks.buffer(); // // lets first check which clusters to seed on; std::vector<const xAOD::CaloCluster *> passingClusters; @@ -107,6 +118,9 @@ StatusCode egammaSelectedTrackCopy::execute() } } + m_AllClusters+=clusterTES->size(); + m_SelectedClusters+=passingClusters.size(); + m_AllTracks+=trackTES->size(); //Extrapolation Cache IEMExtrapolationTools::Cache cache{}; for(const xAOD::TrackParticle* track : *trackTES){ @@ -120,7 +134,6 @@ StatusCode egammaSelectedTrackCopy::execute() if( track->summaryValue(dummy,xAOD::numberOfSCTHits) ){ nhits+= dummy; } - ++allTracks; if(nhits<4){ isTRT = true; ++allTRTTracks; @@ -160,18 +173,6 @@ StatusCode egammaSelectedTrackCopy::execute() ATH_MSG_DEBUG ("Selected Track container size: " << viewCopy->size() ); ATH_CHECK( outputTrkPartContainer.record(std::move(viewCopy)) ); - /* - * Typical use for relaxed memory ordering is incrementing counters, - * (such as the reference counters of std::shared_ptr) - * since this only requires atomicity, but not ordering or synchronization. - */ - m_AllTracks.fetch_add(allTracks, std::memory_order_relaxed); - m_AllTRTTracks.fetch_add(allTRTTracks, std::memory_order_relaxed); - m_AllSiTracks.fetch_add(allSiTracks,std::memory_order_relaxed); - m_SelectedTracks.fetch_add(selectedTracks,std::memory_order_relaxed); - m_SelectedTRTTracks.fetch_add(selectedTRTTracks,std::memory_order_relaxed); - m_SelectedSiTracks.fetch_add(selectedSiTracks,std::memory_order_relaxed); - return StatusCode::SUCCESS; } diff --git a/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.h b/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.h index f8d4a8aa535000b1b0e5ed6fa3b3029c41aa9086..a423c205f8a9d1decaa428934b5fe72ce0834b5d 100644 --- a/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.h +++ b/Reconstruction/egamma/egammaAlgs/src/egammaSelectedTrackCopy.h @@ -26,8 +26,8 @@ #include "AthContainers/ConstDataVector.h" #include "egammaInterfaces/IegammaCaloClusterSelector.h" +#include "GaudiKernel/Counters.h" -#include <atomic> class CaloCluster; @@ -104,11 +104,13 @@ private: * inside the loops. * At the end they will add_fetch to these ones */ - mutable std::atomic_uint m_AllTracks{0}; - mutable std::atomic_uint m_AllTRTTracks{0}; - mutable std::atomic_uint m_AllSiTracks{0}; - mutable std::atomic_uint m_SelectedTracks{0}; - mutable std::atomic_uint m_SelectedTRTTracks{0}; - mutable std::atomic_uint m_SelectedSiTracks{0}; + mutable Gaudi::Accumulators::Counter<unsigned long> m_AllClusters; + mutable Gaudi::Accumulators::Counter<unsigned long> m_SelectedClusters; + mutable Gaudi::Accumulators::Counter<unsigned long> m_AllTracks; + mutable Gaudi::Accumulators::Counter<unsigned long> m_SelectedTracks; + mutable Gaudi::Accumulators::Counter<unsigned long> m_AllSiTracks; + mutable Gaudi::Accumulators::Counter<unsigned long> m_SelectedSiTracks; + mutable Gaudi::Accumulators::Counter<unsigned long> m_AllTRTTracks; + mutable Gaudi::Accumulators::Counter<unsigned long> m_SelectedTRTTracks; }; #endif diff --git a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx index 6f8c1b53f3f562a4dd1cdcec994e213f932c533e..0021b7b3b7bd074d7426c78f07b9bd707491c336 100644 --- a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx +++ b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.cxx @@ -11,19 +11,14 @@ #include "xAODCaloEvent/CaloClusterContainer.h" #include "xAODEgamma/ElectronContainer.h" #include "xAODEgamma/PhotonContainer.h" -#include "xAODEgamma/EgammaxAODHelpers.h" -#include "xAODTruth/xAODTruthHelpers.h" -#include "xAODTruth/TruthParticle.h" -#include "xAODTruth/TruthParticleAuxContainer.h" -#include "xAODTruth/TruthEventContainer.h" - -#include "egammaInterfaces/IEMExtrapolationTools.h" +#include <memory> typedef ElementLink<xAOD::TruthParticleContainer> TruthLink_t; typedef ElementLink<xAOD::CaloClusterContainer> ClusterLink_t; typedef ElementLink<xAOD::ElectronContainer> ElectronLink_t; typedef ElementLink<xAOD::PhotonContainer> PhotonLink_t; + // ============================================================= egammaTruthAssociationAlg::egammaTruthAssociationAlg(const std::string& name, @@ -45,13 +40,17 @@ StatusCode egammaTruthAssociationAlg::initialize() { ATH_CHECK(m_truthParticleContainerKey.initialize()); // Now the standard decoration handles - ATH_CHECK(m_electronDecKeys.initializeDecorKeys(m_electronContainerName)); - ATH_CHECK(m_photonDecKeys.initializeDecorKeys(m_photonContainerName)); + ATH_CHECK(initializeDecorKeys(m_electronDecKeys, m_electronDecName)); + ATH_CHECK(initializeDecorKeys(m_photonDecKeys, m_photonDecName)); if (m_matchClusters) { - ATH_CHECK(m_clusterDecKeys.initializeDecorKeys(m_clusterContainerName)); + ATH_CHECK(initializeDecorKeys(m_clusterDecKeys, m_clusterDecName)); + } else { + m_clusterDecKeys.clear(); } if (m_matchForwardElectrons){ - ATH_CHECK(m_fwdElectronDecKeys.initializeDecorKeys(m_fwdElectronContainerName)); + ATH_CHECK(initializeDecorKeys(m_fwdElectronDecKeys, m_fwdElectronDecName)); + } else { + m_fwdElectronDecKeys.clear(); } CHECK( m_mcTruthClassifier.retrieve() ); @@ -212,10 +211,73 @@ egammaTruthAssociationAlg::getEgammaTruthParticle(const xAOD::TruthParticle *tru } return 0; } + +//// The templated functions + +// ========================================================================== +template<class T> +StatusCode +egammaTruthAssociationAlg::initializeDecorKeys(SG::WriteDecorHandleKeyArray<T>& keys, + std::string name) +{ + if (keys.size() != 0) { + ATH_MSG_FATAL("The WriteDecorHandle should not be configured directly."); + return StatusCode::FAILURE; + } + + keys.emplace_back(name + ".truthParticleLink"); + keys.emplace_back(name + ".truthType"); + keys.emplace_back(name + ".truthOrigin"); + ATH_CHECK(keys.initialize()); + return StatusCode::SUCCESS; +} + +// ========================================================================== +// constructor +template<class T> +egammaTruthAssociationAlg::writeDecorHandles<T>::writeDecorHandles(const SG::WriteDecorHandleKeyArray<T>& hkeys) : + el(hkeys.at(0)), + type(hkeys.at(1)), + origin(hkeys.at(2)) +{ +} + + +// ========================================================================== +template<class T> egammaTruthAssociationAlg::MCTruthInfo_t +egammaTruthAssociationAlg::particleTruthClassifier(const T* particle, Cache *extrapolationCache) { + MCTruthInfo_t info; + IMCTruthClassifier::Info mcinfo; + mcinfo.extrapolationCache = extrapolationCache; + auto ret = m_mcTruthClassifier->particleTruthClassifier(particle, &mcinfo); + info.genPart = mcinfo.genPart; + info.first = ret.first; + info.second = ret.second; + return info; +} +/** Template specialisation for electrons: + * second pass based on the cluster to find true photons **/ +template<> egammaTruthAssociationAlg::MCTruthInfo_t +egammaTruthAssociationAlg::particleTruthClassifier<xAOD::Electron>(const xAOD::Electron* electron, Cache *extrapolationCache) { + MCTruthInfo_t info; + IMCTruthClassifier::Info mcinfo; + mcinfo.extrapolationCache = extrapolationCache; + auto ret = m_mcTruthClassifier->particleTruthClassifier(electron, &mcinfo); + if (ret.first == MCTruthPartClassifier::Unknown && + !xAOD::EgammaHelpers::isFwdElectron(electron) && electron->caloCluster()){ + ATH_MSG_DEBUG("Trying cluster-based truth classification for electron"); + ret = m_mcTruthClassifier->particleTruthClassifier( electron->caloCluster(), &mcinfo); + } + info.genPart = mcinfo.genPart; + info.first = ret.first; + info.second = ret.second; + return info; +} + // ========================================================================== template<class T, class L> StatusCode egammaTruthAssociationAlg::match(const xAOD::TruthParticleContainer& truthParticles, - const egammaTruthAssociationAlg::writeDecorHandleKeys<T>& hkeys, + const SG::WriteDecorHandleKeyArray<T>& hkeys, const SG::AuxElement::Accessor<L>& linkAccess, xAOD::TruthParticleContainer& egammaTruthContainer) { @@ -270,62 +332,3 @@ StatusCode egammaTruthAssociationAlg::match(const xAOD::TruthParticleContainer& } return StatusCode::SUCCESS; } - -// ========================================================================== -// not a constructor -template<class T> -StatusCode -egammaTruthAssociationAlg::writeDecorHandleKeys<T>::initializeDecorKeys(const std::string &name) -{ - keys[0] = name + ".truthParticleLink"; - keys[1] = name + ".truthType"; - keys[2] = name + ".truthOrigin"; - - for (auto& key : keys) { - ATH_CHECK(key.initialize()); - } - return StatusCode::SUCCESS; -} - -// ========================================================================== -// constructor -template<class T> -egammaTruthAssociationAlg::writeDecorHandles<T>::writeDecorHandles(const egammaTruthAssociationAlg::writeDecorHandleKeys<T>& hkeys) : - el(hkeys.keys[0]), - type(hkeys.keys[1]), - origin(hkeys.keys[2]) -{ -} - - -// ========================================================================== -template<class T> egammaTruthAssociationAlg::MCTruthInfo_t -egammaTruthAssociationAlg::particleTruthClassifier(const T* particle, Cache *extrapolationCache) { - MCTruthInfo_t info; - IMCTruthClassifier::Info mcinfo; - mcinfo.extrapolationCache = extrapolationCache; - auto ret = m_mcTruthClassifier->particleTruthClassifier(particle, &mcinfo); - info.genPart = mcinfo.genPart; - info.first = ret.first; - info.second = ret.second; - return info; -} -/** Template specialisation for electrons: - * second pass based on the cluster to find true photons **/ -template<> egammaTruthAssociationAlg::MCTruthInfo_t -egammaTruthAssociationAlg::particleTruthClassifier<xAOD::Electron>(const xAOD::Electron* electron, Cache *extrapolationCache) { - MCTruthInfo_t info; - IMCTruthClassifier::Info mcinfo; - mcinfo.extrapolationCache = extrapolationCache; - auto ret = m_mcTruthClassifier->particleTruthClassifier(electron, &mcinfo); - if (ret.first == MCTruthPartClassifier::Unknown && - !xAOD::EgammaHelpers::isFwdElectron(electron) && electron->caloCluster()){ - ATH_MSG_DEBUG("Trying cluster-based truth classification for electron"); - ret = m_mcTruthClassifier->particleTruthClassifier( electron->caloCluster(), &mcinfo); - } - info.genPart = mcinfo.genPart; - info.first = ret.first; - info.second = ret.second; - return info; -} - diff --git a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h index 78453085a6040815960843ad7b22d96ab61031bf..6deb2c10c64079c2397a23876569733163827ec9 100644 --- a/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h +++ b/Reconstruction/egamma/egammaAlgs/src/egammaTruthAssociationAlg.h @@ -2,8 +2,8 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -#ifndef EGAMMAREC_egammaTruthAssociationAlg_H -#define EGAMMAREC_egammaTruthAssociationAlg_H +#ifndef EGAMMAALGS_EGAMMATRUTHASSOCIATIONALG_H +#define EGAMMAALGS_EGAMMATRUTHASSOCIATIONALG_H #include "AthenaBaseComps/AthAlgorithm.h" #include "GaudiKernel/ToolHandle.h" @@ -12,19 +12,22 @@ #include "xAODEgamma/EgammaContainer.h" #include "xAODEgamma/ElectronContainer.h" #include "xAODEgamma/PhotonContainer.h" +#include "xAODEgamma/EgammaxAODHelpers.h" #include "xAODTruth/TruthParticleContainer.h" #include "xAODTruth/TruthEventContainer.h" +#include "xAODTruth/xAODTruthHelpers.h" +#include "xAODTruth/TruthParticle.h" +#include "xAODTruth/TruthParticleAuxContainer.h" #include "RecoToolInterfaces/IParticleCaloExtensionTool.h" #include "StoreGate/ReadHandleKey.h" #include "StoreGate/ReadHandle.h" #include "StoreGate/WriteHandleKey.h" -#include "StoreGate/WriteDecorHandleKey.h" +#include "StoreGate/WriteDecorHandleKeyArray.h" #include "StoreGate/WriteDecorHandle.h" -#include <memory> -#include <array> +#include <string> /** @class egammaTruthAssociationAlg @@ -61,16 +64,13 @@ private: const xAOD::TruthParticle* genPart; }; - /** @brief helper class to contain write docoration handle keys */ - template<class T> struct writeDecorHandleKeys { - StatusCode initializeDecorKeys(const std::string &name); // note, not constructor - - std::array<SG::WriteDecorHandleKey<T>, 3> keys; - }; + /// A function that initializes the decor handles, but also checks the naming convention + template<class T> StatusCode initializeDecorKeys(SG::WriteDecorHandleKeyArray<T>& keys, + std::string name); /** @brief helper class to contain write decoration handles */ template<class T> struct writeDecorHandles { - writeDecorHandles(const writeDecorHandleKeys<T>& keys); // constructor + writeDecorHandles(const SG::WriteDecorHandleKeyArray<T>& keys); // constructor SG::WriteDecorHandle<T, ElementLink<xAOD::TruthParticleContainer> > el; SG::WriteDecorHandle<T, int > type; @@ -85,7 +85,7 @@ private: /** @brief Loop over elements in the reco container, decorate them with truth info and * decorate the truth particles with links to the reco ones (reco<typeName>Link) **/ template<class T, class L> StatusCode match(const xAOD::TruthParticleContainer& truthParticles, - const egammaTruthAssociationAlg::writeDecorHandleKeys<T>& hkeys, + const SG::WriteDecorHandleKeyArray<T>& hkeys, const SG::AuxElement::Accessor<L>& linkAccess, xAOD::TruthParticleContainer& egammaTruthContainer) ; @@ -124,30 +124,46 @@ private: Gaudi::Property<bool> m_matchClusters {this, "MatchClusters", false, "Match clusters?"}; - /** @brief Name of the egamma cluster container **/ - Gaudi::Property<std::string> m_clusterContainerName {this, - "ClusterContainerName", "", + /** @brief The egamma cluster decor handle key array **/ + SG::WriteDecorHandleKeyArray<xAOD::CaloClusterContainer> m_clusterDecKeys {this, + "DoNotSet_ClusterContainerName", {}, + "Do not set; configuration via the string property"}; + + /** @brief The egamma cluster name property used to initialize the WriteDecorHandleKeyArray **/ + Gaudi::Property<std::string> m_clusterDecName {this, + "ClusterContainerName", "", "Name of the egamma cluster container"}; - writeDecorHandleKeys<xAOD::CaloClusterContainer> m_clusterDecKeys; - - /** @brief Name of the input electron container **/ - Gaudi::Property<std::string> m_electronContainerName {this, + + /** @brief The electron container decor handle key array **/ + SG::WriteDecorHandleKeyArray<xAOD::ElectronContainer> m_electronDecKeys {this, + "DoNotSet_ElectronContainerName", {}, + "Do not set; configuration via the string property"}; + + /** @brief The electron container name property used to initialize the WriteDecorHandleKeyArray **/ + Gaudi::Property<std::string> m_electronDecName {this, "ElectronContainerName", "", - "Name of the input electron container"}; - writeDecorHandleKeys<xAOD::ElectronContainer> m_electronDecKeys; + "Name of the input electron container"}; - /** @brief Name of the input electron container **/ - Gaudi::Property<std::string> m_fwdElectronContainerName {this, + /** @brief The fwd electron container decor handle key array **/ + SG::WriteDecorHandleKeyArray<xAOD::ElectronContainer> m_fwdElectronDecKeys {this, + "DoNotSet_FwdElectronContainerName", {}, + "Do not set; configuration via the string property"}; + + /** @brief The fwd electron name property used to initialize the WriteDecorHandleKeyArray **/ + Gaudi::Property<std::string> m_fwdElectronDecName {this, "FwdElectronContainerName", "", - "Name of the input fwd electron container"}; - writeDecorHandleKeys<xAOD::ElectronContainer> m_fwdElectronDecKeys; + "Name of the input fwd electron container"}; - /** @brief Name of the input photon container **/ - Gaudi::Property<std::string> m_photonContainerName {this, - "PhotonContainerName", "", - "Name of the input photon container"}; - writeDecorHandleKeys<xAOD::PhotonContainer> m_photonDecKeys; + /** @brief The photon container decor handle key array **/ + SG::WriteDecorHandleKeyArray<xAOD::PhotonContainer> m_photonDecKeys {this, + "DoNotSet_PhotonContainerName", {}, + "Do not set; configuration via the string property"}; + /** @brief The photon container name property used to initialize the WriteDecorHandleKeyArray **/ + Gaudi::Property<std::string> m_photonDecName {this, + "PhotonContainerName", "", + "Name of the input photon container"}; + /** @brief Name of the truth event container **/ SG::ReadHandleKey<xAOD::TruthEventContainer> m_truthEventContainerKey {this, "TruthEventContainerName", "", @@ -181,4 +197,5 @@ private: }; -#endif // EGAMMAREC_egammaTruthAssociationAlg_H + +#endif // EGAMMAALGS_EGAMMATRUTHASSOCIATIONALG_H diff --git a/Reconstruction/egamma/egammaCaloTools/src/egammaCaloClusterSelector.h b/Reconstruction/egamma/egammaCaloTools/src/egammaCaloClusterSelector.h index 23a2d70a5b87772049ff84ba42f368537b7cd122..3a882861b2cdcb650836a52d3c47d5b42ae23e5c 100644 --- a/Reconstruction/egamma/egammaCaloTools/src/egammaCaloClusterSelector.h +++ b/Reconstruction/egamma/egammaCaloTools/src/egammaCaloClusterSelector.h @@ -17,8 +17,6 @@ // STL includes #include <string> -using CLHEP::GeV; - /** * @class egammaCaloClusterSelector * @brief A tool which specifies whether a cluster passes a selection diff --git a/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.cxx b/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.cxx index d6eae90b36b176ceb9fa3f8b8c5d85b9cc11d250..641476c1dd52ebb69404bd249c865811a1b3cccd 100644 --- a/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.cxx +++ b/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.cxx @@ -60,46 +60,14 @@ bool egammaCheckEnergyDepositTool::checkFractioninSamplingCluster(const xAOD::Ca if (cluster==0) return false; // Retrieve energy in all samplings - double e0 = 0.; - double e1 = 0.; - double e2 = 0.; - double e3 = 0.; - - if ( cluster->inBarrel() && !cluster->inEndcap() ){ - e0 = cluster->eSample(CaloSampling::PreSamplerB); - e1 = cluster->eSample(CaloSampling::EMB1); - e2 = cluster->eSample(CaloSampling::EMB2); - e3 = cluster->eSample(CaloSampling::EMB3); - } - else if ( !cluster->inBarrel() && cluster->inEndcap() ){ - e0 = cluster->eSample(CaloSampling::PreSamplerE); - e1 = cluster->eSample(CaloSampling::EME1); - e2 = cluster->eSample(CaloSampling::EME2); - e3 = cluster->eSample(CaloSampling::EME3); + double e0 = cluster->energyBE(0); + double e1 = cluster->energyBE(1); + double e2 = cluster->energyBE(2); + double e3 = cluster->energyBE(3); + + if (e2<m_thrE2min){ + return false; } - // if both in barrel and end-cap then have to - // rely on energy deposition - // be careful to test 0 precisely either - // 0 (no deposit) > noise (which is negative) !!!! - else if ( cluster->inBarrel() && cluster->inEndcap() ) { - if ( ( ( cluster->eSample(CaloSampling::EMB2) != 0. && - cluster->eSample(CaloSampling::EME2) != 0. ) && - ( cluster->eSample(CaloSampling::EMB2) >= - cluster->eSample(CaloSampling::EME2) ) ) || - cluster->eSample(CaloSampling::EME2) == 0. ) { - e0 = cluster->eSample(CaloSampling::PreSamplerB); - e1 = cluster->eSample(CaloSampling::EMB1); - e2 = cluster->eSample(CaloSampling::EMB2); - e3 = cluster->eSample(CaloSampling::EMB3); - } - else { - e0 = cluster->eSample(CaloSampling::PreSamplerE); - e1 = cluster->eSample(CaloSampling::EME1); - e2 = cluster->eSample(CaloSampling::EME2); - e3 = cluster->eSample(CaloSampling::EME3); - } - } - // sum of energy in all samplings const double eallsamples = e0+e1+e2+e3; diff --git a/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.h b/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.h index c324f9dbc8e94a9fcd63cdb5f8b799f2440cac85..ea8e84026ef1af3463dbb9a9626b9f086c90f99b 100644 --- a/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.h +++ b/Reconstruction/egamma/egammaCaloTools/src/egammaCheckEnergyDepositTool.h @@ -6,18 +6,15 @@ #define EGAMMACALOTOOLS_EGAMMACHECKENERGYDEPOSITTOOL_H #include "AthenaBaseComps/AthAlgTool.h" - #include "xAODEgamma/EgammaFwd.h" #include "xAODCaloEvent/CaloClusterFwd.h" - #include "egammaInterfaces/IegammaCheckEnergyDepositTool.h" /** @class egammaCheckEnergyDepositTool Tool to check in each sampling that fraction of energy reconstructed is not greater thana a certain threshold - - @author Frederic Derue + @authors Frederic Derue */ class egammaCheckEnergyDepositTool : virtual public IegammaCheckEnergyDepositTool, public AthAlgTool { @@ -38,23 +35,25 @@ class egammaCheckEnergyDepositTool : virtual public IegammaCheckEnergyDepositToo virtual bool checkFractioninSamplingCluster(const xAOD::CaloCluster* cluster) const override final ; private: + /** @brief Threshold on minimum energy reconstructed in 2nd sampling */ + Gaudi::Property<double> m_thrE2min{this, "ThrE2min", 400., + "Threshold on minimum energy reconstructed in 2nd sampling"}; - /** @brief Threshold on maximal fraction of energy reconstructed in presampler */ + /** @brief Threshold on maximum fraction of energy reconstructed in presampler */ Gaudi::Property<double> m_thrF0max {this, "ThrF0max", 0.9, - "Threshold on maximal fraction of energy reconstructed in presampler"}; + "Threshold on maximum fraction of energy reconstructed in presampler"}; - /** @brief Threshold on maximal fraction of energy reconstructed in 1st sampling*/ + /** @brief Threshold on maximum fraction of energy reconstructed in 1st sampling*/ Gaudi::Property<double> m_thrF1max {this, "ThrF1max", 0.8, - "Threshold on maximal fraction of energy reconstructed in 1st sampling"}; + "Threshold on maximum fraction of energy reconstructed in 1st sampling"}; - /** @brief Threshold on maximal fraction of energy reconstructed in 2nd sampling */ + /** @brief Threshold on maximum fraction of energy reconstructed in 2nd sampling */ Gaudi::Property<double> m_thrF2max {this, "ThrF2max", 0.98, - "Threshold on maximal fraction of energy reconstructed in 2nd sampling"}; + "Threshold on maximum fraction of energy reconstructed in 2nd sampling"}; - /** @brief Threshold on maximal fraction of energy reconstructed in 3rd sampling */ + /** @brief Threshold on maximum fraction of energy reconstructed in 3rd sampling */ Gaudi::Property<double> m_thrF3max {this, "ThrF3max", 0.65, - "Threshold on maximal fraction of energy reconstructed in 3rd sampling"}; - + "Threshold on maximum fraction of energy reconstructed in 3rd sampling"}; }; diff --git a/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py b/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py index f840d8008163ed6db3246c9e797de62956b8fc8f..51d4020be5a3462a1bfc0d7135bd6366300b4be4 100644 --- a/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py +++ b/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py @@ -4,9 +4,6 @@ import egammaToolsConf from egammaRec.Factories import FcnWrapper, ToolFactory from egammaRec import egammaKeys -from LArBadChannelTool import LArBadChannelToolConf -LArBadChanTool = ToolFactory( LArBadChannelToolConf.LArBadChanTool ) - from CaloTools import CaloAffectedToolDefault as CATD CaloAffectedToolDefault = ToolFactory( CATD.CaloAffectedToolDefault ) @@ -19,5 +16,4 @@ egammaOQFlagsBuilder = ToolFactory( egammaToolsConf.egammaOQFlagsBuilder, TCutVsE = 2., RcellCut = 0.8, CellsName = egammaKeys.caloCellKey(), - LArBadChannelTool = LArBadChanTool, affectedTool = CaloAffectedToolDefault) diff --git a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx index 5300962705291cf53f882ae6030dd75ac8df94ec..7534043d2903ceecd6a4d5c3e3e13a7daf97645f 100644 --- a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx +++ b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx @@ -12,9 +12,7 @@ #include "StoreGate/StoreGateSvc.h" #include "CaloConditions/CaloAffectedRegionInfoVec.h" -#include "LArCabling/LArCablingService.h" #include "Identifier/HWIdentifier.h" -#include "LArRecConditions/ILArBadChanTool.h" #include "CaloIdentifier/LArEM_ID.h" #include "CaloIdentifier/CaloCell_ID.h" #include "CLHEP/Units/SystemOfUnits.h" @@ -61,21 +59,10 @@ StatusCode egammaOQFlagsBuilder::initialize() ATH_MSG_DEBUG(" Initializing egammaOQFlagsBuilder"); ATH_CHECK(m_cellsKey.initialize()); + ATH_CHECK(m_bcContKey.initialize()); - StatusCode sc; - - // Get BadChannelTool - sc=m_badChannelTool.retrieve(); - if (sc.isFailure()) { - msg(MSG::ERROR) << "Could not retrieve LArBadChannelTool " << m_badChannelTool << endmsg; - return StatusCode::FAILURE; - } else { - //if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "LArBadChannelTool" << m_badChannelTool << " retrieved" << endmsg; - } - - - //Get CaloAffectedTool - sc = m_affectedTool.retrieve(); + //Get CaloAffectedTool + StatusCode sc = m_affectedTool.retrieve(); if (sc.isFailure()){ msg(MSG::ERROR) << "Could not retrieve CaloAffectedTool " << m_affectedTool << endmsg; return StatusCode::FAILURE; @@ -84,16 +71,6 @@ StatusCode egammaOQFlagsBuilder::initialize() } - //Get LArCablingService - sc=m_larCablingSvc.retrieve(); - if (sc.isFailure()) { - msg(MSG::ERROR) << "Could not retrieve LArCablingService " << m_larCablingSvc << endmsg; - return StatusCode::FAILURE; - } else { - //if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "LArCablingService" << m_larCablingSvc << " retrieved" << endmsg; - } - - sc=detStore()->retrieve(m_calocellId, "CaloCell_ID"); if(sc.isFailure()){ msg(MSG::WARNING) << "Cannot retrieve online_id" << endmsg; @@ -228,6 +205,10 @@ StatusCode egammaOQFlagsBuilder::execute(const EventContext& ctx, xAOD::Egamma* if (foundCentralCell) { //Find the list of neighbours cells, to define the 3x3 cluster core std::vector<IdentifierHash> neighbourList = findNeighbours(cellCentrId); + + //Get Bad-channel info for this event + SG::ReadCondHandle<LArBadChannelCont> larBadChanHdl{m_bcContKey,ctx}; + const LArBadChannelCont* larBadChanCont=*larBadChanHdl; //Loop over all the Lar cluster cells xAOD::CaloCluster::const_cell_iterator cellIter = cluster->cell_begin(); @@ -269,8 +250,7 @@ StatusCode egammaOQFlagsBuilder::execute(const EventContext& ctx, xAOD::Egamma* //======================== Set LAr bits ============================================================// // - HWIdentifier LArhwid = m_larCablingSvc->createSignalChannelIDFromHash(cell->caloDDE()->calo_hash()); - LArBadChannel bc = m_badChannelTool->status(LArhwid); + const LArBadChannel bc = larBadChanCont-> offlineStatus(cell->ID()); // if(isACoreCell) { if((cell->provenance() & 0x0A00) == 0x0A00) { diff --git a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h index 95108ad156a8c3372704313e403101faa1f3d91c..ebd675b9beed5bdac4d8e58a3cced1bf1ceb2b6d 100644 --- a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h +++ b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h @@ -29,10 +29,12 @@ Most of the informations are given separately for each layer of the EM calorimet #include "xAODEgamma/EgammaFwd.h" #include "xAODCaloEvent/CaloClusterFwd.h" #include "StoreGate/ReadHandleKey.h" +#include "StoreGate/ReadCondHandleKey.h" +#include "LArRecConditions/LArBadChannelCont.h" +#include "LArCabling/LArOnOffIdMapping.h" class IToolSvc; class CaloCellContainer; -class ILArBadChanTool; class HWIdentifier; class LArEM_ID; class CaloCell_ID; @@ -56,13 +58,10 @@ class egammaOQFlagsBuilder : public egammaBaseTool StatusCode finalize(); private: - /** Handle to bad-channel tools */ - ToolHandle<ILArBadChanTool> m_badChannelTool {this, - "LArBadChannelTool", "LArBadChanTool", "This is the larBadChannelTool"}; - - ToolHandle<LArCablingService> m_larCablingSvc {this, - "LArCablingService", "LArCablingService", "LArCablingService"}; - + /** Handle to bad-channel CDO */ + SG::ReadCondHandleKey<LArBadChannelCont> m_bcContKey{this, + "LArBadChannelKey","LArBadChannel","Key of the LArBadChannelCont CDO"}; + ToolHandle<ICaloAffectedTool> m_affectedTool {this, "affectedTool", "CaloAffectedTool", "CaloAffectedTool"}; diff --git a/Simulation/Digitization/test/test_MC16a_Digi_tf_configuration.py b/Simulation/Digitization/test/test_MC16a_Digi_tf_configuration.py index 4c8aad963241442aac9fa3f397724c3f17f50880..adde2f181f0527dfee939588ccb2ca46d8f574d7 100755 --- a/Simulation/Digitization/test/test_MC16a_Digi_tf_configuration.py +++ b/Simulation/Digitization/test/test_MC16a_Digi_tf_configuration.py @@ -271,7 +271,7 @@ class TestDigitizationMC16a(unittest.TestCase): def test___LArPileUpTool_properties(self): tested_configurable_name = 'ToolSvc.LArPileUpTool' - expected_property_list = ['AutoCorrNoiseTool', 'DetStore', 'DigitContainer', 'DoDigiTruthReconstruction', 'EmBarrelHitContainerName', 'EmEndCapHitContainerName', 'EvtStore', 'ExtraInputs', 'ExtraOutputs', 'FirstXing', 'ForWardHitContainerName', 'HecHitContainerName', 'HighGainThreshFCAL', 'LastXing', 'MaskingTool', 'NoiseOnOff', 'Nsamples', 'RndmEvtOverlay', 'RndmSvc', 'TriggerTimeToolName', 'firstSample', 'useLArFloat'] + expected_property_list = ['DetStore', 'DigitContainer', 'DoDigiTruthReconstruction', 'EmBarrelHitContainerName', 'EmEndCapHitContainerName', 'EvtStore', 'ExtraInputs', 'ExtraOutputs', 'FirstXing', 'ForWardHitContainerName', 'HecHitContainerName', 'HighGainThreshFCAL', 'LastXing', 'MaskingTool', 'NoiseOnOff', 'Nsamples', 'RndmEvtOverlay', 'RndmSvc', 'TriggerTimeToolName', 'firstSample', 'useLArFloat'] expected_nonstring_properties = {'LastXing': '101', 'FirstXing': '-751', 'Nsamples': '4', 'EmBarrelHitContainerName': '["LArHitEMB"]', 'EmEndCapHitContainerName': '["LArHitEMEC"]', 'ForWardHitContainerName': '["LArHitFCAL"]', 'HecHitContainerName': '["LArHitHEC"]'} expected_string_properties = {'DigitContainer': 'LArDigitContainer_MC'} self._detailed_ConfigurablePropertiesCheck( diff --git a/Simulation/FastSimulation/FastSimulationEvent/CMakeLists.txt b/Simulation/FastSimulation/FastSimulationEvent/CMakeLists.txt index a830c125ce067603b62f7f764aa2892921d5c5a6..250309efbfc62509282a93bc3084aeed296daa42 100644 --- a/Simulation/FastSimulation/FastSimulationEvent/CMakeLists.txt +++ b/Simulation/FastSimulation/FastSimulationEvent/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( FastSimulationEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel DetectorDescription/GeoPrimitives Tracking/TrkEvent/TrkMaterialOnTrack ) diff --git a/Simulation/FastSimulation/FastSimulationEvent/FastSimulationEvent/GenParticleEnergyDepositMap.h b/Simulation/FastSimulation/FastSimulationEvent/FastSimulationEvent/GenParticleEnergyDepositMap.h index 9c5fb05ec296853bb1238af615ab9813e0e93dd0..5fe3f04dbb5714ccf9a7869aa20d1589fe77ac8b 100644 --- a/Simulation/FastSimulation/FastSimulationEvent/FastSimulationEvent/GenParticleEnergyDepositMap.h +++ b/Simulation/FastSimulation/FastSimulationEvent/FastSimulationEvent/GenParticleEnergyDepositMap.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -13,7 +13,7 @@ #include "TrkMaterialOnTrack/MaterialEffectsOnTrack.h" #include "GeoPrimitives/GeoPrimitives.h" // -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // STL #include <map> #include <utility> diff --git a/Simulation/G4Atlas/G4AtlasAlg/src/G4AtlasAlg.cxx b/Simulation/G4Atlas/G4AtlasAlg/src/G4AtlasAlg.cxx index 392171323cbaed2a2bea8ac2c95e830bac8ed413..df0e681e354de85d890e177cbd1dcfc097386e5c 100644 --- a/Simulation/G4Atlas/G4AtlasAlg/src/G4AtlasAlg.cxx +++ b/Simulation/G4Atlas/G4AtlasAlg/src/G4AtlasAlg.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Local includes @@ -34,6 +34,7 @@ #include "EventInfo/EventInfo.h" #include "MCTruthBase/TruthStrategyManager.h" #include "GeoModelInterfaces/IGeoModelSvc.h" +#include "GaudiKernel/IThreadInitTool.h" // call_once mutexes #include <mutex> @@ -247,6 +248,20 @@ StatusCode G4AtlasAlg::execute() static int n_Event=0; ATH_MSG_DEBUG("++++++++++++ G4AtlasAlg execute ++++++++++++"); +#ifdef G4MULTITHREADED + // In some rare cases, TBB may create more physical worker threads than + // were requested via the pool size. This can happen at any time. + // In that case, those extra threads will not have had the thread-local + // initialization done, leading to a crash. Try to detect that and do + // the initialization now if needed. + if (G4TransportationManager::GetTransportationManager()->GetNavigatorForTracking()->GetWorldVolume() == nullptr) + { + ToolHandle<IThreadInitTool> ti ("G4ThreadInitTool", nullptr); + ATH_CHECK( ti.retrieve() ); + ti->initThread(); + } +#endif + n_Event += 1; if (n_Event<=10 || (n_Event%100) == 0) { diff --git a/Simulation/G4Atlas/G4AtlasApps/share/jobOptions.G4AtlasMT.py b/Simulation/G4Atlas/G4AtlasApps/share/jobOptions.G4AtlasMT.py index a0920936a08a4547bffa0d758f71b5be3f4ee5a8..193242229ab018ca3e43d644fb0a15129a191b32 100644 --- a/Simulation/G4Atlas/G4AtlasApps/share/jobOptions.G4AtlasMT.py +++ b/Simulation/G4Atlas/G4AtlasApps/share/jobOptions.G4AtlasMT.py @@ -1,5 +1,5 @@ # -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration # # @@ -63,6 +63,12 @@ simFlags.EventFilter.set_Off() # Magnetic field simFlags.MagneticField.set_On() +# In rare cases, TBB can spawn new theads even after initialization is +# complete. But the GeoModel is needed in order to initialize new threads. +# So we cannot safely drop the GeoModel in MT jobs. +simFlags.ReleaseGeoModel = False + + # Debug outputs of user actions #CfgGetter.getPublicTool('G4UA::AthenaTrackingActionTool').OutputLevel = DEBUG diff --git a/Simulation/G4Atlas/G4AtlasTests/scripts/sim_parse_prof.py b/Simulation/G4Atlas/G4AtlasTests/scripts/sim_parse_prof.py index 525966321fbfd248a2627e29b6ed388de2ae9dab..61e98d6bc274c8a7fa3c9192ca19b31166df8389 100755 --- a/Simulation/G4Atlas/G4AtlasTests/scripts/sim_parse_prof.py +++ b/Simulation/G4Atlas/G4AtlasTests/scripts/sim_parse_prof.py @@ -236,12 +236,12 @@ class LibraryEstimator: 'G4AtlasAlg', 'G4SimTPCnvDict', 'G4StepLimitation', 'G4AtlasApps_TestConfiguration', 'G4AtlasTests_load', 'G4digitMuon', 'G4AtlasAlg_load', 'G4ProcessHelper', 'G4AtlasAlg_entries', 'G4SimMem', - 'G4SElectronMinus', 'G4STauMinus', 'G4FieldDict', 'G4HitMerger', + 'G4SElectronMinus', 'G4STauMinus', 'G4FieldDict', 'G4CommandInterface', 'G4BiasedMuBremsstrahlung', 'G4HitFilter', 'G4AtlasRunManager', 'G4mplAtlasTransportation', 'G4AtlasUtilitiesDict', 'G4AtlasTests_TestConfiguration', 'G4SMuonMinus', 'G4mplAtlasIonisationModel', 'G4mplAtlasIonisationWithDeltaModel', - 'G4simHiggs', 'G4HitMerge_trf', 'G4BiasedMuPairProductionModel', + 'G4simHiggs', 'G4BiasedMuPairProductionModel', 'G4CosmicOrFilter', 'G4UIcmdWithStrings', 'G4STauPlus', 'G4AtlantisDumper', 'G4mplEqMagElectricField', 'G4StepLimitProcess'] if name in atlasg4: diff --git a/Simulation/G4Sim/MCTruth/CMakeLists.txt b/Simulation/G4Sim/MCTruth/CMakeLists.txt index 1a61cf29bed1d1c99b53a5d9c72cf33393149377..b7f9bf9d80884bea410b4b36d527083594ac594b 100644 --- a/Simulation/G4Sim/MCTruth/CMakeLists.txt +++ b/Simulation/G4Sim/MCTruth/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( MCTruth ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel Generators/GeneratorObjects PRIVATE Simulation/ISF/ISF_Core/ISF_Event @@ -26,5 +25,5 @@ atlas_add_library( MCTruth PUBLIC_HEADERS MCTruth INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} SGTools GeneratorObjects + LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaKernel GeneratorObjects PRIVATE_LINK_LIBRARIES ISF_Event SimHelpers ) diff --git a/Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h b/Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h index a1a146c97f85ceae6c9a67c79ea13f8e1caa9513..30142b631753fcd6420c70d92ba0c15b0263b2bc 100644 --- a/Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h +++ b/Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h @@ -1,22 +1,17 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TruthEvent_H #define TruthEvent_H #include "HepMC/GenEvent.h" - -#ifndef __CINT__ -#include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef HepMC::GenEvent TruthEvent; typedef HepMC::GenVertex TruthVertex; typedef HepMC::GenParticle TruthParticle; -#ifndef __CINT__ CLASS_DEF( TruthEvent , 97924139 , 1 ) -#endif #endif diff --git a/Simulation/G4Sim/TrackRecord/CMakeLists.txt b/Simulation/G4Sim/TrackRecord/CMakeLists.txt index 10efc46695fceb4ac82e4b76d342d0843ac0a9bc..58013814dc4c4e5e00450d53941dd941c674fcd9 100644 --- a/Simulation/G4Sim/TrackRecord/CMakeLists.txt +++ b/Simulation/G4Sim/TrackRecord/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( TrackRecord ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel Simulation/HitManagement PRIVATE Database/AtlasSealCLHEP ) @@ -22,7 +21,7 @@ atlas_add_dictionary( TrackRecordDict TrackRecord/TrackRecordDict.h TrackRecord/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} SGTools HitManagement ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaKernel HitManagement ) # Install files from the package: atlas_install_headers( TrackRecord ) diff --git a/Simulation/G4Sim/TrackRecord/TrackRecord/TrackRecordCollection.h b/Simulation/G4Sim/TrackRecord/TrackRecord/TrackRecordCollection.h index 89e5c77216a926c388d377669614746a49917bfa..e5d176f99f9509650c28ec37b19b9e79c51d826c 100755 --- a/Simulation/G4Sim/TrackRecord/TrackRecord/TrackRecordCollection.h +++ b/Simulation/G4Sim/TrackRecord/TrackRecord/TrackRecordCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TrackRecordCollection_H @@ -7,18 +7,13 @@ #include "TrackRecord/TrackRecord.h" #include "HitManagement/AtlasHitsVector.h" - -#ifndef __CINT__ -#include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AtlasHitsVector<TrackRecord> TrackRecordCollection; typedef AtlasHitsVector<TrackRecord>::iterator TrackRecordIterator; typedef AtlasHitsVector<TrackRecord>::const_iterator TrackRecordConstIterator; -#ifndef __CINT__ CLASS_DEF (TrackRecordCollection, 1235574503, 1) -#endif #endif diff --git a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/CMakeLists.txt b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/CMakeLists.txt index 211cce3a5ced1fa206bc9127e1cfe0b913abc19d..10a879ac0a7e5c7a17f5fe76be8124e72c0abb99 100644 --- a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/CMakeLists.txt +++ b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( G4AncillarySimEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel Generators/GeneratorObjects Simulation/HitManagement ) @@ -23,12 +22,12 @@ atlas_add_library( G4AncillarySimEvent INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} SGTools GeneratorObjects HitManagement + LINK_LIBRARIES ${CLHEP_LIBRARIES} AthenaKernel GeneratorObjects HitManagement PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) atlas_add_dictionary( G4AncillarySimEventDict G4AncillarySimEvent/G4AncillarySimEventDict.h G4AncillarySimEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} SGTools GeneratorObjects HitManagement G4AncillarySimEvent ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaKernel GeneratorObjects HitManagement G4AncillarySimEvent ) diff --git a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/ScintillatorHitCollection.h b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/ScintillatorHitCollection.h index 08a702f671cf5a1d3aa9388fd864f9ce37bfe7e2..b607f04bcca2d09d4d730534ffe75236abf5c329 100755 --- a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/ScintillatorHitCollection.h +++ b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/ScintillatorHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef SCINTILLATORHITCOLLECTION_H @@ -7,16 +7,12 @@ #include "G4AncillarySimEvent/ScintillatorHit.h" #include "HitManagement/AthenaHitsVector.h" -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<ScintillatorHit> ScintillatorHitCollection; typedef AthenaHitsVector<ScintillatorHit>::iterator ScintillatorHitIterator; typedef AthenaHitsVector<ScintillatorHit>::const_iterator ScintillatorHitConstIterator; -#ifndef __CINT__ - CLASS_DEF(ScintillatorHitCollection, 917117117 , 1 ) -#endif +CLASS_DEF(ScintillatorHitCollection, 917117117 , 1 ) #endif // SCINTILLATORHITCOLLECTION_H diff --git a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/SimpleScintillatorHitCollection.h b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/SimpleScintillatorHitCollection.h index 0e68f4f14c074e7ed1152677481c2860ae47fee1..6f68cd1f3224c9895ed40b6b73f88ac30f76c05b 100755 --- a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/SimpleScintillatorHitCollection.h +++ b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/G4AncillarySimEvent/SimpleScintillatorHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef SIMPLESCINTILLATORHITCOLLECTION_H @@ -7,16 +7,12 @@ #include "G4AncillarySimEvent/SimpleScintillatorHit.h" #include "HitManagement/AthenaHitsVector.h" -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<SimpleScintillatorHit> SimpleScintillatorHitCollection; typedef AthenaHitsVector<SimpleScintillatorHit>::iterator SimpleScintillatorHitIterator; typedef AthenaHitsVector<SimpleScintillatorHit>::const_iterator SimpleScintillatorHitConstIterator; -#ifndef __CINT__ - CLASS_DEF(SimpleScintillatorHitCollection, 917117188 , 1 ) -#endif +CLASS_DEF(SimpleScintillatorHitCollection, 917117188 , 1 ) #endif // SIMPLESCINTILLATORHITCOLLECTION_H diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt index 275633dffd28044ece621b7817efb1c0f275dfda..e7f07e8b2031834ffc586aea72f45650f54f29d0 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/CMakeLists.txt @@ -59,6 +59,7 @@ atlas_add_root_dictionary( ISF_FastCaloSimEvent _dictSource ISF_FastCaloSimEvent/TFCSLateralShapeParametrization.h ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitBase.h ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitChain.h + ISF_FastCaloSimEvent/TFCSCenterPositionCalculation.h ISF_FastCaloSimEvent/TFCSHistoLateralShapeParametrization.h ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitNumberFromE.h ISF_FastCaloSimEvent/TFCSHitCellMapping.h diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h index e0f2f70b6b11dee541a4a1d5edc36d437efa7c26..4979ed94f1f9b1e0a1a189dbdd7b737ca2d236e7 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/LinkDef.h @@ -39,6 +39,7 @@ #include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrization.h" #include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitBase.h" #include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitChain.h" +#include "ISF_FastCaloSimEvent/TFCSCenterPositionCalculation.h" #include "ISF_FastCaloSimEvent/TFCSHistoLateralShapeParametrization.h" #include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitNumberFromE.h" #include "ISF_FastCaloSimEvent/TFCSHitCellMapping.h" @@ -145,6 +146,7 @@ #pragma link C++ class TFCSLateralShapeParametrization+; #pragma link C++ class TFCSLateralShapeParametrizationHitBase+; #pragma link C++ class TFCSLateralShapeParametrizationHitChain+; +#pragma link C++ class TFCSCenterPositionCalculation+; #pragma link C++ class TFCSHistoLateralShapeParametrization+; #pragma link C++ class TFCSLateralShapeParametrizationHitNumberFromE+; #pragma link C++ class TFCSHitCellMapping+; diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSCenterPositionCalculation.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSCenterPositionCalculation.h new file mode 100644 index 0000000000000000000000000000000000000000..5b2f4cda1279279f0b13adb9dcf4a33ee72098ef --- /dev/null +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/ISF_FastCaloSimEvent/TFCSCenterPositionCalculation.h @@ -0,0 +1,30 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef TFCSCenterPositionCalculation_h +#define TFCSCenterPositionCalculation_h + +#include "ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitBase.h" + + +class TFCSCenterPositionCalculation : public TFCSLateralShapeParametrizationHitBase { +public: + TFCSCenterPositionCalculation(const char* name=nullptr, const char* title=nullptr); + + /// Used to decorate Hit with extrap center positions + virtual FCSReturnCode simulate_hit(Hit& hit,TFCSSimulationState& simulstate,const TFCSTruthState* truth, const TFCSExtrapolationState* extrapol) override; + inline void setExtrapWeight(const float weight){m_extrapWeight=weight;} + inline float getExtrapWeight(){return m_extrapWeight;} + void Print(Option_t *option = "") const override; +private: + + float m_extrapWeight; + ClassDefOverride(TFCSCenterPositionCalculation,1) //TFCSCenterPositionCalculation +}; + +#if defined(__ROOTCLING__) && defined(__FastCaloSimStandAlone__) +#pragma link C++ class TFCSCenterPositionCalculation+; +#endif + +#endif diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSCenterPositionCalculation.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSCenterPositionCalculation.cxx new file mode 100644 index 0000000000000000000000000000000000000000..4dd796537b99f298ffe81567053d19ba6009ed0f --- /dev/null +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSCenterPositionCalculation.cxx @@ -0,0 +1,41 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#include "ISF_FastCaloSimEvent/TFCSCenterPositionCalculation.h" +#include "ISF_FastCaloSimEvent/FastCaloSim_CaloCell_ID.h" + +#include "ISF_FastCaloSimEvent/TFCSSimulationState.h" +#include "ISF_FastCaloSimEvent/TFCSExtrapolationState.h" + +//============================================= +//======= TFCSCenterPositionCalculation ========= +//============================================= + +TFCSCenterPositionCalculation::TFCSCenterPositionCalculation(const char* name, const char* title):TFCSLateralShapeParametrizationHitBase(name,title),m_extrapWeight(0.5) +{ +} + +FCSReturnCode TFCSCenterPositionCalculation::simulate_hit(Hit& hit,TFCSSimulationState& /*simulstate*/,const TFCSTruthState* /*truth*/, const TFCSExtrapolationState* extrapol) +{ + const int cs=calosample(); + hit.setCenter_r( (1.-m_extrapWeight)*extrapol->r(cs, SUBPOS_ENT) + m_extrapWeight*extrapol->r(cs, SUBPOS_EXT) ); + hit.setCenter_z( (1.-m_extrapWeight)*extrapol->z(cs, SUBPOS_ENT) + m_extrapWeight*extrapol->z(cs, SUBPOS_EXT) ); + hit.setCenter_eta( (1.-m_extrapWeight)*extrapol->eta(cs, SUBPOS_ENT) + m_extrapWeight*extrapol->eta(cs, SUBPOS_EXT) ); + hit.setCenter_phi( (1.-m_extrapWeight)*extrapol->phi(cs, SUBPOS_ENT) + m_extrapWeight*extrapol->phi(cs, SUBPOS_EXT) ); + + ATH_MSG_DEBUG("TFCSCenterPositionCalculation: center_r: " << hit.center_r() << " center_z: " << hit.center_z() << " center_phi: " << hit.center_phi() << " center_eta: " << hit.center_eta() ); + + return FCSSuccess; +} + +void TFCSCenterPositionCalculation::Print(Option_t* option) const +{ + TString opt(option); + bool shortprint=opt.Index("short")>=0; + bool longprint=msgLvl(MSG::DEBUG) || (msgLvl(MSG::INFO) && !shortprint); + TString optprint=opt;optprint.ReplaceAll("short",""); + TFCSLateralShapeParametrizationHitBase::Print(option); + + if(longprint) ATH_MSG_INFO(optprint << " Weight for extrapolated position: " << m_extrapWeight); +} diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSHistoLateralShapeParametrization.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSHistoLateralShapeParametrization.cxx index fe310de94c0f6a2dd1948b9efdf2c64c77c8cdbf..733d4067ef616c2863bc4b168775e697b5072eb5 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSHistoLateralShapeParametrization.cxx +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSHistoLateralShapeParametrization.cxx @@ -55,6 +55,10 @@ FCSReturnCode TFCSHistoLateralShapeParametrization::simulate_hit(Hit &hit, TFCSS const double center_r=0.5*( extrapol->r(cs, CaloSubPos::SUBPOS_ENT) + extrapol->r(cs, CaloSubPos::SUBPOS_EXT) ); const double center_z=0.5*( extrapol->z(cs, CaloSubPos::SUBPOS_ENT) + extrapol->z(cs, CaloSubPos::SUBPOS_EXT) ); + if (TMath::IsNaN(center_r) or TMath::IsNaN(center_z) or TMath::IsNaN(center_eta) or TMath::IsNaN(center_phi)) { //Check if extrapolation fails + return FCSFatal; + } + float alpha, r, rnd1, rnd2; rnd1 = CLHEP::RandFlat::shoot(simulstate.randomEngine()); rnd2 = CLHEP::RandFlat::shoot(simulstate.randomEngine()); diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx index f8663edb9a4815f91c82804d846aa920a82afbd6..ca3a14cc4c17bf5731c18cab332c790ecc47ac94 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcV2.cxx @@ -79,7 +79,7 @@ StatusCode ISF::FastCaloSimSvcV2::initialize() const CaloDetDescrManager* calo_dd_man = CaloDetDescrManager::instance(); const FCALDetectorManager * fcalManager=NULL; - detStore()->retrieve(fcalManager); + ATH_CHECK(detStore()->retrieve(fcalManager)); m_caloGeo = new CaloGeometryFromCaloDDM(); m_caloGeo->LoadGeometryFromCaloDDM(calo_dd_man); @@ -193,7 +193,7 @@ StatusCode ISF::FastCaloSimSvcV2::simulate(const ISF::ISFParticle& isfp) ATH_MSG_VERBOSE("NEW PARTICLE! FastCaloSimSvcV2 called with ISFParticle: " << isfp); Amg::Vector3D particle_position = isfp.position(); - + Amg::Vector3D particle_direction(isfp.momentum().x(),isfp.momentum().y(),isfp.momentum().z()); //int barcode=isfp.barcode(); // isfp barcode, eta and phi: in case we need them // float eta_isfp = particle_position.eta(); @@ -212,7 +212,9 @@ StatusCode ISF::FastCaloSimSvcV2::simulate(const ISF::ISFParticle& isfp) m_FastCaloSimCaloExtrapolation->extrapolate(extrapol,&truth); TFCSSimulationState simulstate(m_randomEngine); - ATH_MSG_DEBUG(" particle: " << isfp.pdgCode() << " Ekin: " << isfp.ekin() << " eta: " << particle_position.eta()); + ATH_MSG_DEBUG(" particle: " << isfp.pdgCode() << " Ekin: " << isfp.ekin() << " position eta: " << particle_position.eta() << " direction eta: " << particle_direction.eta() << " position phi: " << particle_position.phi() << "direction phi: " << particle_direction.phi()); + m_param->setLevel(MSG::DEBUG); + FCSReturnCode status = m_param->simulate(simulstate, &truth, &extrapol); if (status != FCSSuccess) { return StatusCode::FAILURE; diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/CMakeLists.txt b/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/CMakeLists.txt index abaeb5384401aea15a64850115c42f5a026943ec..76d5e7e4862c40fb4c7e4be73839ee1ab65f9a36 100644 --- a/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/CMakeLists.txt +++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( ISF_FatrasDetDescrModel ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel DetectorDescription/GeoPrimitives DetectorDescription/Identifier Event/EventPrimitives @@ -34,6 +33,6 @@ atlas_add_library( ISF_FatrasDetDescrModel src/*.cxx PUBLIC_HEADERS ISF_FatrasDetDescrModel INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} SGTools GeoPrimitives Identifier EventPrimitives InDetIdentifier InDetReadoutGeometry ISF_FatrasDetDescrInterfaces TrkDetDescrUtils TrkDetElementBase TrkGeometry TrkSurfaces TrkEventPrimitives TrkParameters StoreGateLib SGtests + LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaKernel GeoPrimitives Identifier EventPrimitives InDetIdentifier InDetReadoutGeometry ISF_FatrasDetDescrInterfaces TrkDetDescrUtils TrkDetElementBase TrkGeometry TrkSurfaces TrkEventPrimitives TrkParameters StoreGateLib SGtests PRIVATE_LINK_LIBRARIES GaudiKernel ) diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/ISF_FatrasDetDescrModel/IdHashDetElementCollection.h b/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/ISF_FatrasDetDescrModel/IdHashDetElementCollection.h index 3352af542e5de8881f2e6b41b870c2f37ad907eb..2015e17cbbcfa238b2926e75067b300596769470 100644 --- a/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/ISF_FatrasDetDescrModel/IdHashDetElementCollection.h +++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasDetDescrModel/ISF_FatrasDetDescrModel/IdHashDetElementCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Dear emacs, this is -*-c++-*- @@ -11,7 +11,7 @@ #include "Identifier/IdentifierHash.h" #include "ISF_FatrasDetDescrModel/PlanarDetElement.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" namespace iFatras { typedef std::multimap<IdentifierHash, iFatras::PlanarDetElement*> IdHashDetElementCollection; diff --git a/TileCalorimeter/TileConditions/CMakeLists.txt b/TileCalorimeter/TileConditions/CMakeLists.txt index c21cd2bb1a96108a8937df79405a4a28a2ff3cae..8b15967960a951eb60705ae760c6ccc904d6fffb 100644 --- a/TileCalorimeter/TileConditions/CMakeLists.txt +++ b/TileCalorimeter/TileConditions/CMakeLists.txt @@ -15,8 +15,6 @@ atlas_depends_on_subdirs( PUBLIC Calorimeter/CaloIdentifier Control/AthenaBaseComps Control/AthenaKernel - Control/CLIDSvc - Control/SGTools Control/StoreGate Database/AthenaPOOL/AthenaPoolUtilities DetectorDescription/Identifier @@ -44,7 +42,7 @@ atlas_add_library( TileConditionsLib INCLUDE_DIRS ${CORAL_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CORAL_LIBRARIES} ${CLHEP_LIBRARIES} CaloConditions CaloIdentifier AthenaBaseComps AthenaKernel SGTools AthenaPoolUtilities Identifier GaudiKernel TileCalibBlobObjs TileIdentifier StoreGateLib SGtests CaloDetDescrLib + LINK_LIBRARIES ${CORAL_LIBRARIES} ${CLHEP_LIBRARIES} CaloConditions CaloIdentifier AthenaBaseComps AthenaKernel AthenaPoolUtilities Identifier GaudiKernel TileCalibBlobObjs TileIdentifier StoreGateLib SGtests CaloDetDescrLib PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} TileDetDescr PathResolver ) atlas_add_component( TileConditions @@ -56,7 +54,7 @@ atlas_add_dictionary( TileConditionsDict TileConditions/TileConditionsDict.h TileConditions/selection.xml INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${Boost_LIBRARIES} ${CORAL_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} CaloConditions CaloIdentifier AthenaBaseComps AthenaKernel SGTools StoreGateLib SGtests AthenaPoolUtilities Identifier GaudiKernel TileCalibBlobObjs TileIdentifier CaloDetDescrLib TileDetDescr PathResolver TileConditionsLib ) + LINK_LIBRARIES ${Boost_LIBRARIES} ${CORAL_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} CaloConditions CaloIdentifier AthenaBaseComps AthenaKernel StoreGateLib SGtests AthenaPoolUtilities Identifier GaudiKernel TileCalibBlobObjs TileIdentifier CaloDetDescrLib TileDetDescr PathResolver TileConditionsLib ) # Test(s) in the package: atlas_add_test( TileCondToolTMDB_test diff --git a/TileCalorimeter/TileConditions/TileConditions/TileCondDCS_Data.h b/TileCalorimeter/TileConditions/TileConditions/TileCondDCS_Data.h index 83d1494b8b5ecbf5442ed0ae008b06a8dc06a0e3..361ee623c54e7c7f8503997388beb491c868130f 100644 --- a/TileCalorimeter/TileConditions/TileConditions/TileCondDCS_Data.h +++ b/TileCalorimeter/TileConditions/TileConditions/TileCondDCS_Data.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /** @@ -11,7 +11,7 @@ #ifndef TILECONDDCS_DATA_H #define TILECONDDCS_DATA_H -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "AthenaPoolUtilities/CondAttrListCollection.h" #include <map> #include <vector> diff --git a/TileCalorimeter/TileConditions/TileConditions/TileInfo.h b/TileCalorimeter/TileConditions/TileConditions/TileInfo.h index 099a948f89165462cf7d48f787a4a96a8d356934..99a938a9e830e5a5384ace1462734f2ddecdc65a 100644 --- a/TileCalorimeter/TileConditions/TileConditions/TileInfo.h +++ b/TileCalorimeter/TileConditions/TileConditions/TileInfo.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TILECONDITIONS_TILEINFO_H @@ -397,7 +397,11 @@ class TileInfo : public DataObject { /** NGO Need description. Do we need this function? */ double ttl1Phase(const int /* posneg */, const int /* ieta */, const int /* iphi */) const {return 0.;} - + /** + * @brief Conversion from ADC sigma noise to OF sigma noise + * @return Conversion factor from ADC sigma noise to OF sigma noise + */ + float getNoiseScaleFactor(void) const; private: @@ -525,4 +529,11 @@ class TileInfo : public DataObject { }; + +// inlines +inline +float TileInfo::getNoiseScaleFactor(void) const { + return m_noiseScaleFactor[m_noiseScaleIndex]; +} + #endif //TILECONDITIONS_TILEINFO_H diff --git a/TileCalorimeter/TileConditions/src/TileCondToolTMDB.cxx b/TileCalorimeter/TileConditions/src/TileCondToolTMDB.cxx index 15d155ca65a63ead1334c426e4c79f57044e61bd..5bd240ab3f4a560811c0c05e9120cf157726c096 100644 --- a/TileCalorimeter/TileConditions/src/TileCondToolTMDB.cxx +++ b/TileCalorimeter/TileConditions/src/TileCondToolTMDB.cxx @@ -110,8 +110,8 @@ unsigned int TileCondToolTMDB::getWeights(unsigned int drawerIdx, TMDB::CHANNEL float TileCondToolTMDB::channelCalib(unsigned int drawerIdx, TMDB::CHANNEL channel, float amplitude) const { SG::ReadCondHandle<TileCalibData<TileCalibDrawerFlt>> calibData(m_calibDataKey); - return calibData->getCalibDrawer(drawerIdx)->getData(channel, 0, 0) - + amplitude * calibData->getCalibDrawer(drawerIdx)->getData(channel, 0, 1); + return amplitude * calibData->getCalibDrawer(drawerIdx)->getData(channel, 0, 0) + + calibData->getCalibDrawer(drawerIdx)->getData(channel, 0, 1); } diff --git a/TileCalorimeter/TileConditions/test/TileCondToolTMDB_test.cxx b/TileCalorimeter/TileConditions/test/TileCondToolTMDB_test.cxx index 43c3c8e1d753741b1aad1381035da3c305b1a2c4..0909ce896b7fda516d160503ba3737b6eaffdebc 100644 --- a/TileCalorimeter/TileConditions/test/TileCondToolTMDB_test.cxx +++ b/TileCalorimeter/TileConditions/test/TileCondToolTMDB_test.cxx @@ -206,7 +206,7 @@ void test1() { std::vector<float> samples = {10, 20, 40, 80, 40, 20, 10}; amplitude = tool->channelCalib(TMF_DRAWER_IDX, TMDB::D5L, samples); - assert(Athena_test::isEqual(amplitude, 2121.0)); + assert(Athena_test::isEqual(amplitude, 1062.0)); } diff --git a/TileCalorimeter/TileConditions/test/TileDCSComponents_test.cxx b/TileCalorimeter/TileConditions/test/TileDCSComponents_test.cxx index f233777b253d7d0b99c87facef39950dba03811e..129cf71b35c8af64946988c471f214dcc06b8fa5 100644 --- a/TileCalorimeter/TileConditions/test/TileDCSComponents_test.cxx +++ b/TileCalorimeter/TileConditions/test/TileDCSComponents_test.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #undef NDEBUG @@ -17,7 +17,7 @@ #include "TestTools/initGaudi.h" #include "AthenaBaseComps/AthAlgorithm.h" #include "AthenaBaseComps/AthAlgTool.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "GaudiKernel/ISvcLocator.h" #include "GaudiKernel/ServiceHandle.h" diff --git a/TileCalorimeter/TileDetDescr/CMakeLists.txt b/TileCalorimeter/TileDetDescr/CMakeLists.txt index 5460aeae96e923fe37374c48f56652f4e4397608..6dd11c28a45a5b3a874a9e0e909c65e04c7a6c17 100644 --- a/TileCalorimeter/TileDetDescr/CMakeLists.txt +++ b/TileCalorimeter/TileDetDescr/CMakeLists.txt @@ -9,8 +9,6 @@ atlas_subdir( TileDetDescr ) atlas_depends_on_subdirs( PUBLIC Calorimeter/CaloIdentifier Control/AthenaKernel - Control/CLIDSvc - Control/SGTools Database/RDBAccessSvc DetectorDescription/GeoModel/GeoModelKernel DetectorDescription/Identifier @@ -29,6 +27,6 @@ atlas_add_library( TileDetDescr src/Tile*.cxx PUBLIC_HEADERS TileDetDescr INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} - LINK_LIBRARIES ${Boost_LIBRARIES} ${CORAL_LIBRARIES} CaloIdentifier SGTools GeoModelKernel Identifier CaloDetDescrLib + LINK_LIBRARIES ${Boost_LIBRARIES} ${CORAL_LIBRARIES} CaloIdentifier AthenaKernel GeoModelKernel Identifier CaloDetDescrLib PRIVATE_LINK_LIBRARIES AtlasDetDescr GaudiKernel TileIdentifier ) diff --git a/TileCalorimeter/TileDetDescr/TileDetDescr/TileDetDescrManager.h b/TileCalorimeter/TileDetDescr/TileDetDescr/TileDetDescrManager.h index bd071d44153a0264573e0a9865bfd17566a19bd7..b4275a44e9aba416d6be0a069cafb6ce25bf3651 100755 --- a/TileCalorimeter/TileDetDescr/TileDetDescr/TileDetDescrManager.h +++ b/TileCalorimeter/TileDetDescr/TileDetDescr/TileDetDescrManager.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileDetDescrManager_h @@ -239,7 +239,7 @@ class TileDetDescrManager : public GeoVDetectorManager }; #ifndef GAUDI_NEUTRAL -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" CLASS_DEF(TileDetDescrManager, 2941, 1) #endif diff --git a/TileCalorimeter/TileEvent/CMakeLists.txt b/TileCalorimeter/TileEvent/CMakeLists.txt index 76d2f87e4b000cf698127f4733845667c2d44d7d..ccbf265b056c0c14c09564679ca5fb8afcb0bf1b 100644 --- a/TileCalorimeter/TileEvent/CMakeLists.txt +++ b/TileCalorimeter/TileEvent/CMakeLists.txt @@ -18,6 +18,7 @@ atlas_depends_on_subdirs( PUBLIC TileCalorimeter/TileIdentifier TileCalorimeter/TileSimEvent PRIVATE + DetectorDescription/IdDictParser TileCalorimeter/TileCalib/TileCalibBlobObjs Calorimeter/CaloDetDescr Calorimeter/CaloIdentifier @@ -40,3 +41,51 @@ atlas_add_dictionary( TileEventDict INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} LINK_LIBRARIES ${ROOT_LIBRARIES} CaloEvent AthContainers StoreGateLib SGtests Identifier GaudiKernel TileConditionsLib TileIdentifier TileSimEvent CaloDetDescrLib CaloIdentifier SGTools TileEvent EventContainers ) + +atlas_add_test( TileRawChannelCollection_test + SOURCES + test/TileRawChannelCollection_test.cxx + LINK_LIBRARIES TileEvent ) + + +atlas_add_test( TileDigitsCollection_test + SOURCES + test/TileDigitsCollection_test.cxx + LINK_LIBRARIES TileEvent ) + +atlas_add_test( TileHitCollection_test + SOURCES + test/TileHitCollection_test.cxx + LINK_LIBRARIES TileEvent ) + +atlas_add_test( TileBeamElemCollection_test + SOURCES + test/TileBeamElemCollection_test.cxx + LINK_LIBRARIES TileEvent ) + + +atlas_add_test( TileMutableDataContainer_test + SOURCES + test/TileMutableDataContainer_test.cxx + LINK_LIBRARIES TileEvent IdDictParser ) + + +atlas_add_test( TileMutableRawChannelContainer_test + SOURCES + test/TileMutableRawChannelContainer_test.cxx + LINK_LIBRARIES TileEvent IdDictParser ) + +atlas_add_test( TileMutableDigitsContainer_test + SOURCES + test/TileMutableDigitsContainer_test.cxx + LINK_LIBRARIES TileEvent IdDictParser ) + +atlas_add_test( TileMutableHitContainer_test + SOURCES + test/TileMutableHitContainer_test.cxx + LINK_LIBRARIES TileEvent IdDictParser ) + +atlas_add_test( TileMutableBeamElemContainer_test + SOURCES + test/TileMutableBeamElemContainer_test.cxx + LINK_LIBRARIES TileEvent IdDictParser ) diff --git a/TileCalorimeter/TileEvent/TileEvent/TileBeamElemCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileBeamElemCollection.h index d612c5d4c3245e9b16ca6a041ba858f231ec674b..353d4998ba78b3875294f88d1949402eecd94bfe 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileBeamElemCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileBeamElemCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileBeamElemCollection_H @@ -15,13 +15,20 @@ public: typedef TileRawDataCollection<TileBeamElem> MyBase; typedef MyBase::ID ID; - typedef TileBeamElem _TElement; + typedef TileBeamElem TElement; TileBeamElemCollection ( ID id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) : MyBase(id,ownPolicy) { } TileBeamElemCollection ( SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) : MyBase(ownPolicy) { } + /** + * @brief Copy constructor. + * @param other Collection to copy. + * Does a deep copy of the contents. + */ + TileBeamElemCollection (const TileBeamElemCollection& other); + ~TileBeamElemCollection() { } }; diff --git a/TileCalorimeter/TileEvent/TileEvent/TileBeamElemContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileBeamElemContainer.h index 7449b790c94e0db077c11fe1ae07fe6b667631d1..5dbab5af58fe7f6ee6ee9bdb1333662afaf30674 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileBeamElemContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileBeamElemContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileBeamElemContainer_H @@ -17,6 +17,13 @@ public: : TileRawDataContainer<TileBeamElemCollection> (createColl, TileFragHash::Beam, TileRawChannelUnit::ADCcounts, ownPolicy) { } + TileBeamElemContainer(bool createColl, + TYPE type, + UNIT unit=TileRawChannelUnit::ADCcounts, + SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) + : TileRawDataContainer<TileBeamElemCollection> (createColl, type, + unit, ownPolicy) { } + ~TileBeamElemContainer() { } }; diff --git a/TileCalorimeter/TileEvent/TileEvent/TileCellCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileCellCollection.h index 4f78ef63f6d151f20bd52b350e80ef5c91a7a968..52658f2e005b2eb6e155abecf9c5f6e8a3bce1ca 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileCellCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileCellCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileCellCollection_H @@ -14,7 +14,7 @@ public: typedef TileRawDataCollection<TileCell> MyBase; typedef MyBase::ID ID; - typedef TileCell _TElement; + typedef TileCell TElement; // ATTENTION !!! // TileCollection is not owner of TileCells by default !!! diff --git a/TileCalorimeter/TileEvent/TileEvent/TileContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileContainer.h index b1e895812f17239289580ff50ced75f13c4ab0cc..033c513fecf7d48ce3f6777fb0687323b22681e1 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //******************************************************************** @@ -33,27 +33,27 @@ #include "TileEvent/TileMuonReceiverObj.h" #include <string> -template <typename _TElement> -class TileContainer: public DataVector<_TElement> +template <typename TELEMENT> +class TileContainer: public DataVector<TELEMENT> { public: - typedef DataVector<_TElement> MyVector; + typedef DataVector<TELEMENT> MyVector; typedef typename MyVector::const_iterator my_const_iterator ; // constructor - TileContainer(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) : DataVector < _TElement > (ownPolicy) { } + TileContainer(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) : DataVector < TELEMENT > (ownPolicy) { } // destructor virtual ~TileContainer() { } // insert a Tile element into a collection. - inline void add (_TElement* rc) { MyVector::push_back(rc); } + inline void add (TELEMENT* rc) { MyVector::push_back(rc); } // print all the channels virtual void print() const; virtual operator std::string () const; - std::string whoami (void) const { _TElement elem; + std::string whoami (void) const { TELEMENT elem; return "TileContainer of "+elem.whoami(); } private: diff --git a/TileCalorimeter/TileEvent/TileEvent/TileContainer.icc b/TileCalorimeter/TileEvent/TileEvent/TileContainer.icc index f43a3d09dc54251bd7ff2f5f617be5989eeaeb1b..aafd22ef40109e05747391e2337d5f36bbd4f284 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileContainer.icc +++ b/TileCalorimeter/TileEvent/TileEvent/TileContainer.icc @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // implementation of TileContainer @@ -8,14 +8,14 @@ #include <sstream> #include <iomanip> -template <typename _TElement> -void TileContainer<_TElement>::print() const +template <typename TELEMENT> +void TileContainer<TELEMENT>::print() const { std::cout << (std::string) (*this) << std::endl; } -template <typename _TElement> -TileContainer<_TElement>::operator std::string() const +template <typename TELEMENT> +TileContainer<TELEMENT>::operator std::string() const { std::ostringstream text(std::ostringstream::out); @@ -28,7 +28,7 @@ TileContainer<_TElement>::operator std::string() const my_const_iterator it1 = this->begin(); my_const_iterator it2 = this->end(); - const _TElement * elem; + const TELEMENT * elem; for(;it1!=it2;++it1){ elem = (*it1); diff --git a/TileCalorimeter/TileEvent/TileEvent/TileDigitsCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileDigitsCollection.h index a87a65161d08770d65bac8e4ed9ac7781c2f8847..438793223cde1240be35c4bd69fe662228ca8a74 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileDigitsCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileDigitsCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileDigitsCollection_H @@ -21,7 +21,7 @@ public: typedef TileRawDataCollection<TileDigits> MyBase; typedef MyBase::ID ID; - typedef TileDigits _TElement; + typedef TileDigits TElement; TileDigitsCollection ( ID id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) : MyBase(id,ownPolicy), m_FragSize(0), m_FragBCID(0) { m_FragExtraWords.resize(2); } @@ -64,10 +64,12 @@ public: * Set vector of extra words for this collection * @param extra - all words from frag trailer */ - void setFragExtraWords(const std::vector<uint32_t> & extra) { m_FragExtraWords = extra; - if (extra.size() < 2) m_FragExtraWords.resize(2); } - void setFragExtraWords(std::vector<uint32_t> && extra) { m_FragExtraWords = std::move(extra); - if (m_FragExtraWords.size() < 2) m_FragExtraWords.resize(2); } + void setFragExtraWords(const std::vector<uint32_t> & extra) { + m_FragExtraWords = extra; + if (extra.size() < 2) m_FragExtraWords.resize(2); } + void setFragExtraWords(std::vector<uint32_t> && extra) { + m_FragExtraWords = std::move(extra); + if (extra.size() < 2) m_FragExtraWords.resize(2); } /** * Get Frag extra words for this collection * @return vector with all words @@ -117,7 +119,8 @@ public: void setFragChipHeaderWordsHigh(std::vector<uint32_t>&& chipHWordsH) { m_FragChipHeaderWordsHIGH = std::move(chipHWordsH); } - + + /** * Get chip headers for this collcetion * If calib mode, this is LOW gain headers @@ -144,6 +147,8 @@ public: void setFragChipCRCWords(std::vector<uint32_t>&& chipCRCWords) { m_FragChipCRCWords = std::move(chipCRCWords); } + + /** * High gain CRC */ diff --git a/TileCalorimeter/TileEvent/TileEvent/TileDigitsContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileDigitsContainer.h index fc328629a41f5a47c3930a93093698f1fffde247..785116e9fef84b9957dc7145bd38eac8a3ab52ad 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileDigitsContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileDigitsContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileDigitsContainer_H @@ -17,6 +17,13 @@ public: : TileRawDataContainer<TileDigitsCollection> (createColl, TileFragHash::Digitizer, TileRawChannelUnit::ADCcounts, ownPolicy) { } + TileDigitsContainer(bool createColl, + TYPE type, + UNIT unit=TileRawChannelUnit::ADCcounts, + SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) + : TileRawDataContainer<TileDigitsCollection> (createColl, type, + unit, ownPolicy) { } + ~TileDigitsContainer() { } }; diff --git a/TileCalorimeter/TileEvent/TileEvent/TileHitCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileHitCollection.h index 776572499f5437f5911b4cc3f09f3259cddf1ee2..9411ad69dc61ad7143acff556ce308a89485f24f 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileHitCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileHitCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileHitCollection_H @@ -15,13 +15,22 @@ public: typedef TileRawDataCollection<TileHit> MyBase; typedef MyBase::ID ID; - typedef TileHit _TElement; + typedef TileHit TElement; - TileHitCollection ( ID& id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) + TileHitCollection ( ID id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) : MyBase(id,ownPolicy) { } TileHitCollection ( SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) : MyBase(ownPolicy) { } + + /** + * @brief Copy constructor. + * @param other Collection to copy. + * Does a deep copy of the contents. + */ + TileHitCollection (const TileHitCollection& other); + + ~TileHitCollection() { } }; diff --git a/TileCalorimeter/TileEvent/TileEvent/TileHitContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileHitContainer.h index c08d0f5399f15d3d7ecc212ac3451f30951bea85..da1124d96d6f1d10556e312a97dbe70b9b347d10 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileHitContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileHitContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileHitContainer_H @@ -16,6 +16,13 @@ public: TileHitContainer(bool createColl=false, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) : TileRawDataContainer<TileHitCollection> (createColl, ownPolicy) { } + TileHitContainer(bool createColl, + TYPE type, + UNIT unit=TileRawChannelUnit::ADCcounts, + SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) + : TileRawDataContainer<TileHitCollection> (createColl, type, + unit, ownPolicy) { } + ~TileHitContainer() { } }; diff --git a/TileCalorimeter/TileEvent/TileEvent/TileLogicalOrdering.h b/TileCalorimeter/TileEvent/TileEvent/TileLogicalOrdering.h index 4e388c8132a55fab8bd7260b40887615343be8ec..24a4da39fdfc5d8ae9abd5af9b5f2a97e6147fe5 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileLogicalOrdering.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileLogicalOrdering.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TILEEVENT_TILERAWDATAORDERING_H @@ -12,7 +12,7 @@ * @version 0-0-2 , Jan 30, 2003 */ -template <class _TElement> +template <class TELEMENT> class TileLogicalOrdering { @@ -23,7 +23,7 @@ class TileLogicalOrdering /** Operator for sorting */ - bool operator () (const _TElement* ch1, const _TElement* ch2) + bool operator () (const TELEMENT* ch1, const TELEMENT* ch2) { return ( ch1->identify() < ch2->identify() ); } }; diff --git a/TileCalorimeter/TileEvent/TileEvent/TileMutableBeamElemContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileMutableBeamElemContainer.h new file mode 100644 index 0000000000000000000000000000000000000000..79818c4992fed159615e046593cfa667932cf77f --- /dev/null +++ b/TileCalorimeter/TileEvent/TileEvent/TileMutableBeamElemContainer.h @@ -0,0 +1,61 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/TileMutableBeamElemContainer.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Helper for holding non-const raw data prior to recording in SG. + */ + + +#ifndef TILEEVENT_TILEMUTABLEBEAMELEMCONTAINER_H +#define TILEEVENT_TILEMUTABLEBEAMELEMCONTAINER_H + + +#include "TileEvent/TileBeamElemContainer.h" +#include "TileEvent/TileMutableDataContainer.h" + + +class TileMutableBeamElemContainer + : public TileMutableDataContainer<TileBeamElemContainer> +{ +public: + typedef TileMutableDataContainer<TileBeamElemContainer> BASE; + + TileMutableBeamElemContainer(bool createColl=false, + SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) + : BASE (createColl, + TileFragHash::Beam, + TileRawChannelUnit::ADCcounts, + ownPolicy) + { + } + + + TileMutableBeamElemContainer(bool createColl, + TYPE type, + UNIT unit=TileRawChannelUnit::ADCcounts, + SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS) + : BASE (createColl, type, + unit, ownPolicy) + { + } + + + /** + * @brief Copy constructor. + * @param other Container to copy. + * + * This is a deep copy; all contained collections and channels will be copied. + * Call status() after this to check for errors. + */ + TileMutableBeamElemContainer (const BASE::BASE& other) + : BASE (other) + { + } +}; + + +#endif // not TILEEVENT_TILEMUTABLEBEAMELEMCONTAINER_H diff --git a/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.h new file mode 100644 index 0000000000000000000000000000000000000000..2e2adae3cde3347f674d80fdc72cb06c3b52da08 --- /dev/null +++ b/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.h @@ -0,0 +1,183 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/TileMutableDataContainer.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Helper for holding non-const raw data prior to recording in SG. + * + * ??? Make this more generic?? + */ + + +#ifndef TILEEVENT_TILEMUTABLEDATACONTAINER_H +#define TILEEVENT_TILEMUTABLEDATACONTAINER_H + + +#include "TileIdentifier/TileFragHash.h" +#include "TileIdentifier/TileRawChannelUnit.h" +#include "Identifier/IdentifierHash.h" +#include "AthContainers/DataVector.h" +#include "AthenaKernel/ILockable.h" +#include "GaudiKernel/StatusCode.h" +#include <vector> +#include <memory> + + +/** + * @brief Helper for holding non-const raw data prior to recording in SG. + * + * Sometimes one wants to construct a tile raw data container and then, + * before it is recorded in SG, modify the contents. This is problematic + * as the container classes only support const access to the contents. + * + * This helper derives from a specific tile raw data container and also maintains + * non-const pointers to the collections, which we can return. + * However, once the object has been made const in SG, we set a flag + * so that non-const access is no longer possible. + * + * After constructing one of these objects, one should call status() + * to check for errors. + * + * This class does not have its own CLID. Record in SG via a handle + * of type matching the base tile raw data container. + */ +template <class BASE_T> +class TileMutableDataContainer + : public BASE_T, public ILockable +{ +public: + typedef BASE_T BASE; + typedef typename BASE::TYPE TYPE; + typedef typename BASE::UNIT UNIT; + typedef typename BASE::IDENTIFIABLE Collection; + typedef typename BASE::TElement Element; + + + /** + * @brief Constructor. + * @param createColl If true, create all collections now. + * @param type Hash type (from TileFragHash::TYPE). + * @param unit Measurement units for amplitude data. + * @param ownPolicy Ownership mode for collections. + * + * Call status() after this to check for errors. + */ + TileMutableDataContainer (bool createColl = false, + TYPE type=TileFragHash::Default, + UNIT unit=TileRawChannelUnit::ADCcounts, + SG::OwnershipPolicy ownPolicy = SG::OWN_ELEMENTS); + + + /** + * @brief Copy constructor. + * @param other Container to copy. + * + * This is a deep copy; all contained collections and channels will be copied. + * Call status() after this to check for errors. + */ + TileMutableDataContainer (const BASE& other); + + + TileMutableDataContainer (const TileMutableDataContainer&) = delete; + TileMutableDataContainer& operator= (const TileMutableDataContainer&) = delete; + + + /** + * @brief Add a collection to the container. + * @param coll Collection ot add. + * @param hash Hash value for the collection. + * + * We maintain a non-const reference to the collection. + */ + StatusCode addCollection (std::unique_ptr<Collection> coll, + IdentifierHash hash); + + + // Const version is inherited. + using BASE::addCollection; + + + /** + * @brief Add a new channel. + * @param rch Channel to add. + * + * This should be used for owning container (created with SG::OWN_ELEMENTS). + * A new collection will be created if needed. + * In that case, we maintain a non-const reference to it. + */ + StatusCode push_back (std::unique_ptr<Element> rch); + + + /** + * @brief Add a new channel. + * @param rch Channel to add. + * + * This should be used for non-owning container (created with SG::VIEW_ELEMENTS). + * A new collection will be created if needed. + * In that case, we maintain a non-const reference to it. + */ + StatusCode push_back (Element* rch); + + + /** + * @brief Look up a (non-const) collection via hash. + * @param hash Hash value to find. + */ + Collection* indexFindPtr (IdentifierHash hash); + + + // Const version is inherited. + using BASE::indexFindPtr; + + + /** + * @brief Return the error status from the constructors. + */ + StatusCode status() const; + + + /** + * @brief Lock this object. + * + * Called when this object is locked in SG. + * Prohibit non-const acces to this container. + */ + virtual void lock() override; + + +protected: + /** + * @brief Recycle this object for use in another event. + * + * This is called from AthenaKernel/RecyclableDataObject when this object + * is released by StoreGate. Unlock the object so that non-const access + * is again possible, and clear out the contents if the collections. + */ + void recycle(); + + +private: + /// Non-const references to collections, indexed by hash value. + std::vector<Collection*> m_mutableCollections; + + /// Is the container locked? + bool m_locked; + + /// StatusCode from constructors. + StatusCode m_sc; + + /// Default type; reset to this on recycle. + TYPE m_defaultType; + + /// Default unit; reset to this on recycle. + UNIT m_defaultUnit; +}; + + +#include "TileEvent/TileMutableDataContainer.icc" + + +#endif // not TILEEVENT_TILEMUTABLEDATACONTAINER_H diff --git a/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.icc b/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.icc new file mode 100644 index 0000000000000000000000000000000000000000..991b2baa97ba678aa0ae7ce38d4bfcb2a2e9dd8a --- /dev/null +++ b/TileCalorimeter/TileEvent/TileEvent/TileMutableDataContainer.icc @@ -0,0 +1,218 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/TileMutableDataContainer.icc + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Helper for holding non-const raw data prior to recording in SG. + */ + + +/** + * @brief Constructor. + * @param createColl If true, create all collections now. + * @param type Hash type (from TileFragHash::TYPE). + * @param unit Measurement units for amplitude data. + * @param ownPolicy Ownership mode for collections. + * + * Call status() after this to check for errors. + */ +template <class BASE> +TileMutableDataContainer<BASE>::TileMutableDataContainer + (bool createColl /*= false*/, + TYPE type /*= TileFragHash::Default*/, + UNIT unit /*= TileRawChannelUnit::ADCcounts*/, + SG::OwnershipPolicy ownPolicy /*= SG::OWN_ELEMENTS*/) + : BASE (false, type, unit, ownPolicy), + m_locked (false), + m_sc (StatusCode::SUCCESS), + m_defaultType (type), + m_defaultUnit (unit) +{ + if (createColl) { + // Create all collections. + const TileFragHash& hashFunc = this->hashFunc(); + int ncoll = hashFunc.max(); + for (int i=0; i<ncoll;++i) { + TileFragHash::ID frag = hashFunc.identifier(i); + auto coll = std::make_unique<Collection> (frag, ownPolicy) ; + if (addCollection (std::move (coll), + static_cast<IdentifierHash>(i)).isFailure()) + { + m_sc = StatusCode::FAILURE; + } + } + } +} + + +/** + * @brief Copy constructor. + * @param other Container to copy. + * + * This is a deep copy; all contained collections and channels will be copied. + * Call status() after this to check for errors. + */ +template <class BASE> +TileMutableDataContainer<BASE>::TileMutableDataContainer + (const BASE& other) + : BASE (false, + other.get_type(), + other.get_unit(), + SG::OWN_ELEMENTS), + m_locked (false), + m_sc (StatusCode::SUCCESS), + m_defaultType (other.get_type()), + m_defaultUnit (other.get_unit()) +{ + this->set_bsflags (other.get_bsflags()); + for (IdentifierHash hash : other.GetAllCurrentHashes()) { + const Collection* coll = other.indexFindPtr (hash); + auto newColl = std::make_unique<Collection> (*coll); + if (addCollection (std::move (newColl), hash).isFailure()) { + m_sc = StatusCode::FAILURE; + } + } +} + + +/** + * @brief Add a collection to the container. + * @param coll Collection ot add. + * @param hash Hash value for the collection. + * + * We maintain a non-const reference to the collection. + */ +template <class BASE> +StatusCode +TileMutableDataContainer<BASE>::addCollection (std::unique_ptr<Collection> coll, + IdentifierHash hash) +{ + if (hash >= m_mutableCollections.size()) { + m_mutableCollections.resize (hash+1); + } + m_mutableCollections[hash] = coll.get(); + return BASE::addOrDelete (std::move (coll), hash); +} + + +/** + * @brief Add a new channel. + * @param rch Channel to add. + * + * This should be used for owning container (created with SG::OWN_ELEMENTS). + * A new collection will be created if needed. + * In that case, we maintain a non-const reference to it. + */ +template <class BASE> +StatusCode +TileMutableDataContainer<BASE>::push_back (std::unique_ptr<Element> rch) +{ + int frag = rch->frag_ID(); + IdentifierHash hash = static_cast<IdentifierHash>(this->hashFunc()(frag)); + + // Find the collection; create a new one if needed. + Collection* coll = indexFindPtr (hash); + if (!coll) { + auto newColl = std::make_unique<Collection> (frag, SG::OWN_ELEMENTS); + coll = newColl.get(); + if (addCollection (std::move (newColl), hash).isFailure()) { + return StatusCode::FAILURE; + } + } + + coll->push_back (std::move (rch)); + return StatusCode::SUCCESS; +} + + +/** + * @brief Add a new channel. + * @param rch Channel to add. + * + * This should be used for non-owning container (created with SG::VIEW_ELEMENTS). + * A new collection will be created if needed. + * In that case, we maintain a non-const reference to it. + */ +template <class BASE> +StatusCode +TileMutableDataContainer<BASE>::push_back (Element* rch) +{ + int frag = rch->frag_ID(); + IdentifierHash hash = static_cast<IdentifierHash>(this->hashFunc()(frag)); + + // Find the collection; create a new one if needed. + Collection* coll = indexFindPtr (hash); + if (!coll) { + auto newColl = std::make_unique<Collection> (frag, SG::OWN_ELEMENTS); + coll = newColl.get(); + if (addCollection (std::move (newColl), hash).isFailure()) { + return StatusCode::FAILURE; + } + } + + coll->push_back (rch); + return StatusCode::SUCCESS; +} + + +/** + * @brief Look up a (non-const) collection via hash. + * @param hash Hash value to find. + */ +template <class BASE> +typename TileMutableDataContainer<BASE>::Collection* +TileMutableDataContainer<BASE>::indexFindPtr (IdentifierHash hash) +{ + if (!m_locked && hash < m_mutableCollections.size()) { + return m_mutableCollections[hash]; + } + return nullptr; +} + + +/** + * @brief Return the error status from the constructors. + */ +template <class BASE> +StatusCode TileMutableDataContainer<BASE>::status() const +{ + return m_sc; +} + + +/** + * @brief Lock this object. + * + * Called when this object is locked in SG. + * Prohibit non-const acces to this container. + */ +template <class BASE> +void TileMutableDataContainer<BASE>::lock() +{ + m_locked = true; +} + + +/** + * @brief Recycle this object for use in another event. + * + * This is called from AthenaKernel/RecyclableDataObject when this object + * is released by StoreGate. Unlock the object so that non-const access + * is again possible, and clear out the contents if the collections. + */ +template <class BASE> +void TileMutableDataContainer<BASE>::recycle() +{ + // ??? Try to verify that this object is not in SG? Check refcount?? + m_locked = false; + for (IdentifierHash hash : this->GetAllCurrentHashes()) { + Collection* coll = this->indexFindPtr (hash); + coll->clear(); + } + + this->set_type (m_defaultType); + this->set_unit (m_defaultUnit); + this->set_bsflags (0); +} diff --git a/TileCalorimeter/TileEvent/TileEvent/TileMutableDigitsContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileMutableDigitsContainer.h new file mode 100644 index 0000000000000000000000000000000000000000..b92aef5c89bf5baa04e51e47fd3ae7eb70b3bc52 --- /dev/null +++ b/TileCalorimeter/TileEvent/TileEvent/TileMutableDigitsContainer.h @@ -0,0 +1,24 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/TileMutableDigitsContainer.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Helper for holding non-const raw data prior to recording in SG. + */ + + +#ifndef TILEEVENT_TILEMUTABLEDIGITSCONTAINER_H +#define TILEEVENT_TILEMUTABLEDIGITSCONTAINER_H + + +#include "TileEvent/TileDigitsContainer.h" +#include "TileEvent/TileMutableDataContainer.h" + + +typedef TileMutableDataContainer<TileDigitsContainer> TileMutableDigitsContainer; + + +#endif // not TILEEVENT_TILEMUTABLEDIGITSCONTAINER_H diff --git a/TileCalorimeter/TileEvent/TileEvent/TileMutableHitContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileMutableHitContainer.h new file mode 100644 index 0000000000000000000000000000000000000000..ce0e8c2fc1db5a9dd8a43d8480c5211618839002 --- /dev/null +++ b/TileCalorimeter/TileEvent/TileEvent/TileMutableHitContainer.h @@ -0,0 +1,24 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/TileMutableHitContainer.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Helper for holding non-const raw data prior to recording in SG. + */ + + +#ifndef TILEEVENT_TILEMUTABLEHITCONTAINER_H +#define TILEEVENT_TILEMUTABLEHITCONTAINER_H + + +#include "TileEvent/TileHitContainer.h" +#include "TileEvent/TileMutableDataContainer.h" + + +typedef TileMutableDataContainer<TileHitContainer> TileMutableHitContainer; + + +#endif // not TILEEVENT_TILEMUTABLEHITCONTAINER_H diff --git a/TileCalorimeter/TileEvent/TileEvent/TileMutableRawChannelContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileMutableRawChannelContainer.h new file mode 100644 index 0000000000000000000000000000000000000000..20b914bcde8b6cfd991ca2c8435e122731e3bf0b --- /dev/null +++ b/TileCalorimeter/TileEvent/TileEvent/TileMutableRawChannelContainer.h @@ -0,0 +1,24 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/TileMutableRawChannelContainer.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Helper for holding non-const raw data prior to recording in SG. + */ + + +#ifndef TILEEVENT_TILEMUTABLERAWCHANNELCONTAINER_H +#define TILEEVENT_TILEMUTABLERAWCHANNELCONTAINER_H + + +#include "TileEvent/TileRawChannelContainer.h" +#include "TileEvent/TileMutableDataContainer.h" + + +typedef TileMutableDataContainer<TileRawChannelContainer> TileMutableRawChannelContainer; + + +#endif // not TILEEVENT_TILEMUTABLERAWCHANNELCONTAINER_H diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawChannelCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileRawChannelCollection.h index 53deafe30d7bf8b5dd392c263c67f67dc4253c07..48880bda9653f0398f95113b4ee9d505fe6678bc 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawChannelCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawChannelCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TileRawChannelCollection_H @@ -15,7 +15,7 @@ public: typedef TileRawDataCollection<TileRawChannel> MyBase; typedef MyBase::ID ID; - typedef TileRawChannel _TElement; + typedef TileRawChannel TElement; TileRawChannelCollection ( ID id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) : MyBase(id,ownPolicy), @@ -52,6 +52,14 @@ public: m_FragRODChipMask(0xFFFF) { } + + /** + * @brief Copy constructor. + * @param other Collection to copy. + * Does a deep copy of the contents. + */ + TileRawChannelCollection (const TileRawChannelCollection& other); + ~TileRawChannelCollection() { } /** diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.h b/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.h index cb785a1fb6a1233bcd47d4892cfa07f957edc286..64301b013e8e09bff163a9f5fc22f57c7bea3875 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //******************************************************************** @@ -32,29 +32,29 @@ #include <map> #include <inttypes.h> -template <typename _TElement> class TileRawDataCollection - : public DataVector<_TElement> +template <typename TELEMENT> class TileRawDataCollection + : public DataVector<TELEMENT> { public: - typedef typename TileRawDataCollection<_TElement>::const_iterator TCollection_const_iterator ; + typedef typename TileRawDataCollection<TELEMENT>::const_iterator TCollection_const_iterator ; // required for a Digit Collection typedef int ID; typedef Identifier TT_ID; - typedef _TElement DIGIT; - typedef _TElement OBJECT; + typedef TELEMENT DIGIT; + typedef TELEMENT OBJECT; // construct a container for a given super-drawer (fragment) - TileRawDataCollection<_TElement> ( ID id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) - : DataVector <_TElement> (ownPolicy), + TileRawDataCollection<TELEMENT> ( ID id, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) + : DataVector <TELEMENT> (ownPolicy), m_id(id), m_lvl1Id(0), m_lvl1Type(0), m_detEvType(0), m_rodBCID(0) { this->reserve(48); } - TileRawDataCollection<_TElement> ( SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) - : DataVector < _TElement > (ownPolicy), + TileRawDataCollection<TELEMENT> ( SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS ) + : DataVector < TELEMENT > (ownPolicy), m_id(0), m_lvl1Id(0), m_lvl1Type(0), m_detEvType(0), m_rodBCID(0) { this->reserve(48); } // destructor - virtual ~TileRawDataCollection<_TElement> () { } + virtual ~TileRawDataCollection<TELEMENT> () { } // clear everything for next event virtual void clear (); @@ -71,7 +71,7 @@ template <typename _TElement> class TileRawDataCollection // print all the Channels virtual void print() const; virtual operator std::string () const; - virtual std::string whoami (void) const { _TElement elem; + virtual std::string whoami (void) const { TELEMENT elem; return "TileRawDataCollection of "+elem.whoami(); } /** Setter for level1 id from ROD header */ diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.icc b/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.icc index 303a231131473a5cf38e22285a329f33e8d82f69..a9a9a44aeb813a3afdfe8c2e4b35376c9311b184 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.icc +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawDataCollection.icc @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // implementation of TileRawDataCollection @@ -10,16 +10,16 @@ /* // -template <typename _TElement> -void TileRawDataCollection<_TElement>::setTT(const TT_ID& id, +template <typename TELEMENT> +void TileRawDataCollection<TELEMENT>::setTT(const TT_ID& id, TCollection_const_iterator b, TCollection_const_iterator e) { m_Map[id] = ITPAIR(b,e); return ; } -template <typename _TElement> -void TileRawDataCollection<_TElement>::getTT(const TT_ID& id, +template <typename TELEMENT> +void TileRawDataCollection<TELEMENT>::getTT(const TT_ID& id, TCollection_const_iterator& b, TCollection_const_iterator& e) const { ID_IT_MAP_ITER itPair = m_Map.find(id); @@ -40,25 +40,25 @@ void TileRawDataCollection<_TElement>::getTT(const TT_ID& id, } */ -template <typename _TElement> -void TileRawDataCollection<_TElement>::clear() +template <typename TELEMENT> +void TileRawDataCollection<TELEMENT>::clear() { m_lvl1Id = 0; m_lvl1Type = 0; m_detEvType = 0; m_rodBCID = 0; - DataVector<_TElement>::clear(); + DataVector<TELEMENT>::clear(); } -template <typename _TElement> -void TileRawDataCollection<_TElement>::print() const +template <typename TELEMENT> +void TileRawDataCollection<TELEMENT>::print() const { std::cout << (std::string) (*this) << std::endl; } -template <typename _TElement> -TileRawDataCollection<_TElement>::operator std::string() const +template <typename TELEMENT> +TileRawDataCollection<TELEMENT>::operator std::string() const { std::ostringstream text(std::ostringstream::out); @@ -72,7 +72,7 @@ TileRawDataCollection<_TElement>::operator std::string() const TCollection_const_iterator it1 = this->begin(); TCollection_const_iterator it2 = this->end(); - const _TElement * elem; + const TELEMENT * elem; for(;it1!=it2;++it1){ elem = (*it1); diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.h index ccc0946ea967b0104c99e4a68b9458509ae2d11a..b24a91400d4344f3652be349ff26841be425f3da 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //******************************************************************** @@ -29,16 +29,16 @@ #include <string> #include <inttypes.h> -template <typename _TCollection> class TileRawDataContainer - : public IdentifiableContainer<_TCollection> +template <typename TCOLLECTION> class TileRawDataContainer + : public IdentifiableContainer<TCOLLECTION> { public: - typedef typename _TCollection::_TElement _TElement; - typedef typename TileRawDataContainer<_TCollection>::const_iterator TContainer_const_iterator ; - typedef typename _TCollection::TCollection_const_iterator TCollection_const_iterator ; + typedef typename TCOLLECTION::TElement TElement; + typedef typename TileRawDataContainer<TCOLLECTION>::const_iterator TContainer_const_iterator ; + typedef typename TCOLLECTION::TCollection_const_iterator TCollection_const_iterator ; - typedef IdentifiableContainer<_TCollection> MyBase; + typedef IdentifiableContainer<TCOLLECTION> MyBase; typedef TileFragHash::TYPE TYPE; typedef TileRawChannelUnit::UNIT UNIT; @@ -61,8 +61,8 @@ public: // insert a TileRawData element into a collection. // this is only to be used by Algorithm-builder - void add (_TElement* rc, bool createColl=false, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS); - inline void push_back(_TElement* rc) { add(rc,true); } + void add (TElement* rc, bool createColl=false, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS); + inline void push_back(TElement* rc) { add(rc,true); } inline TYPE get_hashType() const { return this->m_hashFunc.type(); } inline UNIT get_unit() const { return this->m_unit; } inline void set_unit(UNIT unit) { m_unit=unit; } @@ -75,7 +75,7 @@ public: // print all the Collections virtual void print() const; virtual operator std::string () const; - virtual std::string whoami (void) const { _TCollection coll; + virtual std::string whoami (void) const { TCOLLECTION coll; return "TileRawDataContainer of "+coll.whoami(); } private: @@ -90,14 +90,14 @@ private: // Persistent representation of TileRawDataContainer for POOL -template <typename _TCollection> class TileRawDataCollectionVec - : public DataVector<_TCollection> +template <typename TCOLLECTION> class TileRawDataCollectionVec + : public DataVector<TCOLLECTION> { public: TileRawDataCollectionVec() - : DataVector<_TCollection>(SG::VIEW_ELEMENTS) + : DataVector<TCOLLECTION>(SG::VIEW_ELEMENTS) , m_type(TileFragHash::Default) //, m_unit(TileRawChannelUnit::ADCcounts) { } diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.icc b/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.icc index a2052bd4977801ca95a23d71f4bc8e5267c9c2a3..9bd9a4088287fa687a399354a0598ae71ec31ca6 100755 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.icc +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawDataContainer.icc @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // implementation of TileRawDataContainer @@ -14,8 +14,8 @@ #include <sstream> #include <iomanip> -template <typename _TCollection> -void TileRawDataContainer<_TCollection>::initialize(bool createColl, TYPE type, +template <typename TCOLLECTION> +void TileRawDataContainer<TCOLLECTION>::initialize(bool createColl, TYPE type, SG::OwnershipPolicy ownPolicy) { // initialize HashFunc @@ -25,7 +25,7 @@ void TileRawDataContainer<_TCollection>::initialize(bool createColl, TYPE type, int ncoll = this->m_hashFunc.max(); for(int i=0; i<ncoll;++i){ TileFragHash::ID frag = this->m_hashFunc.identifier(i); - _TCollection * coll = new _TCollection(frag,ownPolicy) ; + TCOLLECTION * coll = new TCOLLECTION(frag,ownPolicy) ; StatusCode sc = this->addCollection(coll,static_cast<IdentifierHash>(i)); if (sc.isFailure() ) { ISvcLocator* svcLoc = Gaudi::svcLocator( ); @@ -47,8 +47,8 @@ void TileRawDataContainer<_TCollection>::initialize(bool createColl, TYPE type, return; } -template <typename _TCollection> -TileRawDataContainer<_TCollection>::TileRawDataContainer(bool createColl, +template <typename TCOLLECTION> +TileRawDataContainer<TCOLLECTION>::TileRawDataContainer(bool createColl, TYPE type, UNIT unit, SG::OwnershipPolicy ownPolicy) @@ -62,8 +62,8 @@ TileRawDataContainer<_TCollection>::TileRawDataContainer(bool createColl, return; } -template <typename _TCollection> -TileRawDataContainer<_TCollection>::TileRawDataContainer(bool createColl, +template <typename TCOLLECTION> +TileRawDataContainer<TCOLLECTION>::TileRawDataContainer(bool createColl, SG::OwnershipPolicy ownPolicy) : MyBase(TileCablingService::getInstance()->getTileHWID()->drawer_hash_max()) , m_unit(TileRawChannelUnit::ADCcounts) @@ -75,23 +75,23 @@ TileRawDataContainer<_TCollection>::TileRawDataContainer(bool createColl, return; } -template <typename _TCollection> -void TileRawDataContainer<_TCollection>::clear() +template <typename TCOLLECTION> +void TileRawDataContainer<TCOLLECTION>::clear() { TContainer_const_iterator it1 = this->begin(); TContainer_const_iterator it2 = this->end(); for(;it1!=it2;++it1){ - const _TCollection * const_coll = *it1; - _TCollection * coll = const_cast<_TCollection *>(const_coll); + const TCOLLECTION * const_coll = *it1; + TCOLLECTION * coll = const_cast<TCOLLECTION *>(const_coll); coll->clear(); } return; } -template <typename _TCollection> -void TileRawDataContainer<_TCollection>::add(_TElement* rc, bool createColl, +template <typename TCOLLECTION> +void TileRawDataContainer<TCOLLECTION>::add(TElement* rc, bool createColl, SG::OwnershipPolicy ownPolicy) { if (this->m_hashFunc.max() == 0 && TileCablingService::getInstance()->getTileHWID() != 0) { @@ -104,7 +104,7 @@ void TileRawDataContainer<_TCollection>::add(_TElement* rc, bool createColl, // return ; //} - _TCollection * coll; + TCOLLECTION * coll; int frag = rc->frag_ID(); IdentifierHash fragHash = static_cast<IdentifierHash>(m_hashFunc(frag)); @@ -120,7 +120,7 @@ void TileRawDataContainer<_TCollection>::add(_TElement* rc, bool createColl, if (createColl) { - coll = new _TCollection(frag,ownPolicy); + coll = new TCOLLECTION(frag,ownPolicy); StatusCode sc = this->addCollection(coll,fragHash); if (sc.isFailure() ) { @@ -159,22 +159,22 @@ void TileRawDataContainer<_TCollection>::add(_TElement* rc, bool createColl, } } else { // collection exists - const _TCollection * const_coll = *it; - coll = const_cast<_TCollection *>(const_coll); + const TCOLLECTION * const_coll = *it; + coll = const_cast<TCOLLECTION *>(const_coll); } coll->push_back(rc); return ; } -template <typename _TCollection> -void TileRawDataContainer<_TCollection>::print() const +template <typename TCOLLECTION> +void TileRawDataContainer<TCOLLECTION>::print() const { std::cout << (std::string) (*this) << std::endl; } -template <typename _TCollection> -TileRawDataContainer<_TCollection>::operator std::string() const +template <typename TCOLLECTION> +TileRawDataContainer<TCOLLECTION>::operator std::string() const { std::ostringstream text(std::ostringstream::out); @@ -187,7 +187,7 @@ TileRawDataContainer<_TCollection>::operator std::string() const TContainer_const_iterator it1 = this->begin(); TContainer_const_iterator it2 = this->end(); - const _TCollection * coll; + const TCOLLECTION * coll; for(;it1!=it2;++it1){ coll = (*it1); diff --git a/TileCalorimeter/TileEvent/TileEvent/TileRawDataNonConstContainer.h b/TileCalorimeter/TileEvent/TileEvent/TileRawDataNonConstContainer.h index 364b19b9db7511ddcf563598b454393b60411255..29568f9103c76b788f526ec12e575a9891563ebe 100644 --- a/TileCalorimeter/TileEvent/TileEvent/TileRawDataNonConstContainer.h +++ b/TileCalorimeter/TileEvent/TileEvent/TileRawDataNonConstContainer.h @@ -1,6 +1,6 @@ // This file's extension implies that it's C, but it's really -*- C++ -*-. /* - * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration. + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. */ // $Id$ /** @@ -32,7 +32,7 @@ template <typename COLLECTION> class TileRawDataNonConstContainer { public: - typedef typename COLLECTION::_TElement element_t; + typedef typename COLLECTION::TElement element_t; TileRawDataNonConstContainer (SG::OwnershipPolicy ownPolicy); void push_back (element_t* rc); diff --git a/TileCalorimeter/TileEvent/share/TileBeamElemCollection_test.ref b/TileCalorimeter/TileEvent/share/TileBeamElemCollection_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..60337737f5c9761c573067ee28b889e92e8dd91d --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileBeamElemCollection_test.ref @@ -0,0 +1,2 @@ +TileBeamElemCollection_test +test1 diff --git a/TileCalorimeter/TileEvent/share/TileDigitsCollection_test.ref b/TileCalorimeter/TileEvent/share/TileDigitsCollection_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..d3f4c8d11186a5939c40a0b22bb3087eac8fb13c --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileDigitsCollection_test.ref @@ -0,0 +1,2 @@ +TileDigitsCollection_test +test1 diff --git a/TileCalorimeter/TileEvent/share/TileHitCollection_test.ref b/TileCalorimeter/TileEvent/share/TileHitCollection_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..40bd590e6a13f9c53877ac0b7d045854297a35c5 --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileHitCollection_test.ref @@ -0,0 +1,2 @@ +TileHitCollection_test +test1 diff --git a/TileCalorimeter/TileEvent/share/TileMutableBeamElemContainer_test.ref b/TileCalorimeter/TileEvent/share/TileMutableBeamElemContainer_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..a37a8d256297d97c2347348d6ce0d0fe50911b0e --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileMutableBeamElemContainer_test.ref @@ -0,0 +1,4 @@ +TileMutableBeamElemContainer_test +TileHWID INFO initialize_from_dictionary +TileTBID INFO initialize_from_dictionary +test1 diff --git a/TileCalorimeter/TileEvent/share/TileMutableDataContainer_test.ref b/TileCalorimeter/TileEvent/share/TileMutableDataContainer_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..d417b85c01d56794cfd47764546af27cd2d8093e --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileMutableDataContainer_test.ref @@ -0,0 +1,4 @@ +TileMutableDataContainer_test +TileHWID INFO initialize_from_dictionary +TileTBID INFO initialize_from_dictionary +test1 diff --git a/TileCalorimeter/TileEvent/share/TileMutableDigitsContainer_test.ref b/TileCalorimeter/TileEvent/share/TileMutableDigitsContainer_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..162a7b4de8bbdbcb218776da0f695c431920ab8e --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileMutableDigitsContainer_test.ref @@ -0,0 +1,4 @@ +TileMutableDigitsContainer_test +TileHWID INFO initialize_from_dictionary +TileTBID INFO initialize_from_dictionary +test1 diff --git a/TileCalorimeter/TileEvent/share/TileMutableHitContainer_test.ref b/TileCalorimeter/TileEvent/share/TileMutableHitContainer_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..d4b8ed617149b1c234a4b1e862e25c79de7f50c9 --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileMutableHitContainer_test.ref @@ -0,0 +1,4 @@ +TileMutableHitContainer_test +TileHWID INFO initialize_from_dictionary +TileTBID INFO initialize_from_dictionary +test1 diff --git a/TileCalorimeter/TileEvent/share/TileMutableRawChannelContainer_test.ref b/TileCalorimeter/TileEvent/share/TileMutableRawChannelContainer_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..dc2ee68ae05d7a2997c8d7be4ad785c67a7683f4 --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileMutableRawChannelContainer_test.ref @@ -0,0 +1,4 @@ +TileMutableRawChannelContainer_test +TileHWID INFO initialize_from_dictionary +TileTBID INFO initialize_from_dictionary +test1 diff --git a/TileCalorimeter/TileEvent/share/TileRawChannelCollection_test.ref b/TileCalorimeter/TileEvent/share/TileRawChannelCollection_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..0968c4bc48f4b8c7fce560bd72d9e9b6061fe4eb --- /dev/null +++ b/TileCalorimeter/TileEvent/share/TileRawChannelCollection_test.ref @@ -0,0 +1,2 @@ +TileRawChannelCollection_test +test1 diff --git a/TileCalorimeter/TileEvent/src/TileBeamElemCollection.cxx b/TileCalorimeter/TileEvent/src/TileBeamElemCollection.cxx new file mode 100644 index 0000000000000000000000000000000000000000..a8a360dc5661504e2ca17228b9d08370e3a8024e --- /dev/null +++ b/TileCalorimeter/TileEvent/src/TileBeamElemCollection.cxx @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/src/TileBeamElemCollection.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Out-of-line implementations for TileBeamElemCollection. + */ + + +#include "TileEvent/TileBeamElemCollection.h" + + +/** + * @brief Copy constructor. + * @param other Collection to copy. + * Does a deep copy of the contents. + */ +TileBeamElemCollection::TileBeamElemCollection + (const TileBeamElemCollection& other) + : TileRawDataCollection<TileBeamElem> (other.identify()) +{ + // Copy flags from the base class. + setLvl1Id (other.getLvl1Id()); + setLvl1Type (other.getLvl1Type()); + setDetEvType (other.getDetEvType()); + setRODBCID (other.getRODBCID()); + + // Copy the collection contents. + reserve (other.size()); + for (const TileBeamElem* chan : other) { + push_back (std::make_unique<TileBeamElem> (*chan)); + } +} diff --git a/TileCalorimeter/TileEvent/src/TileContainer.cxx b/TileCalorimeter/TileEvent/src/TileContainer.cxx index 89c0be60bb6c784431224eecdd17bfa2e52b46a6..13bb12a454ec1274aeca89172fbbcb7907656897 100755 --- a/TileCalorimeter/TileEvent/src/TileContainer.cxx +++ b/TileCalorimeter/TileEvent/src/TileContainer.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //***************************************************************************** @@ -27,22 +27,4 @@ #include "TileEvent/TileBeamElemContainer.h" #include "SGTools/BaseInfo.h" -void TileRawChannelCollection::clear() -{ - m_FragGlobalCRC = 0; - m_FragBCID = 0; - m_FragMemoryPar = 0; - m_FragSstrobe = 0; - m_FragDstrobe = 0; - m_FragHeaderBit = 0; - m_FragHeaderPar = 0; - m_FragSampleBit = 0; - m_FragSamplePar = 0; - m_FragFEChipMask = 0xFFFF; - m_FragRODChipMask = 0xFFFF; - m_FragDSPBCID = 0xDEAD; - - TileRawChannelCollection::MyBase::clear(); -} - SG_ADD_BASE (TileContainer<TileCell>, DataVector<TileCell>); diff --git a/TileCalorimeter/TileEvent/src/TileDigitsCollection.cxx b/TileCalorimeter/TileEvent/src/TileDigitsCollection.cxx index 63498ed138cd765a55793fc35719418f4c2b6ed7..10b0f531cc3fbdaa550964b3d57b73b18f8c0b96 100644 --- a/TileCalorimeter/TileEvent/src/TileDigitsCollection.cxx +++ b/TileCalorimeter/TileEvent/src/TileDigitsCollection.cxx @@ -89,4 +89,3 @@ void TileDigitsCollection::clear() TileDigitsCollection::MyBase::clear(); } - diff --git a/TileCalorimeter/TileEvent/src/TileHitCollection.cxx b/TileCalorimeter/TileEvent/src/TileHitCollection.cxx new file mode 100644 index 0000000000000000000000000000000000000000..230d29c04877f9e9be30e23a1ae901230988de70 --- /dev/null +++ b/TileCalorimeter/TileEvent/src/TileHitCollection.cxx @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/src/TileHitCollection.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Out-of-line implementations for TileHitCollection. + */ + + +#include "TileEvent/TileHitCollection.h" + + +/** + * @brief Copy constructor. + * @param other Collection to copy. + * Does a deep copy of the contents. + */ +TileHitCollection::TileHitCollection + (const TileHitCollection& other) + : TileRawDataCollection<TileHit> (other.identify()) +{ + // Copy flags from the base class. + setLvl1Id (other.getLvl1Id()); + setLvl1Type (other.getLvl1Type()); + setDetEvType (other.getDetEvType()); + setRODBCID (other.getRODBCID()); + + // Copy the collection contents. + reserve (other.size()); + for (const TileHit* chan : other) { + push_back (std::make_unique<TileHit> (*chan)); + } +} diff --git a/TileCalorimeter/TileEvent/src/TileRawChannelCollection.cxx b/TileCalorimeter/TileEvent/src/TileRawChannelCollection.cxx new file mode 100644 index 0000000000000000000000000000000000000000..428bd16e35e6bfcddcf6330d9871f0e28ca5bb97 --- /dev/null +++ b/TileCalorimeter/TileEvent/src/TileRawChannelCollection.cxx @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/src/TileRawChannelCollection.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Out-of-line implementations for TileRawChannelCollection. + */ + + +#include "TileEvent/TileRawChannelCollection.h" + + +/** + * @brief Copy constructor. + * @param other Collection to copy. + * Does a deep copy of the contents. + */ +TileRawChannelCollection::TileRawChannelCollection + (const TileRawChannelCollection& other) + : TileRawDataCollection<TileRawChannel> (other.identify()), + m_FragGlobalCRC (other.m_FragGlobalCRC), + m_FragDSPBCID (other.m_FragDSPBCID), + m_FragBCID (other.m_FragBCID), + m_FragMemoryPar (other.m_FragMemoryPar), + m_FragSstrobe (other.m_FragSstrobe), + m_FragDstrobe (other.m_FragDstrobe), + m_FragHeaderBit (other.m_FragHeaderBit), + m_FragHeaderPar (other.m_FragHeaderPar), + m_FragSampleBit (other.m_FragSampleBit), + m_FragSamplePar (other.m_FragSamplePar), + m_FragFEChipMask (other.m_FragFEChipMask), + m_FragRODChipMask (other.m_FragRODChipMask) +{ + // Copy flags from the base class. + setLvl1Id (other.getLvl1Id()); + setLvl1Type (other.getLvl1Type()); + setDetEvType (other.getDetEvType()); + setRODBCID (other.getRODBCID()); + + // Copy the collection contents. + reserve (other.size()); + for (const TileRawChannel* chan : other) { + push_back (std::make_unique<TileRawChannel> (*chan)); + } +} + + +void TileRawChannelCollection::clear() +{ + m_FragGlobalCRC = 0; + m_FragBCID = 0; + m_FragMemoryPar = 0; + m_FragSstrobe = 0; + m_FragDstrobe = 0; + m_FragHeaderBit = 0; + m_FragHeaderPar = 0; + m_FragSampleBit = 0; + m_FragSamplePar = 0; + m_FragFEChipMask = 0xFFFF; + m_FragRODChipMask = 0xFFFF; + m_FragDSPBCID = 0xDEAD; + + TileRawChannelCollection::MyBase::clear(); +} + diff --git a/TileCalorimeter/TileEvent/test/TileBeamElemCollection_test.cxx b/TileCalorimeter/TileEvent/test/TileBeamElemCollection_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..6c5fe2cea38d7ede879bc328e530b4b8afa19f5c --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileBeamElemCollection_test.cxx @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileBeamElemCollection_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileBeamElemCollection. + */ + + +#undef NDEBUG +#include "TileEvent/TileBeamElemCollection.h" +#include <iostream> +#include <cassert> + + +void test1() +{ + std::cout << "test1\n"; + + TileBeamElemCollection coll (123); + coll.setLvl1Id (1071); + coll.setLvl1Type (1081); + coll.setDetEvType (1091); + coll.setRODBCID (1101); + + for (int i=0; i < 10; i++) { + HWIdentifier hwid (10000 + i*1000); + std::vector<uint32_t> digits { i*500u+1, i*500u+2, i*500u+3, i*500u+4 }; + coll.push_back (std::make_unique<TileBeamElem> (hwid, + std::move (digits))); + } + + TileBeamElemCollection newColl (coll); + assert (newColl.getLvl1Id() == 1071); + assert (newColl.getLvl1Type() == 1081); + assert (newColl.getDetEvType() == 1091); + assert (newColl.getRODBCID() == 1101); + + assert (newColl.size() == 10); + for (int i=0; i < 10; i++) { + const TileBeamElem* digit = newColl[i]; + assert (digit->get_digits() == (std::vector<uint32_t> { i*500u+1, i*500u+2, + i*500u+3, i*500u+4 })); + } +} + + +int main() +{ + std::cout << "TileBeamElemCollection_test\n"; + test1(); + return 0; +} diff --git a/TileCalorimeter/TileEvent/test/TileDigitsCollection_test.cxx b/TileCalorimeter/TileEvent/test/TileDigitsCollection_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..53a169c2e2249deb7cf21d621555e1c123ec24d7 --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileDigitsCollection_test.cxx @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileDigitsCollection_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileDigitsCollection. + */ + + +#undef NDEBUG +#include "TileEvent/TileDigitsCollection.h" +#include <iostream> +#include <cassert> + + +void test1() +{ + std::cout << "test1\n"; + + TileDigitsCollection coll (123); + coll.setFragChipCRCWords (std::vector<uint32_t> { 1 }); + coll.setFragChipCRCWordsHigh (std::vector<uint32_t> { 2, 3 }); + coll.setFragChipHeaderWords (std::vector<uint32_t> { 3, 4, 5 }); + coll.setFragChipHeaderWordsHigh (std::vector<uint32_t> { 7, 6 }); + coll.setFragExtraWords (std::vector<uint32_t> { 9, 8 }); + coll.setFragSize (23); + coll.setFragBCID (53); + coll.setLvl1Id (1071); + coll.setLvl1Type (1081); + coll.setDetEvType (1091); + coll.setRODBCID (1101); + + for (int i=0; i < 10; i++) { + HWIdentifier hwid (10000 + i*1000); + std::vector<float> digits { i*500 + 0.5f, i*500 + 1.5f, + i*500 + 2.5f, i*500 + 3.5f }; + coll.push_back (std::make_unique<TileDigits> (hwid, + std::move (digits))); + } + + TileDigitsCollection newColl (coll); + assert (newColl.identify() == 123); + assert (newColl.getFragChipCRCWords() == (std::vector<uint32_t> { 1 })); + assert (newColl.getFragChipCRCWordsHigh() == (std::vector<uint32_t> { 2, 3 })); + assert (newColl.getFragChipHeaderWords() == (std::vector<uint32_t> { 3, 4, 5 })); + assert (newColl.getFragChipHeaderWordsHigh() == (std::vector<uint32_t> { 7, 6 })); + assert (newColl.getFragExtraWords() == (std::vector<uint32_t> { 9, 8 })); + assert (newColl.getFragSize() == 23); + assert (newColl.getFragBCID() == 53); + assert (newColl.getLvl1Id() == 1071); + assert (newColl.getLvl1Type() == 1081); + assert (newColl.getDetEvType() == 1091); + assert (newColl.getRODBCID() == 1101); + + assert (newColl.size() == 10); + for (int i=0; i < 10; i++) { + const TileDigits* digit = newColl[i]; + assert (digit->adc_HWID() == HWIdentifier (10000 + i*1000)); + + assert (digit->samples() == (std::vector<float> { i*500 + 0.5f, i*500 + 1.5f, + i*500 + 2.5f, i*500 + 3.5f })); + } +} + + +int main() +{ + std::cout << "TileDigitsCollection_test\n"; + test1(); + return 0; +} diff --git a/TileCalorimeter/TileEvent/test/TileHitCollection_test.cxx b/TileCalorimeter/TileEvent/test/TileHitCollection_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..043212e638ef9b0e07bebd1f364314113ed74c5b --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileHitCollection_test.cxx @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileHitCollection_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileHitCollection. + */ + + +#undef NDEBUG +#include "TileEvent/TileHitCollection.h" +#include <iostream> +#include <cassert> + + +void test1() +{ + std::cout << "test1\n"; + + TileHitCollection coll (123); + + for (int i=0; i < 10; i++) { + Identifier id (10000 + i*1000); + auto hit = std::make_unique<TileHit> (id); + hit->resize(2); + hit->setEnergy (i*100, 0); + hit->setEnergy (i*100+10, 1); + hit->setTime (i*200, 0); + hit->setTime (i*200+10, 1); + coll.push_back (std::move(hit)); + } + + TileHitCollection newColl (coll); + assert (newColl.identify() == 123); + + assert (newColl.size() == 10); + for (int i=0; i < 10; i++) { + const TileHit* hit = newColl[i]; + assert (hit->identify() == Identifier (10000 + i*1000)); + assert (hit->size() == 2); + assert (hit->energy(0) == i*100); + assert (hit->energy(1) == i*100+10); + assert (hit->time(0) == i*200); + assert (hit->time(1) == i*200+10); + } +} + + +int main() +{ + std::cout << "TileHitCollection_test\n"; + test1(); + return 0; +} diff --git a/TileCalorimeter/TileEvent/test/TileMutableBeamElemContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableBeamElemContainer_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..b10d5e7f9bd4577ea4f3ef37bfe187c678891106 --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileMutableBeamElemContainer_test.cxx @@ -0,0 +1,252 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileMutableBeamElemContainer_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileMutableBeamElemContainer. + */ + + +#undef NDEBUG +#include "TileEvent/TileMutableBeamElemContainer.h" +#include "TileConditions/TileCablingService.h" +#include "TileIdentifier/TileHWID.h" +#include "IdDictParser/IdDictParser.h" +#include <iostream> +#include <cassert> + + +static const size_t NCOLL = 2; +static const size_t NCHAN = 10; + + +IdDictParser parser; +TileHWID hwid; +TileTBID tbid; +TileID tileid; + + +class TileCablingSvc +{ +public: + static + void init_idhelpers() + { + tileid.set_do_neighbours (false); + parser.register_external_entity("TileCalorimeter", "IdDictTileCalorimeter.xml"); + IdDictMgr& idd = parser.parse ("IdDictParser/ATLAS_IDS.xml"); + hwid.set_quiet (true); + tbid.set_quiet (true); + tileid.set_quiet (true); + assert (hwid.initialize_from_dictionary (idd) == 0); + assert (tbid.initialize_from_dictionary (idd) == 0); + assert (tileid.initialize_from_dictionary (idd) == 0); + TileCablingService* svc = TileCablingService::getInstance(); + svc->setTileHWID (&hwid); + svc->setTileTBID (&tbid); + svc->setTileID (&tileid); + } +}; + + +class TestTileMutableBeamElemContainer + : public TileMutableBeamElemContainer +{ +public: + using TileMutableBeamElemContainer::TileMutableBeamElemContainer; + using TileMutableBeamElemContainer::recycle; +}; + + +void createCollection (TileMutableBeamElemContainer& cont, size_t hash) +{ + int frag = cont.hashFunc().identifier(hash); + auto coll = std::make_unique<TileBeamElemCollection> (frag); + + coll->setLvl1Id (1071 + hash); + coll->setLvl1Type (1081 + hash); + coll->setDetEvType (1091 + hash); + coll->setRODBCID (1101 + hash); + + assert( cont.addCollection (std::move (coll), hash).isSuccess() ); +} + + +void addChans (TileMutableBeamElemContainer& cont, size_t hash) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + int frag = cont.hashFunc().identifier (hash); + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (frag); + for (size_t i = 0; i < NCHAN; i++) { + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + + int offs = i + hash*NCHAN; + std::vector<uint32_t> digits { offs*500u + 1, offs*500u + 2, + offs*500u + 3, offs*500u + 4 }; + auto chan = std::make_unique<TileBeamElem> (hwid, + std::move (digits)); + assert( cont.push_back (std::move (chan)).isSuccess() ); + } +} + + +std::unique_ptr<TileMutableBeamElemContainer> +create1 (bool createColl) +{ + auto cont = std::make_unique<TileMutableBeamElemContainer> (createColl); + assert( cont->status().isSuccess() ); + cont->set_bsflags (98765); + + if (!createColl) { + for (size_t hash = 0; hash < NCOLL; hash++) { + createCollection (*cont, hash); + } + } + + for (size_t hash = 0; hash < NCOLL; hash++) { + addChans (*cont, hash); + } + + return cont; +} + + +void checkFind1 (TileMutableBeamElemContainer& cont_nc, bool created) +{ + const TileMutableBeamElemContainer& cont = cont_nc; + for (size_t hash = 0; hash < NCOLL; hash++) { + TileBeamElemCollection* coll_nc = cont_nc.indexFindPtr (hash); + const TileBeamElemCollection* coll = cont.indexFindPtr (hash); + assert (coll_nc == coll); + } + if (!created) { + assert (cont_nc.indexFindPtr(NCOLL) == nullptr); + } +} + + +void checkFind2 (TileMutableBeamElemContainer& cont_nc) +{ + for (size_t hash = 0; hash < NCOLL; hash++) { + assert (cont_nc.indexFindPtr(hash) == nullptr); + } +} + + +void modify (TileMutableBeamElemContainer& cont, int offs) +{ + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + TileBeamElemCollection* coll = cont.indexFindPtr (hash); + for (TileBeamElem* chan : *coll) { + std::vector<uint32_t> digits = chan->get_digits(); + for (size_t i = 0; i < digits.size(); i++) { + digits[i] += offs; + } + TileBeamElem d (chan->adc_HWID(), + std::move (digits)); + *chan = d; + } + } +} + + +void check (const TileMutableBeamElemContainer& cont, + bool created, + int dig_offs) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + + assert (cont.get_type() == TileFragHash::Beam); + assert (cont.get_unit() == TileRawChannelUnit::ADCcounts); + assert (cont.get_bsflags() == 98765); + + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + const TileBeamElemCollection* coll = cont.indexFindPtr (hash); + assert (coll->identify() == cont.hashFunc().identifier (hash)); + if (!created && dig_offs >= 0) { + assert (coll->getLvl1Id() == 1071 + hash); + assert (coll->getLvl1Type() == 1081 + hash); + assert (coll->getDetEvType() == 1091 + hash); + assert (coll->getRODBCID() == 1101 + hash); + } + + if (dig_offs < 0) { + assert (coll->size() == 0); + } + else { + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (coll->identify()); + int i = 0; + for (const TileBeamElem* chan : *coll) { + int offs = i + hash*NCHAN; + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + assert (chan->adc_HWID() == hwid); + + std::vector<uint32_t> digits + { offs*500u + 1 + dig_offs, offs*500u + 2 + dig_offs, + offs*500u + 3 + dig_offs, offs*500u + 4 + dig_offs }; + + assert (chan->get_digits() == digits); + + i += 1; + } + } + } +} + + +void test1() +{ + std::cout << "test1\n"; + + { + std::unique_ptr<TileMutableBeamElemContainer> cont1 = create1 (false); + checkFind1 (*cont1, false); + cont1->lock(); + checkFind2 (*cont1); + check (*cont1, false, 0); + + TileBeamElemContainer& dc1 = *cont1; + auto cont1a = std::make_unique<TestTileMutableBeamElemContainer> (dc1); + checkFind1 (*cont1a, false); + check (*cont1a, false, 0); + modify (*cont1a, 11); + cont1a->lock(); + checkFind2 (*cont1a); + check (*cont1a, false, 11); + cont1a->recycle(); + assert (cont1a->get_bsflags() == 0); + cont1a->set_bsflags (98765); + checkFind1 (*cont1a, false); + check (*cont1a, false, -1); + } + + { + std::unique_ptr<TileMutableBeamElemContainer> cont2 = create1 (true); + checkFind1 (*cont2, true); + modify (*cont2, 23); + cont2->lock(); + checkFind2 (*cont2); + check (*cont2, true, 23); + + TileBeamElemContainer& dc2 = *cont2; + auto cont2a = std::make_unique<TileMutableBeamElemContainer> (dc2); + checkFind1 (*cont2a, true); + check (*cont2a, true, 23); + modify (*cont2a, 11); + cont2a->lock(); + checkFind2 (*cont2a); + check (*cont2a, true, 34); + } +} + + +int main() +{ + std::cout << "TileMutableBeamElemContainer_test\n"; + TileCablingSvc::init_idhelpers(); + test1(); + return 0; +} + diff --git a/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..03e136274e38f2cffb50c3b25549a437ed2592c7 --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileMutableDataContainer_test.cxx @@ -0,0 +1,252 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/testTileMutableDataContainer_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileMutableDataContainer. + */ + + +#undef NDEBUG +#include "TileEvent/TileMutableDataContainer.h" +#include "TileEvent/TileRawDataContainer.h" +#include "TileEvent/TileRawDataCollection.h" +#include "TileEvent/TileRawData.h" +#include "TileConditions/TileCablingService.h" +#include "TileIdentifier/TileHWID.h" +#include "IdDictParser/IdDictParser.h" +#include <iostream> +#include <cassert> + + +static const size_t NCOLL = 2; +static const size_t NCHAN = 10; + + +IdDictParser parser; +TileHWID hwid; +TileTBID tbid; +TileID tileid; + + +class TileCablingSvc +{ +public: + static + void init_idhelpers() + { + tileid.set_do_neighbours (false); + parser.register_external_entity("TileCalorimeter", "IdDictTileCalorimeter.xml"); + IdDictMgr& idd = parser.parse ("IdDictParser/ATLAS_IDS.xml"); + hwid.set_quiet (true); + tbid.set_quiet (true); + tileid.set_quiet (true); + assert (hwid.initialize_from_dictionary (idd) == 0); + assert (tbid.initialize_from_dictionary (idd) == 0); + assert (tileid.initialize_from_dictionary (idd) == 0); + TileCablingService* svc = TileCablingService::getInstance(); + svc->setTileHWID (&hwid); + svc->setTileTBID (&tbid); + svc->setTileID (&tileid); + } +}; + + +class TestElement + : public TileRawData +{ +public: + using TileRawData::TileRawData; + + unsigned m_x; +}; + + +class TestCollection + : public TileRawDataCollection<TestElement> +{ +public: + typedef TestElement TElement; + using TileRawDataCollection<TestElement>::TileRawDataCollection; +}; + + +typedef TileRawDataContainer<TestCollection> TestContainer; +typedef TileMutableDataContainer<TestContainer> MutableTestContainer; + + +class TestMutableTestContainer + : public MutableTestContainer +{ +public: + using MutableTestContainer::MutableTestContainer; + using MutableTestContainer::recycle; +}; + + +void createCollection (MutableTestContainer& cont, size_t hash) +{ + int frag = cont.hashFunc().identifier(hash); + auto coll = std::make_unique<TestCollection> (frag); + assert( cont.addCollection (std::move (coll), hash).isSuccess() ); +} + + +void addChans (MutableTestContainer& cont, size_t hash) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + int frag = cont.hashFunc().identifier (hash); + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (frag); + for (size_t i = 0; i < NCHAN; i++) { + HWIdentifier hwid = cabling->getTileHWID()->channel_id (drawer_id, i); + + int offs = i + hash*NCHAN; + auto chan = std::make_unique<TestElement> (hwid); + chan->m_x = offs; + assert( cont.push_back (std::move (chan)).isSuccess() ); + } +} + + +std::unique_ptr<MutableTestContainer> +create1 (bool createColl) +{ + auto cont = std::make_unique<MutableTestContainer> (createColl); + assert( cont->status().isSuccess() ); + cont->set_bsflags (98765); + + if (!createColl) { + for (size_t hash = 0; hash < NCOLL; hash++) { + createCollection (*cont, hash); + } + } + + for (size_t hash = 0; hash < NCOLL; hash++) { + addChans (*cont, hash); + } + + return cont; +} + + +void checkFind1 (MutableTestContainer& cont_nc, bool created) +{ + const MutableTestContainer& cont = cont_nc; + for (size_t hash = 0; hash < NCOLL; hash++) { + TestCollection* coll_nc = cont_nc.indexFindPtr (hash); + const TestCollection* coll = cont.indexFindPtr (hash); + assert (coll_nc == coll); + } + if (!created) { + assert (cont_nc.indexFindPtr(NCOLL) == nullptr); + } +} + + +void checkFind2 (MutableTestContainer& cont_nc) +{ + for (size_t hash = 0; hash < NCOLL; hash++) { + assert (cont_nc.indexFindPtr(hash) == nullptr); + } +} + + +void modify (MutableTestContainer& cont, float offs) +{ + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + TestCollection* coll = cont.indexFindPtr (hash); + for (TestElement* chan : *coll) { + chan->m_x += offs; + } + } +} + + +void check (const MutableTestContainer& cont, bool /*created*/, float x_offs) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + + assert (cont.get_type() == TileFragHash::Default); + assert (cont.get_unit() == TileRawChannelUnit::ADCcounts); + assert (cont.get_bsflags() == 98765); + + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + const TestCollection* coll = cont.indexFindPtr (hash); + assert (coll->identify() == cont.hashFunc().identifier (hash)); + + if (x_offs < 0) { + assert (coll->size() == 0); + } + else { + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (coll->identify()); + int i = 0; + for (const TestElement* chan : *coll) { + int offs = i + hash*NCHAN; + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + assert (chan->adc_HWID() == hwid); + + assert (chan->m_x == offs + x_offs); + + i += 1; + } + } + } +} + + +void test1() +{ + std::cout << "test1\n"; + + { + std::unique_ptr<MutableTestContainer> cont1 = create1 (false); + checkFind1 (*cont1, false); + cont1->lock(); + checkFind2 (*cont1); + check (*cont1, false, 0); + + TestContainer& tc1 = *cont1; + auto cont1a = std::make_unique<TestMutableTestContainer> (tc1); + checkFind1 (*cont1a, false); + check (*cont1a, false, 0); + modify (*cont1a, 11); + cont1a->lock(); + checkFind2 (*cont1a); + check (*cont1a, false, 11); + cont1a->recycle(); + assert (cont1a->get_bsflags() == 0); + cont1a->set_bsflags (98765); + checkFind1 (*cont1a, false); + check (*cont1a, false, -1); + } + + { + std::unique_ptr<MutableTestContainer> cont2 = create1 (true); + checkFind1 (*cont2, true); + modify (*cont2, 23); + cont2->lock(); + checkFind2 (*cont2); + check (*cont2, true, 23); + + TestContainer& tc2 = *cont2; + auto cont2a = std::make_unique<MutableTestContainer> (tc2); + checkFind1 (*cont2a, true); + check (*cont2a, true, 23); + modify (*cont2a, 11); + cont2a->lock(); + checkFind2 (*cont2a); + check (*cont2a, true, 34); + } +} + + +int main() +{ + std::cout << "TileMutableDataContainer_test\n"; + TileCablingSvc::init_idhelpers(); + test1(); + return 0; +} + diff --git a/TileCalorimeter/TileEvent/test/TileMutableDigitsContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableDigitsContainer_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..dfab668a0bfcbf7baacc87d00caa4080f3828172 --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileMutableDigitsContainer_test.cxx @@ -0,0 +1,270 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileMutableDigitsContainer_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileMutableDigitsContainer. + */ + + +#undef NDEBUG +#include "TileEvent/TileMutableDigitsContainer.h" +#include "TileConditions/TileCablingService.h" +#include "TileIdentifier/TileHWID.h" +#include "IdDictParser/IdDictParser.h" +#include <iostream> +#include <cassert> + + +static const size_t NCOLL = 2; +static const size_t NCHAN = 10; + + +IdDictParser parser; +TileHWID hwid; +TileTBID tbid; +TileID tileid; + + +class TileCablingSvc +{ +public: + static + void init_idhelpers() + { + tileid.set_do_neighbours (false); + parser.register_external_entity("TileCalorimeter", "IdDictTileCalorimeter.xml"); + IdDictMgr& idd = parser.parse ("IdDictParser/ATLAS_IDS.xml"); + hwid.set_quiet (true); + tbid.set_quiet (true); + tileid.set_quiet (true); + assert (hwid.initialize_from_dictionary (idd) == 0); + assert (tbid.initialize_from_dictionary (idd) == 0); + assert (tileid.initialize_from_dictionary (idd) == 0); + TileCablingService* svc = TileCablingService::getInstance(); + svc->setTileHWID (&hwid); + svc->setTileTBID (&tbid); + svc->setTileID (&tileid); + } +}; + + +class TestTileMutableDigitsContainer + : public TileMutableDigitsContainer +{ +public: + using TileMutableDigitsContainer::TileMutableDigitsContainer; + using TileMutableDigitsContainer::recycle; +}; + + +void createCollection (TileMutableDigitsContainer& cont, size_t hash) +{ + int frag = cont.hashFunc().identifier(hash); + auto coll = std::make_unique<TileDigitsCollection> (frag); + + unsigned int offs = hash; + coll->setFragChipCRCWords (std::vector<uint32_t> { 100+offs }); + coll->setFragChipCRCWordsHigh (std::vector<uint32_t> { 200+offs, 300+offs }); + coll->setFragChipHeaderWords (std::vector<uint32_t> { 300+offs, 400+offs, 500+offs }); + coll->setFragChipHeaderWordsHigh (std::vector<uint32_t> { 700+offs, 600+offs }); + coll->setFragExtraWords (std::vector<uint32_t> { 900+offs, 800+offs }); + coll->setFragSize (23+offs); + coll->setFragBCID (53+offs); + + coll->setLvl1Id (1071 + offs); + coll->setLvl1Type (1081 + offs); + coll->setDetEvType (1091 + offs); + coll->setRODBCID (1101 + offs); + + assert( cont.addCollection (std::move (coll), hash).isSuccess() ); +} + + +void addChans (TileMutableDigitsContainer& cont, size_t hash) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + int frag = cont.hashFunc().identifier (hash); + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (frag); + for (size_t i = 0; i < NCHAN; i++) { + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + + int offs = i + hash*NCHAN; + std::vector<float> digits { offs*500 + 0.5f, offs*500 + 1.5f, + offs*500 + 2.5f, offs*500 + 3.5f }; + auto chan = std::make_unique<TileDigits> (hwid, + std::move (digits)); + assert( cont.push_back (std::move (chan)).isSuccess() ); + } +} + + +std::unique_ptr<TileMutableDigitsContainer> +create1 (bool createColl) +{ + auto cont = std::make_unique<TileMutableDigitsContainer> (createColl); + assert( cont->status().isSuccess() ); + cont->set_bsflags (98765); + + if (!createColl) { + for (size_t hash = 0; hash < NCOLL; hash++) { + createCollection (*cont, hash); + } + } + + for (size_t hash = 0; hash < NCOLL; hash++) { + addChans (*cont, hash); + } + + return cont; +} + + +void checkFind1 (TileMutableDigitsContainer& cont_nc, bool created) +{ + const TileMutableDigitsContainer& cont = cont_nc; + for (size_t hash = 0; hash < NCOLL; hash++) { + TileDigitsCollection* coll_nc = cont_nc.indexFindPtr (hash); + const TileDigitsCollection* coll = cont.indexFindPtr (hash); + assert (coll_nc == coll); + } + if (!created) { + assert (cont_nc.indexFindPtr(NCOLL) == nullptr); + } +} + + +void checkFind2 (TileMutableDigitsContainer& cont_nc) +{ + for (size_t hash = 0; hash < NCOLL; hash++) { + assert (cont_nc.indexFindPtr(hash) == nullptr); + } +} + + +void modify (TileMutableDigitsContainer& cont, float offs) +{ + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + TileDigitsCollection* coll = cont.indexFindPtr (hash); + for (TileDigits* chan : *coll) { + std::vector<float> digits = chan->samples(); + for (size_t i = 0; i < digits.size(); i++) { + digits[i] += offs; + } + TileDigits d (chan->adc_HWID(), + std::move (digits)); + *chan = d; + } + } +} + + +void check (const TileMutableDigitsContainer& cont, + bool created, + float dig_offs) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + + assert (cont.get_type() == TileFragHash::Default); + assert (cont.get_unit() == TileRawChannelUnit::ADCcounts); + assert (cont.get_bsflags() == 98765); + + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + const TileDigitsCollection* coll = cont.indexFindPtr (hash); + assert (coll->identify() == cont.hashFunc().identifier (hash)); + if (!created && dig_offs >= 0) { + unsigned int offs = hash; + assert (coll->getFragChipCRCWords() == (std::vector<uint32_t> { 100+offs })); + assert (coll->getFragChipCRCWordsHigh() == (std::vector<uint32_t> { 200+offs, 300+offs })); + assert (coll->getFragChipHeaderWords() == (std::vector<uint32_t> { 300+offs, 400+offs, 500+offs })); + assert (coll->getFragChipHeaderWordsHigh() == (std::vector<uint32_t> { 700+offs, 600+offs })); + assert (coll->getFragExtraWords() == (std::vector<uint32_t> { 900+offs, 800+offs })); + assert (coll->getFragSize() == 23+offs); + assert (coll->getFragBCID() == 53+offs); + + assert (coll->getLvl1Id() == 1071 + offs); + assert (coll->getLvl1Type() == 1081 + offs); + assert (coll->getDetEvType() == 1091 + offs); + assert (coll->getRODBCID() == 1101 + offs); + } + + if (dig_offs < 0) { + assert (coll->size() == 0); + } + else { + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (coll->identify()); + int i = 0; + for (const TileDigits* chan : *coll) { + int offs = i + hash*NCHAN; + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + assert (chan->adc_HWID() == hwid); + + std::vector<float> digits + { offs*500 + 0.5f + dig_offs, offs*500 + 1.5f + dig_offs, + offs*500 + 2.5f + dig_offs, offs*500 + 3.5f + dig_offs }; + + assert (chan->samples() == digits); + + i += 1; + } + } + } +} + + +void test1() +{ + std::cout << "test1\n"; + + { + std::unique_ptr<TileMutableDigitsContainer> cont1 = create1 (false); + checkFind1 (*cont1, false); + cont1->lock(); + checkFind2 (*cont1); + check (*cont1, false, 0); + + TileDigitsContainer& dc1 = *cont1; + auto cont1a = std::make_unique<TestTileMutableDigitsContainer> (dc1); + checkFind1 (*cont1a, false); + check (*cont1a, false, 0); + modify (*cont1a, 11); + cont1a->lock(); + checkFind2 (*cont1a); + check (*cont1a, false, 11); + cont1a->recycle(); + assert (cont1a->get_bsflags() == 0); + cont1a->set_bsflags (98765); + checkFind1 (*cont1a, false); + check (*cont1a, false, -1); + } + + { + std::unique_ptr<TileMutableDigitsContainer> cont2 = create1 (true); + checkFind1 (*cont2, true); + modify (*cont2, 23); + cont2->lock(); + checkFind2 (*cont2); + check (*cont2, true, 23); + + TileDigitsContainer& dc2 = *cont2; + auto cont2a = std::make_unique<TileMutableDigitsContainer> (dc2); + checkFind1 (*cont2a, true); + check (*cont2a, true, 23); + modify (*cont2a, 11); + cont2a->lock(); + checkFind2 (*cont2a); + check (*cont2a, true, 34); + } +} + + +int main() +{ + std::cout << "TileMutableDigitsContainer_test\n"; + TileCablingSvc::init_idhelpers(); + test1(); + return 0; +} + diff --git a/TileCalorimeter/TileEvent/test/TileMutableHitContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableHitContainer_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..3db5c877553a816b0a066f5d68aeda5b9e7c06c8 --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileMutableHitContainer_test.cxx @@ -0,0 +1,241 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileMutableHitContainer_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileMutableHitContainer. + */ + + +#undef NDEBUG +#include "TileEvent/TileMutableHitContainer.h" +#include "TileConditions/TileCablingService.h" +#include "TileIdentifier/TileHWID.h" +#include "IdDictParser/IdDictParser.h" +#include <iostream> +#include <cassert> + + +static const size_t NCOLL = 2; +static const size_t NCHAN = 10; + + +IdDictParser parser; +TileHWID hwid; +TileTBID tbid; +TileID tileid; + + +class TileCablingSvc +{ +public: + static + void init_idhelpers() + { + tileid.set_do_neighbours (false); + parser.register_external_entity("TileCalorimeter", "IdDictTileCalorimeter.xml"); + IdDictMgr& idd = parser.parse ("IdDictParser/ATLAS_IDS.xml"); + hwid.set_quiet (true); + tbid.set_quiet (true); + tileid.set_quiet (true); + assert (hwid.initialize_from_dictionary (idd) == 0); + assert (tbid.initialize_from_dictionary (idd) == 0); + assert (tileid.initialize_from_dictionary (idd) == 0); + TileCablingService* svc = TileCablingService::getInstance(); + svc->setTileHWID (&hwid); + svc->setTileTBID (&tbid); + svc->setTileID (&tileid); + } +}; + + +class TestTileMutableHitContainer + : public TileMutableHitContainer +{ +public: + using TileMutableHitContainer::TileMutableHitContainer; + using TileMutableHitContainer::recycle; +}; + + +void createCollection (TileMutableHitContainer& cont, size_t hash) +{ + int frag = cont.hashFunc().identifier(hash); + auto coll = std::make_unique<TileHitCollection> (frag); + + assert( cont.addCollection (std::move (coll), hash).isSuccess() ); +} + + +void addChans (TileMutableHitContainer& cont, size_t hash) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + int frag = cont.hashFunc().identifier (hash); + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (frag); + for (size_t i = 0; i < NCHAN; i++) { + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + Identifier id = cabling->h2s_pmt_id (hwid); + int offs = i + hash*NCHAN; + + auto hit = std::make_unique<TileHit> (id); + hit->resize(2); + hit->setEnergy (offs*100, 0); + hit->setEnergy (offs*100+10, 1); + hit->setTime (offs*200, 0); + hit->setTime (offs*200+10, 1); + assert( cont.push_back (std::move (hit)).isSuccess() ); + } +} + + +std::unique_ptr<TileMutableHitContainer> +create1 (bool createColl) +{ + auto cont = std::make_unique<TileMutableHitContainer> (createColl); + assert( cont->status().isSuccess() ); + cont->set_bsflags (98765); + + if (!createColl) { + for (size_t hash = 0; hash < NCOLL; hash++) { + createCollection (*cont, hash); + } + } + + for (size_t hash = 0; hash < NCOLL; hash++) { + addChans (*cont, hash); + } + + return cont; +} + + +void checkFind1 (TileMutableHitContainer& cont_nc, bool created) +{ + const TileMutableHitContainer& cont = cont_nc; + for (size_t hash = 0; hash < NCOLL; hash++) { + TileHitCollection* coll_nc = cont_nc.indexFindPtr (hash); + const TileHitCollection* coll = cont.indexFindPtr (hash); + assert (coll_nc == coll); + } + if (!created) { + assert (cont_nc.indexFindPtr(NCOLL) == nullptr); + } +} + + +void checkFind2 (TileMutableHitContainer& cont_nc) +{ + for (size_t hash = 0; hash < NCOLL; hash++) { + assert (cont_nc.indexFindPtr(hash) == nullptr); + } +} + + +void modify (TileMutableHitContainer& cont, float offs) +{ + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + TileHitCollection* coll = cont.indexFindPtr (hash); + for (TileHit* hit : *coll) { + size_t sz = hit->size(); + for (size_t i = 0; i < sz; i++) { + hit->setEnergy (hit->energy(i)+offs, i); + hit->setTime (hit->time(i)+offs, i); + } + } + } +} + + +void check (const TileMutableHitContainer& cont, bool /*created*/, float hit_offs) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + + assert (cont.get_type() == TileFragHash::Default); + assert (cont.get_unit() == TileRawChannelUnit::ADCcounts); + assert (cont.get_bsflags() == 98765); + + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + const TileHitCollection* coll = cont.indexFindPtr (hash); + assert (coll->identify() == cont.hashFunc().identifier (hash)); + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (coll->identify()); + + if (hit_offs < 0) { + assert (coll->size() == 0); + } + else { + int i = 0; + for (const TileHit* hit : *coll) { + int offs = i + hash*NCHAN; + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + Identifier id = cabling->h2s_pmt_id (hwid); + assert (hit->identify() == id); + + assert (hit->size() == 2); + assert (hit->energy(0) == offs*100 + hit_offs); + assert (hit->energy(1) == offs*100+10 + hit_offs); + assert (hit->time(0) == offs*200 + hit_offs); + assert (hit->time(1) == offs*200+10 + hit_offs); + + i += 1; + } + } + } +} + + +void test1() +{ + std::cout << "test1\n"; + + { + std::unique_ptr<TileMutableHitContainer> cont1 = create1 (false); + checkFind1 (*cont1, false); + cont1->lock(); + checkFind2 (*cont1); + check (*cont1, false, 0); + + TileHitContainer& hc1 = *cont1; + auto cont1a = std::make_unique<TestTileMutableHitContainer> (hc1); + checkFind1 (*cont1a, false); + check (*cont1a, false, 0); + modify (*cont1a, 11); + cont1a->lock(); + checkFind2 (*cont1a); + check (*cont1a, false, 11); + cont1a->recycle(); + assert (cont1a->get_bsflags() == 0); + cont1a->set_bsflags (98765); + checkFind1 (*cont1a, false); + check (*cont1a, false, -1); + } + + { + std::unique_ptr<TileMutableHitContainer> cont2 = create1 (true); + checkFind1 (*cont2, true); + modify (*cont2, 23); + cont2->lock(); + checkFind2 (*cont2); + check (*cont2, true, 23); + + TileHitContainer& hc2 = *cont2; + auto cont2a = std::make_unique<TileMutableHitContainer> (hc2); + checkFind1 (*cont2a, true); + check (*cont2a, true, 23); + modify (*cont2a, 11); + cont2a->lock(); + checkFind2 (*cont2a); + check (*cont2a, true, 34); + } +} + + +int main() +{ + std::cout << "TileMutableHitContainer_test\n"; + TileCablingSvc::init_idhelpers(); + test1(); + return 0; +} + diff --git a/TileCalorimeter/TileEvent/test/TileMutableRawChannelContainer_test.cxx b/TileCalorimeter/TileEvent/test/TileMutableRawChannelContainer_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..7fae32048eaaa8b4ec958619e1c93450ec9272f8 --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileMutableRawChannelContainer_test.cxx @@ -0,0 +1,288 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileMutableRawChannelContainer_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileMutableRawChannelContainer. + */ + + +#undef NDEBUG +#include "TileEvent/TileMutableRawChannelContainer.h" +#include "TileConditions/TileCablingService.h" +#include "TileIdentifier/TileHWID.h" +#include "IdDictParser/IdDictParser.h" +#include <iostream> +#include <cassert> + + +static const size_t NCOLL = 2; +static const size_t NCHAN = 10; + + +IdDictParser parser; +TileHWID hwid; +TileTBID tbid; +TileID tileid; + + +class TileCablingSvc +{ +public: + static + void init_idhelpers() + { + tileid.set_do_neighbours (false); + parser.register_external_entity("TileCalorimeter", "IdDictTileCalorimeter.xml"); + IdDictMgr& idd = parser.parse ("IdDictParser/ATLAS_IDS.xml"); + hwid.set_quiet (true); + tbid.set_quiet (true); + tileid.set_quiet (true); + assert (hwid.initialize_from_dictionary (idd) == 0); + assert (tbid.initialize_from_dictionary (idd) == 0); + assert (tileid.initialize_from_dictionary (idd) == 0); + TileCablingService* svc = TileCablingService::getInstance(); + svc->setTileHWID (&hwid); + svc->setTileTBID (&tbid); + svc->setTileID (&tileid); + } +}; + + +class TestTileMutableRawChannelContainer + : public TileMutableRawChannelContainer +{ +public: + using TileMutableRawChannelContainer::TileMutableRawChannelContainer; + using TileMutableRawChannelContainer::recycle; +}; + + +void createCollection (TileMutableRawChannelContainer& cont, size_t hash) +{ + int frag = cont.hashFunc().identifier(hash); + auto coll = std::make_unique<TileRawChannelCollection> (frag); + + coll->setFragGlobalCRC (234 + hash); + coll->setFragDSPBCID (345 + hash); + coll->setFragBCID (456 + hash); + coll->setFragMemoryPar (567 + hash); + coll->setFragSstrobe (687 + hash); + coll->setFragDstrobe (890 + hash); + coll->setFragHeaderBit (1011 + hash); + coll->setFragHeaderPar (1021 + hash); + coll->setFragSampleBit (1031 + hash); + coll->setFragSamplePar (1041 + hash); + coll->setFragFEChipMask (1051 + hash); + coll->setFragRODChipMask (1061 + hash); + coll->setLvl1Id (1071 + hash); + coll->setLvl1Type (1081 + hash); + coll->setDetEvType (1091 + hash); + coll->setRODBCID (1101 + hash); + + assert( cont.addCollection (std::move (coll), hash).isSuccess() ); +} + + +void addChans (TileMutableRawChannelContainer& cont, size_t hash) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + int frag = cont.hashFunc().identifier (hash); + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (frag); + for (size_t i = 0; i < NCHAN; i++) { + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + + int offs = i + hash*NCHAN; + std::vector<float> amplitude { offs*200.f, offs*200.f+10 }; + std::vector<float> time { offs*300.f+30, offs*400.f+30, offs*500.f+30 }; + std::vector<float> quality { offs*500 + 0.5f, offs*500 + 1.5f, + offs*500 + 2.5f, offs*500 + 3.5f }; + float ped = offs + 100; + + auto chan = std::make_unique<TileRawChannel> (hwid, + std::move (amplitude), + std::move (time), + std::move (quality), + ped); + assert( cont.push_back (std::move (chan)).isSuccess() ); + } +} + + +std::unique_ptr<TileMutableRawChannelContainer> +create1 (bool createColl) +{ + auto cont = std::make_unique<TileMutableRawChannelContainer> (createColl); + assert( cont->status().isSuccess() ); + cont->set_bsflags (98765); + + if (!createColl) { + for (size_t hash = 0; hash < NCOLL; hash++) { + createCollection (*cont, hash); + } + } + + for (size_t hash = 0; hash < NCOLL; hash++) { + addChans (*cont, hash); + } + + return cont; +} + + +void checkFind1 (TileMutableRawChannelContainer& cont_nc, bool created) +{ + const TileMutableRawChannelContainer& cont = cont_nc; + for (size_t hash = 0; hash < NCOLL; hash++) { + TileRawChannelCollection* coll_nc = cont_nc.indexFindPtr (hash); + const TileRawChannelCollection* coll = cont.indexFindPtr (hash); + assert (coll_nc == coll); + } + if (!created) { + assert (cont_nc.indexFindPtr(NCOLL) == nullptr); + } +} + + +void checkFind2 (TileMutableRawChannelContainer& cont_nc) +{ + for (size_t hash = 0; hash < NCOLL; hash++) { + assert (cont_nc.indexFindPtr(hash) == nullptr); + } +} + + +void modify (TileMutableRawChannelContainer& cont, float offs) +{ + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + TileRawChannelCollection* coll = cont.indexFindPtr (hash); + for (TileRawChannel* chan : *coll) { + size_t sz = chan->size(); + for (size_t i = 0; i < sz; i++) { + chan->setAmplitude (chan->amplitude(i) + offs, i); + } + } + } +} + + +void check (const TileMutableRawChannelContainer& cont, bool created, float amp_offs) +{ + TileCablingService* cabling = TileCablingService::getInstance(); + + assert (cont.get_type() == TileFragHash::Default); + assert (cont.get_unit() == TileRawChannelUnit::ADCcounts); + assert (cont.get_bsflags() == 98765); + + for (IdentifierHash hash : cont.GetAllCurrentHashes()) { + const TileRawChannelCollection* coll = cont.indexFindPtr (hash); + assert (coll->identify() == cont.hashFunc().identifier (hash)); + if (!created && amp_offs >= 0) { + assert (coll->getFragGlobalCRC() == 234 + hash); + assert (coll->getFragDSPBCID() == 345 + hash); + assert (coll->getFragBCID() == 456 + hash); + assert (coll->getFragMemoryPar() == 567 + hash); + assert (coll->getFragSstrobe() == 687 + hash); + assert (coll->getFragDstrobe() == 890 + hash); + assert (coll->getFragHeaderBit() == 1011 + hash); + assert (coll->getFragHeaderPar() == 1021 + hash); + assert (coll->getFragSampleBit() == 1031 + hash); + assert (coll->getFragSamplePar() == 1041 + hash); + assert (coll->getFragFEChipMask() == 1051 + hash); + assert (coll->getFragRODChipMask() == 1061 + hash); + assert (coll->getLvl1Id() == 1071 + hash); + assert (coll->getLvl1Type() == 1081 + hash); + assert (coll->getDetEvType() == 1091 + hash); + assert (coll->getRODBCID() == 1101 + hash); + } + + if (amp_offs < 0) { + assert (coll->size() == 0); + } + else { + HWIdentifier drawer_id = cabling->getTileHWID()->drawer_id (coll->identify()); + int i = 0; + for (const TileRawChannel* chan : *coll) { + int offs = i + hash*NCHAN; + HWIdentifier hwid = cabling->getTileHWID()-> channel_id (drawer_id, i); + assert (chan->adc_HWID() == hwid); + assert (chan->pedestal() == offs + 100); + + assert (chan->size() == 2); + assert (chan->amplitude(0) == offs*200.f + amp_offs); + assert (chan->amplitude(1) == offs*200.f+10 + amp_offs); + + assert (chan->sizeTime() == 3); + assert (chan->time(0) == offs*300.f+30); + assert (chan->time(1) == offs*400.f+30); + assert (chan->time(2) == offs*500.f+30); + + assert (chan->sizeQuality() == 4); + assert (chan->quality(0) == offs*500 + 0.5f); + assert (chan->quality(1) == offs*500 + 1.5f); + assert (chan->quality(2) == offs*500 + 2.5f); + assert (chan->quality(3) == offs*500 + 3.5f); + + i += 1; + } + } + } +} + + +void test1() +{ + std::cout << "test1\n"; + + { + std::unique_ptr<TileMutableRawChannelContainer> cont1 = create1 (false); + checkFind1 (*cont1, false); + cont1->lock(); + checkFind2 (*cont1); + check (*cont1, false, 0); + + TileRawChannelContainer& rc1 = *cont1; + auto cont1a = std::make_unique<TestTileMutableRawChannelContainer> (rc1); + checkFind1 (*cont1a, false); + check (*cont1a, false, 0); + modify (*cont1a, 11); + cont1a->lock(); + checkFind2 (*cont1a); + check (*cont1a, false, 11); + cont1a->recycle(); + assert (cont1a->get_bsflags() == 0); + cont1a->set_bsflags (98765); + checkFind1 (*cont1a, false); + check (*cont1a, false, -1); + } + + { + std::unique_ptr<TileMutableRawChannelContainer> cont2 = create1 (true); + checkFind1 (*cont2, true); + modify (*cont2, 23); + cont2->lock(); + checkFind2 (*cont2); + check (*cont2, true, 23); + + TileRawChannelContainer& rc2 = *cont2; + auto cont2a = std::make_unique<TileMutableRawChannelContainer> (rc2); + checkFind1 (*cont2a, true); + check (*cont2a, true, 23); + modify (*cont2a, 11); + cont2a->lock(); + checkFind2 (*cont2a); + check (*cont2a, true, 34); + } +} + + +int main() +{ + std::cout << "TileMutableRawChannelContainer_test\n"; + TileCablingSvc::init_idhelpers(); + test1(); + return 0; +} + diff --git a/TileCalorimeter/TileEvent/test/TileRawChannelCollection_test.cxx b/TileCalorimeter/TileEvent/test/TileRawChannelCollection_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..17115c66b4262fa1142125a7b58fccf38ff61f7c --- /dev/null +++ b/TileCalorimeter/TileEvent/test/TileRawChannelCollection_test.cxx @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileEvent/test/TileRawChannelCollection_test.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Test for TileRawChannelCollection. + */ + + +#undef NDEBUG +#include "TileEvent/TileRawChannelCollection.h" +#include <iostream> +#include <cassert> + + +void test1() +{ + std::cout << "test1\n"; + + TileRawChannelCollection coll (123); + coll.setFragGlobalCRC (234); + coll.setFragDSPBCID (345); + coll.setFragBCID (456); + coll.setFragMemoryPar (567); + coll.setFragSstrobe (687); + coll.setFragDstrobe (890); + coll.setFragHeaderBit (1011); + coll.setFragHeaderPar (1021); + coll.setFragSampleBit (1031); + coll.setFragSamplePar (1041); + coll.setFragFEChipMask (1051); + coll.setFragRODChipMask (1061); + coll.setLvl1Id (1071); + coll.setLvl1Type (1081); + coll.setDetEvType (1091); + coll.setRODBCID (1101); + + for (int i=0; i < 10; i++) { + HWIdentifier hwid (10000 + i*1000); + std::vector<float> amplitude { i*200.f, i*200.f+10 }; + std::vector<float> time { i*300.f+30, i*400.f+30, i*500.f+30 }; + std::vector<float> quality { i*500 + 0.5f, i*500 + 1.5f, + i*500 + 2.5f, i*500 + 3.5f }; + float ped = i + 100; + coll.push_back (std::make_unique<TileRawChannel> (hwid, + std::move (amplitude), + std::move (time), + std::move (quality), + ped)); + } + + TileRawChannelCollection newColl (coll); + assert (newColl.identify() == 123); + assert (newColl.getFragGlobalCRC() == 234); + assert (newColl.getFragDSPBCID() == 345); + assert (newColl.getFragBCID() == 456); + assert (newColl.getFragMemoryPar() == 567); + assert (newColl.getFragSstrobe() == 687); + assert (newColl.getFragDstrobe() == 890); + assert (newColl.getFragHeaderBit() == 1011); + assert (newColl.getFragHeaderPar() == 1021); + assert (newColl.getFragSampleBit() == 1031); + assert (newColl.getFragSamplePar() == 1041); + assert (newColl.getFragFEChipMask() == 1051); + assert (newColl.getFragRODChipMask() == 1061); + assert (newColl.getLvl1Id() == 1071); + assert (newColl.getLvl1Type() == 1081); + assert (newColl.getDetEvType() == 1091); + assert (newColl.getRODBCID() == 1101); + + assert (newColl.size() == 10); + for (int i=0; i < 10; i++) { + const TileRawChannel* chan = newColl[i]; + assert (chan->adc_HWID() == HWIdentifier (10000 + i*1000)); + assert (chan->pedestal() == i + 100); + + assert (chan->size() == 2); + assert (chan->amplitude(0) == i*200.f); + assert (chan->amplitude(1) == i*200.f+10); + + assert (chan->sizeTime() == 3); + assert (chan->time(0) == i*300.f+30); + assert (chan->time(1) == i*400.f+30); + assert (chan->time(2) == i*500.f+30); + + assert (chan->sizeQuality() == 4); + assert (chan->quality(0) == i*500 + 0.5f); + assert (chan->quality(1) == i*500 + 1.5f); + assert (chan->quality(2) == i*500 + 2.5f); + assert (chan->quality(3) == i*500 + 3.5f); + } +} + + +int main() +{ + std::cout << "TileRawChannelCollection_test\n"; + test1(); + return 0; +} diff --git a/TileCalorimeter/TileG4/TileGeoG4SD/TileGeoG4SD/TileSDOptions.h b/TileCalorimeter/TileG4/TileGeoG4SD/TileGeoG4SD/TileSDOptions.h index c61ae1f398cc113c88d6f45ca3f467f31467225d..610569703138eaaa5b4cbb83dc44655e2da8c087 100644 --- a/TileCalorimeter/TileG4/TileGeoG4SD/TileGeoG4SD/TileSDOptions.h +++ b/TileCalorimeter/TileG4/TileGeoG4SD/TileGeoG4SD/TileSDOptions.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TILESDOPTIONS_h @@ -14,7 +14,9 @@ #include <string> #include <vector> -struct TileSDOptions { +class TileSDOptions +{ +public: /** Setup defaults */ TileSDOptions() : timeCut(350.5), diff --git a/TileCalorimeter/TileRecUtils/CMakeLists.txt b/TileCalorimeter/TileRecUtils/CMakeLists.txt index 0c174d677899b386d10fbd6470113ba951849805..674b26ca2957babbb33d5279da670a23ab28712b 100644 --- a/TileCalorimeter/TileRecUtils/CMakeLists.txt +++ b/TileCalorimeter/TileRecUtils/CMakeLists.txt @@ -20,6 +20,7 @@ atlas_depends_on_subdirs( PUBLIC TileCalorimeter/TileSimEvent TileCalorimeter/TileIdentifier PRIVATE + Control/CxxUtils Calorimeter/CaloDetDescr Calorimeter/CaloEvent Control/AthAllocators @@ -42,7 +43,7 @@ atlas_add_library( TileRecUtilsLib INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} CaloConditions CaloIdentifier AthenaBaseComps AthenaKernel Identifier GaudiKernel TileEvent TileSimEvent TileIdentifier CaloUtilsLib TileConditionsLib CaloDetDescrLib StoreGateLib SGtests + LINK_LIBRARIES ${CLHEP_LIBRARIES} CaloConditions CaloIdentifier AthenaBaseComps AthenaKernel Identifier GaudiKernel TileEvent TileSimEvent TileIdentifier CaloUtilsLib TileConditionsLib CaloDetDescrLib StoreGateLib SGtests CxxUtils PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} CaloEvent AthAllocators xAODEventInfo TileCalibBlobObjs TileDetDescr PathResolver ) atlas_add_component( TileRecUtils diff --git a/TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.cxx b/TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.cxx new file mode 100644 index 0000000000000000000000000000000000000000..977e4f640ddd936bb5b2c2713ac56978e3a523bd --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.cxx @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/src/TileBeamElemDumper.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileBeamElemContainer to a text file. + */ + + +#include "TileBeamElemDumper.h" +#include "StoreGate/ReadHandle.h" +#include "CxxUtils/StrFormat.h" +#include <fstream> + + +/** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ +TileBeamElemDumper::TileBeamElemDumper (const std::string& name, ISvcLocator* svcloc) + : AthReentrantAlgorithm (name, svcloc) +{ +} + + +/** + * @brief Algorithm initialization; called at the beginning of the job. + */ +StatusCode TileBeamElemDumper::initialize() +{ + ATH_CHECK( m_contKey.initialize() ); + return StatusCode::SUCCESS; +} + + +/** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ +StatusCode TileBeamElemDumper::execute_r (const EventContext& ctx) const +{ + std::string fname = CxxUtils::strformat ("%s%s_%08u_%08lu.dump", + m_prefix.value().c_str(), + m_contKey.key().c_str(), + ctx.eventID().run_number(), + ctx.eventID().event_number()); + std::ofstream fout (fname); + if (!fout) { + ATH_MSG_ERROR ("Cannot open dump file: " << fname); + return StatusCode::FAILURE; + } + + SG::ReadHandle<TileBeamElemContainer> cont (m_contKey, ctx); + + fout << "TileBeamElemContainer/" << m_contKey.key() << " " + << "run " << ctx.eventID().run_number() << " " + << "event " << ctx.eventID().event_number() << std::endl; + + fout << "Type: " << cont->get_type() << " (" + << TileFragHash::typeToString (cont->get_type()) << ") Units: " + << cont->get_unit() << " (" + << TileRawChannelUnit::unitToString (cont->get_unit()) + << ") BSflags: 0x" << std::hex << cont->get_bsflags() << std::dec + << std::endl; + + for (IdentifierHash hash : cont->GetAllCurrentHashes()) { + const TileBeamElemCollection* coll = cont->indexFindPtr (hash); + fout << static_cast<std::string> (*coll); + fout << "\n"; + } + + fout.close(); + + return StatusCode::SUCCESS; +} + diff --git a/TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.h b/TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.h new file mode 100644 index 0000000000000000000000000000000000000000..9dcf3b0b64d15b83279a9a0d945ea8b60b0a362f --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileBeamElemDumper.h @@ -0,0 +1,64 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/TileBeamElemDumper.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileBeamElemContainer to a text file. + */ + + +#ifndef TILERECUTILS_TILEBEAMELEMDUMPER_H +#define TILERECUTILS_TILEBEAMELEMDUMPER_H + + +#include "TileEvent/TileBeamElemContainer.h" +#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "StoreGate/ReadHandleKey.h" + + +/** + * @brief Dump a TileBeamElemContainer to a text file. + * + * We write one file per container, putting the key and run/event numbers in the + * file name (for tests with MT jobs). + */ +class TileBeamElemDumper + : public AthReentrantAlgorithm +{ +public: + /** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ + TileBeamElemDumper (const std::string& name, ISvcLocator* svcloc); + + + /** + * @brief Algorithm initialization; called at the beginning of the job. + */ + virtual StatusCode initialize() override; + + + /** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ + virtual StatusCode execute_r (const EventContext& ctx) const override; + + +private: + /// Handle to access input tile digits. + SG::ReadHandleKey<TileBeamElemContainer> m_contKey + { this, "TileBeamElemContainer", "TileBeamElemCnt", "Handle for input tile beam info." }; + + /// Output file name prefix. + Gaudi::Property<std::string> m_prefix + { this, "Prefix", "", "Prefix for output file name." }; +}; + + +#endif // not TILERECUTILS_TILEBEAMELEMDUMPER_H diff --git a/TileCalorimeter/TileRecUtils/src/TileDigitsDumper.cxx b/TileCalorimeter/TileRecUtils/src/TileDigitsDumper.cxx new file mode 100644 index 0000000000000000000000000000000000000000..4584e32a62284f821dfb3437164195da32e98b7b --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileDigitsDumper.cxx @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/src/TileDigitsDumper.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileDigitsContainer to a text file. + */ + + +#include "TileDigitsDumper.h" +#include "StoreGate/ReadHandle.h" +#include "CxxUtils/StrFormat.h" +#include <fstream> + + +/** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ +TileDigitsDumper::TileDigitsDumper (const std::string& name, ISvcLocator* svcloc) + : AthReentrantAlgorithm (name, svcloc) +{ +} + + +/** + * @brief Algorithm initialization; called at the beginning of the job. + */ +StatusCode TileDigitsDumper::initialize() +{ + ATH_CHECK( m_contKey.initialize() ); + if (!m_altContKey.key().empty()) { + ATH_CHECK( m_altContKey.initialize() ); + } + return StatusCode::SUCCESS; +} + + +/** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ +StatusCode TileDigitsDumper::execute_r (const EventContext& ctx) const +{ + if (!m_altContKey.key().empty()) { + SG::ReadHandle<TileDigitsContainer> altCont (m_altContKey, ctx); + *altCont; + } + + std::string fname = CxxUtils::strformat ("%s%s_%08u_%08lu.dump", + m_prefix.value().c_str(), + m_contKey.key().c_str(), + ctx.eventID().run_number(), + ctx.eventID().event_number()); + std::ofstream fout (fname); + if (!fout) { + ATH_MSG_ERROR ("Cannot open dump file: " << fname); + return StatusCode::FAILURE; + } + + SG::ReadHandle<TileDigitsContainer> cont (m_contKey, ctx); + + fout << "TileDigitsContainer/" << m_contKey.key() << " " + << "run " << ctx.eventID().run_number() << " " + << "event " << ctx.eventID().event_number() << std::endl; + + fout << "Type: " << cont->get_type() << " (" + << TileFragHash::typeToString (cont->get_type()) << ") Units: " + << cont->get_unit() << " (" + << TileRawChannelUnit::unitToString (cont->get_unit()) + << ") BSflags: 0x" << std::hex << cont->get_bsflags() << std::dec + << std::endl; + + for (IdentifierHash hash : cont->GetAllCurrentHashes()) { + const TileDigitsCollection* coll = cont->indexFindPtr (hash); + fout << static_cast<std::string> (*coll); + coll->printExtra (fout); + fout << "\n"; + } + + fout.close(); + + return StatusCode::SUCCESS; +} + diff --git a/TileCalorimeter/TileRecUtils/src/TileDigitsDumper.h b/TileCalorimeter/TileRecUtils/src/TileDigitsDumper.h new file mode 100644 index 0000000000000000000000000000000000000000..501efd757fafbb9bca604cd30571c6c1d84a4a57 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileDigitsDumper.h @@ -0,0 +1,69 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/TileDigitsDumper.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileDigitsContainer to a text file. + */ + + +#ifndef TILERECUTILS_TILEDIGITSDUMPER_H +#define TILERECUTILS_TILEDIGITSDUMPER_H + + +#include "TileEvent/TileDigitsContainer.h" +#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "StoreGate/ReadHandleKey.h" + + +/** + * @brief Dump a TileDigitsContainer to a text file. + * + * We write one file per container, putting the key and run/event numbers in the + * file name (for tests with MT jobs). + */ +class TileDigitsDumper + : public AthReentrantAlgorithm +{ +public: + /** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ + TileDigitsDumper (const std::string& name, ISvcLocator* svcloc); + + + /** + * @brief Algorithm initialization; called at the beginning of the job. + */ + virtual StatusCode initialize() override; + + + /** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ + virtual StatusCode execute_r (const EventContext& ctx) const override; + + +private: + /// Handle to access input tile digits. + SG::ReadHandleKey<TileDigitsContainer> m_contKey + { this, "TileDigitsContainer", "TileDigitsCnt", "Handle for input tile digits." }; + + /// Optional additional input dependency --- used when we access the object + /// produced on the side by the converter. + SG::ReadHandleKey<TileDigitsContainer> m_altContKey + { this, "AltTileDigitsContainer", "", "Alternate handle for input tile digits." }; + + /// Output file name prefix. + Gaudi::Property<std::string> m_prefix + { this, "Prefix", "", "Prefix for output file name." }; +}; + + +#endif // not TILERECUTILS_TILEDIGITSDUMPER_H diff --git a/TileCalorimeter/TileRecUtils/src/TileL2Dumper.cxx b/TileCalorimeter/TileRecUtils/src/TileL2Dumper.cxx new file mode 100644 index 0000000000000000000000000000000000000000..8a731996b690668dc72f9b8f4b1166c3d808f33d --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileL2Dumper.cxx @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/src/TileL2Dumper.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileL2Container to a text file. + */ + + +#include "TileL2Dumper.h" +#include "StoreGate/ReadHandle.h" +#include "CxxUtils/StrFormat.h" +#include <fstream> + + +/** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ +TileL2Dumper::TileL2Dumper (const std::string& name, ISvcLocator* svcloc) + : AthReentrantAlgorithm (name, svcloc) +{ +} + + +/** + * @brief Algorithm initialization; called at the beginning of the job. + */ +StatusCode TileL2Dumper::initialize() +{ + ATH_CHECK( m_contKey.initialize() ); + return StatusCode::SUCCESS; +} + + +/** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ +StatusCode TileL2Dumper::execute_r (const EventContext& ctx) const +{ + std::string fname = CxxUtils::strformat ("%s%s_%08u_%08lu.dump", + m_prefix.value().c_str(), + m_contKey.key().c_str(), + ctx.eventID().run_number(), + ctx.eventID().event_number()); + std::ofstream fout (fname); + if (!fout) { + ATH_MSG_ERROR ("Cannot open dump file: " << fname); + return StatusCode::FAILURE; + } + + SG::ReadHandle<TileL2Container> cont (m_contKey, ctx); + + fout << "TileL2Container/" << m_contKey.key() << " " + << "run " << ctx.eventID().run_number() << " " + << "event " << ctx.eventID().event_number() << std::endl; + + fout << static_cast<std::string> (*cont) << "\n"; + + fout.close(); + + return StatusCode::SUCCESS; +} + diff --git a/TileCalorimeter/TileRecUtils/src/TileL2Dumper.h b/TileCalorimeter/TileRecUtils/src/TileL2Dumper.h new file mode 100644 index 0000000000000000000000000000000000000000..368379badfd1c636a38180bcfcfcd7ad7c085a61 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileL2Dumper.h @@ -0,0 +1,64 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/TileL2Dumper.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileL2Container to a text file. + */ + + +#ifndef TILERECUTILS_TILEL2DUMPER_H +#define TILERECUTILS_TILEL2DUMPER_H + + +#include "TileEvent/TileL2Container.h" +#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "StoreGate/ReadHandleKey.h" + + +/** + * @brief Dump a TileL2Container to a text file. + * + * We write one file per container, putting the key and run/event numbers in the + * file name (for tests with MT jobs). + */ +class TileL2Dumper + : public AthReentrantAlgorithm +{ +public: + /** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ + TileL2Dumper (const std::string& name, ISvcLocator* svcloc); + + + /** + * @brief Algorithm initialization; called at the beginning of the job. + */ + virtual StatusCode initialize() override; + + + /** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ + virtual StatusCode execute_r (const EventContext& ctx) const override; + + +private: + /// Handle to access input tile digits. + SG::ReadHandleKey<TileL2Container> m_contKey + { this, "TileL2Container", "TileL2Cnt", "Handle for input tile L2 objects." }; + + /// Output file name prefix. + Gaudi::Property<std::string> m_prefix + { this, "Prefix", "", "Prefix for output file name." }; +}; + + +#endif // not TILERECUTILS_TILEL2DUMPER_H diff --git a/TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.cxx b/TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.cxx new file mode 100644 index 0000000000000000000000000000000000000000..c969c075ea18423f236276109e5a921ef759a8d5 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.cxx @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/src/TileLaserObjectDumper.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileL2Container to a text file. + */ + + +#include "TileLaserObjectDumper.h" +#include "StoreGate/ReadHandle.h" +#include "CxxUtils/StrFormat.h" +#include <fstream> + + +/** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ +TileLaserObjectDumper::TileLaserObjectDumper (const std::string& name, + ISvcLocator* svcloc) + : AthReentrantAlgorithm (name, svcloc) +{ +} + + +/** + * @brief Algorithm initialization; called at the beginning of the job. + */ +StatusCode TileLaserObjectDumper::initialize() +{ + ATH_CHECK( m_contKey.initialize() ); + return StatusCode::SUCCESS; +} + + +/** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ +StatusCode TileLaserObjectDumper::execute_r (const EventContext& ctx) const +{ + std::string fname = CxxUtils::strformat ("%s%s_%08u_%08lu.dump", + m_prefix.value().c_str(), + m_contKey.key().c_str(), + ctx.eventID().run_number(), + ctx.eventID().event_number()); + std::ofstream fout (fname); + if (!fout) { + ATH_MSG_ERROR ("Cannot open dump file: " << fname); + return StatusCode::FAILURE; + } + + SG::ReadHandle<TileLaserObject> cont (m_contKey, ctx); + + fout << "TileLaserObject/" << m_contKey.key() << " " + << "run " << ctx.eventID().run_number() << " " + << "event " << ctx.eventID().event_number() << std::endl; + + fout << static_cast<std::string> (*cont) << "\n"; + + fout.close(); + + return StatusCode::SUCCESS; +} + diff --git a/TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.h b/TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.h new file mode 100644 index 0000000000000000000000000000000000000000..c953c0a2308182bd907a456dd9f60de0c689e683 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileLaserObjectDumper.h @@ -0,0 +1,64 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/TileLaserObjectDumper.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileLaserObject to a text file. + */ + + +#ifndef TILERECUTILS_TILELASEROBJECTDUMPER_H +#define TILERECUTILS_TILELASEROBJECTDUMPER_H + + +#include "TileEvent/TileLaserObject.h" +#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "StoreGate/ReadHandleKey.h" + + +/** + * @brief Dump a TileLaserObject to a text file. + * + * We write one file per object, putting the key and run/event numbers in the + * file name (for tests with MT jobs). + */ +class TileLaserObjectDumper + : public AthReentrantAlgorithm +{ +public: + /** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ + TileLaserObjectDumper (const std::string& name, ISvcLocator* svcloc); + + + /** + * @brief Algorithm initialization; called at the beginning of the job. + */ + virtual StatusCode initialize() override; + + + /** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ + virtual StatusCode execute_r (const EventContext& ctx) const override; + + +private: + /// Handle to access input object. + SG::ReadHandleKey<TileLaserObject> m_contKey + { this, "TileLaserObject", "TileLaserObj", "Handle for input laser objects." }; + + /// Output file name prefix. + Gaudi::Property<std::string> m_prefix + { this, "Prefix", "", "Prefix for output file name." }; +}; + + +#endif // not TILERECUTILS_TILELASEROBJECTDUMPER_H diff --git a/TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.cxx b/TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.cxx new file mode 100644 index 0000000000000000000000000000000000000000..d676d51ba1241f1e94b82e7c16e202b0cff8ded6 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.cxx @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/src/TileMuonReceiverDumper.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileMuonReceiverContainer to a text file. + */ + + +#include "TileMuonReceiverDumper.h" +#include "StoreGate/ReadHandle.h" +#include "CxxUtils/StrFormat.h" +#include <fstream> + + +/** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ +TileMuonReceiverDumper::TileMuonReceiverDumper (const std::string& name, + ISvcLocator* svcloc) + : AthReentrantAlgorithm (name, svcloc) +{ +} + + +/** + * @brief Algorithm initialization; called at the beginning of the job. + */ +StatusCode TileMuonReceiverDumper::initialize() +{ + ATH_CHECK( m_contKey.initialize() ); + return StatusCode::SUCCESS; +} + + +/** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ +StatusCode TileMuonReceiverDumper::execute_r (const EventContext& ctx) const +{ + std::string fname = CxxUtils::strformat ("%s%s_%08u_%08lu.dump", + m_prefix.value().c_str(), + m_contKey.key().c_str(), + ctx.eventID().run_number(), + ctx.eventID().event_number()); + std::ofstream fout (fname); + if (!fout) { + ATH_MSG_ERROR ("Cannot open dump file: " << fname); + return StatusCode::FAILURE; + } + + SG::ReadHandle<TileMuonReceiverContainer> cont (m_contKey, ctx); + + fout << "TileMuonReceiverContainer/" << m_contKey.key() << " " + << "run " << ctx.eventID().run_number() << " " + << "event " << ctx.eventID().event_number() << std::endl; + + fout << static_cast<std::string> (*cont) << "\n"; + + fout.close(); + + return StatusCode::SUCCESS; +} + diff --git a/TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.h b/TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.h new file mode 100644 index 0000000000000000000000000000000000000000..9af75e8b83cae941d92f6c45cd02d85d087bbb95 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileMuonReceiverDumper.h @@ -0,0 +1,64 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/TileMuonReceiverDumper.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileMuonReceiverContainer to a text file. + */ + + +#ifndef TILERECUTILS_TILEMUONRECEIVERDUMPER_H +#define TILERECUTILS_TILEMUONRECEIVERDUMPER_H + + +#include "TileEvent/TileMuonReceiverContainer.h" +#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "StoreGate/ReadHandleKey.h" + + +/** + * @brief Dump a TileMuonReceiverContainer to a text file. + * + * We write one file per container, putting the key and run/event numbers in the + * file name (for tests with MT jobs). + */ +class TileMuonReceiverDumper + : public AthReentrantAlgorithm +{ +public: + /** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ + TileMuonReceiverDumper (const std::string& name, ISvcLocator* svcloc); + + + /** + * @brief Algorithm initialization; called at the beginning of the job. + */ + virtual StatusCode initialize() override; + + + /** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ + virtual StatusCode execute_r (const EventContext& ctx) const override; + + +private: + /// Handle to access input tile digits. + SG::ReadHandleKey<TileMuonReceiverContainer> m_contKey + { this, "TileMuonReceiverContainer", "TileMuRcvCnt", "Handle for input tile MuonReceiver objects." }; + + /// Output file name prefix. + Gaudi::Property<std::string> m_prefix + { this, "Prefix", "", "Prefix for output file name." }; +}; + + +#endif // not TILERECUTILS_TILEMUONRECEIVERDUMPER_H diff --git a/TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.cxx b/TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.cxx new file mode 100644 index 0000000000000000000000000000000000000000..4879ff2be1024880ef18d6796803b6adb4ca47b0 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.cxx @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/src/TileRawChannelDumper.cxx + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileRawChannelContainer to a text file. + */ + + +#include "TileRawChannelDumper.h" +#include "StoreGate/ReadHandle.h" +#include "CxxUtils/StrFormat.h" +#include <fstream> + + +/** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ +TileRawChannelDumper::TileRawChannelDumper (const std::string& name, ISvcLocator* svcloc) + : AthReentrantAlgorithm (name, svcloc) +{ +} + + +/** + * @brief Algorithm initialization; called at the beginning of the job. + */ +StatusCode TileRawChannelDumper::initialize() +{ + ATH_CHECK( m_contKey.initialize() ); + if (!m_altContKey.key().empty()) { + ATH_CHECK( m_altContKey.initialize() ); + } + return StatusCode::SUCCESS; +} + + +/** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ +StatusCode TileRawChannelDumper::execute_r (const EventContext& ctx) const +{ + if (!m_altContKey.key().empty()) { + SG::ReadHandle<TileRawChannelContainer> altCont (m_altContKey, ctx); + *altCont; + } + + std::string fname = CxxUtils::strformat ("%s%s_%08u_%08lu.dump", + m_prefix.value().c_str(), + m_contKey.key().c_str(), + ctx.eventID().run_number(), + ctx.eventID().event_number()); + std::ofstream fout (fname); + if (!fout) { + ATH_MSG_ERROR ("Cannot open dump file: " << fname); + return StatusCode::FAILURE; + } + + SG::ReadHandle<TileRawChannelContainer> cont (m_contKey, ctx); + + fout << "TileRawChannelContainer/" << m_contKey.key() << " " + << "run " << ctx.eventID().run_number() << " " + << "event " << ctx.eventID().event_number() << std::endl; + + fout << "Type: " << cont->get_type() << " (" + << TileFragHash::typeToString (cont->get_type()) << ") Units: " + << cont->get_unit() << " (" + << TileRawChannelUnit::unitToString (cont->get_unit()) + << ") BSflags: 0x" << std::hex << cont->get_bsflags() << std::dec + << std::endl; + + for (IdentifierHash hash : cont->GetAllCurrentHashes()) { + const TileRawChannelCollection* coll = cont->indexFindPtr (hash); + fout << static_cast<std::string> (*coll); + fout << "\n"; + } + + fout.close(); + + return StatusCode::SUCCESS; +} + diff --git a/TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.h b/TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.h new file mode 100644 index 0000000000000000000000000000000000000000..2e6e0fa0b5907752d563a05d03a53e4c4eac4065 --- /dev/null +++ b/TileCalorimeter/TileRecUtils/src/TileRawChannelDumper.h @@ -0,0 +1,69 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. +/* + * Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. + */ +/** + * @file TileRecUtils/TileRawChannelDumper.h + * @author scott snyder <snyder@bnl.gov> + * @date Oct, 2018 + * @brief Dump a TileRawChannelContainer to a text file. + */ + + +#ifndef TILERECUTILS_TILERAWCHANNELDUMPER_H +#define TILERECUTILS_TILERAWCHANNELDUMPER_H + + +#include "TileEvent/TileRawChannelContainer.h" +#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "StoreGate/ReadHandleKey.h" + + +/** + * @brief Dump a TileRawChannelContainer to a text file. + * + * We write one file per container, putting the key and run/event numbers in the + * file name (for tests with MT jobs). + */ +class TileRawChannelDumper + : public AthReentrantAlgorithm +{ +public: + /** + * @brief Constructor. + * @param name The algorithm name. + * @param svcloc The service locator. + */ + TileRawChannelDumper (const std::string& name, ISvcLocator* svcloc); + + + /** + * @brief Algorithm initialization; called at the beginning of the job. + */ + virtual StatusCode initialize() override; + + + /** + * @brief Algorithm event processing. + * @param ctx Event Context. + */ + virtual StatusCode execute_r (const EventContext& ctx) const override; + + +private: + /// Handle to access input tile digits. + SG::ReadHandleKey<TileRawChannelContainer> m_contKey + { this, "TileRawChannelContainer", "TileRawChannelCnt", "Handle for input tile raw channels." }; + + /// Optional additional input dependency --- used when we access the object + /// produced on the side by the converter. + SG::ReadHandleKey<TileRawChannelContainer> m_altContKey + { this, "AltTileRawChannelContainer", "", "Alternate handle for input tile raw channels." }; + + /// Output file name prefix. + Gaudi::Property<std::string> m_prefix + { this, "Prefix", "", "Prefix for output file name." }; +}; + + +#endif // not TILERECUTILS_TILERAWCHANNELDUMPER_H diff --git a/TileCalorimeter/TileRecUtils/src/components/TileRecUtils_entries.cxx b/TileCalorimeter/TileRecUtils/src/components/TileRecUtils_entries.cxx index 68e1e09bafdc9c5e4fdb5afbdc6327d7aa58c6e1..803b7588b682065146af2fb82da1f8463ac9538b 100644 --- a/TileCalorimeter/TileRecUtils/src/components/TileRecUtils_entries.cxx +++ b/TileCalorimeter/TileRecUtils/src/components/TileRecUtils_entries.cxx @@ -14,10 +14,16 @@ #include "TileRecUtils/TileRawChannelMaker.h" #include "TileRecUtils/TileRawChannelVerify.h" #include "TileRecUtils/TileRawCorrelatedNoise.h" -#include "../TileTowerBuilderTool.h" #include "TileRecUtils/TileCellNoiseFilter.h" #include "TileRecUtils/TileRawChannelNoiseFilter.h" #include "TileRecUtils/TileRawChannelOF1Corrector.h" +#include "../TileTowerBuilderTool.h" +#include "../TileDigitsDumper.h" +#include "../TileRawChannelDumper.h" +#include "../TileBeamElemDumper.h" +#include "../TileL2Dumper.h" +#include "../TileLaserObjectDumper.h" +#include "../TileMuonReceiverDumper.h" DECLARE_COMPONENT( TileRawChannelBuilderFlatFilter ) DECLARE_COMPONENT( TileRawChannelBuilderFitFilter ) @@ -39,4 +45,10 @@ DECLARE_COMPONENT( TileRawChannelOF1Corrector ) DECLARE_COMPONENT( TileRawChannelMaker ) DECLARE_COMPONENT( TileRawChannelVerify ) DECLARE_COMPONENT( TileRawCorrelatedNoise ) +DECLARE_COMPONENT( TileDigitsDumper ) +DECLARE_COMPONENT( TileRawChannelDumper ) +DECLARE_COMPONENT( TileBeamElemDumper ) +DECLARE_COMPONENT( TileL2Dumper ) +DECLARE_COMPONENT( TileLaserObjectDumper ) +DECLARE_COMPONENT( TileMuonReceiverDumper ) diff --git a/TileCalorimeter/TileSimAlgs/TileSimAlgs/TileHitToRawChannel.h b/TileCalorimeter/TileSimAlgs/TileSimAlgs/TileHitToRawChannel.h index 609697f9fee4e55fc543fd25dc69352a588b8102..84ea5a6041534a453ce090cb391d80402c7abbec 100644 --- a/TileCalorimeter/TileSimAlgs/TileSimAlgs/TileHitToRawChannel.h +++ b/TileCalorimeter/TileSimAlgs/TileSimAlgs/TileHitToRawChannel.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //**************************************************************************** @@ -32,6 +32,7 @@ #include "TileEvent/TileRawChannelContainer.h" #include "TileIdentifier/TileFragHash.h" #include "TileIdentifier/TileRawChannelUnit.h" +#include "TileConditions/TileCondToolNoiseSample.h" // Atlas includes #include "AthenaBaseComps/AthAlgorithm.h" @@ -114,6 +115,10 @@ class TileHitToRawChannel: public AthAlgorithm { CLHEP::HepRandomEngine * m_pHRengine; //!< Random number service to use ToolHandle<TileCondToolEmscale> m_tileToolEmscale; //!< main Tile Calibration tool + + ToolHandle<TileCondToolNoiseSample> m_tileToolNoiseSample{this, + "TileCondToolNoiseSample", "TileCondToolNoiseSample", "Tile sample noise tool"}; + }; #endif // TILESIMALGS_TILEHITTORAWCHANNEL_H diff --git a/TileCalorimeter/TileSimAlgs/src/TileHitToRawChannel.cxx b/TileCalorimeter/TileSimAlgs/src/TileHitToRawChannel.cxx index 1e5cdca1fe746853635a135953ae573b173416ac..3f8c659ce764c571724d9eb1e16843ba13288578 100644 --- a/TileCalorimeter/TileSimAlgs/src/TileHitToRawChannel.cxx +++ b/TileCalorimeter/TileSimAlgs/src/TileHitToRawChannel.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //***************************************************************************** @@ -91,16 +91,18 @@ StatusCode TileHitToRawChannel::initialize() { // retrieve TileID helper and TileInfo from det store - CHECK( detStore()->retrieve(m_tileID) ); + ATH_CHECK( detStore()->retrieve(m_tileID) ); - CHECK( detStore()->retrieve(m_tileTBID) ); + ATH_CHECK( detStore()->retrieve(m_tileTBID) ); - CHECK( detStore()->retrieve(m_tileHWID) ); + ATH_CHECK( detStore()->retrieve(m_tileHWID) ); - CHECK( detStore()->retrieve(m_tileInfo, m_infoName) ); + ATH_CHECK( detStore()->retrieve(m_tileInfo, m_infoName) ); //=== get TileCondToolEmscale - CHECK( m_tileToolEmscale.retrieve() ); + ATH_CHECK( m_tileToolEmscale.retrieve() ); + + ATH_CHECK( m_tileToolNoiseSample.retrieve() ); if (m_tileNoise) { static const bool CREATEIFNOTTHERE_RNDM(true); @@ -230,7 +232,9 @@ StatusCode TileHitToRawChannel::execute() { for (ch = 0; ch < nChMax; ++ch) { adc_gain[ch] = TileID::HIGHGAIN; - adc_ampl[ch] = random[ch] * m_tileInfo->ChannelNoiseSigma(TileID::HIGHGAIN, ch, idhash); + adc_ampl[ch] = random[ch] * m_tileToolNoiseSample->getHfn(drawerIdx, ch, TileID::HIGHGAIN) + * m_tileInfo->getNoiseScaleFactor(); + } } else { memset(adc_gain, -1, sizeof(adc_gain)); /* TileID::INVALID */ @@ -283,8 +287,8 @@ StatusCode TileHitToRawChannel::execute() { , TileRawChannelUnit::MegaElectronVolts); double noise; // If high saturates, convert adc_id to low-gain value and recalculate. - if (adc_ampl[ch] + amp_ch + m_tileInfo->DigitsPedLevel(TileID::HIGHGAIN, ch, idhash) - > m_ampMaxHi) { + if (adc_ampl[ch] + amp_ch + m_tileToolNoiseSample->getPed(drawerIdx, ch, gain) > m_ampMaxHi) { + gain = TileID::LOWGAIN; amp_ch = e_ch / m_tileToolEmscale->channelCalib(drawerIdx, ch, gain, 1., m_rChUnit , TileRawChannelUnit::MegaElectronVolts); @@ -292,7 +296,8 @@ StatusCode TileHitToRawChannel::execute() { // If Noise is requested, // recalculate noise using the SAME random number as for high. if (m_tileNoise) { - adc_ampl[ch] = random[ch] * m_tileInfo->ChannelNoiseSigma(TileID::LOWGAIN, ch, idhash); + adc_ampl[ch] = random[ch] * m_tileToolNoiseSample->getHfn(drawerIdx, ch, TileID::LOWGAIN) + * m_tileInfo->getNoiseScaleFactor(); } } diff --git a/TileCalorimeter/TileSimEvent/CMakeLists.txt b/TileCalorimeter/TileSimEvent/CMakeLists.txt index ca401ddf8ed06db02a9229214a0806a819a48c9f..dfb7e895281838b2a8a4e8ad14cfd65304139ac2 100644 --- a/TileCalorimeter/TileSimEvent/CMakeLists.txt +++ b/TileCalorimeter/TileSimEvent/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( TileSimEvent ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel DetectorDescription/Identifier Simulation/HitManagement @@ -24,12 +23,12 @@ atlas_add_library( TileSimEvent src/*.cxx PUBLIC_HEADERS TileSimEvent PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES SGTools Identifier HitManagement TileConditionsLib + LINK_LIBRARIES AthenaKernel Identifier HitManagement TileConditionsLib PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} CaloIdentifier ) atlas_add_dictionary( TileSimEventDict TileSimEvent/TileSimEventDict.h TileSimEvent/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} SGTools Identifier HitManagement CaloIdentifier TileConditionsLib TileSimEvent ) + LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaKernel Identifier HitManagement CaloIdentifier TileConditionsLib TileSimEvent ) diff --git a/TileCalorimeter/TileSimEvent/TileSimEvent/TileHitVector.h b/TileCalorimeter/TileSimEvent/TileSimEvent/TileHitVector.h index 1b99f5d9af02351699ed391682b8169012c0122e..343edd637454e7d83a518e41a6a883683333e49e 100755 --- a/TileCalorimeter/TileSimEvent/TileSimEvent/TileHitVector.h +++ b/TileCalorimeter/TileSimEvent/TileSimEvent/TileHitVector.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //************************************************************ @@ -21,10 +21,7 @@ #include "TileSimEvent/TileSimHit.h" #include "HitManagement/AtlasHitsVector.h" #include "HitManagement/AthenaHitsVector.h" - -#ifndef __CINT__ - #include "CLIDSvc/CLASS_DEF.h" -#endif +#include "AthenaKernel/CLASS_DEF.h" typedef AthenaHitsVector<TileHit> TileOldHitVector; @@ -32,9 +29,7 @@ typedef AtlasHitsVector<TileHit> TileHitVector; typedef AtlasHitsVector<TileHit>::iterator TileHitVecIterator; typedef AtlasHitsVector<TileHit>::const_iterator TileHitVecConstIterator; -#ifndef __CINT__ - CLASS_DEF(TileHitVector, 2960, 1 ) - CLASS_DEF(TileOldHitVector, 2961, 1) -#endif +CLASS_DEF(TileHitVector, 2960, 1 ) +CLASS_DEF(TileOldHitVector, 2961, 1) #endif diff --git a/TileCalorimeter/TileSvc/TileByteStream/CMakeLists.txt b/TileCalorimeter/TileSvc/TileByteStream/CMakeLists.txt index cc5318d24741926caf7054825a35c6f3eda478bd..003c19d5e0dd87ff8a4c9661fb0c5348239caee0 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/CMakeLists.txt +++ b/TileCalorimeter/TileSvc/TileByteStream/CMakeLists.txt @@ -21,8 +21,6 @@ atlas_depends_on_subdirs( AtlasTest/TestTools Calorimeter/CaloDetDescr Calorimeter/CaloIdentifier - Control/CLIDSvc - Control/SGTools Control/StoreGate DetectorDescription/IdDictParser Event/ByteStreamCnvSvc @@ -44,7 +42,7 @@ atlas_add_library( TileByteStreamLib ByteStreamData GaudiKernel TileEvent TileIdentifier ByteStreamCnvSvcBaseLib CaloDetDescrLib StoreGateLib ByteStreamCnvSvcLib TileConditionsLib TileL2AlgsLib TileRecUtilsLib - PRIVATE_LINK_LIBRARIES CaloIdentifier SGTools TileCalibBlobObjs + PRIVATE_LINK_LIBRARIES CaloIdentifier TileCalibBlobObjs TileDetDescr ) atlas_add_component( TileByteStream @@ -53,6 +51,39 @@ atlas_add_component( TileByteStream LINK_LIBRARIES TileByteStreamLib ) +set( extra_patterns "LArDetectorToolNV|is still valid|no data retrieved|Database being retired|Reading file|Unable to locate catalog|Resolved path|DigitizationFlags|^Domain|created CondCont|no dictionary for class|^ +[+]|Reading LArPedestalMC|IOV callback|^DetectorStore|TileDetectorTool|Creating TileCondProxyFile|Cache alignment|INFO opening|loading cache|start processing|done processing|WARNING ../MuRcvDigitsCnt|WARNING ../MuRcvRawChCnt|TileL2Builder initialization completed|Initializing TileMuRcvContByteStreamTool|filled inputFileSummary from file|Picked valid file" ) + +atlas_add_test( TileDigitsContByteStreamCnv_test + SCRIPT test/TileDigitsContByteStreamCnv_test.sh + PROPERTIES TIMEOUT 500 + EXTRA_PATTERNS ${extra_patterns} ) + +atlas_add_test( TileRawChannelContByteStreamCnv_test + SCRIPT test/TileRawChannelContByteStreamCnv_test.sh + PROPERTIES TIMEOUT 500 + EXTRA_PATTERNS ${extra_patterns} ) + +atlas_add_test( TileBeamElemContByteStreamCnv_test + SCRIPT test/TileBeamElemContByteStreamCnv_test.sh + PROPERTIES TIMEOUT 500 + EXTRA_PATTERNS ${extra_patterns} ) + +atlas_add_test( TileL2ContByteStreamCnv_test + SCRIPT test/TileL2ContByteStreamCnv_test.sh + PROPERTIES TIMEOUT 500 + EXTRA_PATTERNS ${extra_patterns} ) + +atlas_add_test( TileLaserObjByteStreamCnv_test + SCRIPT test/TileLaserObjByteStreamCnv_test.sh + PROPERTIES TIMEOUT 500 + EXTRA_PATTERNS ${extra_patterns} ) + +atlas_add_test( TileMuRcvContByteStreamCnv_test + SCRIPT test/TileMuRcvContByteStreamCnv_test.sh + PROPERTIES TIMEOUT 500 + EXTRA_PATTERNS ${extra_patterns} ) + + atlas_add_test( TileRawChannel2Bytes4_test SOURCES test/TileRawChannel2Bytes4_test.cxx LINK_LIBRARIES TileByteStreamLib ) diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.py new file mode 100644 index 0000000000000000000000000000000000000000..9f317a6919c510406e7ae913f4213d417aba0ea4 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.py @@ -0,0 +1,109 @@ +# +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. +# +# File: TileByteStream/TileBeamElemContByteStreamCnv_test.py +# Author: scott snyder +# Date: Oct, 2018 +# Brief: Test TileBeamElemContByteStreamCnv. +# + +from __future__ import print_function + +import os + +refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None), + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art', + '/afs/cern.ch/atlas/maxidisk/d33/referencefiles'] +def find_file (fname): + for p in refpaths: + if p: + path = os.path.join (p, fname) + if os.path.exists (path): + return path + print ('ERROR: Cannot find file: ', fname) + return None + +# Find input file. +fpath = os.environ.get ('ATLAS_REFERENCE_DATA', + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests') +# FIXME: This file doesn't seem to actually contain BeamElem data ... +# however, i've not been able to find one that does. +input_fname = os.path.join (fpath, 'data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1') + +# Find reference file. +if not globals().has_key ('ATLAS_REFERENCE_TAG'): + ATLAS_REFERENCE_TAG = os.environ.get ('ATLAS_REFERENCE_TAG', + 'TileByteStream-01-00-00') +from AthenaCommon.Utils.unixtools import find_datafile +r = find_datafile (os.path.join ('TileByteStream', ATLAS_REFERENCE_TAG)) +refdir = None +if r: + refdir = os.path.join (r, 'TileBeamElemDumps') +if not refdir or not os.path.exists (refdir): + refdir = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + 'TileBeamElemDumps')) + + +from AthenaCommon.DetFlags import DetFlags +DetFlags.detdescr.Tile_setOn() +DetFlags.detdescr.LAr_setOn() + +import glob +import sys +import string +import ROOT +import math +from AtlasGeoModel import SetGeometryVersion +from AtlasGeoModel import GeoModelInit +from AtlasGeoModel import SetupRecoGeometry + +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +athenaCommonFlags.BSRDOInput = [input_fname] +from ByteStreamCnvSvc import ReadByteStream +svcMgr.EventSelector.Input = [input_fname] +from AthenaCommon.GlobalFlags import globalflags +globalflags.InputFormat.set_Value_and_Lock('bytestream') + +svcMgr.ByteStreamAddressProviderSvc.TypeNames += [ + 'TileBeamElemContainer/TileBeamElemCnt', + ] + +include('TileConditions/TileConditions_jobOptions.py') + +from GeoModelSvc.GeoModelSvcConf import GeoModelSvc +ServiceMgr += GeoModelSvc() +theApp.CreateSvc += [ "GeoModelSvc"] +from AtlasGeoModel import TileGM +from AtlasGeoModel import LArGM #LAr needed to get MBTS DD. + +from IOVDbSvc.IOVDbSvcConf import IOVDbSvc +IOVDbSvc().GlobalTag = 'OFLCOND-RUN12-SDR-35' + +from AthenaCommon.AlgSequence import AlgSequence +topSequence = AlgSequence() + +theApp.EvtMax=100 + +from AthenaCommon.ConcurrencyFlags import jobproperties as jp +dumpdir = 'TileBeamElemDumps-%d' % jp.ConcurrencyFlags.NumThreads() + +from TileRecUtils.TileRecUtilsConf import TileBeamElemDumper +topSequence += TileBeamElemDumper ('TileBeamElemCntDumper', + TileBeamElemContainer = 'TileBeamElemCnt', + Prefix = dumpdir + '/') + + +os.system ('rm -rf ' + dumpdir) +os.system ('mkdir -p ' + dumpdir) + +from AthenaPython.PyAthenaComps import Alg, StatusCode +class Finalizer (Alg): + def finalize (self): + dumps = glob.glob (os.path.join (refdir, '*.dump')) + for f in dumps: + localdump = os.path.join (dumpdir, os.path.basename (f)) + os.system ('diff -u %s %s' % (f, localdump)) + print ('Finalize: compared %d dumps' % len(dumps)) + return StatusCode.Success +topSequence += Finalizer ('Finalizer') diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..48eaa4c404095c75b6e9ed123ed0203d4887b271 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.ref @@ -0,0 +1,696 @@ +Thu Nov 8 04:24:29 CET 2018 +Preloading tcmalloc_minimal.so +Py:Athena INFO including file "AthenaCommon/Preparation.py" +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/3a1173767ab] -- built on [2018-11-07T2213] +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 "TileByteStream/TileBeamElemContByteStreamCnv_test.py" +[?1034hSetGeometryVersion.py obtained major release version 22 +Py:Athena INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py" +Py:ConfigurableDb INFO Read module info for 5557 configurables from 46 genConfDb files +Py:ConfigurableDb INFO No duplicates have been found: that's good ! +EventInfoMgtInit: Got release version Athena-22.0.1 +Py:IOVDbSvc.CondDB INFO Setting up conditions DB access to instance OFLP200 +Py:Athena INFO including file "TileConditions/TileConditions_jobOptions.py" +Py:TileInfoConf. INFO Adding TileCablingSvc to ServiceMgr +Py:inputFilePeeker INFO Executing inputFilePeeker.py +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... [done] +Py:inputFilePeeker INFO stream_names not present in input bytestream file. Giving default name 'StreamRAW' +Py:inputFilePeeker INFO Successfully filled inputFileSummary from file /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +Py:inputFilePeeker INFO Extracted streams ['StreamRAW'] from input file +Py:TileConditions_jobOptions.py INFO Forcing RUN2 (2014-2017) cabling for run 204073 with geometry ATLAS-R2-2016-01-00-01 +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo for 7 samples +Py:TileConditions_jobOptions.py INFO setting up COOL for TileCal conditions data +Py:TileInfoConf. INFO Changing default TileBadChanTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileBadChanLegacyTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolEmscale configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolNoiseSample configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolTiming configuration to COOL source +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo to return cell noise for Opt.Filter without iterations +Py:Athena INFO including file "AthenaCommon/runbatch.py" +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus075.cern.ch on Thu Nov 8 04:25:01 2018 +==================================================================================================================================== +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 +AthDictLoaderSvc INFO in initialize... +AthDictLoaderSvc INFO acquired Dso-registry +ClassIDSvc INFO getRegistryEntries: read 6946 CLIDRegistry entries for module ALL +CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) +CoreDumpSvc INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) +MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 +AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 +PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] +PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled +PoolSvc INFO Frontier compression level set to 5 +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus075.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +PoolSvc INFO Successfully setup replica sorting algorithm +PoolSvc INFO Setting up APR FileCatalog and Streams +PoolSvc WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml +PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +IOVDbSvc INFO Opened read transaction for POOL PersistencySvc +IOVDbSvc INFO Only 5 POOL conditions files will be open at once +IOVDbSvc INFO Cache alignment will be done in 3 slices +IOVDbSvc INFO Global tag: OFLCOND-RUN12-SDR-35 set from joboptions +IOVDbSvc INFO Read from meta data only for folder /TagInfo +IOVDbSvc INFO Initialised with 3 connections and 14 folders +IOVDbSvc INFO Service IOVDbSvc initialised successfully +ByteStreamAddre... INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO ---> Filter out empty ROB fragments = 'filterEmptyROB':False +ROBDataProviderSvc INFO ---> Filter out specific ROBs by Status Code: # ROBs = 0 +ROBDataProviderSvc INFO ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0 +ByteStreamAddre... INFO initialized +ByteStreamAddre... INFO -- Module IDs for: +ByteStreamAddre... INFO CTP = 0x1 +ByteStreamAddre... INFO muCTPi = 0x1 +ByteStreamAddre... INFO Calorimeter Cluster Processor RoI = 0xa8, 0xa9, 0xaa, 0xab +ByteStreamAddre... INFO Calorimeter Jet/Energy Processor RoI = 0xac, 0xad +ByteStreamAddre... INFO Topo Processor RoI = 0x81, 0x91 +ByteStreamAddre... INFO -- Will fill Store with id = 0 +IOVDbSvc INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found. +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +ClassIDSvc INFO getRegistryEntries: read 3114 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Added taginfo remove for /LAR/Align +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CES +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /LAR/LArCellPositionShift +ClassIDSvc INFO getRegistryEntries: read 792 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL +DetDescrCnvSvc INFO initializing +DetDescrCnvSvc INFO Found DetectorStore service +DetDescrCnvSvc INFO filling proxies for detector managers +DetDescrCnvSvc INFO filling address for CaloTTMgr with CLID 117659265 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloMgr with CLID 4548337 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloSuperCellMgr with CLID 241807251 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloIdManager with CLID 125856940 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArIdManager with CLID 79554919 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for IdDict with CLID 2411 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for AtlasID with CLID 164875623 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for PixelID with CLID 2516 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SCT_ID with CLID 2517 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TRT_ID with CLID 2518 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SiliconID with CLID 129452393 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_ID with CLID 163583365 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_SuperCell_ID with CLID 99488227 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_ID with CLID 3870484 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_SuperCell_ID with CLID 254277678 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_ID with CLID 45738051 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_SuperCell_ID with CLID 12829437 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArMiniFCAL_ID with CLID 79264204 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnlineID with CLID 158698068 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TTOnlineID with CLID 38321944 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnline_SuperCellID with CLID 115600394 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHVLineID with CLID 27863673 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArElectrodeID with CLID 80757351 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileID with CLID 2901 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for Tile_SuperCell_ID with CLID 49557789 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileHWID with CLID 2902 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileTBID with CLID 2903 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MDTIDHELPER with CLID 4170 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CSCIDHELPER with CLID 4171 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for RPCIDHELPER with CLID 4172 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TGCIDHELPER with CLID 4173 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for STGCIDHELPER with CLID 4174 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MMIDHELPER with CLID 4175 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloLVL1_ID with CLID 108133391 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_ID with CLID 123500438 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_SuperCell_ID with CLID 128365736 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloDM_ID with CLID 167756483 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for ZdcID with CLID 190591643 and storage type 68 to detector store +GeoModelSvc::RD...WARNING Getting PixTBMatComponents with default tag +GeoModelSvc::RD...WARNING Getting PixTBMaterials with default tag +GeoModelSvc::RD...WARNING Getting InDetMatComponents with default tag +GeoModelSvc::RD...WARNING Getting InDetMaterials with default tag +GeoModelSvc.LAr... INFO Keys for LAr are ATLAS-R2-2016-01-00-01 ATLAS +GeoModelSvc.LAr... INFO Building LAr version LAr-Revised-17-01 while ATLAS version is ATLAS-R2-2016-01-00-01 +GeoModelSvc.LAr... INFO LAr Geometry Options: +GeoModelSvc.LAr... INFO Sagging = false +GeoModelSvc.LAr... INFO Barrel = ON +GeoModelSvc.LAr... INFO Endcap = ON +BarrelConstruction INFO Getting primary numbers for ATLAS, ATLAS-R2-2016-01-00-01 +BarrelConstruction INFO Makes detailed absorber sandwich ? 1 1 +BarrelConstruction INFO Use sagging in geometry ? 0 +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EventPersistenc... INFO Added successfully Conversion service:DetDescrCnvSvc +ClassIDSvc INFO getRegistryEntries: read 2389 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileTBID helper object in the detector store +IdDictDetDescrCnv INFO in initialize +IdDictDetDescrCnv INFO in createObj: creating a IdDictManager object in the detector store +IdDictDetDescrCnv INFO IdDictName: IdDictParser/ATLAS_IDS.xml +IdDictDetDescrCnv INFO Reading InnerDetector IdDict file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Reading LArCalorimeter IdDict file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Reading TileCalorimeter IdDict file IdDictParser/IdDictTileCalorimeter.xml +IdDictDetDescrCnv INFO Reading Calorimeter IdDict file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Reading MuonSpectrometer IdDict file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Reading ForwardDetectors IdDict file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Found id dicts: +IdDictDetDescrCnv INFO Using dictionary tag: null +IdDictDetDescrCnv INFO Dictionary ATLAS version default DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary Calorimeter version default DetDescr tag CaloIdentifier-LVL1-02 file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Dictionary ForwardDetectors version default DetDescr tag ForDetIdentifier-01 file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Dictionary InnerDetector version IBL-DBM DetDescr tag InDetIdentifier-IBL3D25-02 file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Dictionary LArCalorimeter version fullAtlas DetDescr tag LArIdentifier-DC3-05-Comm file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Dictionary LArElectrode version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary LArHighVoltage version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary MuonSpectrometer version R.03 DetDescr tag MuonIdentifier-08 file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Dictionary TileCalorimeter version fullAtlasAndTestBeam DetDescr tag TileIdentifier-00 file IdDictParser/IdDictTileCalorimeter.xml +TileTBID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +EndcapDMConstru... INFO Start building EC electronics geometry +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EndcapDMConstru... INFO Start building EC electronics geometry +GeoModelSvc INFO GeoModelSvc.LArDetectorToolNV SZ= 29096Kb Time = 1.57S +GeoModelSvc.Til... INFO Entering TileDetectorTool::create() +TileDddbManager INFO m_tag = ATLAS-R2-2016-01-00-01 +TileDddbManager INFO n_tiglob = 5 +TileDddbManager INFO n_timod = 320 +TileDddbManager INFO n_cuts = 9 +TileDddbManager INFO n_saddle = 1 +TileDddbManager INFO n_tilb = 21 +TileDddbManager INFO n_tileSwitches = 1 +ClassIDSvc INFO getRegistryEntries: read 213 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt +TileHWIDDetDesc... INFO in createObj: creating a TileHWID helper object in the detector store +TileHWID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +ClassIDSvc INFO getRegistryEntries: read 55 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt +CaloIDHelper_ID... INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArMiniFCAL_ID INFO initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID. +AtlasDetectorID INFO initialize_from_dictionary - OK +GeoModelSvc.Til... INFO U-shape parameter from database is: 1 +GeoModelSvc.Til... INFO Glue parameter from database is: 1 +GeoModelSvc.Til... INFO Cs Tube parameter from database is: 0 +GeoModelSvc.Til... INFO Entering TileAtlasFactory::create() +GeoModelSvc.Til... INFO Tile Geometry with Saddle supports, starting from TileCal-CSC-02 xxx +GeoModelSvc.Til... INFO => New BFingerLengthPos 430.5 +GeoModelSvc.Til... INFO => New BFingerLengthNeg 420.5 +GeoModelSvc.Til... INFO Positioning barrel with translation 0 +GeoModelSvc.Til... INFO Positioning positive barrel finger with translation 3035.25 +GeoModelSvc.Til... INFO Positioning negative barrel finger with translation -3030.25 +GeoModelSvc.Til... INFO Positioning positive ext.barrel with translation 4854.75 +GeoModelSvc.Til... INFO Positioning positive ext.barrel finger with translation ztrans= 6338.5 +GeoModelSvc.Til... INFO Positioning positive ext.barrel saddle with translation ztrans= 6192.5 +GeoModelSvc.Til... INFO Positive ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning positive ITC with translation 3405 +GeoModelSvc.Til... INFO Positioning positive Gap with translation 3552 +GeoModelSvc.Til... INFO Positioning positive Crack with translation 3536 +GeoModelSvc.Til... INFO Positioning negative ext.barrel with translation ztrans -4854.75 +GeoModelSvc.Til... INFO Positioning negative ext.barrel finger with translation ztrans= -6338.5 +GeoModelSvc.Til... INFO Positioning negative ext.barrel saddle with translation ztrans= -6192.5 +GeoModelSvc.Til... INFO Negative ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning negative ITC with translation -3405 +GeoModelSvc.Til... INFO Positioning negative Gap with translation -3552 +GeoModelSvc.Til... INFO Positioning negative Crack with translation -3536 +GeoModelSvc.Til... INFO Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) CLHEP::cm +TileDetDescrMan... INFO Entering create_elements() +GeoModelSvc INFO GeoModelSvc.TileDetectorTool SZ= 5200Kb Time = 1.67S +ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL +TileInfoLoader INFO Initializing....TileInfoLoader +TileInfoLoader INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001 +TileInfoLoader INFO Changing TTL1 calib from 4.1 to 6.9 +TileInfoLoader INFO Changing TTL1 noise sigma from 2.5 to 2.8 +TileInfoLoader INFO ATLAS IBL geometry - special sampling fractions for gap/crack scin are allowed +TileInfoLoader INFO Special C10 in EB module 39 +TileInfoLoader INFO Special C10 in EB module 40 +TileInfoLoader INFO Special C10 in EB module 41 +TileInfoLoader INFO Special C10 in EB module 42 +TileInfoLoader INFO Special C10 in EB module 55 +TileInfoLoader INFO Special C10 in EB module 56 +TileInfoLoader INFO Special C10 in EB module 57 +TileInfoLoader INFO Special C10 in EB module 58 +TileInfoLoader INFO Sampling fraction for normal cells 1/34 +TileInfoLoader INFO Sampling fraction for special C10 cells 1/45 +TileInfoLoader INFO Sampling fraction for E1 cells 1/125 +TileInfoLoader INFO Sampling fraction for E2 cells 1/107 +TileInfoLoader INFO Sampling fraction for E3 cells 1/97 +TileInfoLoader INFO Sampling fraction for E4 cells 1/75 +TileInfoLoader INFO Sampling fraction for E4' cells 1/75 +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat +CaloIDHelper_ID... INFO in createObj: creating a CaloLVL1_ID helper object in the detector store +CaloLVL1_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +TileCablingSvc INFO RUN2 ATLAS geometry flag detected for geometry: ATLAS-R2-2016-01-00-01 +TileCablingSvc INFO Cabling for RUN2 (2014-2017) ATLAS geometry is set via jobOptions +TileCablingSvc INFO Setting Cabling type to 4 +TileInfoLoader INFO Placed TileInfo object in the detector store. +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x8390b00]+7f2c8477064c bound to CondAttrListCollection[/TILE/ONL01/STATUS/ADC] +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x8394200]+7f2c8477064c bound to CondAttrListCollection[/TILE/OFL02/STATUS/ADC] +ToolSvc.TileBad... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18d90000]+7f2c8451c7ce bound to /TILE/ONL01/STATUS/ADC +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18d90000]+7f2c8451c7ce bound to /TILE/OFL02/STATUS/ADC +AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 +ClassIDSvc INFO getRegistryEntries: read 265 CLIDRegistry entries for module ALL +CondInputLoader INFO Initializing CondInputLoader... +CondInputLoader INFO Adding base classes: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) -> +CondInputLoader INFO Will create WriteCondHandle dependencies for the following DataObjects: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +TileBadChannels... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisLin) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisNln) for folder: "/TILE/OFL02/CALIB/CIS/FIT/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasLin) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasNln) for folder: "/TILE/OFL02/CALIB/LAS/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasFib) for folder: "/TILE/OFL02/CALIB/LAS/FIBER" +TileEMScaleCondAlg INFO ProxyOflLasFib is set up and can be used +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileEMScaleCondAlg INFO Undoing online calibration is not requested, since OnlCacheUnit= 'OnlCacheUnit':Invalid +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCis) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlLas) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileSampleNoise... INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE" +TileTimingCondA... INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY" +ClassIDSvc INFO getRegistryEntries: read 3798 CLIDRegistry entries for module ALL +PyComponentMgr INFO Initializing PyComponentMgr... +Finalizer INFO Initializing Finalizer... +HistogramPersis...WARNING Histograms saving not required. +EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 +ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00 +EventSelector INFO reinitialization... +AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +ApplicationMgr INFO Application Manager Initialized successfully +ByteStreamInputSvc INFO Picked valid file: /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +ClassIDSvc INFO getRegistryEntries: read 629 CLIDRegistry entries for module ALL +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CES' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/EMS' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/STATUS/ADC' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/ONL01/STATUS/ADC' +ApplicationMgr INFO Application Manager Started successfully +EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc +EventPersistenc... INFO Added successfully Conversion service:TagInfoMgr +EventPersistenc... INFO Added successfully Conversion service:ByteStreamCnvSvc +EventInfoByteSt... INFO UserType : RawEvent +EventInfoByteSt... INFO IsSimulation : 0 +EventInfoByteSt... INFO IsTestbeam : 0 +EventInfoByteSt... INFO IsCalibration : 0 +EventInfoByteSt... INFO EventContext not valid +AthenaEventLoopMgr INFO ===>>> start of run 204073 <<<=== +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LARAlign-IOVDEP-00 for folder /LAR/Align +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LArCellPositionShift-ideal for folder /LAR/LArCellPositionShift +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCes-SIM-06 for folder /TILE/OFL02/CALIB/CES +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitLin-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitNln-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibEms-COM-00 for folder /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasFiber-000-00 for folder /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasLin-COM-00 for folder /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasNln-COM-00 for folder /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02NoiseSample-TwoGauss-19 for folder /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02StatusAdc-IOVDEP-03 for folder /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02TimeChanneloffsetPhy-000-00 for folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root File version:52200 +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch: callback has been triggered by: /TILE/ONL01/STATUS/ADC +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch: callback has been triggered by: /TILE/OFL02/STATUS/ADC +CaloMgrDetDescrCnv INFO in createObj: creating a Calo Detector Manager object in the detector store +CaloIdMgrDetDes... INFO in createObj: creating a CaloDescrManager object in the detector store +ClassIDSvc INFO getRegistryEntries: read 193 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloDM_ID helper object in the detector store +CaloDM_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a TTOnlineID helper object in the detector store +TTOnlineID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_SuperCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt +CaloIDHelper_ID... INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIdMgrDetDes... INFO Finished +CaloIdMgrDetDes... INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200 +ToolSvc.TileBad... INFO TileBadChanLegacyTool::recache() has been triggered by: '/TILE/OFL02/STATUS/ADC' '/TILE/ONL01/STATUS/ADC' +ToolSvc.TileBad... INFO Updating TileBchStatus::isBad() definition from DB +ToolSvc.TileBad... INFO Updating TileBchStatus::isNoisy() definition from DB +ToolSvc.TileBad... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +ToolSvc.TileBad... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +ToolSvc.TileBad... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +ToolSvc.TileBad... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +ToolSvc.TileBad... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +ToolSvc.TileBad... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +ToolSvc.TileBad... INFO No drawer trips probabilities found in DB +AthenaEventLoopMgr INFO ===>>> start processing event #1129572, run #204073 0 events processed so far <<<=== +TileBadChannels... INFO Updating TileBchStatus::isBad() definition from DB +TileBadChannels... INFO Updating TileBchStatus::isNoisy() definition from DB +TileBadChannels... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +TileBadChannels... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +TileBadChannels... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +TileBadChannels... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +TileBadChannels... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +TileBadChannels... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +TileBadChannels... INFO No drawer trips probabilities found in DB +ClassIDSvc INFO getRegistryEntries: read 2380 CLIDRegistry entries for module ALL +ToolSvc.TileROD... INFO TileL2Builder initialization completed +AthenaEventLoopMgr INFO ===>>> done processing event #1129572, run #204073 1 events processed so far <<<=== +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +AthenaEventLoopMgr INFO ===>>> start processing event #1129665, run #204073 1 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1129665, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131212, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131212, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131086, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131086, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130272, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130272, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131269, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131269, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130716, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130716, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132019, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132019, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132092, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132092, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130238, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130238, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134553, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134553, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130999, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130999, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133461, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133461, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131152, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131152, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130142, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130142, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132770, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132770, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132365, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132365, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136791, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136791, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133781, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133781, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132067, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132067, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138637, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138637, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139495, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139495, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140193, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140193, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142953, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142953, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139127, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139127, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141272, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141272, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137117, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137117, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139599, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139599, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140314, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140314, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133685, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133685, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143279, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143279, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137563, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137563, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139927, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139927, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141197, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141197, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140039, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140039, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142531, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142531, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139475, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139475, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139958, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139958, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143765, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143765, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143097, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143097, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134147, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134147, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137156, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137156, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136377, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136377, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137842, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137842, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141705, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141705, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143410, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143410, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144170, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144170, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145987, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145987, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145633, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145633, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1135005, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1135005, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142167, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142167, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144646, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144646, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145027, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145027, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144112, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144112, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138485, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138485, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144565, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144565, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139498, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139498, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136546, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136546, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143799, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143799, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142877, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142877, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149894, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149894, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145364, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145364, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143770, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143770, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148361, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148361, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148167, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148167, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138948, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138948, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144808, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144808, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145832, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145832, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153100, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153100, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142524, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142524, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138294, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138294, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138350, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138350, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149424, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149424, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151102, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151102, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152242, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152242, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148416, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148416, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142753, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142753, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149997, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149997, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151617, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151617, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149794, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149794, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152504, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152504, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142485, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142485, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151364, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151364, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143901, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143901, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153979, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153979, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150212, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150212, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152633, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152633, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1155482, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1155482, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150472, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150472, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140275, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140275, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145882, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145882, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151732, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151732, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137896, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137896, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156381, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156381, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149161, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149161, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153794, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153794, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151312, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151312, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148893, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148893, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156938, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156938, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156351, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156351, run #204073 100 events processed so far <<<=== +TileInfoLoader INFO Handling EndRun incident +TileInfoLoader INFO Removed TileInfo object from detector store. +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +ApplicationMgr INFO Application Manager Stopped successfully +IncidentProcAlg1 INFO Finalize +CondInputLoader INFO Finalizing CondInputLoader... +Finalizer INFO Finalizing Finalizer... +Finalize: compared 10 dumps +IncidentProcAlg2 INFO Finalize +EventInfoByteSt... INFO finalize +PyComponentMgr INFO Finalizing PyComponentMgr... +IdDictDetDescrCnv INFO in finalize +IOVDbSvc INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 (( 0.90 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 (( 0.74 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.95 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 2.85 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 (( 0.73 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 (( 0.69 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 (( 1.53 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 (( 0.81 ))s +IOVDbSvc INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641504 (( 1.09 ))s +IOVDbSvc INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/93060 (( 0.07 ))s +IOVDbSvc INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/76 (( 0.02 ))s +IOVDbSvc INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 (( 0.43 ))s +IOVDbSvc INFO Total payload read from COOL: 839785 bytes in (( 10.87 ))s +IOVDbSvc INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: (( 0.00 ))s +IOVDbSvc INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: (( 1.33 ))s +IOVDbSvc INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: (( 9.54 ))s +TileInfoLoader INFO TileInfoLoader::finalize() +AthDictLoaderSvc INFO in finalize... +ToolSvc INFO Removing all tools created by ToolSvc +ToolSvc.ByteStr... INFO in finalize() +ToolSvc.TileROD... INFO Finalizing +*****Chrono***** INFO **************************************************************************************************** +*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) +*****Chrono***** INFO **************************************************************************************************** +cObjR_ALL INFO Time User : Tot= 0.78 [s] Ave/Min/Max= 0.39(+- 0.37)/ 0.02/ 0.76 [s] #= 2 +cObj_ALL INFO Time User : Tot= 1.04 [s] Ave/Min/Max=0.0693(+-0.216)/ 0/ 0.86 [s] #= 15 +ChronoStatSvc INFO Time User : Tot= 29.4 [s] #= 1 +*****Chrono***** INFO **************************************************************************************************** +ChronoStatSvc.f... INFO Service finalized successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +Py:Athena INFO leaving with code 0: "successful run" diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.py new file mode 100644 index 0000000000000000000000000000000000000000..f8ae82c3f01695e373a182abe23a5b0344881649 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.py @@ -0,0 +1,111 @@ +# +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. +# +# File: TileByteStream/TileDigitsContByteStreamCnv_test.py +# Author: scott snyder +# Date: Oct, 2018 +# Brief: Test TileDigitsContByteStreamCnv. +# + +from __future__ import print_function + +import os + +refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None), + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art', + '/afs/cern.ch/atlas/maxidisk/d33/referencefiles'] +def find_file (fname): + for p in refpaths: + if p: + path = os.path.join (p, fname) + if os.path.exists (path): + return path + print ('ERROR: Cannot find file: ', fname) + return None + +# Find input file. +fpath = os.environ.get ('ATLAS_REFERENCE_DATA', + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests') +input_fname = os.path.join (fpath, 'data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1') + +# Find reference file. +if not globals().has_key ('ATLAS_REFERENCE_TAG'): + ATLAS_REFERENCE_TAG = os.environ.get ('ATLAS_REFERENCE_TAG', + 'TileByteStream-01-00-00') +from AthenaCommon.Utils.unixtools import find_datafile +r = find_datafile (os.path.join ('TileByteStream', ATLAS_REFERENCE_TAG)) +refdir = None +if r: + refdir = os.path.join (r, 'TileDigitDumps') +if not refdir or not os.path.exists (refdir): + refdir = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + 'TileDigitDumps')) + + +from AthenaCommon.DetFlags import DetFlags +DetFlags.detdescr.Tile_setOn() +DetFlags.detdescr.LAr_setOn() + +import glob +import sys +import string +import ROOT +import math +from AtlasGeoModel import SetGeometryVersion +from AtlasGeoModel import GeoModelInit +from AtlasGeoModel import SetupRecoGeometry + +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +athenaCommonFlags.BSRDOInput = [input_fname] +from ByteStreamCnvSvc import ReadByteStream +svcMgr.EventSelector.Input = [input_fname] +from AthenaCommon.GlobalFlags import globalflags +globalflags.InputFormat.set_Value_and_Lock('bytestream') + +svcMgr.ByteStreamAddressProviderSvc.TypeNames += [ + 'TileDigitsContainer/TileDigitsCnt', + ] + +include('TileConditions/TileConditions_jobOptions.py') + +from GeoModelSvc.GeoModelSvcConf import GeoModelSvc +ServiceMgr += GeoModelSvc() +theApp.CreateSvc += [ "GeoModelSvc"] +from AtlasGeoModel import TileGM +from AtlasGeoModel import LArGM #LAr needed to get MBTS DD. + +from IOVDbSvc.IOVDbSvcConf import IOVDbSvc +IOVDbSvc().GlobalTag = 'OFLCOND-RUN12-SDR-35' + +from AthenaCommon.AlgSequence import AlgSequence +topSequence = AlgSequence() + +theApp.EvtMax=100 + +from AthenaCommon.ConcurrencyFlags import jobproperties as jp +dumpdir = 'TileDigitDumps-%d' % jp.ConcurrencyFlags.NumThreads() + +from TileRecUtils.TileRecUtilsConf import TileDigitsDumper +topSequence += TileDigitsDumper ('TileDigitsCntDumper', + TileDigitsContainer = 'TileDigitsCnt', + Prefix = dumpdir + '/') +topSequence += TileDigitsDumper ('MuRcvDigitsCntDumper', + TileDigitsContainer = 'MuRcvDigitsCnt', + AltTileDigitsContainer = 'TileDigitsCnt', + Prefix = dumpdir + '/') + + +os.system ('rm -rf ' + dumpdir) +os.system ('mkdir -p ' + dumpdir) + +from AthenaPython.PyAthenaComps import Alg, StatusCode +class Finalizer (Alg): + def finalize (self): + dumps = glob.glob (os.path.join (refdir, '*.dump')) + for f in dumps: + localdump = os.path.join (dumpdir, os.path.basename (f)) + os.system ('diff -u %s %s' % (f, localdump)) + print ('Finalize: compared %d dumps' % len(dumps)) + return StatusCode.Success +topSequence += Finalizer ('Finalizer') diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..f20a7363fd8d60c6e625a4b98b800467722b7964 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref @@ -0,0 +1,698 @@ +Thu Nov 8 05:49:01 CET 2018 +Preloading tcmalloc_minimal.so +Py:Athena INFO including file "AthenaCommon/Preparation.py" +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/93f05f9c910] -- built on [2018-11-08T0523] +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 "TileByteStream/TileDigitsContByteStreamCnv_test.py" +[?1034hSetGeometryVersion.py obtained major release version 22 +Py:Athena INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py" +Py:ConfigurableDb INFO Read module info for 5557 configurables from 46 genConfDb files +Py:ConfigurableDb INFO No duplicates have been found: that's good ! +EventInfoMgtInit: Got release version Athena-22.0.1 +Py:IOVDbSvc.CondDB INFO Setting up conditions DB access to instance OFLP200 +Py:Athena INFO including file "TileConditions/TileConditions_jobOptions.py" +Py:TileInfoConf. INFO Adding TileCablingSvc to ServiceMgr +Py:inputFilePeeker INFO Executing inputFilePeeker.py +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... [done] +Py:inputFilePeeker INFO stream_names not present in input bytestream file. Giving default name 'StreamRAW' +Py:inputFilePeeker INFO Successfully filled inputFileSummary from file /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +Py:inputFilePeeker INFO Extracted streams ['StreamRAW'] from input file +Py:TileConditions_jobOptions.py INFO Forcing RUN2 (2014-2017) cabling for run 204073 with geometry ATLAS-R2-2016-01-00-01 +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo for 7 samples +Py:TileConditions_jobOptions.py INFO setting up COOL for TileCal conditions data +Py:TileInfoConf. INFO Changing default TileBadChanTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileBadChanLegacyTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolEmscale configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolNoiseSample configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolTiming configuration to COOL source +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo to return cell noise for Opt.Filter without iterations +Py:Athena INFO including file "AthenaCommon/runbatch.py" +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus075.cern.ch on Thu Nov 8 05:49:24 2018 +==================================================================================================================================== +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 +AthDictLoaderSvc INFO in initialize... +AthDictLoaderSvc INFO acquired Dso-registry +ClassIDSvc INFO getRegistryEntries: read 6946 CLIDRegistry entries for module ALL +CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) +CoreDumpSvc INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) +MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 +AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 +PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] +PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled +PoolSvc INFO Frontier compression level set to 5 +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus075.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +PoolSvc INFO Successfully setup replica sorting algorithm +PoolSvc INFO Setting up APR FileCatalog and Streams +PoolSvc WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml +PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +IOVDbSvc INFO Opened read transaction for POOL PersistencySvc +IOVDbSvc INFO Only 5 POOL conditions files will be open at once +IOVDbSvc INFO Cache alignment will be done in 3 slices +IOVDbSvc INFO Global tag: OFLCOND-RUN12-SDR-35 set from joboptions +IOVDbSvc INFO Read from meta data only for folder /TagInfo +IOVDbSvc INFO Initialised with 3 connections and 14 folders +IOVDbSvc INFO Service IOVDbSvc initialised successfully +ByteStreamAddre... INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO ---> Filter out empty ROB fragments = 'filterEmptyROB':False +ROBDataProviderSvc INFO ---> Filter out specific ROBs by Status Code: # ROBs = 0 +ROBDataProviderSvc INFO ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0 +ByteStreamAddre... INFO initialized +ByteStreamAddre... INFO -- Module IDs for: +ByteStreamAddre... INFO CTP = 0x1 +ByteStreamAddre... INFO muCTPi = 0x1 +ByteStreamAddre... INFO Calorimeter Cluster Processor RoI = 0xa8, 0xa9, 0xaa, 0xab +ByteStreamAddre... INFO Calorimeter Jet/Energy Processor RoI = 0xac, 0xad +ByteStreamAddre... INFO Topo Processor RoI = 0x81, 0x91 +ByteStreamAddre... INFO -- Will fill Store with id = 0 +IOVDbSvc INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found. +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +ClassIDSvc INFO getRegistryEntries: read 3114 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Added taginfo remove for /LAR/Align +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CES +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /LAR/LArCellPositionShift +ClassIDSvc INFO getRegistryEntries: read 792 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL +DetDescrCnvSvc INFO initializing +DetDescrCnvSvc INFO Found DetectorStore service +DetDescrCnvSvc INFO filling proxies for detector managers +DetDescrCnvSvc INFO filling address for CaloTTMgr with CLID 117659265 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloMgr with CLID 4548337 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloSuperCellMgr with CLID 241807251 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloIdManager with CLID 125856940 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArIdManager with CLID 79554919 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for IdDict with CLID 2411 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for AtlasID with CLID 164875623 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for PixelID with CLID 2516 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SCT_ID with CLID 2517 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TRT_ID with CLID 2518 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SiliconID with CLID 129452393 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_ID with CLID 163583365 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_SuperCell_ID with CLID 99488227 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_ID with CLID 3870484 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_SuperCell_ID with CLID 254277678 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_ID with CLID 45738051 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_SuperCell_ID with CLID 12829437 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArMiniFCAL_ID with CLID 79264204 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnlineID with CLID 158698068 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TTOnlineID with CLID 38321944 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnline_SuperCellID with CLID 115600394 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHVLineID with CLID 27863673 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArElectrodeID with CLID 80757351 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileID with CLID 2901 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for Tile_SuperCell_ID with CLID 49557789 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileHWID with CLID 2902 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileTBID with CLID 2903 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MDTIDHELPER with CLID 4170 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CSCIDHELPER with CLID 4171 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for RPCIDHELPER with CLID 4172 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TGCIDHELPER with CLID 4173 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for STGCIDHELPER with CLID 4174 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MMIDHELPER with CLID 4175 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloLVL1_ID with CLID 108133391 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_ID with CLID 123500438 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_SuperCell_ID with CLID 128365736 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloDM_ID with CLID 167756483 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for ZdcID with CLID 190591643 and storage type 68 to detector store +GeoModelSvc::RD...WARNING Getting PixTBMatComponents with default tag +GeoModelSvc::RD...WARNING Getting PixTBMaterials with default tag +GeoModelSvc::RD...WARNING Getting InDetMatComponents with default tag +GeoModelSvc::RD...WARNING Getting InDetMaterials with default tag +GeoModelSvc.LAr... INFO Keys for LAr are ATLAS-R2-2016-01-00-01 ATLAS +GeoModelSvc.LAr... INFO Building LAr version LAr-Revised-17-01 while ATLAS version is ATLAS-R2-2016-01-00-01 +GeoModelSvc.LAr... INFO LAr Geometry Options: +GeoModelSvc.LAr... INFO Sagging = false +GeoModelSvc.LAr... INFO Barrel = ON +GeoModelSvc.LAr... INFO Endcap = ON +BarrelConstruction INFO Getting primary numbers for ATLAS, ATLAS-R2-2016-01-00-01 +BarrelConstruction INFO Makes detailed absorber sandwich ? 1 1 +BarrelConstruction INFO Use sagging in geometry ? 0 +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EventPersistenc... INFO Added successfully Conversion service:DetDescrCnvSvc +ClassIDSvc INFO getRegistryEntries: read 2389 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileTBID helper object in the detector store +IdDictDetDescrCnv INFO in initialize +IdDictDetDescrCnv INFO in createObj: creating a IdDictManager object in the detector store +IdDictDetDescrCnv INFO IdDictName: IdDictParser/ATLAS_IDS.xml +IdDictDetDescrCnv INFO Reading InnerDetector IdDict file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Reading LArCalorimeter IdDict file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Reading TileCalorimeter IdDict file IdDictParser/IdDictTileCalorimeter.xml +IdDictDetDescrCnv INFO Reading Calorimeter IdDict file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Reading MuonSpectrometer IdDict file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Reading ForwardDetectors IdDict file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Found id dicts: +IdDictDetDescrCnv INFO Using dictionary tag: null +IdDictDetDescrCnv INFO Dictionary ATLAS version default DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary Calorimeter version default DetDescr tag CaloIdentifier-LVL1-02 file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Dictionary ForwardDetectors version default DetDescr tag ForDetIdentifier-01 file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Dictionary InnerDetector version IBL-DBM DetDescr tag InDetIdentifier-IBL3D25-02 file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Dictionary LArCalorimeter version fullAtlas DetDescr tag LArIdentifier-DC3-05-Comm file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Dictionary LArElectrode version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary LArHighVoltage version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary MuonSpectrometer version R.03 DetDescr tag MuonIdentifier-08 file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Dictionary TileCalorimeter version fullAtlasAndTestBeam DetDescr tag TileIdentifier-00 file IdDictParser/IdDictTileCalorimeter.xml +TileTBID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +EndcapDMConstru... INFO Start building EC electronics geometry +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EndcapDMConstru... INFO Start building EC electronics geometry +GeoModelSvc INFO GeoModelSvc.LArDetectorToolNV SZ= 29096Kb Time = 2.19S +GeoModelSvc.Til... INFO Entering TileDetectorTool::create() +TileDddbManager INFO m_tag = ATLAS-R2-2016-01-00-01 +TileDddbManager INFO n_tiglob = 5 +TileDddbManager INFO n_timod = 320 +TileDddbManager INFO n_cuts = 9 +TileDddbManager INFO n_saddle = 1 +TileDddbManager INFO n_tilb = 21 +TileDddbManager INFO n_tileSwitches = 1 +ClassIDSvc INFO getRegistryEntries: read 213 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt +TileHWIDDetDesc... INFO in createObj: creating a TileHWID helper object in the detector store +TileHWID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +ClassIDSvc INFO getRegistryEntries: read 55 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt +CaloIDHelper_ID... INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArMiniFCAL_ID INFO initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID. +AtlasDetectorID INFO initialize_from_dictionary - OK +GeoModelSvc.Til... INFO U-shape parameter from database is: 1 +GeoModelSvc.Til... INFO Glue parameter from database is: 1 +GeoModelSvc.Til... INFO Cs Tube parameter from database is: 0 +GeoModelSvc.Til... INFO Entering TileAtlasFactory::create() +GeoModelSvc.Til... INFO Tile Geometry with Saddle supports, starting from TileCal-CSC-02 xxx +GeoModelSvc.Til... INFO => New BFingerLengthPos 430.5 +GeoModelSvc.Til... INFO => New BFingerLengthNeg 420.5 +GeoModelSvc.Til... INFO Positioning barrel with translation 0 +GeoModelSvc.Til... INFO Positioning positive barrel finger with translation 3035.25 +GeoModelSvc.Til... INFO Positioning negative barrel finger with translation -3030.25 +GeoModelSvc.Til... INFO Positioning positive ext.barrel with translation 4854.75 +GeoModelSvc.Til... INFO Positioning positive ext.barrel finger with translation ztrans= 6338.5 +GeoModelSvc.Til... INFO Positioning positive ext.barrel saddle with translation ztrans= 6192.5 +GeoModelSvc.Til... INFO Positive ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning positive ITC with translation 3405 +GeoModelSvc.Til... INFO Positioning positive Gap with translation 3552 +GeoModelSvc.Til... INFO Positioning positive Crack with translation 3536 +GeoModelSvc.Til... INFO Positioning negative ext.barrel with translation ztrans -4854.75 +GeoModelSvc.Til... INFO Positioning negative ext.barrel finger with translation ztrans= -6338.5 +GeoModelSvc.Til... INFO Positioning negative ext.barrel saddle with translation ztrans= -6192.5 +GeoModelSvc.Til... INFO Negative ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning negative ITC with translation -3405 +GeoModelSvc.Til... INFO Positioning negative Gap with translation -3552 +GeoModelSvc.Til... INFO Positioning negative Crack with translation -3536 +GeoModelSvc.Til... INFO Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) CLHEP::cm +TileDetDescrMan... INFO Entering create_elements() +GeoModelSvc INFO GeoModelSvc.TileDetectorTool SZ= 5200Kb Time = 1.73S +ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL +TileInfoLoader INFO Initializing....TileInfoLoader +TileInfoLoader INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001 +TileInfoLoader INFO Changing TTL1 calib from 4.1 to 6.9 +TileInfoLoader INFO Changing TTL1 noise sigma from 2.5 to 2.8 +TileInfoLoader INFO ATLAS IBL geometry - special sampling fractions for gap/crack scin are allowed +TileInfoLoader INFO Special C10 in EB module 39 +TileInfoLoader INFO Special C10 in EB module 40 +TileInfoLoader INFO Special C10 in EB module 41 +TileInfoLoader INFO Special C10 in EB module 42 +TileInfoLoader INFO Special C10 in EB module 55 +TileInfoLoader INFO Special C10 in EB module 56 +TileInfoLoader INFO Special C10 in EB module 57 +TileInfoLoader INFO Special C10 in EB module 58 +TileInfoLoader INFO Sampling fraction for normal cells 1/34 +TileInfoLoader INFO Sampling fraction for special C10 cells 1/45 +TileInfoLoader INFO Sampling fraction for E1 cells 1/125 +TileInfoLoader INFO Sampling fraction for E2 cells 1/107 +TileInfoLoader INFO Sampling fraction for E3 cells 1/97 +TileInfoLoader INFO Sampling fraction for E4 cells 1/75 +TileInfoLoader INFO Sampling fraction for E4' cells 1/75 +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat +CaloIDHelper_ID... INFO in createObj: creating a CaloLVL1_ID helper object in the detector store +CaloLVL1_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +TileCablingSvc INFO RUN2 ATLAS geometry flag detected for geometry: ATLAS-R2-2016-01-00-01 +TileCablingSvc INFO Cabling for RUN2 (2014-2017) ATLAS geometry is set via jobOptions +TileCablingSvc INFO Setting Cabling type to 4 +TileInfoLoader INFO Placed TileInfo object in the detector store. +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x85deb00]+7f4cabe1764c bound to CondAttrListCollection[/TILE/ONL01/STATUS/ADC] +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x85e2200]+7f4cabe1764c bound to CondAttrListCollection[/TILE/OFL02/STATUS/ADC] +ToolSvc.TileBad... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18fe2000]+7f4cabbc37ce bound to /TILE/ONL01/STATUS/ADC +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18fe2000]+7f4cabbc37ce bound to /TILE/OFL02/STATUS/ADC +AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 +ClassIDSvc INFO getRegistryEntries: read 265 CLIDRegistry entries for module ALL +CondInputLoader INFO Initializing CondInputLoader... +CondInputLoader INFO Adding base classes: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) -> +CondInputLoader INFO Will create WriteCondHandle dependencies for the following DataObjects: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +TileBadChannels... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisLin) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisNln) for folder: "/TILE/OFL02/CALIB/CIS/FIT/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasLin) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasNln) for folder: "/TILE/OFL02/CALIB/LAS/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasFib) for folder: "/TILE/OFL02/CALIB/LAS/FIBER" +TileEMScaleCondAlg INFO ProxyOflLasFib is set up and can be used +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileEMScaleCondAlg INFO Undoing online calibration is not requested, since OnlCacheUnit= 'OnlCacheUnit':Invalid +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCis) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlLas) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileSampleNoise... INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE" +TileTimingCondA... INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY" +ClassIDSvc INFO getRegistryEntries: read 3798 CLIDRegistry entries for module ALL +PyComponentMgr INFO Initializing PyComponentMgr... +Finalizer INFO Initializing Finalizer... +HistogramPersis...WARNING Histograms saving not required. +EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 +ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00 +EventSelector INFO reinitialization... +AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +ApplicationMgr INFO Application Manager Initialized successfully +ByteStreamInputSvc INFO Picked valid file: /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +ClassIDSvc INFO getRegistryEntries: read 629 CLIDRegistry entries for module ALL +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CES' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/EMS' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/STATUS/ADC' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/ONL01/STATUS/ADC' +ApplicationMgr INFO Application Manager Started successfully +EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc +EventPersistenc... INFO Added successfully Conversion service:TagInfoMgr +EventPersistenc... INFO Added successfully Conversion service:ByteStreamCnvSvc +EventInfoByteSt... INFO UserType : RawEvent +EventInfoByteSt... INFO IsSimulation : 0 +EventInfoByteSt... INFO IsTestbeam : 0 +EventInfoByteSt... INFO IsCalibration : 0 +EventInfoByteSt... INFO EventContext not valid +AthenaEventLoopMgr INFO ===>>> start of run 204073 <<<=== +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LARAlign-IOVDEP-00 for folder /LAR/Align +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LArCellPositionShift-ideal for folder /LAR/LArCellPositionShift +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCes-SIM-06 for folder /TILE/OFL02/CALIB/CES +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitLin-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitNln-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibEms-COM-00 for folder /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasFiber-000-00 for folder /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasLin-COM-00 for folder /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasNln-COM-00 for folder /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02NoiseSample-TwoGauss-19 for folder /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02StatusAdc-IOVDEP-03 for folder /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02TimeChanneloffsetPhy-000-00 for folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root File version:52200 +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch: callback has been triggered by: /TILE/ONL01/STATUS/ADC +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch: callback has been triggered by: /TILE/OFL02/STATUS/ADC +CaloMgrDetDescrCnv INFO in createObj: creating a Calo Detector Manager object in the detector store +CaloIdMgrDetDes... INFO in createObj: creating a CaloDescrManager object in the detector store +ClassIDSvc INFO getRegistryEntries: read 193 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloDM_ID helper object in the detector store +CaloDM_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a TTOnlineID helper object in the detector store +TTOnlineID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_SuperCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt +CaloIDHelper_ID... INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIdMgrDetDes... INFO Finished +CaloIdMgrDetDes... INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200 +ToolSvc.TileBad... INFO TileBadChanLegacyTool::recache() has been triggered by: '/TILE/OFL02/STATUS/ADC' '/TILE/ONL01/STATUS/ADC' +ToolSvc.TileBad... INFO Updating TileBchStatus::isBad() definition from DB +ToolSvc.TileBad... INFO Updating TileBchStatus::isNoisy() definition from DB +ToolSvc.TileBad... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +ToolSvc.TileBad... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +ToolSvc.TileBad... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +ToolSvc.TileBad... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +ToolSvc.TileBad... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +ToolSvc.TileBad... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +ToolSvc.TileBad... INFO No drawer trips probabilities found in DB +AthenaEventLoopMgr INFO ===>>> start processing event #1129572, run #204073 0 events processed so far <<<=== +TileBadChannels... INFO Updating TileBchStatus::isBad() definition from DB +TileBadChannels... INFO Updating TileBchStatus::isNoisy() definition from DB +TileBadChannels... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +TileBadChannels... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +TileBadChannels... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +TileBadChannels... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +TileBadChannels... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +TileBadChannels... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +TileBadChannels... INFO No drawer trips probabilities found in DB +ClassIDSvc INFO getRegistryEntries: read 2380 CLIDRegistry entries for module ALL +ToolSvc.TileROD... INFO TileL2Builder initialization completed +ToolSvc.TileDig... INFO Initializing TileDigitsContByteStreamTool +AthenaEventLoopMgr INFO ===>>> done processing event #1129572, run #204073 1 events processed so far <<<=== +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +AthenaEventLoopMgr INFO ===>>> start processing event #1129665, run #204073 1 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1129665, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131212, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131212, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131086, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131086, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130272, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130272, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131269, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131269, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130716, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130716, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132019, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132019, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132092, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132092, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130238, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130238, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134553, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134553, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130999, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130999, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133461, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133461, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131152, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131152, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130142, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130142, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132770, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132770, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132365, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132365, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136791, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136791, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133781, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133781, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132067, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132067, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138637, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138637, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139495, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139495, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140193, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140193, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142953, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142953, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139127, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139127, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141272, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141272, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137117, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137117, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139599, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139599, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140314, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140314, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133685, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133685, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143279, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143279, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137563, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137563, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139927, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139927, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141197, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141197, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140039, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140039, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142531, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142531, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139475, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139475, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139958, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139958, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143765, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143765, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143097, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143097, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134147, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134147, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137156, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137156, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136377, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136377, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137842, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137842, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141705, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141705, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143410, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143410, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144170, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144170, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145987, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145987, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145633, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145633, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1135005, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1135005, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142167, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142167, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144646, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144646, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145027, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145027, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144112, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144112, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138485, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138485, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144565, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144565, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139498, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139498, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136546, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136546, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143799, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143799, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142877, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142877, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149894, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149894, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145364, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145364, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143770, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143770, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148361, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148361, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148167, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148167, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138948, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138948, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144808, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144808, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145832, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145832, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153100, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153100, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142524, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142524, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138294, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138294, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138350, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138350, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149424, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149424, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151102, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151102, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152242, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152242, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148416, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148416, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142753, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142753, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149997, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149997, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151617, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151617, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149794, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149794, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152504, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152504, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142485, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142485, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151364, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151364, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143901, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143901, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153979, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153979, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150212, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150212, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152633, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152633, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1155482, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1155482, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150472, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150472, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140275, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140275, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145882, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145882, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151732, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151732, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137896, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137896, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156381, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156381, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149161, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149161, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153794, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153794, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151312, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151312, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148893, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148893, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156938, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156938, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156351, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156351, run #204073 100 events processed so far <<<=== +TileInfoLoader INFO Handling EndRun incident +TileInfoLoader INFO Removed TileInfo object from detector store. +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +ApplicationMgr INFO Application Manager Stopped successfully +IncidentProcAlg1 INFO Finalize +CondInputLoader INFO Finalizing CondInputLoader... +Finalizer INFO Finalizing Finalizer... +Finalize: compared 20 dumps +IncidentProcAlg2 INFO Finalize +EventInfoByteSt... INFO finalize +PyComponentMgr INFO Finalizing PyComponentMgr... +IdDictDetDescrCnv INFO in finalize +IOVDbSvc INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 (( 0.33 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 (( 0.44 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.05 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.05 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 (( 0.04 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 (( 0.04 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 (( 0.04 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 (( 0.05 ))s +IOVDbSvc INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641504 (( 1.19 ))s +IOVDbSvc INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/93060 (( 1.78 ))s +IOVDbSvc INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 (( 2.54 ))s +IOVDbSvc INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/76 (( 0.07 ))s +IOVDbSvc INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 (( 0.03 ))s +IOVDbSvc INFO Total payload read from COOL: 839785 bytes in (( 6.67 ))s +IOVDbSvc INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: (( 0.00 ))s +IOVDbSvc INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: (( 0.37 ))s +IOVDbSvc INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: (( 6.30 ))s +TileInfoLoader INFO TileInfoLoader::finalize() +AthDictLoaderSvc INFO in finalize... +ToolSvc INFO Removing all tools created by ToolSvc +ToolSvc.ByteStr... INFO in finalize() +ToolSvc.TileDig... INFO Finalizing TileDigitsContByteStreamTool successfuly +ToolSvc.TileROD... INFO Finalizing +*****Chrono***** INFO **************************************************************************************************** +*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) +*****Chrono***** INFO **************************************************************************************************** +cObjR_ALL INFO Time User : Tot= 0.97 [s] Ave/Min/Max=0.485(+-0.465)/ 0.02/ 0.95 [s] #= 2 +cObj_ALL INFO Time User : Tot= 1.24 [s] Ave/Min/Max=0.0827(+-0.265)/ 0/ 1.06 [s] #= 15 +ChronoStatSvc INFO Time User : Tot= 32.8 [s] #= 1 +*****Chrono***** INFO **************************************************************************************************** +ChronoStatSvc.f... INFO Service finalized successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +Py:Athena INFO leaving with code 0: "successful run" diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.py new file mode 100644 index 0000000000000000000000000000000000000000..9b9d704ffaca3711d4c58505f013ad1db23aead3 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.py @@ -0,0 +1,107 @@ +# +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. +# +# File: TileByteStream/TileL2ContByteStreamCnv_test.py +# Author: scott snyder +# Date: Oct, 2018 +# Brief: Test TileL2ContByteStreamCnv. +# + +from __future__ import print_function + +import os + +refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None), + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art', + '/afs/cern.ch/atlas/maxidisk/d33/referencefiles'] +def find_file (fname): + for p in refpaths: + if p: + path = os.path.join (p, fname) + if os.path.exists (path): + return path + print ('ERROR: Cannot find file: ', fname) + return None + +# Find input file. +fpath = os.environ.get ('ATLAS_REFERENCE_DATA', + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests') +input_fname = os.path.join (fpath, 'data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1') + +# Find reference file. +if not globals().has_key ('ATLAS_REFERENCE_TAG'): + ATLAS_REFERENCE_TAG = os.environ.get ('ATLAS_REFERENCE_TAG', + 'TileByteStream-01-00-00') +from AthenaCommon.Utils.unixtools import find_datafile +r = find_datafile (os.path.join ('TileByteStream', ATLAS_REFERENCE_TAG)) +refdir = None +if r: + refdir = os.path.join (r, 'TileL2Dumps') +if not refdir or not os.path.exists (refdir): + refdir = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + 'TileL2Dumps')) + + +from AthenaCommon.DetFlags import DetFlags +DetFlags.detdescr.Tile_setOn() +DetFlags.detdescr.LAr_setOn() + +import glob +import sys +import string +import ROOT +import math +from AtlasGeoModel import SetGeometryVersion +from AtlasGeoModel import GeoModelInit +from AtlasGeoModel import SetupRecoGeometry + +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +athenaCommonFlags.BSRDOInput = [input_fname] +from ByteStreamCnvSvc import ReadByteStream +svcMgr.EventSelector.Input = [input_fname] +from AthenaCommon.GlobalFlags import globalflags +globalflags.InputFormat.set_Value_and_Lock('bytestream') + +svcMgr.ByteStreamAddressProviderSvc.TypeNames += [ + 'TileL2Container/TileL2Cnt', + ] + +include('TileConditions/TileConditions_jobOptions.py') + +from GeoModelSvc.GeoModelSvcConf import GeoModelSvc +ServiceMgr += GeoModelSvc() +theApp.CreateSvc += [ "GeoModelSvc"] +from AtlasGeoModel import TileGM +from AtlasGeoModel import LArGM #LAr needed to get MBTS DD. + +from IOVDbSvc.IOVDbSvcConf import IOVDbSvc +IOVDbSvc().GlobalTag = 'OFLCOND-RUN12-SDR-35' + +from AthenaCommon.AlgSequence import AlgSequence +topSequence = AlgSequence() + +theApp.EvtMax=100 + +from AthenaCommon.ConcurrencyFlags import jobproperties as jp +dumpdir = 'TileL2Dumps-%d' % jp.ConcurrencyFlags.NumThreads() + +from TileRecUtils.TileRecUtilsConf import TileL2Dumper +topSequence += TileL2Dumper ('TileL2CntDumper', + TileL2Container = 'TileL2Cnt', + Prefix = dumpdir + '/') + + +os.system ('rm -rf ' + dumpdir) +os.system ('mkdir -p ' + dumpdir) + +from AthenaPython.PyAthenaComps import Alg, StatusCode +class Finalizer (Alg): + def finalize (self): + dumps = glob.glob (os.path.join (refdir, '*.dump')) + for f in dumps: + localdump = os.path.join (dumpdir, os.path.basename (f)) + os.system ('diff -u %s %s' % (f, localdump)) + print ('Finalize: compared %d dumps' % len(dumps)) + return StatusCode.Success +topSequence += Finalizer ('Finalizer') diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..2de6316fcf558f66e44a08ed1295259ab3e3cace --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.ref @@ -0,0 +1,697 @@ +Thu Nov 8 05:38:48 CET 2018 +Preloading tcmalloc_minimal.so +Py:Athena INFO including file "AthenaCommon/Preparation.py" +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/93f05f9c910] -- built on [2018-11-08T0523] +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 "TileByteStream/TileL2ContByteStreamCnv_test.py" +[?1034hSetGeometryVersion.py obtained major release version 22 +Py:Athena INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py" +Py:ConfigurableDb INFO Read module info for 5557 configurables from 46 genConfDb files +Py:ConfigurableDb INFO No duplicates have been found: that's good ! +EventInfoMgtInit: Got release version Athena-22.0.1 +Py:IOVDbSvc.CondDB INFO Setting up conditions DB access to instance OFLP200 +Py:Athena INFO including file "TileConditions/TileConditions_jobOptions.py" +Py:TileInfoConf. INFO Adding TileCablingSvc to ServiceMgr +Py:inputFilePeeker INFO Executing inputFilePeeker.py +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... [done] +Py:inputFilePeeker INFO stream_names not present in input bytestream file. Giving default name 'StreamRAW' +Py:inputFilePeeker INFO Successfully filled inputFileSummary from file /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +Py:inputFilePeeker INFO Extracted streams ['StreamRAW'] from input file +Py:TileConditions_jobOptions.py INFO Forcing RUN2 (2014-2017) cabling for run 204073 with geometry ATLAS-R2-2016-01-00-01 +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo for 7 samples +Py:TileConditions_jobOptions.py INFO setting up COOL for TileCal conditions data +Py:TileInfoConf. INFO Changing default TileBadChanTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileBadChanLegacyTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolEmscale configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolNoiseSample configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolTiming configuration to COOL source +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo to return cell noise for Opt.Filter without iterations +Py:Athena INFO including file "AthenaCommon/runbatch.py" +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus075.cern.ch on Thu Nov 8 05:39:22 2018 +==================================================================================================================================== +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 +AthDictLoaderSvc INFO in initialize... +AthDictLoaderSvc INFO acquired Dso-registry +ClassIDSvc INFO getRegistryEntries: read 6946 CLIDRegistry entries for module ALL +CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) +CoreDumpSvc INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) +MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 +AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 +PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] +PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled +PoolSvc INFO Frontier compression level set to 5 +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus075.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +PoolSvc INFO Successfully setup replica sorting algorithm +PoolSvc INFO Setting up APR FileCatalog and Streams +PoolSvc WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml +PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +IOVDbSvc INFO Opened read transaction for POOL PersistencySvc +IOVDbSvc INFO Only 5 POOL conditions files will be open at once +IOVDbSvc INFO Cache alignment will be done in 3 slices +IOVDbSvc INFO Global tag: OFLCOND-RUN12-SDR-35 set from joboptions +IOVDbSvc INFO Read from meta data only for folder /TagInfo +IOVDbSvc INFO Initialised with 3 connections and 14 folders +IOVDbSvc INFO Service IOVDbSvc initialised successfully +ByteStreamAddre... INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO ---> Filter out empty ROB fragments = 'filterEmptyROB':False +ROBDataProviderSvc INFO ---> Filter out specific ROBs by Status Code: # ROBs = 0 +ROBDataProviderSvc INFO ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0 +ByteStreamAddre... INFO initialized +ByteStreamAddre... INFO -- Module IDs for: +ByteStreamAddre... INFO CTP = 0x1 +ByteStreamAddre... INFO muCTPi = 0x1 +ByteStreamAddre... INFO Calorimeter Cluster Processor RoI = 0xa8, 0xa9, 0xaa, 0xab +ByteStreamAddre... INFO Calorimeter Jet/Energy Processor RoI = 0xac, 0xad +ByteStreamAddre... INFO Topo Processor RoI = 0x81, 0x91 +ByteStreamAddre... INFO -- Will fill Store with id = 0 +IOVDbSvc INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found. +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +ClassIDSvc INFO getRegistryEntries: read 3114 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Added taginfo remove for /LAR/Align +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CES +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /LAR/LArCellPositionShift +ClassIDSvc INFO getRegistryEntries: read 792 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL +DetDescrCnvSvc INFO initializing +DetDescrCnvSvc INFO Found DetectorStore service +DetDescrCnvSvc INFO filling proxies for detector managers +DetDescrCnvSvc INFO filling address for CaloTTMgr with CLID 117659265 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloMgr with CLID 4548337 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloSuperCellMgr with CLID 241807251 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloIdManager with CLID 125856940 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArIdManager with CLID 79554919 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for IdDict with CLID 2411 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for AtlasID with CLID 164875623 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for PixelID with CLID 2516 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SCT_ID with CLID 2517 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TRT_ID with CLID 2518 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SiliconID with CLID 129452393 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_ID with CLID 163583365 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_SuperCell_ID with CLID 99488227 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_ID with CLID 3870484 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_SuperCell_ID with CLID 254277678 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_ID with CLID 45738051 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_SuperCell_ID with CLID 12829437 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArMiniFCAL_ID with CLID 79264204 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnlineID with CLID 158698068 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TTOnlineID with CLID 38321944 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnline_SuperCellID with CLID 115600394 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHVLineID with CLID 27863673 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArElectrodeID with CLID 80757351 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileID with CLID 2901 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for Tile_SuperCell_ID with CLID 49557789 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileHWID with CLID 2902 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileTBID with CLID 2903 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MDTIDHELPER with CLID 4170 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CSCIDHELPER with CLID 4171 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for RPCIDHELPER with CLID 4172 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TGCIDHELPER with CLID 4173 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for STGCIDHELPER with CLID 4174 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MMIDHELPER with CLID 4175 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloLVL1_ID with CLID 108133391 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_ID with CLID 123500438 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_SuperCell_ID with CLID 128365736 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloDM_ID with CLID 167756483 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for ZdcID with CLID 190591643 and storage type 68 to detector store +GeoModelSvc::RD...WARNING Getting PixTBMatComponents with default tag +GeoModelSvc::RD...WARNING Getting PixTBMaterials with default tag +GeoModelSvc::RD...WARNING Getting InDetMatComponents with default tag +GeoModelSvc::RD...WARNING Getting InDetMaterials with default tag +GeoModelSvc.LAr... INFO Keys for LAr are ATLAS-R2-2016-01-00-01 ATLAS +GeoModelSvc.LAr... INFO Building LAr version LAr-Revised-17-01 while ATLAS version is ATLAS-R2-2016-01-00-01 +GeoModelSvc.LAr... INFO LAr Geometry Options: +GeoModelSvc.LAr... INFO Sagging = false +GeoModelSvc.LAr... INFO Barrel = ON +GeoModelSvc.LAr... INFO Endcap = ON +BarrelConstruction INFO Getting primary numbers for ATLAS, ATLAS-R2-2016-01-00-01 +BarrelConstruction INFO Makes detailed absorber sandwich ? 1 1 +BarrelConstruction INFO Use sagging in geometry ? 0 +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EventPersistenc... INFO Added successfully Conversion service:DetDescrCnvSvc +ClassIDSvc INFO getRegistryEntries: read 2389 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileTBID helper object in the detector store +IdDictDetDescrCnv INFO in initialize +IdDictDetDescrCnv INFO in createObj: creating a IdDictManager object in the detector store +IdDictDetDescrCnv INFO IdDictName: IdDictParser/ATLAS_IDS.xml +IdDictDetDescrCnv INFO Reading InnerDetector IdDict file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Reading LArCalorimeter IdDict file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Reading TileCalorimeter IdDict file IdDictParser/IdDictTileCalorimeter.xml +IdDictDetDescrCnv INFO Reading Calorimeter IdDict file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Reading MuonSpectrometer IdDict file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Reading ForwardDetectors IdDict file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Found id dicts: +IdDictDetDescrCnv INFO Using dictionary tag: null +IdDictDetDescrCnv INFO Dictionary ATLAS version default DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary Calorimeter version default DetDescr tag CaloIdentifier-LVL1-02 file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Dictionary ForwardDetectors version default DetDescr tag ForDetIdentifier-01 file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Dictionary InnerDetector version IBL-DBM DetDescr tag InDetIdentifier-IBL3D25-02 file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Dictionary LArCalorimeter version fullAtlas DetDescr tag LArIdentifier-DC3-05-Comm file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Dictionary LArElectrode version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary LArHighVoltage version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary MuonSpectrometer version R.03 DetDescr tag MuonIdentifier-08 file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Dictionary TileCalorimeter version fullAtlasAndTestBeam DetDescr tag TileIdentifier-00 file IdDictParser/IdDictTileCalorimeter.xml +TileTBID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +EndcapDMConstru... INFO Start building EC electronics geometry +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EndcapDMConstru... INFO Start building EC electronics geometry +GeoModelSvc INFO GeoModelSvc.LArDetectorToolNV SZ= 29096Kb Time = 1.63S +GeoModelSvc.Til... INFO Entering TileDetectorTool::create() +TileDddbManager INFO m_tag = ATLAS-R2-2016-01-00-01 +TileDddbManager INFO n_tiglob = 5 +TileDddbManager INFO n_timod = 320 +TileDddbManager INFO n_cuts = 9 +TileDddbManager INFO n_saddle = 1 +TileDddbManager INFO n_tilb = 21 +TileDddbManager INFO n_tileSwitches = 1 +ClassIDSvc INFO getRegistryEntries: read 213 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt +TileHWIDDetDesc... INFO in createObj: creating a TileHWID helper object in the detector store +TileHWID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +ClassIDSvc INFO getRegistryEntries: read 55 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt +CaloIDHelper_ID... INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArMiniFCAL_ID INFO initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID. +AtlasDetectorID INFO initialize_from_dictionary - OK +GeoModelSvc.Til... INFO U-shape parameter from database is: 1 +GeoModelSvc.Til... INFO Glue parameter from database is: 1 +GeoModelSvc.Til... INFO Cs Tube parameter from database is: 0 +GeoModelSvc.Til... INFO Entering TileAtlasFactory::create() +GeoModelSvc.Til... INFO Tile Geometry with Saddle supports, starting from TileCal-CSC-02 xxx +GeoModelSvc.Til... INFO => New BFingerLengthPos 430.5 +GeoModelSvc.Til... INFO => New BFingerLengthNeg 420.5 +GeoModelSvc.Til... INFO Positioning barrel with translation 0 +GeoModelSvc.Til... INFO Positioning positive barrel finger with translation 3035.25 +GeoModelSvc.Til... INFO Positioning negative barrel finger with translation -3030.25 +GeoModelSvc.Til... INFO Positioning positive ext.barrel with translation 4854.75 +GeoModelSvc.Til... INFO Positioning positive ext.barrel finger with translation ztrans= 6338.5 +GeoModelSvc.Til... INFO Positioning positive ext.barrel saddle with translation ztrans= 6192.5 +GeoModelSvc.Til... INFO Positive ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning positive ITC with translation 3405 +GeoModelSvc.Til... INFO Positioning positive Gap with translation 3552 +GeoModelSvc.Til... INFO Positioning positive Crack with translation 3536 +GeoModelSvc.Til... INFO Positioning negative ext.barrel with translation ztrans -4854.75 +GeoModelSvc.Til... INFO Positioning negative ext.barrel finger with translation ztrans= -6338.5 +GeoModelSvc.Til... INFO Positioning negative ext.barrel saddle with translation ztrans= -6192.5 +GeoModelSvc.Til... INFO Negative ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning negative ITC with translation -3405 +GeoModelSvc.Til... INFO Positioning negative Gap with translation -3552 +GeoModelSvc.Til... INFO Positioning negative Crack with translation -3536 +GeoModelSvc.Til... INFO Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) CLHEP::cm +TileDetDescrMan... INFO Entering create_elements() +GeoModelSvc INFO GeoModelSvc.TileDetectorTool SZ= 4176Kb Time = 1.95S +ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL +TileInfoLoader INFO Initializing....TileInfoLoader +TileInfoLoader INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001 +TileInfoLoader INFO Changing TTL1 calib from 4.1 to 6.9 +TileInfoLoader INFO Changing TTL1 noise sigma from 2.5 to 2.8 +TileInfoLoader INFO ATLAS IBL geometry - special sampling fractions for gap/crack scin are allowed +TileInfoLoader INFO Special C10 in EB module 39 +TileInfoLoader INFO Special C10 in EB module 40 +TileInfoLoader INFO Special C10 in EB module 41 +TileInfoLoader INFO Special C10 in EB module 42 +TileInfoLoader INFO Special C10 in EB module 55 +TileInfoLoader INFO Special C10 in EB module 56 +TileInfoLoader INFO Special C10 in EB module 57 +TileInfoLoader INFO Special C10 in EB module 58 +TileInfoLoader INFO Sampling fraction for normal cells 1/34 +TileInfoLoader INFO Sampling fraction for special C10 cells 1/45 +TileInfoLoader INFO Sampling fraction for E1 cells 1/125 +TileInfoLoader INFO Sampling fraction for E2 cells 1/107 +TileInfoLoader INFO Sampling fraction for E3 cells 1/97 +TileInfoLoader INFO Sampling fraction for E4 cells 1/75 +TileInfoLoader INFO Sampling fraction for E4' cells 1/75 +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat +CaloIDHelper_ID... INFO in createObj: creating a CaloLVL1_ID helper object in the detector store +CaloLVL1_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +TileCablingSvc INFO RUN2 ATLAS geometry flag detected for geometry: ATLAS-R2-2016-01-00-01 +TileCablingSvc INFO Cabling for RUN2 (2014-2017) ATLAS geometry is set via jobOptions +TileCablingSvc INFO Setting Cabling type to 4 +TileInfoLoader INFO Placed TileInfo object in the detector store. +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x7dd4b00]+7fe9d579d64c bound to CondAttrListCollection[/TILE/ONL01/STATUS/ADC] +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x7dd8200]+7fe9d579d64c bound to CondAttrListCollection[/TILE/OFL02/STATUS/ADC] +ToolSvc.TileBad... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x187d4000]+7fe9d55497ce bound to /TILE/ONL01/STATUS/ADC +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x187d4000]+7fe9d55497ce bound to /TILE/OFL02/STATUS/ADC +AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 +ClassIDSvc INFO getRegistryEntries: read 265 CLIDRegistry entries for module ALL +CondInputLoader INFO Initializing CondInputLoader... +CondInputLoader INFO Adding base classes: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) -> +CondInputLoader INFO Will create WriteCondHandle dependencies for the following DataObjects: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +TileBadChannels... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisLin) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisNln) for folder: "/TILE/OFL02/CALIB/CIS/FIT/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasLin) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasNln) for folder: "/TILE/OFL02/CALIB/LAS/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasFib) for folder: "/TILE/OFL02/CALIB/LAS/FIBER" +TileEMScaleCondAlg INFO ProxyOflLasFib is set up and can be used +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileEMScaleCondAlg INFO Undoing online calibration is not requested, since OnlCacheUnit= 'OnlCacheUnit':Invalid +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCis) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlLas) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileSampleNoise... INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE" +TileTimingCondA... INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY" +ClassIDSvc INFO getRegistryEntries: read 3798 CLIDRegistry entries for module ALL +PyComponentMgr INFO Initializing PyComponentMgr... +Finalizer INFO Initializing Finalizer... +HistogramPersis...WARNING Histograms saving not required. +EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 +ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00 +EventSelector INFO reinitialization... +AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +ApplicationMgr INFO Application Manager Initialized successfully +ByteStreamInputSvc INFO Picked valid file: /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +ClassIDSvc INFO getRegistryEntries: read 629 CLIDRegistry entries for module ALL +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CES' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/EMS' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/STATUS/ADC' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/ONL01/STATUS/ADC' +ApplicationMgr INFO Application Manager Started successfully +EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc +EventPersistenc... INFO Added successfully Conversion service:TagInfoMgr +EventPersistenc... INFO Added successfully Conversion service:ByteStreamCnvSvc +EventInfoByteSt... INFO UserType : RawEvent +EventInfoByteSt... INFO IsSimulation : 0 +EventInfoByteSt... INFO IsTestbeam : 0 +EventInfoByteSt... INFO IsCalibration : 0 +EventInfoByteSt... INFO EventContext not valid +AthenaEventLoopMgr INFO ===>>> start of run 204073 <<<=== +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LARAlign-IOVDEP-00 for folder /LAR/Align +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LArCellPositionShift-ideal for folder /LAR/LArCellPositionShift +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCes-SIM-06 for folder /TILE/OFL02/CALIB/CES +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitLin-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitNln-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibEms-COM-00 for folder /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasFiber-000-00 for folder /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasLin-COM-00 for folder /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasNln-COM-00 for folder /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02NoiseSample-TwoGauss-19 for folder /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02StatusAdc-IOVDEP-03 for folder /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02TimeChanneloffsetPhy-000-00 for folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root File version:52200 +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch: callback has been triggered by: /TILE/ONL01/STATUS/ADC +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch: callback has been triggered by: /TILE/OFL02/STATUS/ADC +CaloMgrDetDescrCnv INFO in createObj: creating a Calo Detector Manager object in the detector store +CaloIdMgrDetDes... INFO in createObj: creating a CaloDescrManager object in the detector store +ClassIDSvc INFO getRegistryEntries: read 193 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloDM_ID helper object in the detector store +CaloDM_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a TTOnlineID helper object in the detector store +TTOnlineID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_SuperCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt +CaloIDHelper_ID... INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIdMgrDetDes... INFO Finished +CaloIdMgrDetDes... INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200 +ToolSvc.TileBad... INFO TileBadChanLegacyTool::recache() has been triggered by: '/TILE/OFL02/STATUS/ADC' '/TILE/ONL01/STATUS/ADC' +ToolSvc.TileBad... INFO Updating TileBchStatus::isBad() definition from DB +ToolSvc.TileBad... INFO Updating TileBchStatus::isNoisy() definition from DB +ToolSvc.TileBad... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +ToolSvc.TileBad... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +ToolSvc.TileBad... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +ToolSvc.TileBad... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +ToolSvc.TileBad... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +ToolSvc.TileBad... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +ToolSvc.TileBad... INFO No drawer trips probabilities found in DB +AthenaEventLoopMgr INFO ===>>> start processing event #1129572, run #204073 0 events processed so far <<<=== +TileBadChannels... INFO Updating TileBchStatus::isBad() definition from DB +TileBadChannels... INFO Updating TileBchStatus::isNoisy() definition from DB +TileBadChannels... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +TileBadChannels... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +TileBadChannels... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +TileBadChannels... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +TileBadChannels... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +TileBadChannels... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +TileBadChannels... INFO No drawer trips probabilities found in DB +ClassIDSvc INFO getRegistryEntries: read 2380 CLIDRegistry entries for module ALL +ToolSvc.TileROD... INFO TileL2Builder initialization completed +ToolSvc.TileL2C... INFO Initializing TileL2ContByteStreamTool +AthenaEventLoopMgr INFO ===>>> done processing event #1129572, run #204073 1 events processed so far <<<=== +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +AthenaEventLoopMgr INFO ===>>> start processing event #1129665, run #204073 1 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1129665, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131212, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131212, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131086, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131086, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130272, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130272, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131269, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131269, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130716, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130716, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132019, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132019, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132092, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132092, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130238, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130238, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134553, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134553, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130999, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130999, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133461, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133461, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131152, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131152, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130142, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130142, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132770, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132770, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132365, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132365, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136791, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136791, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133781, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133781, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132067, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132067, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138637, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138637, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139495, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139495, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140193, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140193, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142953, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142953, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139127, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139127, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141272, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141272, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137117, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137117, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139599, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139599, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140314, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140314, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133685, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133685, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143279, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143279, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137563, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137563, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139927, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139927, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141197, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141197, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140039, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140039, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142531, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142531, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139475, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139475, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139958, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139958, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143765, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143765, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143097, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143097, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134147, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134147, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137156, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137156, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136377, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136377, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137842, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137842, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141705, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141705, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143410, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143410, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144170, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144170, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145987, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145987, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145633, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145633, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1135005, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1135005, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142167, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142167, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144646, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144646, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145027, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145027, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144112, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144112, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138485, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138485, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144565, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144565, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139498, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139498, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136546, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136546, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143799, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143799, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142877, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142877, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149894, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149894, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145364, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145364, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143770, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143770, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148361, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148361, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148167, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148167, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138948, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138948, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144808, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144808, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145832, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145832, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153100, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153100, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142524, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142524, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138294, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138294, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138350, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138350, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149424, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149424, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151102, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151102, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152242, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152242, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148416, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148416, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142753, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142753, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149997, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149997, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151617, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151617, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149794, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149794, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152504, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152504, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142485, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142485, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151364, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151364, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143901, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143901, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153979, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153979, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150212, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150212, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152633, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152633, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1155482, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1155482, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150472, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150472, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140275, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140275, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145882, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145882, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151732, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151732, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137896, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137896, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156381, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156381, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149161, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149161, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153794, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153794, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151312, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151312, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148893, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148893, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156938, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156938, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156351, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156351, run #204073 100 events processed so far <<<=== +TileInfoLoader INFO Handling EndRun incident +TileInfoLoader INFO Removed TileInfo object from detector store. +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +ApplicationMgr INFO Application Manager Stopped successfully +IncidentProcAlg1 INFO Finalize +CondInputLoader INFO Finalizing CondInputLoader... +Finalizer INFO Finalizing Finalizer... +Finalize: compared 10 dumps +IncidentProcAlg2 INFO Finalize +EventInfoByteSt... INFO finalize +PyComponentMgr INFO Finalizing PyComponentMgr... +IdDictDetDescrCnv INFO in finalize +IOVDbSvc INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 (( 4.23 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 (( 8.22 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 5.80 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 4.61 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 (( 6.53 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 (( 3.08 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 (( 4.00 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 (( 3.72 ))s +IOVDbSvc INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641504 (( 5.78 ))s +IOVDbSvc INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/93060 (( 1.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 (( 1.23 ))s +IOVDbSvc INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/76 (( 0.07 ))s +IOVDbSvc INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 (( 1.09 ))s +IOVDbSvc INFO Total payload read from COOL: 839785 bytes in (( 49.42 ))s +IOVDbSvc INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: (( 0.00 ))s +IOVDbSvc INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: (( 5.32 ))s +IOVDbSvc INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: (( 44.10 ))s +TileInfoLoader INFO TileInfoLoader::finalize() +AthDictLoaderSvc INFO in finalize... +ToolSvc INFO Removing all tools created by ToolSvc +ToolSvc.ByteStr... INFO in finalize() +ToolSvc.TileROD... INFO Finalizing +*****Chrono***** INFO **************************************************************************************************** +*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) +*****Chrono***** INFO **************************************************************************************************** +cObjR_ALL INFO Time User : Tot= 0.76 [s] Ave/Min/Max= 0.38(+- 0.36)/ 0.02/ 0.74 [s] #= 2 +cObj_ALL INFO Time User : Tot= 1.02 [s] Ave/Min/Max=0.068(+-0.209)/ 0/ 0.83 [s] #= 15 +ChronoStatSvc INFO Time User : Tot= 31.9 [s] #= 1 +*****Chrono***** INFO **************************************************************************************************** +ChronoStatSvc.f... INFO Service finalized successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +Py:Athena INFO leaving with code 0: "successful run" diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.py new file mode 100644 index 0000000000000000000000000000000000000000..e800ea846a33638edf3f6d155b0745c315d9baa0 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.py @@ -0,0 +1,107 @@ +# +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. +# +# File: TileByteStream/TileLaserObjByteStreamCnv_test.py +# Author: scott snyder +# Date: Oct, 2018 +# Brief: Test TileLaserObjByteStreamCnv. +# + +from __future__ import print_function + +import os + +refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None), + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art', + '/afs/cern.ch/atlas/maxidisk/d33/referencefiles'] +def find_file (fname): + for p in refpaths: + if p: + path = os.path.join (p, fname) + if os.path.exists (path): + return path + print ('ERROR: Cannot find file: ', fname) + return None + +# Find reference and input files. +input_base = 'data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data' +if not globals().has_key ('ATLAS_REFERENCE_TAG'): + ATLAS_REFERENCE_TAG = os.environ.get ('ATLAS_REFERENCE_TAG', + 'TileByteStream-01-00-00') +from AthenaCommon.Utils.unixtools import find_datafile +r = find_datafile (os.path.join ('TileByteStream', ATLAS_REFERENCE_TAG)) +refdir = None +if r: + refdir = os.path.join (r, 'TileLaserDumps') + input_fname = os.path.join (r, input_base) +if not refdir or not os.path.exists (refdir): + refdir = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + 'TileLaserDumps')) + input_fname = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + input_base)) + + +from AthenaCommon.DetFlags import DetFlags +DetFlags.detdescr.Tile_setOn() +DetFlags.detdescr.LAr_setOn() + +import glob +import sys +import string +import ROOT +import math +from AtlasGeoModel import SetGeometryVersion +from AtlasGeoModel import GeoModelInit +from AtlasGeoModel import SetupRecoGeometry + +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +athenaCommonFlags.BSRDOInput = [input_fname] +from ByteStreamCnvSvc import ReadByteStream +svcMgr.EventSelector.Input = [input_fname] +from AthenaCommon.GlobalFlags import globalflags +globalflags.InputFormat.set_Value_and_Lock('bytestream') + +svcMgr.ByteStreamAddressProviderSvc.TypeNames += [ + 'TileLaserObject/TileLaserObj', + ] + +include('TileConditions/TileConditions_jobOptions.py') + +from GeoModelSvc.GeoModelSvcConf import GeoModelSvc +ServiceMgr += GeoModelSvc() +theApp.CreateSvc += [ "GeoModelSvc"] +from AtlasGeoModel import TileGM +from AtlasGeoModel import LArGM #LAr needed to get MBTS DD. + +from IOVDbSvc.IOVDbSvcConf import IOVDbSvc +IOVDbSvc().GlobalTag = 'OFLCOND-RUN12-SDR-35' + +from AthenaCommon.AlgSequence import AlgSequence +topSequence = AlgSequence() + +theApp.EvtMax=100 + +from AthenaCommon.ConcurrencyFlags import jobproperties as jp +dumpdir = 'TileLaserDumps-%d' % jp.ConcurrencyFlags.NumThreads() + +from TileRecUtils.TileRecUtilsConf import TileLaserObjectDumper +topSequence += TileLaserObjectDumper ('TileLaserObjectDumper', + TileLaserObject = 'TileLaserObj', + Prefix = dumpdir + '/') + + +os.system ('rm -rf ' + dumpdir) +os.system ('mkdir -p ' + dumpdir) + +from AthenaPython.PyAthenaComps import Alg, StatusCode +class Finalizer (Alg): + def finalize (self): + dumps = glob.glob (os.path.join (refdir, '*.dump')) + for f in dumps: + localdump = os.path.join (dumpdir, os.path.basename (f)) + os.system ('diff -u %s %s' % (f, localdump)) + print ('Finalize: compared %d dumps' % len(dumps)) + return StatusCode.Success +topSequence += Finalizer ('Finalizer') diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..69f2a01f3c541128aadd08d306e6361b9ff7c38f --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.ref @@ -0,0 +1,695 @@ +Thu Nov 8 04:21:48 CET 2018 +Preloading tcmalloc_minimal.so +Py:Athena INFO including file "AthenaCommon/Preparation.py" +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/3a1173767ab] -- built on [2018-11-07T2213] +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 "TileByteStream/TileLaserObjByteStreamCnv_test.py" +[?1034hSetGeometryVersion.py obtained major release version 22 +Py:Athena INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py" +Py:ConfigurableDb INFO Read module info for 5557 configurables from 46 genConfDb files +Py:ConfigurableDb INFO No duplicates have been found: that's good ! +EventInfoMgtInit: Got release version Athena-22.0.1 +Py:IOVDbSvc.CondDB INFO Setting up conditions DB access to instance OFLP200 +Py:Athena INFO including file "TileConditions/TileConditions_jobOptions.py" +Py:TileInfoConf. INFO Adding TileCablingSvc to ServiceMgr +Py:inputFilePeeker INFO Executing inputFilePeeker.py +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... [done] +Py:inputFilePeeker INFO stream_names not present in input bytestream file. Giving default name 'StreamRAW' +Py:inputFilePeeker INFO Successfully filled inputFileSummary from file /afs/cern.ch/atlas/maxidisk/d33/referencefiles/TileByteStream/TileByteStream-01-00-00/data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data +Py:inputFilePeeker INFO Extracted streams ['StreamRAW'] from input file +Py:TileConditions_jobOptions.py INFO Forcing RUN2a (2018) cabling for run 363899 with geometry ATLAS-R2-2016-01-00-01 +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo for 7 samples +Py:TileConditions_jobOptions.py INFO setting up COOL for TileCal conditions data +Py:TileInfoConf. INFO Changing default TileBadChanTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileBadChanLegacyTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolEmscale configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolNoiseSample configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolTiming configuration to COOL source +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo to return cell noise for Opt.Filter without iterations +Py:Athena INFO including file "AthenaCommon/runbatch.py" +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus075.cern.ch on Thu Nov 8 04:22:12 2018 +==================================================================================================================================== +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 +AthDictLoaderSvc INFO in initialize... +AthDictLoaderSvc INFO acquired Dso-registry +ClassIDSvc INFO getRegistryEntries: read 6946 CLIDRegistry entries for module ALL +CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) +CoreDumpSvc INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) +MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 +AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 +PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] +PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled +PoolSvc INFO Frontier compression level set to 5 +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus075.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +PoolSvc INFO Successfully setup replica sorting algorithm +PoolSvc INFO Setting up APR FileCatalog and Streams +PoolSvc WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml +PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +IOVDbSvc INFO Opened read transaction for POOL PersistencySvc +IOVDbSvc INFO Only 5 POOL conditions files will be open at once +IOVDbSvc INFO Cache alignment will be done in 3 slices +IOVDbSvc INFO Global tag: OFLCOND-RUN12-SDR-35 set from joboptions +IOVDbSvc INFO Read from meta data only for folder /TagInfo +IOVDbSvc INFO Initialised with 3 connections and 14 folders +IOVDbSvc INFO Service IOVDbSvc initialised successfully +ByteStreamAddre... INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO ---> Filter out empty ROB fragments = 'filterEmptyROB':False +ROBDataProviderSvc INFO ---> Filter out specific ROBs by Status Code: # ROBs = 0 +ROBDataProviderSvc INFO ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0 +ByteStreamAddre... INFO initialized +ByteStreamAddre... INFO -- Module IDs for: +ByteStreamAddre... INFO CTP = 0x1 +ByteStreamAddre... INFO muCTPi = 0x1 +ByteStreamAddre... INFO Calorimeter Cluster Processor RoI = 0xa8, 0xa9, 0xaa, 0xab +ByteStreamAddre... INFO Calorimeter Jet/Energy Processor RoI = 0xac, 0xad +ByteStreamAddre... INFO Topo Processor RoI = 0x81, 0x91 +ByteStreamAddre... INFO -- Will fill Store with id = 0 +IOVDbSvc INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found. +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +ClassIDSvc INFO getRegistryEntries: read 3114 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Added taginfo remove for /LAR/Align +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CES +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /LAR/LArCellPositionShift +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL +DetDescrCnvSvc INFO initializing +DetDescrCnvSvc INFO Found DetectorStore service +DetDescrCnvSvc INFO filling proxies for detector managers +DetDescrCnvSvc INFO filling address for CaloTTMgr with CLID 117659265 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloMgr with CLID 4548337 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloSuperCellMgr with CLID 241807251 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloIdManager with CLID 125856940 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArIdManager with CLID 79554919 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for IdDict with CLID 2411 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for AtlasID with CLID 164875623 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for PixelID with CLID 2516 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SCT_ID with CLID 2517 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TRT_ID with CLID 2518 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SiliconID with CLID 129452393 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_ID with CLID 163583365 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_SuperCell_ID with CLID 99488227 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_ID with CLID 3870484 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_SuperCell_ID with CLID 254277678 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_ID with CLID 45738051 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_SuperCell_ID with CLID 12829437 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArMiniFCAL_ID with CLID 79264204 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnlineID with CLID 158698068 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TTOnlineID with CLID 38321944 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnline_SuperCellID with CLID 115600394 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHVLineID with CLID 27863673 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArElectrodeID with CLID 80757351 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileID with CLID 2901 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for Tile_SuperCell_ID with CLID 49557789 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileHWID with CLID 2902 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileTBID with CLID 2903 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MDTIDHELPER with CLID 4170 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CSCIDHELPER with CLID 4171 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for RPCIDHELPER with CLID 4172 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TGCIDHELPER with CLID 4173 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for STGCIDHELPER with CLID 4174 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MMIDHELPER with CLID 4175 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloLVL1_ID with CLID 108133391 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_ID with CLID 123500438 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_SuperCell_ID with CLID 128365736 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloDM_ID with CLID 167756483 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for ZdcID with CLID 190591643 and storage type 68 to detector store +GeoModelSvc::RD...WARNING Getting PixTBMatComponents with default tag +GeoModelSvc::RD...WARNING Getting PixTBMaterials with default tag +GeoModelSvc::RD...WARNING Getting InDetMatComponents with default tag +GeoModelSvc::RD...WARNING Getting InDetMaterials with default tag +GeoModelSvc.LAr... INFO Keys for LAr are ATLAS-R2-2016-01-00-01 ATLAS +GeoModelSvc.LAr... INFO Building LAr version LAr-Revised-17-01 while ATLAS version is ATLAS-R2-2016-01-00-01 +GeoModelSvc.LAr... INFO LAr Geometry Options: +GeoModelSvc.LAr... INFO Sagging = false +GeoModelSvc.LAr... INFO Barrel = ON +GeoModelSvc.LAr... INFO Endcap = ON +BarrelConstruction INFO Getting primary numbers for ATLAS, ATLAS-R2-2016-01-00-01 +BarrelConstruction INFO Makes detailed absorber sandwich ? 1 1 +BarrelConstruction INFO Use sagging in geometry ? 0 +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EventPersistenc... INFO Added successfully Conversion service:DetDescrCnvSvc +ClassIDSvc INFO getRegistryEntries: read 2398 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileTBID helper object in the detector store +IdDictDetDescrCnv INFO in initialize +IdDictDetDescrCnv INFO in createObj: creating a IdDictManager object in the detector store +IdDictDetDescrCnv INFO IdDictName: IdDictParser/ATLAS_IDS.xml +IdDictDetDescrCnv INFO Reading InnerDetector IdDict file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Reading LArCalorimeter IdDict file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Reading TileCalorimeter IdDict file IdDictParser/IdDictTileCalorimeter.xml +IdDictDetDescrCnv INFO Reading Calorimeter IdDict file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Reading MuonSpectrometer IdDict file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Reading ForwardDetectors IdDict file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Found id dicts: +IdDictDetDescrCnv INFO Using dictionary tag: null +IdDictDetDescrCnv INFO Dictionary ATLAS version default DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary Calorimeter version default DetDescr tag CaloIdentifier-LVL1-02 file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Dictionary ForwardDetectors version default DetDescr tag ForDetIdentifier-01 file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Dictionary InnerDetector version IBL-DBM DetDescr tag InDetIdentifier-IBL3D25-02 file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Dictionary LArCalorimeter version fullAtlas DetDescr tag LArIdentifier-DC3-05-Comm file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Dictionary LArElectrode version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary LArHighVoltage version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary MuonSpectrometer version R.03 DetDescr tag MuonIdentifier-08 file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Dictionary TileCalorimeter version fullAtlasAndTestBeam DetDescr tag TileIdentifier-00 file IdDictParser/IdDictTileCalorimeter.xml +TileTBID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +EndcapDMConstru... INFO Start building EC electronics geometry +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EndcapDMConstru... INFO Start building EC electronics geometry +GeoModelSvc INFO GeoModelSvc.LArDetectorToolNV SZ= 29096Kb Time = 1.64S +GeoModelSvc.Til... INFO Entering TileDetectorTool::create() +TileDddbManager INFO m_tag = ATLAS-R2-2016-01-00-01 +TileDddbManager INFO n_tiglob = 5 +TileDddbManager INFO n_timod = 320 +TileDddbManager INFO n_cuts = 9 +TileDddbManager INFO n_saddle = 1 +TileDddbManager INFO n_tilb = 21 +TileDddbManager INFO n_tileSwitches = 1 +ClassIDSvc INFO getRegistryEntries: read 213 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt +TileHWIDDetDesc... INFO in createObj: creating a TileHWID helper object in the detector store +TileHWID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +ClassIDSvc INFO getRegistryEntries: read 55 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt +CaloIDHelper_ID... INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArMiniFCAL_ID INFO initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID. +AtlasDetectorID INFO initialize_from_dictionary - OK +GeoModelSvc.Til... INFO U-shape parameter from database is: 1 +GeoModelSvc.Til... INFO Glue parameter from database is: 1 +GeoModelSvc.Til... INFO Cs Tube parameter from database is: 0 +GeoModelSvc.Til... INFO Entering TileAtlasFactory::create() +GeoModelSvc.Til... INFO Tile Geometry with Saddle supports, starting from TileCal-CSC-02 xxx +GeoModelSvc.Til... INFO => New BFingerLengthPos 430.5 +GeoModelSvc.Til... INFO => New BFingerLengthNeg 420.5 +GeoModelSvc.Til... INFO Positioning barrel with translation 0 +GeoModelSvc.Til... INFO Positioning positive barrel finger with translation 3035.25 +GeoModelSvc.Til... INFO Positioning negative barrel finger with translation -3030.25 +GeoModelSvc.Til... INFO Positioning positive ext.barrel with translation 4854.75 +GeoModelSvc.Til... INFO Positioning positive ext.barrel finger with translation ztrans= 6338.5 +GeoModelSvc.Til... INFO Positioning positive ext.barrel saddle with translation ztrans= 6192.5 +GeoModelSvc.Til... INFO Positive ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning positive ITC with translation 3405 +GeoModelSvc.Til... INFO Positioning positive Gap with translation 3552 +GeoModelSvc.Til... INFO Positioning positive Crack with translation 3536 +GeoModelSvc.Til... INFO Positioning negative ext.barrel with translation ztrans -4854.75 +GeoModelSvc.Til... INFO Positioning negative ext.barrel finger with translation ztrans= -6338.5 +GeoModelSvc.Til... INFO Positioning negative ext.barrel saddle with translation ztrans= -6192.5 +GeoModelSvc.Til... INFO Negative ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning negative ITC with translation -3405 +GeoModelSvc.Til... INFO Positioning negative Gap with translation -3552 +GeoModelSvc.Til... INFO Positioning negative Crack with translation -3536 +GeoModelSvc.Til... INFO Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) CLHEP::cm +TileDetDescrMan... INFO Entering create_elements() +GeoModelSvc INFO GeoModelSvc.TileDetectorTool SZ= 5200Kb Time = 1.65S +ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL +TileInfoLoader INFO Initializing....TileInfoLoader +TileInfoLoader INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001 +TileInfoLoader INFO Changing TTL1 calib from 4.1 to 6.9 +TileInfoLoader INFO Changing TTL1 noise sigma from 2.5 to 2.8 +TileInfoLoader INFO ATLAS IBL geometry - special sampling fractions for gap/crack scin are allowed +TileInfoLoader INFO Special C10 in EB module 39 +TileInfoLoader INFO Special C10 in EB module 40 +TileInfoLoader INFO Special C10 in EB module 41 +TileInfoLoader INFO Special C10 in EB module 42 +TileInfoLoader INFO Special C10 in EB module 55 +TileInfoLoader INFO Special C10 in EB module 56 +TileInfoLoader INFO Special C10 in EB module 57 +TileInfoLoader INFO Special C10 in EB module 58 +TileInfoLoader INFO Sampling fraction for normal cells 1/34 +TileInfoLoader INFO Sampling fraction for special C10 cells 1/45 +TileInfoLoader INFO Sampling fraction for E1 cells 1/125 +TileInfoLoader INFO Sampling fraction for E2 cells 1/107 +TileInfoLoader INFO Sampling fraction for E3 cells 1/97 +TileInfoLoader INFO Sampling fraction for E4 cells 1/75 +TileInfoLoader INFO Sampling fraction for E4' cells 1/75 +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat +CaloIDHelper_ID... INFO in createObj: creating a CaloLVL1_ID helper object in the detector store +CaloLVL1_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +TileCablingSvc INFO RUN2 ATLAS geometry flag detected for geometry: ATLAS-R2-2016-01-00-01 +TileCablingSvc INFO Cabling for RUN2a (2018) ATLAS geometry is set via jobOptions +TileCablingSvc INFO Setting Cabling type to 5 +TileInfoLoader INFO Placed TileInfo object in the detector store. +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x7a54b00]+7f7915d4164c bound to CondAttrListCollection[/TILE/ONL01/STATUS/ADC] +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x7a58200]+7f7915d4164c bound to CondAttrListCollection[/TILE/OFL02/STATUS/ADC] +ToolSvc.TileBad... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18495000]+7f7915aed7ce bound to /TILE/ONL01/STATUS/ADC +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18495000]+7f7915aed7ce bound to /TILE/OFL02/STATUS/ADC +AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 +ClassIDSvc INFO getRegistryEntries: read 265 CLIDRegistry entries for module ALL +CondInputLoader INFO Initializing CondInputLoader... +CondInputLoader INFO Adding base classes: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) -> +CondInputLoader INFO Will create WriteCondHandle dependencies for the following DataObjects: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +TileBadChannels... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisLin) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisNln) for folder: "/TILE/OFL02/CALIB/CIS/FIT/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasLin) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasNln) for folder: "/TILE/OFL02/CALIB/LAS/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasFib) for folder: "/TILE/OFL02/CALIB/LAS/FIBER" +TileEMScaleCondAlg INFO ProxyOflLasFib is set up and can be used +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileEMScaleCondAlg INFO Undoing online calibration is not requested, since OnlCacheUnit= 'OnlCacheUnit':Invalid +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCis) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlLas) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileSampleNoise... INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE" +TileTimingCondA... INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY" +ClassIDSvc INFO getRegistryEntries: read 4423 CLIDRegistry entries for module ALL +PyComponentMgr INFO Initializing PyComponentMgr... +Finalizer INFO Initializing Finalizer... +HistogramPersis...WARNING Histograms saving not required. +EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 +ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00 +EventSelector INFO reinitialization... +AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +ApplicationMgr INFO Application Manager Initialized successfully +ByteStreamInputSvc INFO Picked valid file: /afs/cern.ch/atlas/maxidisk/d33/referencefiles/TileByteStream/TileByteStream-01-00-00/data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data +ClassIDSvc INFO getRegistryEntries: read 691 CLIDRegistry entries for module ALL +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CES' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/EMS' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/STATUS/ADC' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/ONL01/STATUS/ADC' +ApplicationMgr INFO Application Manager Started successfully +EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc +EventPersistenc... INFO Added successfully Conversion service:TagInfoMgr +EventPersistenc... INFO Added successfully Conversion service:ByteStreamCnvSvc +EventInfoByteSt... INFO UserType : RawEvent +EventInfoByteSt... INFO IsSimulation : 0 +EventInfoByteSt... INFO IsTestbeam : 0 +EventInfoByteSt... INFO IsCalibration : 0 +EventInfoByteSt... INFO EventContext not valid +AthenaEventLoopMgr INFO ===>>> start of run 363899 <<<=== +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LARAlign-IOVDEP-00 for folder /LAR/Align +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LArCellPositionShift-ideal for folder /LAR/LArCellPositionShift +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCes-SIM-06 for folder /TILE/OFL02/CALIB/CES +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitLin-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitNln-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibEms-COM-00 for folder /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasFiber-000-00 for folder /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasLin-COM-00 for folder /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasNln-COM-00 for folder /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02NoiseSample-TwoGauss-19 for folder /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02StatusAdc-IOVDEP-03 for folder /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02TimeChanneloffsetPhy-000-00 for folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root File version:52200 +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch: callback has been triggered by: /TILE/ONL01/STATUS/ADC +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch: callback has been triggered by: /TILE/OFL02/STATUS/ADC +CaloMgrDetDescrCnv INFO in createObj: creating a Calo Detector Manager object in the detector store +CaloIdMgrDetDes... INFO in createObj: creating a CaloDescrManager object in the detector store +ClassIDSvc INFO getRegistryEntries: read 193 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloDM_ID helper object in the detector store +CaloDM_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a TTOnlineID helper object in the detector store +TTOnlineID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_SuperCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt +CaloIDHelper_ID... INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIdMgrDetDes... INFO Finished +CaloIdMgrDetDes... INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200 +ToolSvc.TileBad... INFO TileBadChanLegacyTool::recache() has been triggered by: '/TILE/OFL02/STATUS/ADC' '/TILE/ONL01/STATUS/ADC' +ToolSvc.TileBad... INFO Updating TileBchStatus::isBad() definition from DB +ToolSvc.TileBad... INFO Updating TileBchStatus::isNoisy() definition from DB +ToolSvc.TileBad... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +ToolSvc.TileBad... INFO Updating TileBchStatus::isBadTiming() definition from DB +ToolSvc.TileBad... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +ToolSvc.TileBad... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +ToolSvc.TileBad... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +ToolSvc.TileBad... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; +ToolSvc.TileBad... INFO No drawer trips probabilities found in DB +AthenaEventLoopMgr INFO ===>>> start processing event #18124, run #363899 0 events processed so far <<<=== +TileBadChannels... INFO Updating TileBchStatus::isBad() definition from DB +TileBadChannels... INFO Updating TileBchStatus::isNoisy() definition from DB +TileBadChannels... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +TileBadChannels... INFO Updating TileBchStatus::isBadTiming() definition from DB +TileBadChannels... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +TileBadChannels... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +TileBadChannels... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +TileBadChannels... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; +TileBadChannels... INFO No drawer trips probabilities found in DB +ClassIDSvc INFO getRegistryEntries: read 2380 CLIDRegistry entries for module ALL +ToolSvc.TileROD... INFO TileL2Builder initialization completed +AthenaEventLoopMgr INFO ===>>> done processing event #18124, run #363899 1 events processed so far <<<=== +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +AthenaEventLoopMgr INFO ===>>> start processing event #18125, run #363899 1 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18125, run #363899 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18126, run #363899 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18126, run #363899 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18127, run #363899 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18127, run #363899 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18128, run #363899 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18128, run #363899 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18129, run #363899 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18129, run #363899 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18130, run #363899 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18130, run #363899 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18131, run #363899 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18131, run #363899 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18132, run #363899 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18132, run #363899 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18133, run #363899 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18133, run #363899 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18134, run #363899 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18134, run #363899 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18135, run #363899 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18135, run #363899 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18136, run #363899 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18136, run #363899 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18137, run #363899 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18137, run #363899 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18138, run #363899 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18138, run #363899 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18139, run #363899 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18139, run #363899 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18140, run #363899 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18140, run #363899 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18141, run #363899 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18141, run #363899 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18142, run #363899 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18142, run #363899 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18143, run #363899 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18143, run #363899 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18144, run #363899 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18144, run #363899 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18145, run #363899 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18145, run #363899 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18146, run #363899 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18146, run #363899 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18147, run #363899 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18147, run #363899 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18148, run #363899 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18148, run #363899 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18149, run #363899 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18149, run #363899 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18150, run #363899 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18150, run #363899 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18151, run #363899 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18151, run #363899 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18152, run #363899 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18152, run #363899 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18153, run #363899 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18153, run #363899 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18154, run #363899 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18154, run #363899 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18155, run #363899 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18155, run #363899 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18156, run #363899 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18156, run #363899 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18157, run #363899 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18157, run #363899 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18158, run #363899 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18158, run #363899 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18159, run #363899 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18159, run #363899 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18160, run #363899 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18160, run #363899 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18161, run #363899 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18161, run #363899 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18162, run #363899 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18162, run #363899 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18163, run #363899 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18163, run #363899 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18164, run #363899 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18164, run #363899 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18165, run #363899 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18165, run #363899 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18166, run #363899 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18166, run #363899 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18167, run #363899 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18167, run #363899 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18168, run #363899 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18168, run #363899 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18169, run #363899 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18169, run #363899 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18170, run #363899 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18170, run #363899 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18171, run #363899 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18171, run #363899 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18172, run #363899 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18172, run #363899 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18173, run #363899 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18173, run #363899 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18174, run #363899 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18174, run #363899 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18175, run #363899 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18175, run #363899 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18176, run #363899 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18176, run #363899 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18177, run #363899 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18177, run #363899 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18178, run #363899 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18178, run #363899 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18179, run #363899 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18179, run #363899 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18180, run #363899 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18180, run #363899 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18181, run #363899 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18181, run #363899 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18182, run #363899 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18182, run #363899 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18183, run #363899 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18183, run #363899 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18184, run #363899 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18184, run #363899 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18185, run #363899 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18185, run #363899 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18186, run #363899 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18186, run #363899 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18187, run #363899 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18187, run #363899 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18188, run #363899 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18188, run #363899 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18189, run #363899 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18189, run #363899 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18190, run #363899 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18190, run #363899 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18191, run #363899 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18191, run #363899 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18192, run #363899 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18192, run #363899 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18193, run #363899 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18193, run #363899 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18194, run #363899 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18194, run #363899 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18195, run #363899 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18195, run #363899 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18196, run #363899 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18196, run #363899 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18197, run #363899 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18197, run #363899 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18198, run #363899 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18198, run #363899 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18199, run #363899 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18199, run #363899 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18200, run #363899 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18200, run #363899 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18201, run #363899 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18201, run #363899 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18202, run #363899 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18202, run #363899 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18203, run #363899 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18203, run #363899 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18204, run #363899 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18204, run #363899 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18205, run #363899 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18205, run #363899 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18206, run #363899 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18206, run #363899 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18207, run #363899 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18207, run #363899 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18208, run #363899 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18208, run #363899 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18209, run #363899 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18209, run #363899 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18210, run #363899 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18210, run #363899 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18211, run #363899 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18211, run #363899 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18212, run #363899 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18212, run #363899 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18213, run #363899 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18213, run #363899 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18214, run #363899 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18214, run #363899 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18215, run #363899 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18215, run #363899 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18216, run #363899 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18216, run #363899 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18217, run #363899 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18217, run #363899 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18218, run #363899 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18218, run #363899 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18219, run #363899 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18219, run #363899 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18220, run #363899 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18220, run #363899 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18221, run #363899 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18221, run #363899 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18222, run #363899 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18222, run #363899 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18223, run #363899 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18223, run #363899 100 events processed so far <<<=== +TileInfoLoader INFO Handling EndRun incident +TileInfoLoader INFO Removed TileInfo object from detector store. +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +ApplicationMgr INFO Application Manager Stopped successfully +IncidentProcAlg1 INFO Finalize +CondInputLoader INFO Finalizing CondInputLoader... +Finalizer INFO Finalizing Finalizer... +Finalize: compared 10 dumps +IncidentProcAlg2 INFO Finalize +EventInfoByteSt... INFO finalize +PyComponentMgr INFO Finalizing PyComponentMgr... +IdDictDetDescrCnv INFO in finalize +IOVDbSvc INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 (( 0.51 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104912 (( 0.21 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.07 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 (( 0.05 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 (( 0.07 ))s +IOVDbSvc INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641536 (( 0.07 ))s +IOVDbSvc INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/43176 (( 0.05 ))s +IOVDbSvc INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 (( 0.05 ))s +IOVDbSvc INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/76 (( 0.02 ))s +IOVDbSvc INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 (( 0.05 ))s +IOVDbSvc INFO Total payload read from COOL: 791501 bytes in (( 1.31 ))s +IOVDbSvc INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: (( 0.00 ))s +IOVDbSvc INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: (( 0.56 ))s +IOVDbSvc INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: (( 0.76 ))s +TileInfoLoader INFO TileInfoLoader::finalize() +AthDictLoaderSvc INFO in finalize... +ToolSvc INFO Removing all tools created by ToolSvc +ToolSvc.ByteStr... INFO in finalize() +ToolSvc.TileROD... INFO Finalizing +*****Chrono***** INFO **************************************************************************************************** +*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) +*****Chrono***** INFO **************************************************************************************************** +cObjR_ALL INFO Time User : Tot= 0.81 [s] Ave/Min/Max=0.405(+-0.395)/ 0.01/ 0.8 [s] #= 2 +cObj_ALL INFO Time User : Tot= 1.07 [s] Ave/Min/Max=0.0713(+-0.225)/ 0/ 0.9 [s] #= 15 +ChronoStatSvc INFO Time User : Tot= 24.9 [s] #= 1 +*****Chrono***** INFO **************************************************************************************************** +ChronoStatSvc.f... INFO Service finalized successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +Py:Athena INFO leaving with code 0: "successful run" diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.py new file mode 100644 index 0000000000000000000000000000000000000000..49c25665d3e3010b324ed7ca7ca762a7b1b2bf53 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.py @@ -0,0 +1,107 @@ +# +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. +# +# File: TileByteStream/TileMuRcvContByteStreamCnv_test.py +# Author: scott snyder +# Date: Oct, 2018 +# Brief: Test TileMuRcvContByteStreamCnv. +# + +from __future__ import print_function + +import os + +refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None), + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art', + '/afs/cern.ch/atlas/maxidisk/d33/referencefiles'] +def find_file (fname): + for p in refpaths: + if p: + path = os.path.join (p, fname) + if os.path.exists (path): + return path + print ('ERROR: Cannot find file: ', fname) + return None + +# Find reference and input files. +input_base = 'data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data' +if not globals().has_key ('ATLAS_REFERENCE_TAG'): + ATLAS_REFERENCE_TAG = os.environ.get ('ATLAS_REFERENCE_TAG', + 'TileByteStream-01-00-00') +from AthenaCommon.Utils.unixtools import find_datafile +r = find_datafile (os.path.join ('TileByteStream', ATLAS_REFERENCE_TAG)) +refdir = None +if r: + refdir = os.path.join (r, 'TileMuRcvDumps') + input_fname = os.path.join (r, input_base) +if not refdir or not os.path.exists (refdir): + refdir = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + 'TileMuRcvDumps')) + input_fname = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + input_base)) + + +from AthenaCommon.DetFlags import DetFlags +DetFlags.detdescr.Tile_setOn() +DetFlags.detdescr.LAr_setOn() + +import glob +import sys +import string +import ROOT +import math +from AtlasGeoModel import SetGeometryVersion +from AtlasGeoModel import GeoModelInit +from AtlasGeoModel import SetupRecoGeometry + +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +athenaCommonFlags.BSRDOInput = [input_fname] +from ByteStreamCnvSvc import ReadByteStream +svcMgr.EventSelector.Input = [input_fname] +from AthenaCommon.GlobalFlags import globalflags +globalflags.InputFormat.set_Value_and_Lock('bytestream') + +svcMgr.ByteStreamAddressProviderSvc.TypeNames += [ + 'TileMuonReceiverContainer/TileMuRcvCnt', + ] + +include('TileConditions/TileConditions_jobOptions.py') + +from GeoModelSvc.GeoModelSvcConf import GeoModelSvc +ServiceMgr += GeoModelSvc() +theApp.CreateSvc += [ "GeoModelSvc"] +from AtlasGeoModel import TileGM +from AtlasGeoModel import LArGM #LAr needed to get MBTS DD. + +from IOVDbSvc.IOVDbSvcConf import IOVDbSvc +IOVDbSvc().GlobalTag = 'OFLCOND-RUN12-SDR-35' + +from AthenaCommon.AlgSequence import AlgSequence +topSequence = AlgSequence() + +theApp.EvtMax=100 + +from AthenaCommon.ConcurrencyFlags import jobproperties as jp +dumpdir = 'TileMuRcvDumps-%d' % jp.ConcurrencyFlags.NumThreads() + +from TileRecUtils.TileRecUtilsConf import TileMuonReceiverDumper +topSequence += TileMuonReceiverDumper ('TileMuonReceiverDumper', + TileMuonReceiverContainer = 'TileMuRcvCnt', + Prefix = dumpdir + '/') + + +os.system ('rm -rf ' + dumpdir) +os.system ('mkdir -p ' + dumpdir) + +from AthenaPython.PyAthenaComps import Alg, StatusCode +class Finalizer (Alg): + def finalize (self): + dumps = glob.glob (os.path.join (refdir, '*.dump')) + for f in dumps: + localdump = os.path.join (dumpdir, os.path.basename (f)) + os.system ('diff -u %s %s' % (f, localdump)) + print ('Finalize: compared %d dumps' % len(dumps)) + return StatusCode.Success +topSequence += Finalizer ('Finalizer') diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..8dc3af21bb227fa5718502b8dc8f59cb27846e9f --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.ref @@ -0,0 +1,699 @@ +Thu Nov 8 04:13:53 CET 2018 +Preloading tcmalloc_minimal.so +Py:Athena INFO including file "AthenaCommon/Preparation.py" +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/3a1173767ab] -- built on [2018-11-07T2213] +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 "TileByteStream/TileMuRcvContByteStreamCnv_test.py" +[?1034hSetGeometryVersion.py obtained major release version 22 +Py:Athena INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py" +Py:ConfigurableDb INFO Read module info for 5557 configurables from 46 genConfDb files +Py:ConfigurableDb INFO No duplicates have been found: that's good ! +EventInfoMgtInit: Got release version Athena-22.0.1 +Py:IOVDbSvc.CondDB INFO Setting up conditions DB access to instance OFLP200 +Py:Athena INFO including file "TileConditions/TileConditions_jobOptions.py" +Py:TileInfoConf. INFO Adding TileCablingSvc to ServiceMgr +Py:inputFilePeeker INFO Executing inputFilePeeker.py +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... [done] +Py:AthFile INFO opening [/afs/cern.ch/atlas/maxidisk/d33/referencefiles/TileByteStream/TileByteStream-01-00-00/data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data]... +Py:inputFilePeeker INFO stream_names not present in input bytestream file. Giving default name 'StreamRAW' +Py:inputFilePeeker INFO Successfully filled inputFileSummary from file /afs/cern.ch/atlas/maxidisk/d33/referencefiles/TileByteStream/TileByteStream-01-00-00/data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data +Py:inputFilePeeker INFO Extracted streams ['StreamRAW'] from input file +Py:TileConditions_jobOptions.py INFO Forcing RUN2a (2018) cabling for run 363899 with geometry ATLAS-R2-2016-01-00-01 +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo for 7 samples +Py:TileConditions_jobOptions.py INFO setting up COOL for TileCal conditions data +Py:TileInfoConf. INFO Changing default TileBadChanTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileBadChanLegacyTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolEmscale configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolNoiseSample configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolTiming configuration to COOL source +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo to return cell noise for Opt.Filter without iterations +Py:Athena INFO including file "AthenaCommon/runbatch.py" +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus075.cern.ch on Thu Nov 8 04:14:15 2018 +==================================================================================================================================== +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 +AthDictLoaderSvc INFO in initialize... +AthDictLoaderSvc INFO acquired Dso-registry +ClassIDSvc INFO getRegistryEntries: read 6946 CLIDRegistry entries for module ALL +CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) +CoreDumpSvc INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) +MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 +AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 +PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] +PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled +PoolSvc INFO Frontier compression level set to 5 +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus075.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +PoolSvc INFO Successfully setup replica sorting algorithm +PoolSvc INFO Setting up APR FileCatalog and Streams +PoolSvc WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml +PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +IOVDbSvc INFO Opened read transaction for POOL PersistencySvc +IOVDbSvc INFO Only 5 POOL conditions files will be open at once +IOVDbSvc INFO Cache alignment will be done in 3 slices +IOVDbSvc INFO Global tag: OFLCOND-RUN12-SDR-35 set from joboptions +IOVDbSvc INFO Read from meta data only for folder /TagInfo +IOVDbSvc INFO Initialised with 3 connections and 14 folders +IOVDbSvc INFO Service IOVDbSvc initialised successfully +ByteStreamAddre... INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO ---> Filter out empty ROB fragments = 'filterEmptyROB':False +ROBDataProviderSvc INFO ---> Filter out specific ROBs by Status Code: # ROBs = 0 +ROBDataProviderSvc INFO ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0 +ByteStreamAddre... INFO initialized +ByteStreamAddre... INFO -- Module IDs for: +ByteStreamAddre... INFO CTP = 0x1 +ByteStreamAddre... INFO muCTPi = 0x1 +ByteStreamAddre... INFO Calorimeter Cluster Processor RoI = 0xa8, 0xa9, 0xaa, 0xab +ByteStreamAddre... INFO Calorimeter Jet/Energy Processor RoI = 0xac, 0xad +ByteStreamAddre... INFO Topo Processor RoI = 0x81, 0x91 +ByteStreamAddre... INFO -- Will fill Store with id = 0 +IOVDbSvc INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found. +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +ClassIDSvc INFO getRegistryEntries: read 3114 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Added taginfo remove for /LAR/Align +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CES +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /LAR/LArCellPositionShift +ClassIDSvc INFO getRegistryEntries: read 792 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL +DetDescrCnvSvc INFO initializing +DetDescrCnvSvc INFO Found DetectorStore service +DetDescrCnvSvc INFO filling proxies for detector managers +DetDescrCnvSvc INFO filling address for CaloTTMgr with CLID 117659265 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloMgr with CLID 4548337 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloSuperCellMgr with CLID 241807251 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloIdManager with CLID 125856940 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArIdManager with CLID 79554919 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for IdDict with CLID 2411 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for AtlasID with CLID 164875623 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for PixelID with CLID 2516 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SCT_ID with CLID 2517 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TRT_ID with CLID 2518 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SiliconID with CLID 129452393 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_ID with CLID 163583365 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_SuperCell_ID with CLID 99488227 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_ID with CLID 3870484 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_SuperCell_ID with CLID 254277678 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_ID with CLID 45738051 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_SuperCell_ID with CLID 12829437 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArMiniFCAL_ID with CLID 79264204 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnlineID with CLID 158698068 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TTOnlineID with CLID 38321944 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnline_SuperCellID with CLID 115600394 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHVLineID with CLID 27863673 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArElectrodeID with CLID 80757351 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileID with CLID 2901 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for Tile_SuperCell_ID with CLID 49557789 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileHWID with CLID 2902 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileTBID with CLID 2903 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MDTIDHELPER with CLID 4170 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CSCIDHELPER with CLID 4171 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for RPCIDHELPER with CLID 4172 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TGCIDHELPER with CLID 4173 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for STGCIDHELPER with CLID 4174 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MMIDHELPER with CLID 4175 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloLVL1_ID with CLID 108133391 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_ID with CLID 123500438 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_SuperCell_ID with CLID 128365736 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloDM_ID with CLID 167756483 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for ZdcID with CLID 190591643 and storage type 68 to detector store +GeoModelSvc::RD...WARNING Getting PixTBMatComponents with default tag +GeoModelSvc::RD...WARNING Getting PixTBMaterials with default tag +GeoModelSvc::RD...WARNING Getting InDetMatComponents with default tag +GeoModelSvc::RD...WARNING Getting InDetMaterials with default tag +GeoModelSvc.LAr... INFO Keys for LAr are ATLAS-R2-2016-01-00-01 ATLAS +GeoModelSvc.LAr... INFO Building LAr version LAr-Revised-17-01 while ATLAS version is ATLAS-R2-2016-01-00-01 +GeoModelSvc.LAr... INFO LAr Geometry Options: +GeoModelSvc.LAr... INFO Sagging = false +GeoModelSvc.LAr... INFO Barrel = ON +GeoModelSvc.LAr... INFO Endcap = ON +BarrelConstruction INFO Getting primary numbers for ATLAS, ATLAS-R2-2016-01-00-01 +BarrelConstruction INFO Makes detailed absorber sandwich ? 1 1 +BarrelConstruction INFO Use sagging in geometry ? 0 +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EventPersistenc... INFO Added successfully Conversion service:DetDescrCnvSvc +ClassIDSvc INFO getRegistryEntries: read 2389 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileTBID helper object in the detector store +IdDictDetDescrCnv INFO in initialize +IdDictDetDescrCnv INFO in createObj: creating a IdDictManager object in the detector store +IdDictDetDescrCnv INFO IdDictName: IdDictParser/ATLAS_IDS.xml +IdDictDetDescrCnv INFO Reading InnerDetector IdDict file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Reading LArCalorimeter IdDict file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Reading TileCalorimeter IdDict file IdDictParser/IdDictTileCalorimeter.xml +IdDictDetDescrCnv INFO Reading Calorimeter IdDict file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Reading MuonSpectrometer IdDict file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Reading ForwardDetectors IdDict file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Found id dicts: +IdDictDetDescrCnv INFO Using dictionary tag: null +IdDictDetDescrCnv INFO Dictionary ATLAS version default DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary Calorimeter version default DetDescr tag CaloIdentifier-LVL1-02 file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Dictionary ForwardDetectors version default DetDescr tag ForDetIdentifier-01 file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Dictionary InnerDetector version IBL-DBM DetDescr tag InDetIdentifier-IBL3D25-02 file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Dictionary LArCalorimeter version fullAtlas DetDescr tag LArIdentifier-DC3-05-Comm file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Dictionary LArElectrode version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary LArHighVoltage version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary MuonSpectrometer version R.03 DetDescr tag MuonIdentifier-08 file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Dictionary TileCalorimeter version fullAtlasAndTestBeam DetDescr tag TileIdentifier-00 file IdDictParser/IdDictTileCalorimeter.xml +TileTBID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +EndcapDMConstru... INFO Start building EC electronics geometry +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EndcapDMConstru... INFO Start building EC electronics geometry +GeoModelSvc INFO GeoModelSvc.LArDetectorToolNV SZ= 29096Kb Time = 1.6S +GeoModelSvc.Til... INFO Entering TileDetectorTool::create() +TileDddbManager INFO m_tag = ATLAS-R2-2016-01-00-01 +TileDddbManager INFO n_tiglob = 5 +TileDddbManager INFO n_timod = 320 +TileDddbManager INFO n_cuts = 9 +TileDddbManager INFO n_saddle = 1 +TileDddbManager INFO n_tilb = 21 +TileDddbManager INFO n_tileSwitches = 1 +ClassIDSvc INFO getRegistryEntries: read 213 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt +TileHWIDDetDesc... INFO in createObj: creating a TileHWID helper object in the detector store +TileHWID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +ClassIDSvc INFO getRegistryEntries: read 55 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt +CaloIDHelper_ID... INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArMiniFCAL_ID INFO initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID. +AtlasDetectorID INFO initialize_from_dictionary - OK +GeoModelSvc.Til... INFO U-shape parameter from database is: 1 +GeoModelSvc.Til... INFO Glue parameter from database is: 1 +GeoModelSvc.Til... INFO Cs Tube parameter from database is: 0 +GeoModelSvc.Til... INFO Entering TileAtlasFactory::create() +GeoModelSvc.Til... INFO Tile Geometry with Saddle supports, starting from TileCal-CSC-02 xxx +GeoModelSvc.Til... INFO => New BFingerLengthPos 430.5 +GeoModelSvc.Til... INFO => New BFingerLengthNeg 420.5 +GeoModelSvc.Til... INFO Positioning barrel with translation 0 +GeoModelSvc.Til... INFO Positioning positive barrel finger with translation 3035.25 +GeoModelSvc.Til... INFO Positioning negative barrel finger with translation -3030.25 +GeoModelSvc.Til... INFO Positioning positive ext.barrel with translation 4854.75 +GeoModelSvc.Til... INFO Positioning positive ext.barrel finger with translation ztrans= 6338.5 +GeoModelSvc.Til... INFO Positioning positive ext.barrel saddle with translation ztrans= 6192.5 +GeoModelSvc.Til... INFO Positive ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning positive ITC with translation 3405 +GeoModelSvc.Til... INFO Positioning positive Gap with translation 3552 +GeoModelSvc.Til... INFO Positioning positive Crack with translation 3536 +GeoModelSvc.Til... INFO Positioning negative ext.barrel with translation ztrans -4854.75 +GeoModelSvc.Til... INFO Positioning negative ext.barrel finger with translation ztrans= -6338.5 +GeoModelSvc.Til... INFO Positioning negative ext.barrel saddle with translation ztrans= -6192.5 +GeoModelSvc.Til... INFO Negative ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning negative ITC with translation -3405 +GeoModelSvc.Til... INFO Positioning negative Gap with translation -3552 +GeoModelSvc.Til... INFO Positioning negative Crack with translation -3536 +GeoModelSvc.Til... INFO Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) CLHEP::cm +TileDetDescrMan... INFO Entering create_elements() +GeoModelSvc INFO GeoModelSvc.TileDetectorTool SZ= 4176Kb Time = 1.74S +ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL +TileInfoLoader INFO Initializing....TileInfoLoader +TileInfoLoader INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001 +TileInfoLoader INFO Changing TTL1 calib from 4.1 to 6.9 +TileInfoLoader INFO Changing TTL1 noise sigma from 2.5 to 2.8 +TileInfoLoader INFO ATLAS IBL geometry - special sampling fractions for gap/crack scin are allowed +TileInfoLoader INFO Special C10 in EB module 39 +TileInfoLoader INFO Special C10 in EB module 40 +TileInfoLoader INFO Special C10 in EB module 41 +TileInfoLoader INFO Special C10 in EB module 42 +TileInfoLoader INFO Special C10 in EB module 55 +TileInfoLoader INFO Special C10 in EB module 56 +TileInfoLoader INFO Special C10 in EB module 57 +TileInfoLoader INFO Special C10 in EB module 58 +TileInfoLoader INFO Sampling fraction for normal cells 1/34 +TileInfoLoader INFO Sampling fraction for special C10 cells 1/45 +TileInfoLoader INFO Sampling fraction for E1 cells 1/125 +TileInfoLoader INFO Sampling fraction for E2 cells 1/107 +TileInfoLoader INFO Sampling fraction for E3 cells 1/97 +TileInfoLoader INFO Sampling fraction for E4 cells 1/75 +TileInfoLoader INFO Sampling fraction for E4' cells 1/75 +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat +CaloIDHelper_ID... INFO in createObj: creating a CaloLVL1_ID helper object in the detector store +CaloLVL1_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +TileCablingSvc INFO RUN2 ATLAS geometry flag detected for geometry: ATLAS-R2-2016-01-00-01 +TileCablingSvc INFO Cabling for RUN2a (2018) ATLAS geometry is set via jobOptions +TileCablingSvc INFO Setting Cabling type to 5 +TileInfoLoader INFO Placed TileInfo object in the detector store. +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x80a0b00]+7f9fd2c9a64c bound to CondAttrListCollection[/TILE/ONL01/STATUS/ADC] +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x80a4200]+7f9fd2c9a64c bound to CondAttrListCollection[/TILE/OFL02/STATUS/ADC] +ToolSvc.TileBad... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18aa4000]+7f9fd2a467ce bound to /TILE/ONL01/STATUS/ADC +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x18aa4000]+7f9fd2a467ce bound to /TILE/OFL02/STATUS/ADC +AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 +ClassIDSvc INFO getRegistryEntries: read 265 CLIDRegistry entries for module ALL +CondInputLoader INFO Initializing CondInputLoader... +CondInputLoader INFO Adding base classes: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) -> +CondInputLoader INFO Will create WriteCondHandle dependencies for the following DataObjects: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +TileBadChannels... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisLin) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisNln) for folder: "/TILE/OFL02/CALIB/CIS/FIT/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasLin) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasNln) for folder: "/TILE/OFL02/CALIB/LAS/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasFib) for folder: "/TILE/OFL02/CALIB/LAS/FIBER" +TileEMScaleCondAlg INFO ProxyOflLasFib is set up and can be used +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileEMScaleCondAlg INFO Undoing online calibration is not requested, since OnlCacheUnit= 'OnlCacheUnit':Invalid +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCis) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlLas) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileSampleNoise... INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE" +TileTimingCondA... INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY" +ClassIDSvc INFO getRegistryEntries: read 3798 CLIDRegistry entries for module ALL +PyComponentMgr INFO Initializing PyComponentMgr... +Finalizer INFO Initializing Finalizer... +HistogramPersis...WARNING Histograms saving not required. +EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 +ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00 +EventSelector INFO reinitialization... +AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +ApplicationMgr INFO Application Manager Initialized successfully +ByteStreamInputSvc INFO Picked valid file: /afs/cern.ch/atlas/maxidisk/d33/referencefiles/TileByteStream/TileByteStream-01-00-00/data18_tilecomm.00363899.calibration_tile.daq.RAW._lb0000._TileREB-ROS._0005-200ev.data +ClassIDSvc INFO getRegistryEntries: read 629 CLIDRegistry entries for module ALL +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CES' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/EMS' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/STATUS/ADC' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/ONL01/STATUS/ADC' +ApplicationMgr INFO Application Manager Started successfully +EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc +EventPersistenc... INFO Added successfully Conversion service:TagInfoMgr +EventPersistenc... INFO Added successfully Conversion service:ByteStreamCnvSvc +EventInfoByteSt... INFO UserType : RawEvent +EventInfoByteSt... INFO IsSimulation : 0 +EventInfoByteSt... INFO IsTestbeam : 0 +EventInfoByteSt... INFO IsCalibration : 0 +EventInfoByteSt... INFO EventContext not valid +AthenaEventLoopMgr INFO ===>>> start of run 363899 <<<=== +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LARAlign-IOVDEP-00 for folder /LAR/Align +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LArCellPositionShift-ideal for folder /LAR/LArCellPositionShift +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCes-SIM-06 for folder /TILE/OFL02/CALIB/CES +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitLin-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitNln-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibEms-COM-00 for folder /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasFiber-000-00 for folder /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasLin-COM-00 for folder /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasNln-COM-00 for folder /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02NoiseSample-TwoGauss-19 for folder /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02StatusAdc-IOVDEP-03 for folder /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02TimeChanneloffsetPhy-000-00 for folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root File version:52200 +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch: callback has been triggered by: /TILE/ONL01/STATUS/ADC +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch: callback has been triggered by: /TILE/OFL02/STATUS/ADC +CaloMgrDetDescrCnv INFO in createObj: creating a Calo Detector Manager object in the detector store +CaloIdMgrDetDes... INFO in createObj: creating a CaloDescrManager object in the detector store +ClassIDSvc INFO getRegistryEntries: read 193 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloDM_ID helper object in the detector store +CaloDM_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a TTOnlineID helper object in the detector store +TTOnlineID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_SuperCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt +CaloIDHelper_ID... INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIdMgrDetDes... INFO Finished +CaloIdMgrDetDes... INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200 +ToolSvc.TileBad... INFO TileBadChanLegacyTool::recache() has been triggered by: '/TILE/OFL02/STATUS/ADC' '/TILE/ONL01/STATUS/ADC' +ToolSvc.TileBad... INFO Updating TileBchStatus::isBad() definition from DB +ToolSvc.TileBad... INFO Updating TileBchStatus::isNoisy() definition from DB +ToolSvc.TileBad... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +ToolSvc.TileBad... INFO Updating TileBchStatus::isBadTiming() definition from DB +ToolSvc.TileBad... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +ToolSvc.TileBad... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +ToolSvc.TileBad... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +ToolSvc.TileBad... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; +ToolSvc.TileBad... INFO No drawer trips probabilities found in DB +AthenaEventLoopMgr INFO ===>>> start processing event #18124, run #363899 0 events processed so far <<<=== +TileBadChannels... INFO Updating TileBchStatus::isBad() definition from DB +TileBadChannels... INFO Updating TileBchStatus::isNoisy() definition from DB +TileBadChannels... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +TileBadChannels... INFO Updating TileBchStatus::isBadTiming() definition from DB +TileBadChannels... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +TileBadChannels... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +TileBadChannels... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +TileBadChannels... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; +TileBadChannels... INFO No drawer trips probabilities found in DB +ClassIDSvc INFO getRegistryEntries: read 2380 CLIDRegistry entries for module ALL +ToolSvc.TileROD... INFO TileL2Builder initialization completed +ToolSvc.TileMuR... INFO Initializing TileMuRcvContByteStreamTool +AthenaEventLoopMgr INFO ===>>> done processing event #18124, run #363899 1 events processed so far <<<=== +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +AthenaEventLoopMgr INFO ===>>> start processing event #18125, run #363899 1 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18125, run #363899 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18126, run #363899 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18126, run #363899 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18127, run #363899 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18127, run #363899 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18128, run #363899 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18128, run #363899 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18129, run #363899 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18129, run #363899 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18130, run #363899 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18130, run #363899 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18131, run #363899 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18131, run #363899 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18132, run #363899 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18132, run #363899 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18133, run #363899 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18133, run #363899 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18134, run #363899 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18134, run #363899 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18135, run #363899 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18135, run #363899 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18136, run #363899 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18136, run #363899 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18137, run #363899 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18137, run #363899 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18138, run #363899 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18138, run #363899 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18139, run #363899 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18139, run #363899 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18140, run #363899 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18140, run #363899 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18141, run #363899 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18141, run #363899 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18142, run #363899 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18142, run #363899 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18143, run #363899 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18143, run #363899 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18144, run #363899 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18144, run #363899 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18145, run #363899 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18145, run #363899 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18146, run #363899 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18146, run #363899 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18147, run #363899 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18147, run #363899 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18148, run #363899 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18148, run #363899 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18149, run #363899 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18149, run #363899 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18150, run #363899 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18150, run #363899 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18151, run #363899 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18151, run #363899 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18152, run #363899 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18152, run #363899 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18153, run #363899 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18153, run #363899 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18154, run #363899 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18154, run #363899 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18155, run #363899 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18155, run #363899 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18156, run #363899 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18156, run #363899 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18157, run #363899 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18157, run #363899 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18158, run #363899 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18158, run #363899 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18159, run #363899 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18159, run #363899 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18160, run #363899 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18160, run #363899 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18161, run #363899 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18161, run #363899 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18162, run #363899 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18162, run #363899 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18163, run #363899 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18163, run #363899 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18164, run #363899 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18164, run #363899 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18165, run #363899 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18165, run #363899 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18166, run #363899 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18166, run #363899 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18167, run #363899 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18167, run #363899 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18168, run #363899 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18168, run #363899 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18169, run #363899 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18169, run #363899 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18170, run #363899 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18170, run #363899 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18171, run #363899 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18171, run #363899 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18172, run #363899 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18172, run #363899 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18173, run #363899 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18173, run #363899 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18174, run #363899 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18174, run #363899 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18175, run #363899 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18175, run #363899 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18176, run #363899 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18176, run #363899 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18177, run #363899 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18177, run #363899 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18178, run #363899 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18178, run #363899 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18179, run #363899 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18179, run #363899 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18180, run #363899 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18180, run #363899 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18181, run #363899 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18181, run #363899 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18182, run #363899 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18182, run #363899 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18183, run #363899 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18183, run #363899 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18184, run #363899 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18184, run #363899 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18185, run #363899 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18185, run #363899 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18186, run #363899 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18186, run #363899 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18187, run #363899 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18187, run #363899 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18188, run #363899 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18188, run #363899 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18189, run #363899 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18189, run #363899 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18190, run #363899 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18190, run #363899 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18191, run #363899 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18191, run #363899 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18192, run #363899 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18192, run #363899 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18193, run #363899 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18193, run #363899 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18194, run #363899 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18194, run #363899 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18195, run #363899 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18195, run #363899 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18196, run #363899 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18196, run #363899 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18197, run #363899 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18197, run #363899 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18198, run #363899 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18198, run #363899 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18199, run #363899 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18199, run #363899 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18200, run #363899 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18200, run #363899 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18201, run #363899 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18201, run #363899 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18202, run #363899 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18202, run #363899 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18203, run #363899 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18203, run #363899 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18204, run #363899 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18204, run #363899 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18205, run #363899 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18205, run #363899 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18206, run #363899 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18206, run #363899 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18207, run #363899 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18207, run #363899 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18208, run #363899 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18208, run #363899 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18209, run #363899 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18209, run #363899 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18210, run #363899 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18210, run #363899 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18211, run #363899 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18211, run #363899 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18212, run #363899 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18212, run #363899 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18213, run #363899 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18213, run #363899 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18214, run #363899 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18214, run #363899 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18215, run #363899 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18215, run #363899 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18216, run #363899 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18216, run #363899 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18217, run #363899 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18217, run #363899 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18218, run #363899 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18218, run #363899 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18219, run #363899 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18219, run #363899 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18220, run #363899 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18220, run #363899 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18221, run #363899 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18221, run #363899 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18222, run #363899 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18222, run #363899 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #18223, run #363899 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #18223, run #363899 100 events processed so far <<<=== +TileInfoLoader INFO Handling EndRun incident +TileInfoLoader INFO Removed TileInfo object from detector store. +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +ApplicationMgr INFO Application Manager Stopped successfully +IncidentProcAlg1 INFO Finalize +CondInputLoader INFO Finalizing CondInputLoader... +Finalizer INFO Finalizing Finalizer... +Finalize: compared 10 dumps +IncidentProcAlg2 INFO Finalize +EventInfoByteSt... INFO finalize +PyComponentMgr INFO Finalizing PyComponentMgr... +IdDictDetDescrCnv INFO in finalize +IOVDbSvc INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 (( 0.09 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104912 (( 0.13 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.09 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.09 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 (( 0.09 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 (( 0.08 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 (( 0.08 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 (( 0.08 ))s +IOVDbSvc INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641536 (( 0.17 ))s +IOVDbSvc INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/43176 (( 5.55 ))s +IOVDbSvc INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 (( 1.48 ))s +IOVDbSvc INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/76 (( 0.13 ))s +IOVDbSvc INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 (( 0.04 ))s +IOVDbSvc INFO Total payload read from COOL: 791501 bytes in (( 8.09 ))s +IOVDbSvc INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: (( 0.00 ))s +IOVDbSvc INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: (( 0.13 ))s +IOVDbSvc INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: (( 7.96 ))s +TileInfoLoader INFO TileInfoLoader::finalize() +AthDictLoaderSvc INFO in finalize... +ToolSvc INFO Removing all tools created by ToolSvc +ToolSvc.ByteStr... INFO in finalize() +ToolSvc.TileMuR... INFO Finalizing TileMuRcvContByteStreamTool successfuly +ToolSvc.TileROD... INFO Finalizing +*****Chrono***** INFO **************************************************************************************************** +*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) +*****Chrono***** INFO **************************************************************************************************** +cObjR_ALL INFO Time User : Tot= 0.83 [s] Ave/Min/Max=0.415(+-0.395)/ 0.02/ 0.81 [s] #= 2 +cObj_ALL INFO Time User : Tot= 1.11 [s] Ave/Min/Max=0.074(+- 0.23)/ 0/ 0.92 [s] #= 15 +ChronoStatSvc INFO Time User : Tot= 25.8 [s] #= 1 +*****Chrono***** INFO **************************************************************************************************** +ChronoStatSvc.f... INFO Service finalized successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +Py:Athena INFO leaving with code 0: "successful run" diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.py new file mode 100644 index 0000000000000000000000000000000000000000..de1f86c4a10fbd7c1ded2fd55ec67309be1fdeb2 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.py @@ -0,0 +1,111 @@ +# +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. +# +# File: TileByteStream/TileRawChannelContByteStreamCnv_test.py +# Author: scott snyder +# Date: Oct, 2018 +# Brief: Test TileRawChannelContByteStreamCnv. +# + +from __future__ import print_function + +import os + +refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None), + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art', + '/afs/cern.ch/atlas/maxidisk/d33/referencefiles'] +def find_file (fname): + for p in refpaths: + if p: + path = os.path.join (p, fname) + if os.path.exists (path): + return path + print ('ERROR: Cannot find file: ', fname) + return None + +# Find input file. +fpath = os.environ.get ('ATLAS_REFERENCE_DATA', + '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests') +input_fname = os.path.join (fpath, 'data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1') + +# Find reference file. +if not globals().has_key ('ATLAS_REFERENCE_TAG'): + ATLAS_REFERENCE_TAG = os.environ.get ('ATLAS_REFERENCE_TAG', + 'TileByteStream-01-00-00') +from AthenaCommon.Utils.unixtools import find_datafile +r = find_datafile (os.path.join ('TileByteStream', ATLAS_REFERENCE_TAG)) +refdir = None +if r: + refdir = os.path.join (r, 'TileRawChannelDumps') +if not refdir or not os.path.exists (refdir): + refdir = find_file (os.path.join ('TileByteStream', + ATLAS_REFERENCE_TAG, + 'TileRawChannelDumps')) + + +from AthenaCommon.DetFlags import DetFlags +DetFlags.detdescr.Tile_setOn() +DetFlags.detdescr.LAr_setOn() + +import glob +import sys +import string +import ROOT +import math +from AtlasGeoModel import SetGeometryVersion +from AtlasGeoModel import GeoModelInit +from AtlasGeoModel import SetupRecoGeometry + +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +athenaCommonFlags.BSRDOInput = [input_fname] +from ByteStreamCnvSvc import ReadByteStream +svcMgr.EventSelector.Input = [input_fname] +from AthenaCommon.GlobalFlags import globalflags +globalflags.InputFormat.set_Value_and_Lock('bytestream') + +svcMgr.ByteStreamAddressProviderSvc.TypeNames += [ + 'TileRawChannelContainer/TileRawChannelCnt', + ] + +include('TileConditions/TileConditions_jobOptions.py') + +from GeoModelSvc.GeoModelSvcConf import GeoModelSvc +ServiceMgr += GeoModelSvc() +theApp.CreateSvc += [ "GeoModelSvc"] +from AtlasGeoModel import TileGM +from AtlasGeoModel import LArGM #LAr needed to get MBTS DD. + +from IOVDbSvc.IOVDbSvcConf import IOVDbSvc +IOVDbSvc().GlobalTag = 'OFLCOND-RUN12-SDR-35' + +from AthenaCommon.AlgSequence import AlgSequence +topSequence = AlgSequence() + +theApp.EvtMax=100 + +from AthenaCommon.ConcurrencyFlags import jobproperties as jp +dumpdir = 'TileRawChannelDumps-%d' % jp.ConcurrencyFlags.NumThreads() + +from TileRecUtils.TileRecUtilsConf import TileRawChannelDumper +topSequence += TileRawChannelDumper ('TileRawChannelCntDumper', + TileRawChannelContainer = 'TileRawChannelCnt', + Prefix = dumpdir + '/') +topSequence += TileRawChannelDumper ('MuRcvRawChannelCntDumper', + TileRawChannelContainer = 'MuRcvRawChCnt', + AltTileRawChannelContainer = 'TileRawChannelCnt', + Prefix = dumpdir + '/') + + +os.system ('rm -rf ' + dumpdir) +os.system ('mkdir -p ' + dumpdir) + +from AthenaPython.PyAthenaComps import Alg, StatusCode +class Finalizer (Alg): + def finalize (self): + dumps = glob.glob (os.path.join (refdir, '*.dump')) + for f in dumps: + localdump = os.path.join (dumpdir, os.path.basename (f)) + os.system ('diff -u %s %s' % (f, localdump)) + print ('Finalize: compared %d dumps' % len(dumps)) + return StatusCode.Success +topSequence += Finalizer ('Finalizer') diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref new file mode 100644 index 0000000000000000000000000000000000000000..337a715ddff7e688a97de331124392b90b189061 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref @@ -0,0 +1,698 @@ +Thu Nov 8 05:42:29 CET 2018 +Preloading tcmalloc_minimal.so +Py:Athena INFO including file "AthenaCommon/Preparation.py" +Py:Athena INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/93f05f9c910] -- built on [2018-11-08T0523] +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 "TileByteStream/TileRawChannelContByteStreamCnv_test.py" +[?1034hSetGeometryVersion.py obtained major release version 22 +Py:Athena INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py" +Py:ConfigurableDb INFO Read module info for 5557 configurables from 46 genConfDb files +Py:ConfigurableDb INFO No duplicates have been found: that's good ! +EventInfoMgtInit: Got release version Athena-22.0.1 +Py:IOVDbSvc.CondDB INFO Setting up conditions DB access to instance OFLP200 +Py:Athena INFO including file "TileConditions/TileConditions_jobOptions.py" +Py:TileInfoConf. INFO Adding TileCablingSvc to ServiceMgr +Py:inputFilePeeker INFO Executing inputFilePeeker.py +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... +Py:AthFile INFO loading cache from [athfile-cache.ascii.gz]... [done] +Py:inputFilePeeker INFO stream_names not present in input bytestream file. Giving default name 'StreamRAW' +Py:inputFilePeeker INFO Successfully filled inputFileSummary from file /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +Py:inputFilePeeker INFO Extracted streams ['StreamRAW'] from input file +Py:TileConditions_jobOptions.py INFO Forcing RUN2 (2014-2017) cabling for run 204073 with geometry ATLAS-R2-2016-01-00-01 +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo for 7 samples +Py:TileConditions_jobOptions.py INFO setting up COOL for TileCal conditions data +Py:TileInfoConf. INFO Changing default TileBadChanTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileBadChanLegacyTool configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolEmscale configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolNoiseSample configuration to COOL source +Py:TileInfoConf. INFO Changing default TileCondToolTiming configuration to COOL source +Py:TileConditions_jobOptions.py INFO Adjusting TileInfo to return cell noise for Opt.Filter without iterations +Py:Athena INFO including file "AthenaCommon/runbatch.py" +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0 +ApplicationMgr SUCCESS +==================================================================================================================================== + Welcome to ApplicationMgr (GaudiCoreSvc v30r4) + running on lxplus075.cern.ch on Thu Nov 8 05:42:53 2018 +==================================================================================================================================== +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 +AthDictLoaderSvc INFO in initialize... +AthDictLoaderSvc INFO acquired Dso-registry +ClassIDSvc INFO getRegistryEntries: read 6946 CLIDRegistry entries for module ALL +CoreDumpSvc INFO install f-a-t-a-l handler... (flag = -1) +CoreDumpSvc INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) +MetaDataSvc INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00 +AthenaPoolCnvSvc INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00 +PoolSvc INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok] +PoolSvc INFO Set connectionsvc retry/timeout/IDLE timeout to 'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled +PoolSvc INFO Frontier compression level set to 5 +DBReplicaSvc INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data +DBReplicaSvc INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config +DBReplicaSvc INFO Total of 10 servers found for host lxplus075.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ] +PoolSvc INFO Successfully setup replica sorting algorithm +PoolSvc INFO Setting up APR FileCatalog and Streams +PoolSvc WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables +PoolSvc INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml +PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +ToolSvc.ByteStr... INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00 +IOVDbSvc INFO Opened read transaction for POOL PersistencySvc +IOVDbSvc INFO Only 5 POOL conditions files will be open at once +IOVDbSvc INFO Cache alignment will be done in 3 slices +IOVDbSvc INFO Global tag: OFLCOND-RUN12-SDR-35 set from joboptions +IOVDbSvc INFO Read from meta data only for folder /TagInfo +IOVDbSvc INFO Initialised with 3 connections and 14 folders +IOVDbSvc INFO Service IOVDbSvc initialised successfully +ByteStreamAddre... INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00 +ROBDataProviderSvc INFO ---> Filter out empty ROB fragments = 'filterEmptyROB':False +ROBDataProviderSvc INFO ---> Filter out specific ROBs by Status Code: # ROBs = 0 +ROBDataProviderSvc INFO ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0 +ByteStreamAddre... INFO initialized +ByteStreamAddre... INFO -- Module IDs for: +ByteStreamAddre... INFO CTP = 0x1 +ByteStreamAddre... INFO muCTPi = 0x1 +ByteStreamAddre... INFO Calorimeter Cluster Processor RoI = 0xa8, 0xa9, 0xaa, 0xab +ByteStreamAddre... INFO Calorimeter Jet/Energy Processor RoI = 0xac, 0xad +ByteStreamAddre... INFO Topo Processor RoI = 0x81, 0x91 +ByteStreamAddre... INFO -- Will fill Store with id = 0 +IOVDbSvc INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found. +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +ClassIDSvc INFO getRegistryEntries: read 3114 CLIDRegistry entries for module ALL +IOVSvc INFO No IOVSvcTool associated with store "StoreGateSvc" +IOVSvcTool INFO IOVRanges will be checked at every Event +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +IOVDbSvc INFO Added taginfo remove for /LAR/Align +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CES +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC +IOVDbSvc INFO Added taginfo remove for /LAR/LArCellPositionShift +ClassIDSvc INFO getRegistryEntries: read 792 CLIDRegistry entries for module ALL +ClassIDSvc INFO getRegistryEntries: read 17 CLIDRegistry entries for module ALL +DetDescrCnvSvc INFO initializing +DetDescrCnvSvc INFO Found DetectorStore service +DetDescrCnvSvc INFO filling proxies for detector managers +DetDescrCnvSvc INFO filling address for CaloTTMgr with CLID 117659265 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloMgr with CLID 4548337 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloSuperCellMgr with CLID 241807251 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloIdManager with CLID 125856940 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArIdManager with CLID 79554919 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for IdDict with CLID 2411 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for AtlasID with CLID 164875623 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for PixelID with CLID 2516 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SCT_ID with CLID 2517 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TRT_ID with CLID 2518 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for SiliconID with CLID 129452393 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_ID with CLID 163583365 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArEM_SuperCell_ID with CLID 99488227 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_ID with CLID 3870484 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHEC_SuperCell_ID with CLID 254277678 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_ID with CLID 45738051 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArFCAL_SuperCell_ID with CLID 12829437 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArMiniFCAL_ID with CLID 79264204 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnlineID with CLID 158698068 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TTOnlineID with CLID 38321944 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArOnline_SuperCellID with CLID 115600394 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArHVLineID with CLID 27863673 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for LArElectrodeID with CLID 80757351 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileID with CLID 2901 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for Tile_SuperCell_ID with CLID 49557789 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileHWID with CLID 2902 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TileTBID with CLID 2903 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MDTIDHELPER with CLID 4170 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CSCIDHELPER with CLID 4171 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for RPCIDHELPER with CLID 4172 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for TGCIDHELPER with CLID 4173 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for STGCIDHELPER with CLID 4174 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for MMIDHELPER with CLID 4175 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloLVL1_ID with CLID 108133391 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_ID with CLID 123500438 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloCell_SuperCell_ID with CLID 128365736 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for CaloDM_ID with CLID 167756483 and storage type 68 to detector store +DetDescrCnvSvc INFO filling address for ZdcID with CLID 190591643 and storage type 68 to detector store +GeoModelSvc::RD...WARNING Getting PixTBMatComponents with default tag +GeoModelSvc::RD...WARNING Getting PixTBMaterials with default tag +GeoModelSvc::RD...WARNING Getting InDetMatComponents with default tag +GeoModelSvc::RD...WARNING Getting InDetMaterials with default tag +GeoModelSvc.LAr... INFO Keys for LAr are ATLAS-R2-2016-01-00-01 ATLAS +GeoModelSvc.LAr... INFO Building LAr version LAr-Revised-17-01 while ATLAS version is ATLAS-R2-2016-01-00-01 +GeoModelSvc.LAr... INFO LAr Geometry Options: +GeoModelSvc.LAr... INFO Sagging = false +GeoModelSvc.LAr... INFO Barrel = ON +GeoModelSvc.LAr... INFO Endcap = ON +BarrelConstruction INFO Getting primary numbers for ATLAS, ATLAS-R2-2016-01-00-01 +BarrelConstruction INFO Makes detailed absorber sandwich ? 1 1 +BarrelConstruction INFO Use sagging in geometry ? 0 +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EventPersistenc... INFO Added successfully Conversion service:DetDescrCnvSvc +ClassIDSvc INFO getRegistryEntries: read 2389 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileTBID helper object in the detector store +IdDictDetDescrCnv INFO in initialize +IdDictDetDescrCnv INFO in createObj: creating a IdDictManager object in the detector store +IdDictDetDescrCnv INFO IdDictName: IdDictParser/ATLAS_IDS.xml +IdDictDetDescrCnv INFO Reading InnerDetector IdDict file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Reading LArCalorimeter IdDict file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Reading TileCalorimeter IdDict file IdDictParser/IdDictTileCalorimeter.xml +IdDictDetDescrCnv INFO Reading Calorimeter IdDict file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Reading MuonSpectrometer IdDict file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Reading ForwardDetectors IdDict file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Found id dicts: +IdDictDetDescrCnv INFO Using dictionary tag: null +IdDictDetDescrCnv INFO Dictionary ATLAS version default DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary Calorimeter version default DetDescr tag CaloIdentifier-LVL1-02 file IdDictParser/IdDictCalorimeter_L1Onl.xml +IdDictDetDescrCnv INFO Dictionary ForwardDetectors version default DetDescr tag ForDetIdentifier-01 file IdDictParser/IdDictForwardDetectors_2010.xml +IdDictDetDescrCnv INFO Dictionary InnerDetector version IBL-DBM DetDescr tag InDetIdentifier-IBL3D25-02 file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml +IdDictDetDescrCnv INFO Dictionary LArCalorimeter version fullAtlas DetDescr tag LArIdentifier-DC3-05-Comm file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml +IdDictDetDescrCnv INFO Dictionary LArElectrode version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary LArHighVoltage version fullAtlas DetDescr tag (using default) file +IdDictDetDescrCnv INFO Dictionary MuonSpectrometer version R.03 DetDescr tag MuonIdentifier-08 file IdDictParser/IdDictMuonSpectrometer_R.03.xml +IdDictDetDescrCnv INFO Dictionary TileCalorimeter version fullAtlasAndTestBeam DetDescr tag TileIdentifier-00 file IdDictParser/IdDictTileCalorimeter.xml +TileTBID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +EndcapDMConstru... INFO Start building EC electronics geometry +============== EMEC Construction =============== + multi-layered version of absorbers activated, mlabs == 1 +================================================ +EndcapDMConstru... INFO Start building EC electronics geometry +GeoModelSvc INFO GeoModelSvc.LArDetectorToolNV SZ= 29096Kb Time = 1.6S +GeoModelSvc.Til... INFO Entering TileDetectorTool::create() +TileDddbManager INFO m_tag = ATLAS-R2-2016-01-00-01 +TileDddbManager INFO n_tiglob = 5 +TileDddbManager INFO n_timod = 320 +TileDddbManager INFO n_cuts = 9 +TileDddbManager INFO n_saddle = 1 +TileDddbManager INFO n_tilb = 21 +TileDddbManager INFO n_tileSwitches = 1 +ClassIDSvc INFO getRegistryEntries: read 213 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a TileID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt +TileHWIDDetDesc... INFO in createObj: creating a TileHWID helper object in the detector store +TileHWID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +ClassIDSvc INFO getRegistryEntries: read 55 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt +CaloIDHelper_ID... INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArMiniFCAL_ID INFO initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID. +AtlasDetectorID INFO initialize_from_dictionary - OK +GeoModelSvc.Til... INFO U-shape parameter from database is: 1 +GeoModelSvc.Til... INFO Glue parameter from database is: 1 +GeoModelSvc.Til... INFO Cs Tube parameter from database is: 0 +GeoModelSvc.Til... INFO Entering TileAtlasFactory::create() +GeoModelSvc.Til... INFO Tile Geometry with Saddle supports, starting from TileCal-CSC-02 xxx +GeoModelSvc.Til... INFO => New BFingerLengthPos 430.5 +GeoModelSvc.Til... INFO => New BFingerLengthNeg 420.5 +GeoModelSvc.Til... INFO Positioning barrel with translation 0 +GeoModelSvc.Til... INFO Positioning positive barrel finger with translation 3035.25 +GeoModelSvc.Til... INFO Positioning negative barrel finger with translation -3030.25 +GeoModelSvc.Til... INFO Positioning positive ext.barrel with translation 4854.75 +GeoModelSvc.Til... INFO Positioning positive ext.barrel finger with translation ztrans= 6338.5 +GeoModelSvc.Til... INFO Positioning positive ext.barrel saddle with translation ztrans= 6192.5 +GeoModelSvc.Til... INFO Positive ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning positive ITC with translation 3405 +GeoModelSvc.Til... INFO Positioning positive Gap with translation 3552 +GeoModelSvc.Til... INFO Positioning positive Crack with translation 3536 +GeoModelSvc.Til... INFO Positioning negative ext.barrel with translation ztrans -4854.75 +GeoModelSvc.Til... INFO Positioning negative ext.barrel finger with translation ztrans= -6338.5 +GeoModelSvc.Til... INFO Positioning negative ext.barrel saddle with translation ztrans= -6192.5 +GeoModelSvc.Til... INFO Negative ITC envelope parameters: PLUG1 Rmin= 3438.85 Rmax= 4250 dzITC1= 154.5 +GeoModelSvc.Til... INFO PLUG2 Rmin= 2981 Rmax= 3440 dzITC2= 47.425 +GeoModelSvc.Til... INFO Positioning negative ITC with translation -3405 +GeoModelSvc.Til... INFO Positioning negative Gap with translation -3552 +GeoModelSvc.Til... INFO Positioning negative Crack with translation -3536 +GeoModelSvc.Til... INFO Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) CLHEP::cm +GeoModelSvc.Til... INFO Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) CLHEP::cm +TileDetDescrMan... INFO Entering create_elements() +GeoModelSvc INFO GeoModelSvc.TileDetectorTool SZ= 5200Kb Time = 2S +ClassIDSvc INFO getRegistryEntries: read 65 CLIDRegistry entries for module ALL +TileInfoLoader INFO Initializing....TileInfoLoader +TileInfoLoader INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001 +TileInfoLoader INFO Changing TTL1 calib from 4.1 to 6.9 +TileInfoLoader INFO Changing TTL1 noise sigma from 2.5 to 2.8 +TileInfoLoader INFO ATLAS IBL geometry - special sampling fractions for gap/crack scin are allowed +TileInfoLoader INFO Special C10 in EB module 39 +TileInfoLoader INFO Special C10 in EB module 40 +TileInfoLoader INFO Special C10 in EB module 41 +TileInfoLoader INFO Special C10 in EB module 42 +TileInfoLoader INFO Special C10 in EB module 55 +TileInfoLoader INFO Special C10 in EB module 56 +TileInfoLoader INFO Special C10 in EB module 57 +TileInfoLoader INFO Special C10 in EB module 58 +TileInfoLoader INFO Sampling fraction for normal cells 1/34 +TileInfoLoader INFO Sampling fraction for special C10 cells 1/45 +TileInfoLoader INFO Sampling fraction for E1 cells 1/125 +TileInfoLoader INFO Sampling fraction for E2 cells 1/107 +TileInfoLoader INFO Sampling fraction for E3 cells 1/97 +TileInfoLoader INFO Sampling fraction for E4 cells 1/75 +TileInfoLoader INFO Sampling fraction for E4' cells 1/75 +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat +TileInfoLoader INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat +CaloIDHelper_ID... INFO in createObj: creating a CaloLVL1_ID helper object in the detector store +CaloLVL1_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +TileCablingSvc INFO RUN2 ATLAS geometry flag detected for geometry: ATLAS-R2-2016-01-00-01 +TileCablingSvc INFO Cabling for RUN2 (2014-2017) ATLAS geometry is set via jobOptions +TileCablingSvc INFO Setting Cabling type to 4 +TileInfoLoader INFO Placed TileInfo object in the detector store. +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x8bdab00]+7fd05fddd64c bound to CondAttrListCollection[/TILE/ONL01/STATUS/ADC] +ToolSvc.TileBad... INFO Creating TileCondProxyCool(ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileCondProxyCool<TileCalibDrawerBch>[0x8bde200]+7fd05fddd64c bound to CondAttrListCollection[/TILE/OFL02/STATUS/ADC] +ToolSvc.TileBad... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x195da000]+7fd05fb897ce bound to /TILE/ONL01/STATUS/ADC +IOVSvcTool INFO Still in initialize phase, not tiggering callback for TileBadChanLegacyTool[0x195da000]+7fd05fb897ce bound to /TILE/OFL02/STATUS/ADC +AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00 +ClassIDSvc INFO getRegistryEntries: read 265 CLIDRegistry entries for module ALL +CondInputLoader INFO Initializing CondInputLoader... +CondInputLoader INFO Adding base classes: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) -> + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) -> +CondInputLoader INFO Will create WriteCondHandle dependencies for the following DataObjects: + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CES' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/EMS' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/STATUS/ADC' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' ) + + ( 'CondAttrListCollection' , 'ConditionStore+/TILE/ONL01/STATUS/ADC' ) +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OnlBch) for folder: "/TILE/ONL01/STATUS/ADC" +TileBadChannels... INFO Creating TileCondProxyCool(TileBadChannelsCondAlg.TileCondProxyCool_OflBch) for folder: "/TILE/OFL02/STATUS/ADC" +TileBadChannels... INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisLin) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCisNln) for folder: "/TILE/OFL02/CALIB/CIS/FIT/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasLin) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasNln) for folder: "/TILE/OFL02/CALIB/LAS/NLN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflLasFib) for folder: "/TILE/OFL02/CALIB/LAS/FIBER" +TileEMScaleCondAlg INFO ProxyOflLasFib is set up and can be used +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OflEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileEMScaleCondAlg INFO Undoing online calibration is not requested, since OnlCacheUnit= 'OnlCacheUnit':Invalid +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCis) for folder: "/TILE/OFL02/CALIB/CIS/FIT/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlLas) for folder: "/TILE/OFL02/CALIB/LAS/LIN" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlCes) for folder: "/TILE/OFL02/CALIB/CES" +TileEMScaleCond... INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS" +TileSampleNoise... INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE" +TileTimingCondA... INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY" +ClassIDSvc INFO getRegistryEntries: read 3798 CLIDRegistry entries for module ALL +PyComponentMgr INFO Initializing PyComponentMgr... +Finalizer INFO Initializing Finalizer... +HistogramPersis...WARNING Histograms saving not required. +EventSelector INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00 +ByteStreamInputSvc INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00 +EventSelector INFO reinitialization... +AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +ApplicationMgr INFO Application Manager Initialized successfully +ByteStreamInputSvc INFO Picked valid file: /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/data12_8TeV.00204073.physics_JetTauEtmiss.merge.RAW._lb0144._SFO-5._0001.1 +ClassIDSvc INFO getRegistryEntries: read 629 CLIDRegistry entries for module ALL +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CES' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CIS/FIT/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/EMS' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/FIBER' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/LIN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/LAS/NLN' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/NOISE/SAMPLE' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/STATUS/ADC' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/TIME/CHANNELOFFSET/PHY' +CondInputLoader INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/ONL01/STATUS/ADC' +ApplicationMgr INFO Application Manager Started successfully +EventPersistenc... INFO Added successfully Conversion service:AthenaPoolCnvSvc +EventPersistenc... INFO Added successfully Conversion service:TagInfoMgr +EventPersistenc... INFO Added successfully Conversion service:ByteStreamCnvSvc +EventInfoByteSt... INFO UserType : RawEvent +EventInfoByteSt... INFO IsSimulation : 0 +EventInfoByteSt... INFO IsTestbeam : 0 +EventInfoByteSt... INFO IsCalibration : 0 +EventInfoByteSt... INFO EventContext not valid +AthenaEventLoopMgr INFO ===>>> start of run 204073 <<<=== +IOVDbSvc INFO Opening COOL connection for COOLOFL_LAR/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LARAlign-IOVDEP-00 for folder /LAR/Align +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LArCellPositionShift-ideal for folder /LAR/LArCellPositionShift +IOVDbSvc INFO Disconnecting from COOLOFL_LAR/OFLP200 +IOVDbSvc INFO Opening COOL connection for COOLOFL_TILE/OFLP200 +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCes-SIM-06 for folder /TILE/OFL02/CALIB/CES +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitLin-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCisFitNln-COM-00 for folder /TILE/OFL02/CALIB/CIS/FIT/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibEms-COM-00 for folder /TILE/OFL02/CALIB/EMS +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasFiber-000-00 for folder /TILE/OFL02/CALIB/LAS/FIBER +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasLin-COM-00 for folder /TILE/OFL02/CALIB/LAS/LIN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibLasNln-COM-00 for folder /TILE/OFL02/CALIB/LAS/NLN +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02NoiseSample-TwoGauss-19 for folder /TILE/OFL02/NOISE/SAMPLE +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02StatusAdc-IOVDEP-03 for folder /TILE/OFL02/STATUS/ADC +IOVDbSvc INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02TimeChanneloffsetPhy-000-00 for folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY +IOVDbSvc INFO Disconnecting from COOLOFL_TILE/OFLP200 +DbSession INFO Open DbSession +Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All] +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000029.gen.COND/cond09_mc.000029.gen.COND._0002.pool.root File version:52200 +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OnlBch: callback has been triggered by: /TILE/ONL01/STATUS/ADC +ToolSvc.TileBad... INFO ToolSvc.TileBadChanLegacyTool.TileCondProxyCool_OflBch: callback has been triggered by: /TILE/OFL02/STATUS/ADC +CaloMgrDetDescrCnv INFO in createObj: creating a Calo Detector Manager object in the detector store +CaloIdMgrDetDes... INFO in createObj: creating a CaloDescrManager object in the detector store +ClassIDSvc INFO getRegistryEntries: read 193 CLIDRegistry entries for module ALL +CaloIDHelper_ID... INFO in createObj: creating a CaloDM_ID helper object in the detector store +CaloDM_ID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a TTOnlineID helper object in the detector store +TTOnlineID INFO initialize_from_dictionary +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a CaloCell_SuperCell_ID helper object in the detector store +CaloIDHelper_ID... INFO in createObj: creating a LArEM_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArHEC_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIDHelper_ID... INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt +LArFCAL_Base_ID INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt +CaloIDHelper_ID... INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store +AtlasDetectorID INFO initialize_from_dictionary - OK +TileNeighbour INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-11-06T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt +AtlasDetectorID INFO initialize_from_dictionary - OK +CaloIdMgrDetDes... INFO Finished +CaloIdMgrDetDes... INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv +Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root +RootDatabase.open INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200 +ToolSvc.TileBad... INFO TileBadChanLegacyTool::recache() has been triggered by: '/TILE/OFL02/STATUS/ADC' '/TILE/ONL01/STATUS/ADC' +ToolSvc.TileBad... INFO Updating TileBchStatus::isBad() definition from DB +ToolSvc.TileBad... INFO Updating TileBchStatus::isNoisy() definition from DB +ToolSvc.TileBad... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +ToolSvc.TileBad... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +ToolSvc.TileBad... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +ToolSvc.TileBad... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +ToolSvc.TileBad... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +ToolSvc.TileBad... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +ToolSvc.TileBad... INFO No drawer trips probabilities found in DB +AthenaEventLoopMgr INFO ===>>> start processing event #1129572, run #204073 0 events processed so far <<<=== +TileBadChannels... INFO Updating TileBchStatus::isBad() definition from DB +TileBadChannels... INFO Updating TileBchStatus::isNoisy() definition from DB +TileBadChannels... INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults +TileBadChannels... INFO No TileBchStatus::isBadTiming() definition found in DB, using defaults +TileBadChannels... INFO TileBchStatus::isBad() is defined by: ADC masked (unspecified); ADC dead; Very large HF noise; No data; Wrong DSP configuration; Severe stuck bit; Severe data corruption; Channel masked (unspecified); No PMT connected; No HV; Wrong HV; +TileBadChannels... INFO TileBchStatus::isNoisy() is defined by: Large HF noise; Correlated noise; Large LF noise; +TileBadChannels... INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; +TileBadChannels... INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; +TileBadChannels... INFO No drawer trips probabilities found in DB +ClassIDSvc INFO getRegistryEntries: read 2380 CLIDRegistry entries for module ALL +ToolSvc.TileROD... INFO TileL2Builder initialization completed +ToolSvc.TileRaw... INFO Initializing TileRawChannelContByteStreamTool +AthenaEventLoopMgr INFO ===>>> done processing event #1129572, run #204073 1 events processed so far <<<=== +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC +/cvmfs/atlas-co... INFO Database being retired... +Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +AthenaEventLoopMgr INFO ===>>> start processing event #1129665, run #204073 1 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1129665, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131212, run #204073 2 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131212, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131086, run #204073 3 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131086, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130272, run #204073 4 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130272, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131269, run #204073 5 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131269, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130716, run #204073 6 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130716, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132019, run #204073 7 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132019, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132092, run #204073 8 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132092, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130238, run #204073 9 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130238, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134553, run #204073 10 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134553, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130999, run #204073 11 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130999, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133461, run #204073 12 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133461, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1131152, run #204073 13 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1131152, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1130142, run #204073 14 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1130142, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132770, run #204073 15 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132770, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132365, run #204073 16 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132365, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136791, run #204073 17 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136791, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133781, run #204073 18 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133781, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1132067, run #204073 19 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1132067, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138637, run #204073 20 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138637, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139495, run #204073 21 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139495, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140193, run #204073 22 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140193, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142953, run #204073 23 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142953, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139127, run #204073 24 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139127, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141272, run #204073 25 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141272, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137117, run #204073 26 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137117, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139599, run #204073 27 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139599, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140314, run #204073 28 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140314, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1133685, run #204073 29 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1133685, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143279, run #204073 30 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143279, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137563, run #204073 31 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137563, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139927, run #204073 32 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139927, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141197, run #204073 33 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141197, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140039, run #204073 34 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140039, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142531, run #204073 35 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142531, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139475, run #204073 36 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139475, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139958, run #204073 37 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139958, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143765, run #204073 38 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143765, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143097, run #204073 39 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143097, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1134147, run #204073 40 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1134147, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137156, run #204073 41 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137156, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136377, run #204073 42 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136377, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137842, run #204073 43 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137842, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1141705, run #204073 44 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1141705, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143410, run #204073 45 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143410, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144170, run #204073 46 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144170, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145987, run #204073 47 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145987, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145633, run #204073 48 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145633, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1135005, run #204073 49 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1135005, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142167, run #204073 50 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142167, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144646, run #204073 51 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144646, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145027, run #204073 52 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145027, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144112, run #204073 53 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144112, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138485, run #204073 54 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138485, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144565, run #204073 55 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144565, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1139498, run #204073 56 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1139498, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1136546, run #204073 57 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1136546, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143799, run #204073 58 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143799, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142877, run #204073 59 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142877, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149894, run #204073 60 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149894, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145364, run #204073 61 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145364, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143770, run #204073 62 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143770, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148361, run #204073 63 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148361, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148167, run #204073 64 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148167, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138948, run #204073 65 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138948, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1144808, run #204073 66 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1144808, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145832, run #204073 67 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145832, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153100, run #204073 68 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153100, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142524, run #204073 69 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142524, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138294, run #204073 70 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138294, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1138350, run #204073 71 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1138350, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149424, run #204073 72 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149424, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151102, run #204073 73 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151102, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152242, run #204073 74 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152242, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148416, run #204073 75 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148416, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142753, run #204073 76 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142753, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149997, run #204073 77 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149997, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151617, run #204073 78 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151617, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149794, run #204073 79 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149794, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152504, run #204073 80 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152504, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1142485, run #204073 81 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1142485, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151364, run #204073 82 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151364, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1143901, run #204073 83 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1143901, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153979, run #204073 84 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153979, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150212, run #204073 85 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150212, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1152633, run #204073 86 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1152633, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1155482, run #204073 87 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1155482, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1150472, run #204073 88 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1150472, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1140275, run #204073 89 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1140275, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1145882, run #204073 90 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1145882, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151732, run #204073 91 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151732, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1137896, run #204073 92 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1137896, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156381, run #204073 93 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156381, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1149161, run #204073 94 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1149161, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1153794, run #204073 95 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1153794, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1151312, run #204073 96 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1151312, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1148893, run #204073 97 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1148893, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156938, run #204073 98 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156938, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> start processing event #1156351, run #204073 99 events processed so far <<<=== +AthenaEventLoopMgr INFO ===>>> done processing event #1156351, run #204073 100 events processed so far <<<=== +TileInfoLoader INFO Handling EndRun incident +TileInfoLoader INFO Removed TileInfo object from detector store. +Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All] +ApplicationMgr INFO Application Manager Stopped successfully +IncidentProcAlg1 INFO Finalize +CondInputLoader INFO Finalizing CondInputLoader... +Finalizer INFO Finalizing Finalizer... +Finalize: compared 20 dumps +IncidentProcAlg2 INFO Finalize +EventInfoByteSt... INFO finalize +PyComponentMgr INFO Finalizing PyComponentMgr... +IdDictDetDescrCnv INFO in finalize +IOVDbSvc INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 (( 0.47 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 (( 1.22 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 (( 0.07 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 (( 0.07 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641504 (( 0.10 ))s +IOVDbSvc INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/93060 (( 0.08 ))s +IOVDbSvc INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 (( 0.06 ))s +IOVDbSvc INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/2 objs/chan/bytes 277/277/76 (( 0.03 ))s +IOVDbSvc INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 (( 0.04 ))s +IOVDbSvc INFO Total payload read from COOL: 839785 bytes in (( 2.37 ))s +IOVDbSvc INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: (( 0.00 ))s +IOVDbSvc INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: (( 0.50 ))s +IOVDbSvc INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: (( 1.86 ))s +TileInfoLoader INFO TileInfoLoader::finalize() +AthDictLoaderSvc INFO in finalize... +ToolSvc INFO Removing all tools created by ToolSvc +ToolSvc.ByteStr... INFO in finalize() +ToolSvc.TileRaw... INFO Finalizing TileRawChannelContByteStreamTool successfuly +ToolSvc.TileROD... INFO Finalizing +*****Chrono***** INFO **************************************************************************************************** +*****Chrono***** INFO The Final CPU consumption ( Chrono ) Table (ordered) +*****Chrono***** INFO **************************************************************************************************** +cObjR_ALL INFO Time User : Tot= 0.8 [s] Ave/Min/Max= 0.4(+- 0.39)/ 0.01/ 0.79 [s] #= 2 +cObj_ALL INFO Time User : Tot= 1.06 [s] Ave/Min/Max=0.0707(+-0.221)/ 0/ 0.88 [s] #= 15 +ChronoStatSvc INFO Time User : Tot= 44.8 [s] #= 1 +*****Chrono***** INFO **************************************************************************************************** +ChronoStatSvc.f... INFO Service finalized successfully +ApplicationMgr INFO Application Manager Finalized successfully +ApplicationMgr INFO Application Manager Terminated successfully +Py:Athena INFO leaving with code 0: "successful run" diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileBeamElemContByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileBeamElemContByteStreamCnv.cxx index 188b54f7c2b4686abdd28f63ee8534e42f4f531c..86d345a7290e1c0654df8b5f82c3aac52d9d1b3c 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileBeamElemContByteStreamCnv.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileBeamElemContByteStreamCnv.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Gaudi includes @@ -8,7 +8,7 @@ #include "GaudiKernel/IRegistry.h" // Athena includes -#include "SGTools/StorableConversions.h" +#include "AthenaKernel/StorableConversions.h" #include "AthenaKernel/errorcheck.h" #include "ByteStreamCnvSvcBase/ByteStreamCnvSvcBase.h" @@ -17,7 +17,7 @@ #include "ByteStreamData/RawEvent.h" #include "StoreGate/StoreGate.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Tile includes diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamCnv.cxx index 05c9d6c5fcc08692c31f6f21cb1c9ab5ac0b887d..e91f1f151e945bf1f167bce888b58b4db18c84ef 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamCnv.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamCnv.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Gaudi includes @@ -13,7 +13,7 @@ // Athena includes -#include "SGTools/StorableConversions.h" +#include "AthenaKernel/StorableConversions.h" #include "AthenaKernel/errorcheck.h" #include "ByteStreamCnvSvc/ByteStreamCnvSvc.h" @@ -24,7 +24,7 @@ #include "StoreGate/ActiveStoreSvc.h" #include "StoreGate/StoreClearedIncident.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Tile includes diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamTool.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamTool.cxx index 964dee7f41ae520327b631f7f881869e7f4a096b..c6083ad89384e0437578a2f7a894ad9cbed7dbcd 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamTool.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Gaudi includes @@ -16,7 +16,7 @@ #include "TileEvent/TileDigits.h" #include "TileIdentifier/TileHWID.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include <map> #include <stdint.h> diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamCnv.cxx index 562cf24d2ad6afa54b4d7aa0cf8646895a9a0490..bb8ebfaec1e472513809563f317dfea347f66de7 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamCnv.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamCnv.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Gaudi includes @@ -21,7 +21,7 @@ #include "StoreGate/StoreGate.h" #include "StoreGate/StoreClearedIncident.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Tile includes #include "TileByteStream/TileL2ContByteStreamCnv.h" diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamTool.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamTool.cxx index bba979193c5382024dae3ca1b784003e196e2271..3886b3f5cbb157c792d1c64350c960ab9927cdd1 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamTool.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileL2ContByteStreamTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //**************************************************************************** @@ -31,7 +31,7 @@ -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include <map> #include <stdint.h> diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamCnv.cxx index 1db0338c2e0a91ce2ab26a437e02a04698885c42..e0402ff1d08910a238b7e688b6de30583e1e3c9e 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamCnv.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamCnv.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //author Renato Febbraro @@ -13,7 +13,7 @@ #include "GaudiKernel/IToolSvc.h" // Athena includes -#include "SGTools/StorableConversions.h" +#include "AthenaKernel/StorableConversions.h" #include "AthenaKernel/errorcheck.h" #include "ByteStreamCnvSvc/ByteStreamCnvSvc.h" @@ -22,7 +22,7 @@ #include "ByteStreamCnvSvcBase/ROBDataProviderSvc.h" #include "ByteStreamData/RawEvent.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Tile includes #include "TileByteStream/TileLaserObjByteStreamCnv.h" diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamTool.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamTool.cxx index a9b05beafc7979310be1212954826a7da7bc86ad..0d9a4f6dd3d7fa442a180966af191cd290241a2b 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamTool.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileLaserObjByteStreamTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //author Renato Febbraro @@ -18,7 +18,7 @@ #include "TileEvent/TileLaserObject.h" #include "TileIdentifier/TileHWID.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamCnv.cxx index 200ac920b741c07a4c9fda7140ca2ff1ffc78371..12ef81617924151f0cbf2fda674194882abafb64 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamCnv.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamCnv.cxx @@ -20,7 +20,7 @@ #include "StoreGate/StoreGate.h" #include "StoreGate/StoreClearedIncident.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Tile includes #include "TileByteStream/TileMuRcvContByteStreamCnv.h" diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamTool.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamTool.cxx index cf1c653261fe913a75d0a168d1c1c3956f8bb6a4..2cfa9da9bfd68af93d8d463a143e7bffbac8fd9c 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamTool.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileMuRcvContByteStreamTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ //**************************************************************************** @@ -29,7 +29,7 @@ #include "TileEvent/TileContainer.h" #include "TileIdentifier/TileHWID.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include <map> #include <stdint.h> diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileRawChannelContByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileRawChannelContByteStreamCnv.cxx index 4fc0fdd5c648ac19e9fecd803737fe10a227379e..13f8aa83e110fd977291065c1f7550a06bb6fbab 100644 --- a/TileCalorimeter/TileSvc/TileByteStream/src/TileRawChannelContByteStreamCnv.cxx +++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileRawChannelContByteStreamCnv.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Gaudi includes @@ -12,7 +12,7 @@ #include "GaudiKernel/ServiceHandle.h" // Athena includes -#include "SGTools/StorableConversions.h" +#include "AthenaKernel/StorableConversions.h" #include "AthenaKernel/errorcheck.h" #include "ByteStreamCnvSvc/ByteStreamCnvSvc.h" @@ -23,7 +23,7 @@ #include "StoreGate/ActiveStoreSvc.h" #include "StoreGate/StoreClearedIncident.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" // Tile includes #include "TileByteStream/TileRawChannelContByteStreamCnv.h" diff --git a/TileCalorimeter/TileSvc/TileByteStream/test/TileBeamElemContByteStreamCnv_test.sh b/TileCalorimeter/TileSvc/TileByteStream/test/TileBeamElemContByteStreamCnv_test.sh new file mode 100755 index 0000000000000000000000000000000000000000..f49d7575b6ee902bd795cb9b6c0127641ee8276f --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/test/TileBeamElemContByteStreamCnv_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Script running the TileBeamElemContByteStreamCnv_test.py test with CTest. +# + +# Run the job: +athena.py TileByteStream/TileBeamElemContByteStreamCnv_test.py +#athena.py --thread=4 TileByteStream/TileBeamElemContByteStreamCnv_test.py +#diff -ur TileBeamElemDumps-0 TileBeamElemDumps-4 diff --git a/TileCalorimeter/TileSvc/TileByteStream/test/TileDigitsContByteStreamCnv_test.sh b/TileCalorimeter/TileSvc/TileByteStream/test/TileDigitsContByteStreamCnv_test.sh new file mode 100755 index 0000000000000000000000000000000000000000..8255dbd7a7a94a6aede5a5d6ec0f7e2940f5b795 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/test/TileDigitsContByteStreamCnv_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Script running the TileDigitsContByteStreamCnv_test.py test with CTest. +# + +# Run the job: +athena.py TileByteStream/TileDigitsContByteStreamCnv_test.py +#athena.py --thread=4 TileByteStream/TileDigitsContByteStreamCnv_test.py +#diff -ur TileDigitDumps-0 TileDigitDumps-4 diff --git a/TileCalorimeter/TileSvc/TileByteStream/test/TileL2ContByteStreamCnv_test.sh b/TileCalorimeter/TileSvc/TileByteStream/test/TileL2ContByteStreamCnv_test.sh new file mode 100755 index 0000000000000000000000000000000000000000..62c24fe92775069cfc522251a52ca546789e0971 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/test/TileL2ContByteStreamCnv_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Script running the TileL2ContByteStreamCnv_test.py test with CTest. +# + +# Run the job: +athena.py TileByteStream/TileL2ContByteStreamCnv_test.py +#athena.py --thread=4 TileByteStream/TileL2ContByteStreamCnv_test.py +#diff -ur TileL2Dumps-0 TileL2Dumps-4 diff --git a/TileCalorimeter/TileSvc/TileByteStream/test/TileLaserObjByteStreamCnv_test.sh b/TileCalorimeter/TileSvc/TileByteStream/test/TileLaserObjByteStreamCnv_test.sh new file mode 100755 index 0000000000000000000000000000000000000000..ea28ddddb5edb1877831c6e9dfd95e6054ae979f --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/test/TileLaserObjByteStreamCnv_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Script running the TileLaserObjByteStreamCnv_test.py test with CTest. +# + +# Run the job: +athena.py TileByteStream/TileLaserObjByteStreamCnv_test.py +#athena.py --thread=4 TileByteStream/TileLaserObjByteStreamCnv_test.py +#diff -ur TileLaserDumps-0 TileLaserDumps-4 diff --git a/TileCalorimeter/TileSvc/TileByteStream/test/TileMuRcvContByteStreamCnv_test.sh b/TileCalorimeter/TileSvc/TileByteStream/test/TileMuRcvContByteStreamCnv_test.sh new file mode 100755 index 0000000000000000000000000000000000000000..66031446af94fc106a7837bb37f8796c4c6d4828 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/test/TileMuRcvContByteStreamCnv_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Script running the TileMuRcvContByteStreamCnv_test.py test with CTest. +# + +# Run the job: +athena.py TileByteStream/TileMuRcvContByteStreamCnv_test.py +#athena.py --thread=4 TileByteStream/TileMuRcvContByteStreamCnv_test.py +#diff -ur TileMuRcvDumps-0 TileMuRcvDumps-4 diff --git a/TileCalorimeter/TileSvc/TileByteStream/test/TileRawChannelContByteStreamCnv_test.sh b/TileCalorimeter/TileSvc/TileByteStream/test/TileRawChannelContByteStreamCnv_test.sh new file mode 100755 index 0000000000000000000000000000000000000000..b217d099728c20b799efbf0c7f4ff502d312d359 --- /dev/null +++ b/TileCalorimeter/TileSvc/TileByteStream/test/TileRawChannelContByteStreamCnv_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Script running the TileRawChannelContByteStreamCnv_test.py test with CTest. +# + +# Run the job: +athena.py TileByteStream/TileRawChannelContByteStreamCnv_test.py +#athena.py --thread=4 TileByteStream/TileRawChannelContByteStreamCnv_test.py +#diff -ur TileRawChannelDumps-0 TileRawChannelDumps-4 diff --git a/Tools/ART/python/ART/art_base.py b/Tools/ART/python/ART/art_base.py index fb7d57d2ce3bdfef16c8dacd57c8cfbd7bf2a7f9..af31c9ec72a32917f7dea12d5e8b181f67956b5e 100755 --- a/Tools/ART/python/ART/art_base.py +++ b/Tools/ART/python/ART/art_base.py @@ -4,6 +4,7 @@ __author__ = "Tulay Cuhadar Donszelmann <tcuhadar@cern.ch>" +import calendar import fnmatch import inspect import json @@ -16,6 +17,8 @@ try: except ImportError: import os as scan +from datetime import datetime + from art_configuration import ArtConfiguration # from art_diff import ArtDiff from art_header import ArtHeader @@ -62,24 +65,31 @@ class ArtBase(object): def validate(self, script_directory): """Validate all tests in given script_directory.""" log = logging.getLogger(MODULE) + log.info("Validating script directory: %s", script_directory) directories = self.get_test_directories(script_directory.rstrip("/")) found_test = False + valid = True for directory in directories.itervalues(): - files = self.get_files(directory) + files = self.get_files(directory, valid_only=False) for fname in files: test_name = os.path.join(directory, fname) found_test = True log.debug(test_name) if not is_exe(test_name): + valid &= False log.error("%s is not executable.", test_name) - ArtHeader(test_name).validate() + valid &= ArtHeader(test_name).validate() if not found_test: log.warning('No scripts found in %s directory', directories.values()[0]) - return 0 + return 1 - log.info("Scripts in %s directory are validated", script_directory) + if not valid: + log.error('Some scripts have invalid headers or are not executable') + return 1 + + log.info("Scripts in %s directory are valid", script_directory) return 0 def included(self, script_directory, job_type, index_type, nightly_release, project, platform): @@ -102,29 +112,32 @@ class ArtBase(object): log.info("%s", config.packages()) return 0 - keys = config.keys(nightly_release, project, platform, package) + keys = config.keys(nightly_release, project, platform, ArtConfiguration.ALL) + keys.update(config.keys(nightly_release, project, platform, package)) for key in keys: - log.info("%s %s", key, config.get(nightly_release, project, platform, package, key)) + log.info("'%s'-'%s'", key, config.get(nightly_release, project, platform, package, key)) return 0 # # Default implementations # - def compare_ref(self, path, ref_path, files, entries=-1, mode='detailed'): + def compare_ref(self, path, ref_path, files, diff_pool, diff_root, entries=-1, mode='detailed'): """TBD.""" result = 0 - (exit_code, out, err, command, start_time, end_time) = run_command(' '.join(("art-diff.py", "--diff-type=diff-pool", path, ref_path))) - if exit_code != 0: - result |= exit_code - print err - print out + if diff_pool: + (exit_code, out, err, command, start_time, end_time) = run_command(' '.join(("art-diff.py", "--diff-type=diff-pool", path, ref_path))) + if exit_code != 0: + result |= exit_code + print err + print out - (exit_code, out, err, command, start_time, end_time) = run_command(' '.join(("art-diff.py", "--diff-type=diff-root", "--mode=" + mode, "--entries=" + str(entries), (' '.join(('--file=' + s for s in files))), path, ref_path))) - if exit_code != 0: - result |= exit_code - print err - print out + if diff_root: + (exit_code, out, err, command, start_time, end_time) = run_command(' '.join(("art-diff.py", "--diff-type=diff-root", "--mode=" + mode, "--entries=" + str(entries), (' '.join(('--file=' + s for s in files))), path, ref_path))) + if exit_code != 0: + result |= exit_code + print err + print out return result @@ -156,7 +169,48 @@ class ArtBase(object): return result - def get_files(self, directory, job_type=None, index_type="all", nightly_release=None, project=None, platform=None): + def run_on(self, on_days): + """Return True if this is a good day to runself.""" + log = logging.getLogger(MODULE) + if on_days is None or len(on_days) == 0: + return True + + today = datetime.today() + + for on_day in on_days: + # Check for Monday, Tuesday, ... + if on_day.lower() == calendar.day_name[today.weekday()].lower(): + return True + + # weekends + if on_day.lower() == "weekends" and calendar.day_name[today.weekday()] in ['Saturday', 'Sunday']: + return True + + # weekdays + if on_day.lower() == "weekdays" and calendar.day_name[today.weekday()] not in ['Saturday', 'Sunday']: + return True + + # odd days + if on_day.lower() == "odd days" and today.day % 2 != 0: + return True + + # even days + if on_day.lower() == "even days" and today.day % 2 == 0: + return True + + # list of day numbers + days = on_day.split(',') + try: + for day in days: + if int(day) == today.day: + return True + except Exception: + log.warning("Some item in art_runon list '%s' is not an integer or keyword, skipped", on_days) + return False + + return False + + def get_files(self, directory, job_type=None, index_type="all", nightly_release=None, project=None, platform=None, run_all_tests=False, valid_only=True): """ Return a list of all test files matching 'test_*.sh' of given 'job_type', 'index_type' and nightly/project/platform. @@ -177,16 +231,24 @@ class ArtBase(object): continue test_name = os.path.join(directory, fname) + header = ArtHeader(test_name) + has_art_input = header.get(ArtHeader.ART_INPUT) is not None + has_art_athena_mt = header.get(ArtHeader.ART_ATHENA_MT) > 0 - has_art_input = ArtHeader(test_name).get(ArtHeader.ART_INPUT) is not None - has_art_athena_mt = ArtHeader(test_name).get(ArtHeader.ART_ATHENA_MT) > 0 + # SKIP if file is not valid + if valid_only and not header.is_valid(): + continue + + # SKIP if art-type not defined + if header.get(ArtHeader.ART_TYPE) is None: + continue # SKIP if is not of correct type - if job_type is not None and ArtHeader(test_name).get(ArtHeader.ART_TYPE) != job_type: + if job_type is not None and header.get(ArtHeader.ART_TYPE) != job_type: continue # SKIP if is not included in nightly_release, project, platform - if nightly_release is not None and not self.is_included(test_name, nightly_release, project, platform): + if not run_all_tests and nightly_release is not None and not self.is_included(test_name, nightly_release, project, platform): continue # SKIP if batch and does specify art-input or art-athena-mt @@ -197,6 +259,10 @@ class ArtBase(object): if index_type == "single" and not (has_art_input or has_art_athena_mt): continue + # SKIP if this is not a good day to run + if not self.run_on(header.get(ArtHeader.ART_RUNON)): + continue + result.append(fname) return result @@ -240,7 +306,7 @@ class ArtBase(object): (nightly_release_pattern, project_pattern, platform_pattern) = pattern.split('/', 3) elif count == 1: (nightly_release_pattern, project_pattern) = pattern.split('/', 2) - else: + elif pattern != "": nightly_release_pattern = pattern if fnmatch.fnmatch(nightly_release, nightly_release_pattern) and fnmatch.fnmatch(project, project_pattern) and fnmatch.fnmatch(platform, platform_pattern): diff --git a/Tools/ART/python/ART/art_build.py b/Tools/ART/python/ART/art_build.py index 500b264600c3ac578dcba521eb1ed1425fb26c1f..9e2f7d00e648b13f5e1123b3c782a575216891f9 100644 --- a/Tools/ART/python/ART/art_build.py +++ b/Tools/ART/python/ART/art_build.py @@ -20,7 +20,7 @@ from art_header import ArtHeader MODULE = "art.build" -def run_job(art_directory, sequence_tag, script_directory, package, job_type, job_index, test_name): +def run_job(art_directory, sequence_tag, script_directory, package, job_type, job_index, run_all_tests, test_name): """ Job to be run by parallel or serial scheduler. @@ -30,7 +30,7 @@ def run_job(art_directory, sequence_tag, script_directory, package, job_type, jo # <script_directory> <sequence_tag> <package> <outfile> <job_type> <job_index> log = logging.getLogger(MODULE) log.info("job started %s %s %s %s %s %d %s", art_directory, sequence_tag, script_directory, package, job_type, job_index, test_name) - (exit_code, out, err, command, start_time, end_time) = run_command(' '.join((os.path.join(art_directory, './art-internal.py'), "build", "job", script_directory, sequence_tag, package, "out", job_type, str(job_index)))) + (exit_code, out, err, command, start_time, end_time) = run_command(' '.join((os.path.join(art_directory, './art-internal.py'), "build", "job", "--run-all-tests" if run_all_tests else "", script_directory, sequence_tag, package, "out", job_type, str(job_index)))) log.info("job ended %s %s %s %s %s %d %s", art_directory, sequence_tag, script_directory, package, job_type, job_index, test_name) return (package, test_name, exit_code, out, err, start_time, end_time) @@ -39,7 +39,7 @@ def run_job(art_directory, sequence_tag, script_directory, package, job_type, jo class ArtBuild(ArtBase): """Class for (local) build submits.""" - def __init__(self, art_directory, nightly_release, project, platform, nightly_tag, script_directory, max_jobs=0, ci=False): + def __init__(self, art_directory, nightly_release, project, platform, nightly_tag, script_directory, max_jobs=0, ci=False, run_all_tests=False): """Keep arguments.""" super(ArtBuild, self).__init__(art_directory) log = logging.getLogger(MODULE) @@ -55,6 +55,7 @@ class ArtBuild(ArtBase): max_cores = max_cores if max_cores >= 4 else 1 self.max_jobs = max_cores if max_jobs <= 0 else max_jobs self.ci = ci + self.run_all_tests = run_all_tests def task_list(self, job_type, sequence_tag): """Run a list of packages for given job_type with sequence_tag.""" @@ -125,7 +126,7 @@ class ArtBuild(ArtBase): log.debug("task %s %s %s", package, job_type, sequence_tag) test_directories = self.get_test_directories(self.script_directory) test_directory = os.path.abspath(test_directories[package]) - test_names = self.get_files(test_directory, job_type, "all", self.nightly_release, self.project, self.platform) + test_names = self.get_files(test_directory, job_type, "all", self.nightly_release, self.project, self.platform, self.run_all_tests) if not test_names: log.debug("No tests found for package %s and job_type %s", package, job_type) @@ -149,7 +150,7 @@ class ArtBuild(ArtBase): log.warning("job skipped, file not executable: %s", fname) if schedule_test: - future_set.append(executor.submit(run_job, self.art_directory, sequence_tag, self.script_directory, package, job_type, job_index, test_name)) + future_set.append(executor.submit(run_job, self.art_directory, sequence_tag, self.script_directory, package, job_type, job_index, self.run_all_tests, test_name)) job_index += 1 return future_set @@ -160,7 +161,7 @@ class ArtBuild(ArtBase): log.debug("ArtBuild job %s %s %s %d %s", package, job_type, sequence_tag, job_index, out) test_directories = self.get_test_directories(self.script_directory) test_directory = os.path.abspath(test_directories[package]) - test_name = self.get_files(test_directory, job_type, "all", self.nightly_release, self.project, self.platform)[int(job_index)] + test_name = self.get_files(test_directory, job_type, "all", self.nightly_release, self.project, self.platform, self.run_all_tests)[int(job_index)] work_directory = os.path.join(sequence_tag, package, os.path.splitext(test_name)[0]) mkdir(work_directory) diff --git a/Tools/ART/python/ART/art_configuration.py b/Tools/ART/python/ART/art_configuration.py index d2d15ff940074ed1cbad382783aae386654651e4..9838f1ddc79811347141368bce8547f751db776c 100644 --- a/Tools/ART/python/ART/art_configuration.py +++ b/Tools/ART/python/ART/art_configuration.py @@ -61,12 +61,11 @@ class ArtConfiguration(object): if package not in self.config: return [] - keys = [] + keys = set() for pattern in self.config[package]: if fnmatch.fnmatch(self.release_key(nightly_release, project, platform), pattern): for key in self.config[package][pattern].keys(): - if key not in keys: - keys.append(key) + keys.add(key) return keys @@ -99,13 +98,13 @@ class ArtConfiguration(object): if package is None: log.debug("%s used for package", ArtConfiguration.ALL) - package = ArtConfiguration.ALL + return self.get(nightly_release, project, platform, ArtConfiguration.ALL, key, default_value) if package not in self.config: log.debug("%s not in config", package) return default_value - value = default_value + value = None for pattern in sorted(self.config[package], self.release_key_compare): release_key = self.release_key(nightly_release, project, platform) log.debug("release_key %s", release_key) @@ -116,6 +115,9 @@ class ArtConfiguration(object): if key in release: value = release[key] + if value is None: + value = default_value if package == ArtConfiguration.ALL else self.get(nightly_release, project, platform, ArtConfiguration.ALL, key, default_value) + log.debug("Value %s", value) return value diff --git a/Tools/ART/python/ART/art_grid.py b/Tools/ART/python/ART/art_grid.py index 750a7f2dc4ba41ba7f03f4ae8509025db1d84115..0759683005b609a9a564eb8a77d772f95c3e40bb 100644 --- a/Tools/ART/python/ART/art_grid.py +++ b/Tools/ART/python/ART/art_grid.py @@ -29,7 +29,7 @@ from art_base import ArtBase from art_configuration import ArtConfiguration from art_header import ArtHeader from art_rucio import ArtRucio -from art_misc import count_files, cp, ls, mkdir, make_executable, rm, run_command, run_command_parallel, touch +from art_misc import CVMFS_DIRECTORY, build_script_directory, count_files, cp, ls, mkdir, make_executable, rm, run_command, run_command_parallel, touch MODULE = "art.grid" @@ -56,7 +56,6 @@ def copy_job(art_directory, indexed_package, dst, no_unpack, tmp, seq): class ArtGrid(ArtBase): """Class for grid submission.""" - CVMFS_DIRECTORY = '/cvmfs/atlas-nightlies.cern.ch/repo/sw' EOS_OUTPUT_DIR = '/eos/atlas/atlascerngroupdisk/data-art/grid-output' ARTPROD = 'artprod' @@ -66,7 +65,7 @@ class ArtGrid(ArtBase): RESULT_WAIT_INTERVAL = 5 * 60 # seconds, 5 mins KINIT_WAIT = 12 # 12 * RESULT_WAIT_INTERVAL, 1 hour - def __init__(self, art_directory, nightly_release, project, platform, nightly_tag, script_directory=None, skip_setup=False, submit_directory=None, max_jobs=0): + def __init__(self, art_directory, nightly_release, project, platform, nightly_tag, script_directory=None, skip_setup=False, submit_directory=None, max_jobs=0, run_all_tests=False): """Keep arguments.""" super(ArtGrid, self).__init__(art_directory) self.nightly_release = nightly_release @@ -78,6 +77,7 @@ class ArtGrid(ArtBase): self.skip_setup = skip_setup self.submit_directory = submit_directory self.max_jobs = multiprocessing.cpu_count() if max_jobs <= 0 else max_jobs + self.run_all_tests = run_all_tests self.rucio = ArtRucio(self.art_directory, self.nightly_release_short, project, platform, nightly_tag) @@ -87,22 +87,11 @@ class ArtGrid(ArtBase): def get_script_directory(self): """Return calculated script directory, sometimes overriden by commandline.""" - if self.script_directory is None: - self.script_directory = ArtGrid.CVMFS_DIRECTORY - self.script_directory = os.path.join(self.script_directory, self.nightly_release) # e.g. 21.0 - self.script_directory = os.path.join(self.script_directory, self.nightly_tag) # e.g. 2017-10-25T2150 - self.script_directory = os.path.join(self.script_directory, self.project) # e.g. Athena - try: - self.script_directory = os.path.join(self.script_directory, os.listdir(self.script_directory)[0]) # e.g. 21.0.3 - self.script_directory = os.path.join(self.script_directory, os.listdir(self.script_directory)[0]) # InstallArea - except OSError: - self.script_directory = os.path.join(self.script_directory, '*', '*') - self.script_directory = os.path.join(self.script_directory, self.platform) # x86_64-slc6-gcc62-opt - return self.script_directory + return build_script_directory(self.script_directory, self.nightly_release, self.nightly_tag, self.project, self.platform) def is_script_directory_in_cvmfs(self): """Return true if the script directory is in cvmfs.""" - return self.get_script_directory().startswith(ArtGrid.CVMFS_DIRECTORY) + return self.get_script_directory().startswith(CVMFS_DIRECTORY) def exit_if_no_script_directory(self): """Exit with ERROR is script directory does not exist.""" @@ -187,7 +176,7 @@ class ArtGrid(ArtBase): # copy results for all packages result = 0 for indexed_package, root in test_directories.items(): - number_of_tests = len(self.get_files(root, "grid", "all", self.nightly_release, self.project, self.platform)) + number_of_tests = len(self.get_files(root, "grid", "all", self.nightly_release, self.project, self.platform, self.run_all_tests)) if number_of_tests > 0: result |= self.copy_package(indexed_package, dst, user, no_unpack, tmp, seq, keep_tmp) return result @@ -350,9 +339,8 @@ class ArtGrid(ArtBase): """Submit a single package.""" log = logging.getLogger(MODULE) result = {} - number_of_tests = len(self.get_files(root, job_type, "all", self.nightly_release, self.project, self.platform)) + number_of_tests = len(self.get_files(root, job_type, "all", self.nightly_release, self.project, self.platform, self.run_all_tests)) if number_of_tests > 0: - print 'art-package:', package self.status('included') log.info('root %s with %d jobs', root, number_of_tests) log.info('Handling %s for %s project %s on %s', package, self.nightly_release, self.project, self.platform) @@ -363,7 +351,7 @@ class ArtGrid(ArtBase): result = self.task(script_directory, package, job_type, sequence_tag, inform_panda, no_action, config_file) return result - def task_list(self, job_type, sequence_tag, inform_panda, package=None, no_action=False, wait_and_copy=True, config_file=None): + def task_list(self, job_type, sequence_tag, inform_panda, packages=[], no_action=False, wait_and_copy=True, config_file=None): """Submit a list of packages.""" log = logging.getLogger(MODULE) log.info("Inform Panda %s", inform_panda) @@ -386,7 +374,7 @@ class ArtGrid(ArtBase): all_results = {} - if package is None: + if not packages: # submit tasks for all packages for package, root in test_directories.items(): if configuration is not None and configuration.get(self.nightly_release, self.project, self.platform, package, 'exclude', False): @@ -394,9 +382,10 @@ class ArtGrid(ArtBase): else: all_results.update(self.task_package(root, package, job_type, sequence_tag, inform_panda, no_action, config_file)) else: - # Submit single package - root = test_directories[package] - all_results.update(self.task_package(root, package, job_type, sequence_tag, inform_panda, no_action, config_file)) + # Submit list of packages + for package in packages: + root = test_directories[package] + all_results.update(self.task_package(root, package, job_type, sequence_tag, inform_panda, no_action, config_file)) if no_action: log.info("--no-action specified, so not waiting for results") @@ -556,13 +545,14 @@ class ArtGrid(ArtBase): Returns jedi_id or 0 if submission failed. - # art-task-grid.sh [--no-action] batch <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_type> <number_of_tests> + # art-task-grid.sh [--no-action --run-all-tasks] batch <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_type> <number_of_tests> # - # art-task-grid.sh [--no-action] single [--inds <input_file> --n-files <number_of_files> --split <split> --in] <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_name> + # art-task-grid.sh [--no-action --run-all-tasks] single [--inds <input_file> --n-files <number_of_files> --split <split> --in] <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_name> """ log = logging.getLogger(MODULE) cmd = ' '.join((os.path.join(self.art_directory, 'art-task-grid.sh'), '--no-action' if no_action else '', + '--run-all-tests' if self.run_all_tests else '', sub_cmd)) if sub_cmd == 'single': @@ -642,7 +632,7 @@ class ArtGrid(ArtBase): test_directories = self.get_test_directories(self.get_script_directory()) test_directory = test_directories[package] - number_of_batch_tests = len(self.get_files(test_directory, job_type, "batch", self.nightly_release, self.project, self.platform)) + number_of_batch_tests = len(self.get_files(test_directory, job_type, "batch", self.nightly_release, self.project, self.platform, self.run_all_tests)) user = os.getenv('USER', 'artprod') if self.skip_setup else ArtGrid.ARTPROD outfile = self.rucio.get_outfile_name(user, package, sequence_tag) @@ -661,7 +651,7 @@ class ArtGrid(ArtBase): # submit single tests, index > 1 index = 1 - for job_name in self.get_files(test_directory, job_type, "single", self.nightly_release, self.project, self.platform): + for job_name in self.get_files(test_directory, job_type, "single", self.nightly_release, self.project, self.platform, self.run_all_tests): job = os.path.join(test_directory, job_name) header = ArtHeader(job) inds = header.get(ArtHeader.ART_INPUT) @@ -693,7 +683,7 @@ class ArtGrid(ArtBase): test_directories = self.get_test_directories(self.get_script_directory()) test_directory = test_directories[package] - test_list = self.get_files(test_directory, job_type, "batch", self.nightly_release, self.project, self.platform) + test_list = self.get_files(test_directory, job_type, "batch", self.nightly_release, self.project, self.platform, self.run_all_tests) # NOTE: grid counts from 1 index = int(job_index) @@ -720,6 +710,10 @@ class ArtGrid(ArtBase): """Run a job.""" log = logging.getLogger(MODULE) + print('# ' + '=' * 78) + print('\t\tART job name:\t ' + str(job_name)) + print('# ' + '=' * 78) + log.info("art-job-name: %s", job_name) panda_id = os.getenv('PandaID', '0') if inform_panda == 'True': @@ -962,26 +956,43 @@ class ArtGrid(ArtBase): return 0 - def compare(self, package, test_name, days, user, files, entries=-1, mode='detailed', shell=False): - """Compare current output against a job of certain days ago.""" + def __nightly_tag_and_ref_directory(self, days, ref_dir=None): + """ + Retrieve nightly tag and name for ref directory and create it. + + Returns (previous_nightly_tag, ref_dir), either of which can be None + """ log = logging.getLogger(MODULE) - user = ArtGrid.ARTPROD if user is None else user previous_nightly_tag = self.get_previous_nightly_tag(days) log.info("LOG Previous Nightly Tag: %s", str(previous_nightly_tag)) + if ref_dir is None and previous_nightly_tag is not None: + ref_dir = os.path.join('.', 'ref-' + previous_nightly_tag) + mkdir(ref_dir) + + log.info("LOG Ref Dir: %s", str(ref_dir)) + return (previous_nightly_tag, ref_dir) + + def download(self, package, test_name, days, user, ref_dir=None, shell=False): + """ + Download the output of a reference job. + + Returns ref_dir + """ + log = logging.getLogger(MODULE) + user = ArtGrid.ARTPROD if user is None else user + + (previous_nightly_tag, ref_dir) = self.__nightly_tag_and_ref_directory(days, ref_dir) if previous_nightly_tag is None: log.error("No previous nightly tag found") - return 1 - - ref_dir = os.path.join('.', 'ref-' + previous_nightly_tag) - mkdir(ref_dir) + return None log.info("Shell = %s", shell) tmp_tar = self.__get_tar(user, package, test_name, nightly_tag=previous_nightly_tag, shell=shell) if tmp_tar is None: - log.error("No comparison tar file found") - return 1 + log.error("No reference tar file found") + return None tar = tarfile.open(tmp_tar) for member in tar.getmembers(): @@ -989,7 +1000,19 @@ class ArtGrid(ArtBase): tar.close() os.remove(tmp_tar) - return self.compare_ref('.', ref_dir, files, entries, mode) + return ref_dir + + def compare(self, package, test_name, days, user, files, diff_pool, diff_root, entries=-1, mode='detailed', shell=False): + """Compare current output against a job of certain days ago.""" + log = logging.getLogger(MODULE) + user = ArtGrid.ARTPROD if user is None else user + + ref_dir = self.download(package, test_name, days, user, shell=shell) + if ref_dir is None: + log.error("No comparison done") + return 1 + + return self.compare_ref('.', ref_dir, files, diff_pool, diff_root, entries, mode) def __get_tar(self, user, package, test_name, grid_index=-1, tmp=None, tar=True, nightly_tag=None, shell=False): """Open tar file for particular release.""" @@ -1055,7 +1078,7 @@ class ArtGrid(ArtBase): 21:00 is the cutoff time. Any submission before 21:00 counts as the previous day. """ - directory = os.path.join(ArtGrid.CVMFS_DIRECTORY, self.nightly_release) + directory = os.path.join(CVMFS_DIRECTORY, self.nightly_release) tags = os.listdir(directory) tags.sort(reverse=True) tags = [x for x in tags if re.match(r'\d{4}-\d{2}-\d{2}T\d{2}\d{2}', x)] diff --git a/Tools/ART/python/ART/art_header.py b/Tools/ART/python/ART/art_header.py index f9e9f1aa0be77b5c983f4b3d07fef885cfa3955b..2387aec9e389c8a09d6380806e682e1920b23a1d 100644 --- a/Tools/ART/python/ART/art_header.py +++ b/Tools/ART/python/ART/art_header.py @@ -27,6 +27,7 @@ class ArtHeader(object): ART_INPUT_NFILES = 'art-input-nfiles' ART_INPUT_SPLIT = 'art-input-split' ART_OUTPUT = 'art-output' + ART_RUNON = 'art-runon' ART_TYPE = 'art-type' def __init__(self, filename): @@ -40,10 +41,13 @@ class ArtHeader(object): self.header = {} + self.valid = True + # general self.add(ArtHeader.ART_DESCRIPTION, StringType, '') self.add(ArtHeader.ART_TYPE, StringType, None, ['build', 'grid']) - self.add(ArtHeader.ART_INCLUDE, ListType, ['*']) + self.add(ArtHeader.ART_INCLUDE, ListType, []) # not specifying results in inclusion + self.add(ArtHeader.ART_RUNON, ListType, []) # "build" type only self.add(ArtHeader.ART_CI, ListType, []) @@ -58,12 +62,13 @@ class ArtHeader(object): self.read(filename) - def add(self, key, value_type, default_value=None, constraint=None): + def add(self, key, value_type, default_value=None, constraint=None, defined=True): """Add a single header definition.""" self.header[key] = {} self.header[key]['type'] = value_type self.header[key]['default'] = default_value self.header[key]['constraint'] = constraint + self.header[key]['defined'] = defined self.header[key]['value'] = None # e.g. the value was never set def is_list(self, key): @@ -79,6 +84,7 @@ class ArtHeader(object): try: key = line_match.group(1) value = line_match.group(2).strip() + # convert value if needed if key in self.header and self.header[key]['type'] == IntType: value = int(value) @@ -90,14 +96,21 @@ class ArtHeader(object): else: # handle values if key not in self.header: - log.warning("Unknown art-header %s: %s in file %s", key, value, filename) - self.add(key, StringType) + log.debug("Unknown art-header %s: %s in file %s", key, value, filename) + self.add(key, StringType, defined=False) + self.valid = False if self.header[key]['value'] is None: self.header[key]['value'] = value else: - log.warning("key %s: already set to %s in file %s", key, self.header[key]['value'], filename) + log.debug("key %s: already set to %s in file %s", key, self.header[key]['value'], filename) + self.valid = False except ValueError: - log.error("Invalid value in art-header %s: %s in file %s", key, value, filename) + log.debug("Invalid value in art-header %s: %s in file %s", key, value, filename) + self.valid = False + + def is_valid(self): + """Return True if file was read without errors.""" + return self.valid def get(self, key): """ @@ -132,36 +145,40 @@ class ArtHeader(object): - a key is found which is not defined - a value is found of the wrong value_type - a value is found outside the constraint + + return True is valid """ log = logging.getLogger(MODULE) + valid = True for line in open(self.filename, "r"): if self.header_format_error1.match(line): + valid &= False log.error("LINE: %s", line.rstrip()) log.error("Header Validation - invalid header format, use space between '# and art-xxx' in file %s", self.filename) - log.error("") if self.header_format_error2.match(line): + valid &= False log.error("LINE: %s", line.rstrip()) log.error("Header Validation - invalid header format, too many spaces between '# and art-xxx' in file %s", self.filename) - log.error("") if self.header_format_error3.match(line): + valid &= False log.error("LINE: %s", line.rstrip()) log.error("Header Validation - invalid header format, use at least one space between ': and value' in file %s", self.filename) - log.error("") for key in self.header: - if 'type' not in self.header[key]: + if not self.header[key]['defined']: + valid &= False log.error("Header Validation - Invalid key: %s in file %s", key, self.filename) - log.error("") continue if type(self.header[key]['value']) != self.header[key]['type']: if not isinstance(self.header[key]['value'], type(None)): + valid &= False log.error("Header Validation - value_type: %s not valid for key: %s, expected value_type: %s in file %s", type(self.header[key]['value']), key, self.header[key]['type'], self.filename) - log.error("") if self.header[key]['constraint'] is not None and self.header[key]['value'] not in self.header[key]['constraint']: + valid &= False if self.header[key]['value'] is None: log.error("Header Validation - missing key: %s in file %s", key, self.filename) else: log.error("Header Validation - value: %s for key: %s not in constraints: %s in file %s", self.header[key]['value'], key, self.header[key]['constraint'], self.filename) log.error("") - return 0 + return valid diff --git a/Tools/ART/python/ART/art_misc.py b/Tools/ART/python/ART/art_misc.py index 0e187b8a9baebf2e513fe74dbde305125d9e68e2..b974dde18c53410e5460ab75774d0c2923d962bb 100644 --- a/Tools/ART/python/ART/art_misc.py +++ b/Tools/ART/python/ART/art_misc.py @@ -15,6 +15,7 @@ from datetime import datetime MODULE = "art.misc" EOS_MGM_URL = 'root://eosatlas.cern.ch/' +CVMFS_DIRECTORY = '/cvmfs/atlas-nightlies.cern.ch/repo/sw' KByte = 1024 MByte = KByte * 1024 @@ -51,6 +52,23 @@ def get_atlas_env(): sys.exit(1) +def build_script_directory(script_directory, nightly_release, nightly_tag, project, platform): + """Return calculated script directory, sometimes overriden by commandline.""" + if script_directory is None: + script_directory = CVMFS_DIRECTORY + script_directory = os.path.join(script_directory, nightly_release) # e.g. 21.0 + script_directory = os.path.join(script_directory, nightly_tag) # e.g. 2017-10-25T2150 + script_directory = os.path.join(script_directory, project) # e.g. Athena + try: + script_directory = os.path.join(script_directory, os.listdir(script_directory)[0]) # e.g. 21.0.3 + script_directory = os.path.join(script_directory, os.listdir(script_directory)[0]) # InstallArea + except OSError: + script_directory = os.path.join(script_directory, '*', '*') + script_directory = os.path.join(script_directory, platform) # x86_64-slc6-gcc62-opt + script_directory = os.path.join(script_directory, 'src') # src + return script_directory + + def run_command(cmd, dir=None, shell=False, env=None, verbose=True): """ Run the given command locally. diff --git a/Tools/ART/scripts/art-clean.py b/Tools/ART/scripts/art-clean.py index 3f714b72146ec6b34eee51e12d52fa95f4366a5e..c4c4070bcb18e894380159edcb735f9666e23a85 100755 --- a/Tools/ART/scripts/art-clean.py +++ b/Tools/ART/scripts/art-clean.py @@ -99,7 +99,7 @@ class ArtClean(object): def clean_release(self, release, days, package=None): """Clean a release dir.""" log = logging.getLogger(MODULE) - log.debug("Starting to clean up release, keeping %d days, for %s in %s", days, "All" if package is None else package, release) + log.info("Starting to clean up release, keeping %d days, for %s in %s", days, "All" if package is None else package, release) now = datetime.datetime.now() count = 0 date = '1970-01-01' diff --git a/Tools/ART/scripts/art-download.sh b/Tools/ART/scripts/art-download.sh index 89ed645c4f6f1afba45d983f56a3475cea7f84a6..5f30f34c87ee3868bbefdec82ed4a0289be2e8e7 100755 --- a/Tools/ART/scripts/art-download.sh +++ b/Tools/ART/scripts/art-download.sh @@ -19,7 +19,7 @@ DIRECTORY=$1 shift export ATLAS_LOCAL_ROOT_BASE="${ATLAS_LOCAL_ROOT_BASE:-/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase}" -# shellcheck source=/dev/null +## shellcheck source=/dev/null source "${ATLAS_LOCAL_ROOT_BASE}"/user/atlasLocalSetup.sh --quiet unset ALRB_noGridMW diff --git a/Tools/ART/scripts/art-internal.py b/Tools/ART/scripts/art-internal.py index ec313bd86aac6c78f8cb8b82c17cc57d2a4287f0..b6fa9cb28bf74200e0aa7c9d4b23ff0be5345d86 100755 --- a/Tools/ART/scripts/art-internal.py +++ b/Tools/ART/scripts/art-internal.py @@ -4,9 +4,9 @@ ART-internal - ATLAS Release Tester (internal command). Usage: - art-internal.py build job [-v -q] <script_directory> <sequence_tag> <package> <outfile> <job_type> <job_index> - art-internal.py grid batch [-v -q --skip-setup -n] <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_type> <job_index> - art-internal.py grid single [-v -q --skip-setup --in=<in_file> -n] <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_name> + art-internal.py build job [-v -q --run-all-tests] <script_directory> <sequence_tag> <package> <outfile> <job_type> <job_index> + art-internal.py grid batch [-v -q --skip-setup -n --run-all-tests] <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_type> <job_index> + art-internal.py grid single [-v -q --skip-setup --in=<in_file> -n --run-all-tests] <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_name> Options: -h --help Show this screen. @@ -14,6 +14,7 @@ Options: --in=<in_file> Normally percentage IN -n --no-action No real submit will be done -q --quiet Show less information, only warnings and errors + --run-all-tests Runs all tests, ignoring art-include -v --verbose Show more information, debug level --version Show version. @@ -60,7 +61,8 @@ def build_job(script_directory, sequence_tag, package, outfile, job_type, job_in set_log(kwargs) art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) (nightly_release, project, platform, nightly_tag) = get_atlas_env() - exit(ArtBuild(art_directory, nightly_release, project, platform, nightly_tag, script_directory).job(sequence_tag, package, outfile, job_type, job_index)) + run_all_tests = kwargs['run_all_tests'] + exit(ArtBuild(art_directory, nightly_release, project, platform, nightly_tag, script_directory, run_all_tests=run_all_tests).job(sequence_tag, package, outfile, job_type, job_index)) @dispatch.on('grid', 'batch') @@ -74,7 +76,8 @@ def grid_batch(script_directory, sequence_tag, package, outfile, inform_panda, j art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) (nightly_release, project, platform, nightly_tag) = get_atlas_env() skip_setup = kwargs['skip_setup'] - exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, script_directory, skip_setup).batch(sequence_tag, package, outfile, inform_panda, job_type, job_index)) + run_all_tests = kwargs['run_all_tests'] + exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, script_directory=script_directory, skip_setup=skip_setup, run_all_tests=run_all_tests).batch(sequence_tag, package, outfile, inform_panda, job_type, job_index)) @dispatch.on('grid', 'single') @@ -89,7 +92,8 @@ def grid_single(script_directory, sequence_tag, package, outfile, inform_panda, (nightly_release, project, platform, nightly_tag) = get_atlas_env() skip_setup = kwargs['skip_setup'] in_file = kwargs['in'] - exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, script_directory, skip_setup).single(sequence_tag, package, outfile, inform_panda, job_name, in_file)) + run_all_tests = kwargs['run_all_tests'] + exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, script_directory=script_directory, skip_setup=skip_setup, run_all_tests=run_all_tests).single(sequence_tag, package, outfile, inform_panda, job_name, in_file)) if __name__ == '__main__': diff --git a/Tools/ART/scripts/art-task-build.sh b/Tools/ART/scripts/art-task-build.sh index d8b5c1d925ad73af32ef179c47dea604aedb6718..bff1bb33b2fcda149e2b41a2cd1255f3d35bac5f 100755 --- a/Tools/ART/scripts/art-task-build.sh +++ b/Tools/ART/scripts/art-task-build.sh @@ -1,13 +1,21 @@ #!/bin/bash # Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration -# arguments: RELEASE_BASE, PROJECT, PLATFORM +# arguments: [--run-all-tests] RELEASE_BASE, PROJECT, PLATFORM +# NOTE: options have to be in order # author : Tulay Cuhadar Donszelmann <tcuhadar@cern.ch>, Emil Obreshkov <Emil.Obreshkov@cern.ch> echo "INFO: Script executed by $(whoami) on $(date)" +RUN_ALL_TESTS="" +if [ "$1" == "--run-all-tests" ]; then + RUN_ALL_TESTS="--run-all-tests" + shift + echo "RUN_ALL_TESTS=${RUN_ALL_TESTS}" +fi + RELEASE_BASE=$1 -PROJECT=$2 -PLATFORM=$3 +ART_PROJECT=$2 +ART_PLATFORM=$3 BRANCH="$(echo "${RELEASE_BASE}" | tr '/' ' ' | awk '{print $5}')" echo BRANCH "${BRANCH}" @@ -21,7 +29,7 @@ else fi export ATLAS_LOCAL_ROOT_BASE="${ATLAS_LOCAL_ROOT_BASE:-/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase}" -# shellcheck source=/dev/null +## shellcheck source=/dev/null source "${ATLAS_LOCAL_ROOT_BASE}"/user/atlasLocalSetup.sh --quiet if [ "${BRANCH}" == "master" ]; then lsetup -a testing asetup @@ -30,7 +38,7 @@ else lsetup -a current asetup echo "INFO: setting up for ${BRANCH}" fi -asetup "${PROJECT}" --platform "${PLATFORM}" --releasebase "${RELEASE_BASE}"/build/install --noLcgReleaseBase +asetup "${ART_PROJECT}" --platform "${ART_PLATFORM}" --releasebase "${RELEASE_BASE}"/build/install --noLcgReleaseBase # setup AtlasBuildBranch since that is not set bu the above asetup for the local build setup @@ -62,7 +70,7 @@ fi # run build tests SUBDIR=${AtlasBuildBranch}/${AtlasProject}/${PLATFORM}/${AtlasBuildStamp} OUTDIR="${RELEASE_BASE}/art-build/${SUBDIR}" -CMD="art.py run ${RELEASE_BASE}/build/install/${AtlasProject}/*/InstallArea/${PLATFORM}/src ${OUTDIR}" +CMD="art.py run ${RUN_ALL_TESTS} ${RELEASE_BASE}/build/install/${AtlasProject}/*/InstallArea/${ART_PLATFORM}/src ${OUTDIR}" echo "${CMD}" RESULT=$(eval "${CMD}") echo "${RESULT}" diff --git a/Tools/ART/scripts/art-task-grid.sh b/Tools/ART/scripts/art-task-grid.sh index e459d17a8f2f4d783519b614c22d9e8c12fa88dd..27178185d587de0eebe4d760c1cd95598ca47b59 100755 --- a/Tools/ART/scripts/art-task-grid.sh +++ b/Tools/ART/scripts/art-task-grid.sh @@ -5,9 +5,9 @@ # # Example command lines for three types: # -# art-task-grid.sh [--no-action] batch <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_type> <number_of_tests> +# art-task-grid.sh [--no-action --run-all-tests] batch <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_type> <number_of_tests> # -# art-task-grid.sh [--no-action] single [--inds <input_file> --n-files <number_of_files> --split <split>] <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_name> +# art-task-grid.sh [--no-action --run-all-tests] single [--inds <input_file> --n-files <number_of_files> --split <split>] <submit_directory> <script_directory> <sequence_tag> <package> <outfile> <inform_panda> <job_name> # # env: ART_GRID_OPTIONS # @@ -27,6 +27,13 @@ if [ "$1" == "--no-action" ]; then echo "NO_ACTION=${NO_ACTION}" fi +RUN_ALL_TESTS="" +if [ "$1" == "--run-all-tests" ]; then + RUN_ALL_TESTS="--run-all-tests" + shift + echo "RUN_ALL_TESTS=${RUN_ALL_TESTS}" +fi + TYPE=$1 shift echo "TYPE=${TYPE}" @@ -122,7 +129,7 @@ case ${TYPE} in echo "JOB_TYPE=${JOB_TYPE}" NUMBER_OF_TESTS=$1 - SPLIT="--split ${NUMBER_OF_TESTS}" + SPLIT="--split ${NUMBER_OF_TESTS} --nEventsPerJob 1" shift echo "NUMBER_OF_TESTS=${NUMBER_OF_TESTS}" echo "SPLIT=${SPLIT}" @@ -149,7 +156,7 @@ case ${TYPE} in 'batch') # <script_directory> <sequence_tag> <package> <outfile> <job_type> <job_index> INTERNAL_COMMAND="grid batch" - JOB_INDEX="%RNDM:0" + JOB_INDEX="%FIRSTEVENT:0" ARGS="${JOB_TYPE} ${JOB_INDEX}" echo "JOB_INDEX=${JOB_INDEX}" echo "ARGS=${ARGS}" @@ -167,7 +174,7 @@ esac # NOTE: for art-internal.py the current dir can be used as it is copied there cd "${SUBMIT_DIRECTORY}"/"${PACKAGE}"/run -SUBCOMMAND="./art-internal.py ${INTERNAL_COMMAND} ${IN_FILE} ${SCRIPT_DIRECTORY} ${SEQUENCE_TAG} ${PACKAGE} ${OUT} ${INFORM_PANDA} ${ARGS}" +SUBCOMMAND="./art-internal.py ${INTERNAL_COMMAND} ${RUN_ALL_TESTS} ${IN_FILE} ${SCRIPT_DIRECTORY} ${SEQUENCE_TAG} ${PACKAGE} ${OUT} ${INFORM_PANDA} ${ARGS}" CMD="pathena ${GRID_OPTIONS} ${PATHENA_OPTIONS} ${PATHENA_TYPE_OPTIONS} --trf \"${SUBCOMMAND}\" ${SPLIT} --outDS ${OUTFILE} --extOutFile art-job.json" #--disableAutoRetry diff --git a/Tools/ART/scripts/art.py b/Tools/ART/scripts/art.py index f717c812ef75df01fffcc3c83b34e77e0d5b84f7..fc187b3550bb9f5f2129aca37bda4ef60bd6ece0 100755 --- a/Tools/ART/scripts/art.py +++ b/Tools/ART/scripts/art.py @@ -6,14 +6,15 @@ ART - ATLAS Release Tester. You need to setup for an ATLAS release before using ART. Usage: - art.py run [-v -q --type=<T> --max-jobs=<N> --ci] <script_directory> <sequence_tag> - art.py grid [-v -q --type=<T> --max-jobs=<N> -n] <script_directory> <sequence_tag> - art.py submit [-v -q --type=<T> --max-jobs=<N> --config=<file> -n] <sequence_tag> [<package>] + art.py run [-v -q --type=<T> --max-jobs=<N> --ci --run-all-tests] <script_directory> <sequence_tag> + art.py grid [-v -q --type=<T> --max-jobs=<N> -n --run-all-tests] <script_directory> <sequence_tag> + art.py submit [-v -q --type=<T> --max-jobs=<N> --config=<file> -n] <sequence_tag> [<packages>...] art.py copy [-v -q --user=<user> --dst=<dir> --no-unpack --tmp=<dir> --seq=<N> --keep-tmp] <indexed_package> - art.py validate [-v -q] <script_directory> - art.py included [-v -q --type=<T> --test-type=<TT>] <script_directory> - art.py compare grid [-v -q --days=<D> --user=<user> --entries=<entries> --file=<pattern>... --mode=<mode>] <package> <test_name> - art.py compare ref [-v -q --entries=<entries> --file=<pattern>... --mode=<mode>] <path> <ref_path> + art.py validate [-v -q] [<script_directory>] + art.py included [-v -q --type=<T> --test-type=<TT>] [<script_directory>] + art.py download [-v -q --days=<D> --user=<user> --dst=<dir>] <package> <test_name> + art.py compare grid [-v -q --days=<D> --user=<user> --entries=<entries> --file=<pattern>... --mode=<mode> --diff-pool --diff-root] <package> <test_name> + art.py compare ref [-v -q --entries=<entries> --file=<pattern>... --mode=<mode> --diff-pool --diff-root] <path> <ref_path> art.py list grid [-v -q --user=<user> --json --test-type=<TT>] <package> art.py log grid [-v -q --user=<user>] <package> <test_name> art.py output grid [-v -q --user=<user>] <package> <test_name> @@ -24,6 +25,8 @@ Options: --ci Run Continuous Integration tests only (using env: AtlasBuildBranch) --config=<file> Use specific config file [default: art-configuration.yml] --days=<D> Number of days ago to pick up reference for compare [default: 1] + --diff_pool Do comparison with POOL + --diff_root Do comparison with ROOT (none specified means POOL and ROOT are compared) --dst=<dir> Destination directory for downloaded files --entries=<entries> Number of entries to compare [default: 10] --file=<pattern>... Compare the following file patterns for diff-root [default: *AOD*.pool.root *ESD*.pool.root *HITS*.pool.root *RDO*.pool.root *TAG*.root] @@ -35,6 +38,7 @@ Options: -n --no-action No real submit will be done --no-unpack Do not unpack downloaded tar files -q --quiet Show less information, only warnings and errors + --run-all-tests Ignores art-include headers, runs all tests --seq=<N> Use N as postfix on destination nightly-tag (for retries) [default: 0] --test-type=<TT> Type of test (e.g. all, batch or single) [default: all] --tmp=<dir> Temporary directory for downloaded files and caching of EXT0 @@ -56,10 +60,12 @@ Sub-commands: output Get the output of a job config Show configuration createpoolfile Creates an 'empty' poolfile catalog + download Downloads the output of a reference job for comparison Arguments: indexed_package Package of the test or indexed package (e.g. MooPerformance.4) package Package of the test (e.g. Tier0ChainTests) + packages List of packages (e.g. Tier0ChainTests) path Directory or File to compare ref_path Directory or File to compare to script_directory Directory containing the package(s) with tests @@ -78,7 +84,7 @@ Tests are called with: """ __author__ = "Tulay Cuhadar Donszelmann <tcuhadar@cern.ch>" -__version__ = '0.10.22' +__version__ = '0.11.11' import logging import os @@ -88,7 +94,7 @@ from ART.docopt_dispatch import dispatch from ART import ArtBase, ArtGrid, ArtBuild -from ART.art_misc import get_atlas_env, set_log +from ART.art_misc import build_script_directory, get_atlas_env, set_log MODULE = "art" @@ -103,9 +109,14 @@ def compare_ref(path, ref_path, **kwargs): set_log(kwargs) art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) files = kwargs['file'] + diff_pool = kwargs['diff_pool'] + diff_root = kwargs['diff_root'] + if not diff_pool and not diff_root: + diff_pool = True + diff_root = True entries = kwargs['entries'] mode = kwargs['mode'] - exit(ArtBase(art_directory).compare_ref(path, ref_path, files, entries, mode)) + exit(ArtBase(art_directory).compare_ref(path, ref_path, files, diff_pool, diff_root, entries, mode)) @dispatch.on('compare', 'grid') @@ -117,9 +128,14 @@ def compare_grid(package, test_name, **kwargs): days = int(kwargs['days']) user = kwargs['user'] files = kwargs['file'] + diff_pool = kwargs['diff_pool'] + diff_root = kwargs['diff_root'] + if not diff_pool and not diff_root: + diff_pool = True + diff_root = True entries = kwargs['entries'] mode = kwargs['mode'] - exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag).compare(package, test_name, days, user, files, entries=entries, mode=mode, shell=True)) + exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag).compare(package, test_name, days, user, files, diff_pool, diff_root, entries=entries, mode=mode, shell=True)) @dispatch.on('list', 'grid') @@ -164,11 +180,11 @@ def submit(sequence_tag, **kwargs): job_type = 'grid' if kwargs['type'] is None else kwargs['type'] user = os.getenv('USER', 'artprod') inform_panda = user == 'artprod' - package = kwargs['package'] + packages = kwargs['packages'] config = kwargs['config'] no_action = kwargs['no_action'] wait_and_copy = True - exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, max_jobs=int(kwargs['max_jobs'])).task_list(job_type, sequence_tag, inform_panda, package, no_action, wait_and_copy, config)) + exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, max_jobs=int(kwargs['max_jobs'])).task_list(job_type, sequence_tag, inform_panda, packages, no_action, wait_and_copy, config)) @dispatch.on('grid') @@ -179,11 +195,12 @@ def grid(script_directory, sequence_tag, **kwargs): (nightly_release, project, platform, nightly_tag) = get_atlas_env() job_type = 'grid' if kwargs['type'] is None else kwargs['type'] inform_panda = False - package = None + packages = [] config = None no_action = kwargs['no_action'] wait_and_copy = False - exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, script_directory=script_directory, skip_setup=True, max_jobs=int(kwargs['max_jobs'])).task_list(job_type, sequence_tag, inform_panda, package, no_action, wait_and_copy, config)) + run_all_tests = kwargs['run_all_tests'] + exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag, script_directory=script_directory, skip_setup=True, max_jobs=int(kwargs['max_jobs']), run_all_tests=run_all_tests).task_list(job_type, sequence_tag, inform_panda, packages, no_action, wait_and_copy, config)) @dispatch.on('run') @@ -193,7 +210,8 @@ def run(script_directory, sequence_tag, **kwargs): art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) (nightly_release, project, platform, nightly_tag) = get_atlas_env() job_type = 'build' if kwargs['type'] is None else kwargs['type'] - exit(ArtBuild(art_directory, nightly_release, project, platform, nightly_tag, script_directory, max_jobs=int(kwargs['max_jobs']), ci=kwargs['ci']).task_list(job_type, sequence_tag)) + run_all_tests = kwargs['run_all_tests'] + exit(ArtBuild(art_directory, nightly_release, project, platform, nightly_tag, script_directory=script_directory, max_jobs=int(kwargs['max_jobs']), ci=kwargs['ci'], run_all_tests=run_all_tests).task_list(job_type, sequence_tag)) @dispatch.on('copy') @@ -213,21 +231,29 @@ def copy(indexed_package, **kwargs): @dispatch.on('validate') -def validate(script_directory, **kwargs): +def validate(**kwargs): """Check headers in tests.""" set_log(kwargs) art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) + script_directory = kwargs['script_directory'] + if script_directory is None: + (nightly_release, project, platform, nightly_tag) = get_atlas_env() + script_directory = build_script_directory(script_directory, nightly_release, nightly_tag, project, platform) exit(ArtBase(art_directory).validate(script_directory)) @dispatch.on('included') -def included(script_directory, **kwargs): +def included(**kwargs): """Show list of files which will be included for art submit/art grid.""" set_log(kwargs) art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) (nightly_release, project, platform, nightly_tag) = get_atlas_env() job_type = kwargs['type'] # None will list all types index_type = kwargs['test_type'] + script_directory = kwargs['script_directory'] + if script_directory is None: + (nightly_release, project, platform, nightly_tag) = get_atlas_env() + script_directory = build_script_directory(script_directory, nightly_release, nightly_tag, project, platform) exit(ArtBase(art_directory).included(script_directory, job_type, index_type, nightly_release, project, platform)) @@ -250,6 +276,18 @@ def createpoolfile(package, **kwargs): exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag).createpoolfile()) +@dispatch.on('download') +def download(package, test_name, **kwargs): + """Download the output of a reference job.""" + set_log(kwargs) + art_directory = os.path.dirname(os.path.realpath(sys.argv[0])) + (nightly_release, project, platform, nightly_tag) = get_atlas_env() + days = int(kwargs['days']) + user = kwargs['user'] + dst = kwargs['dst'] + exit(ArtGrid(art_directory, nightly_release, project, platform, nightly_tag).download(package, test_name, days, user, ref_dir=dst, shell=True)) + + if __name__ == '__main__': if sys.version_info < (2, 7, 0): sys.stderr.write("You need python 2.7 or later to run this script\n") diff --git a/Tools/ART/share/localSetupART.zsh b/Tools/ART/share/localSetupART.zsh new file mode 100644 index 0000000000000000000000000000000000000000..aa9bfe0ddde936011cfb30bb5b14867e39eb7244 --- /dev/null +++ b/Tools/ART/share/localSetupART.zsh @@ -0,0 +1,5 @@ +SOURCE=${(%):-%N} +SCRIPTPATH="$( cd "$( dirname "$SOURCE" )" && pwd )" +export PATH=${SCRIPTPATH}/../scripts:${PATH} +export PYTHONPATH=${SCRIPTPATH}/../python:${PYTHONPATH} + diff --git a/Tools/Scripts/share/git-package-pseudomerge.py b/Tools/Scripts/share/git-package-pseudomerge.py index 80edf76ca94575aaf3c6fcd14ebc90e5c36bd7f3..2d064bbca66e62efe25334d925c1519c53be5b47 100755 --- a/Tools/Scripts/share/git-package-pseudomerge.py +++ b/Tools/Scripts/share/git-package-pseudomerge.py @@ -30,8 +30,16 @@ parser.add_argument('--target', type=str, default='upstream/master', help='target branch (default: upstream/master)') parser.add_argument('--reset', action='store_true', help='Remove branches created by this script. Use to start again or recover from any issues') +parser.add_argument('--debug', action='store_true', + help='Extra printing') args = parser.parse_args() + +def sortBySplitLen(element): + return len(element.split('/')) + +args.packages = sorted(args.packages, key=sortBySplitLen) + print(args) class bcolors: @@ -154,7 +162,7 @@ if args.stage == 1: level = 0 # Distance into directory tree resetPath = '' while (True): - # print("Evaluate " + fileTuple[1]) + if (args.debug): print("Evaluate " + fileTuple[1] + " level=" + str(level)) if level == len(fileSplit): # Reached beyond bottom of directory tree print(bcolors.FAIL + "ERR" + bcolors.ENDC) break @@ -165,19 +173,22 @@ if args.stage == 1: pathSplit = path.rstrip('/').split('/') # Explode path if level == len(pathSplit) and path == responsibleRule: doKeep = True # The previous operation matched the final path segment. Keep this file - elif level < len(pathSplit) and fileSplit[level] == pathSplit[level]: + if (args.debug): print(" doKeep=True (" + path + " = " + responsibleRule + ") as level is equal to size of " + path + ", " + str(len(pathSplit)) ) + elif doKeep == False and level < len(pathSplit) and fileSplit[level] == pathSplit[level]: doProgress = True # We match the current level - check next level of directory responsibleRule = path # Record which package rule is allowing us to progress + if (args.debug): print(" doProgress=True (" + fileSplit[level] + " = " + pathSplit[level] + ") as level is less than the size of " + path + ", " + str(len(pathSplit)) ) if doKeep: # At least one match to keep this - # print("Keeping "+fileSplit[level]) + if (args.debug): print(" Keeping "+path) break elif doProgress: # At least one partial match - check next level resetPath += fileSplit[level] + '/' - # print("Progressing "+resetPath) + if (args.debug): print(" Progressing "+resetPath) level += 1 else: # No matches - reset this path resetPath += fileSplit[level] + if (args.debug): print(" Resetting "+resetPath) if not resetPath in toReset: print("To reset: "+resetPath + " level = " + str(level)) toReset.append(resetPath) diff --git a/Tracking/Acts/ActsGeometry/ActsGeometry/ActsAlignmentStore.h b/Tracking/Acts/ActsGeometry/ActsGeometry/ActsAlignmentStore.h index 9ef6b0f5e5f00d1535a5f6177d9a082ce92b56fb..ae4d1de51ffe524f8ee57c0458bf846ddb06dddb 100644 --- a/Tracking/Acts/ActsGeometry/ActsGeometry/ActsAlignmentStore.h +++ b/Tracking/Acts/ActsGeometry/ActsGeometry/ActsAlignmentStore.h @@ -7,7 +7,7 @@ #include "GeoModelUtilities/GeoAlignmentStore.h" #include "GeoModelUtilities/TransformMap.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" #include "AthenaKernel/CondCont.h" #include "Acts/Utilities/Definitions.hpp" diff --git a/Tracking/Acts/ActsGeometry/CMakeLists.txt b/Tracking/Acts/ActsGeometry/CMakeLists.txt index 8c7c036e597efeaf7693525b99c45d570b431778..ca8f2138f240cdad316eb30a9cbe354f4636a389 100755 --- a/Tracking/Acts/ActsGeometry/CMakeLists.txt +++ b/Tracking/Acts/ActsGeometry/CMakeLists.txt @@ -39,6 +39,7 @@ atlas_add_library( ActsGeometryLib PUBLIC_HEADERS ActsGeometry INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${BOOST_INCLUDE_DIRS} LINK_LIBRARIES ${CLHEP_LIBRARIES} ${EIGEN_LIBRARIES} + AthenaKernel ActsInteropLib ActsCore ActsLegacy diff --git a/Tracking/TrkDetDescr/TrkDetDescrTPCnv/src/TrkGeometry/BinnedLayerMaterialCnv_p1.cxx b/Tracking/TrkDetDescr/TrkDetDescrTPCnv/src/TrkGeometry/BinnedLayerMaterialCnv_p1.cxx index f9e41e9a43b3bf8a60ec798be28fcbfcb5beb09b..5167c183feae23bbe39b6e9b5416055857e581cf 100644 --- a/Tracking/TrkDetDescr/TrkDetDescrTPCnv/src/TrkGeometry/BinnedLayerMaterialCnv_p1.cxx +++ b/Tracking/TrkDetDescr/TrkDetDescrTPCnv/src/TrkGeometry/BinnedLayerMaterialCnv_p1.cxx @@ -37,12 +37,13 @@ void BinnedLayerMaterialCnv_p1::persToTrans( const Trk::BinnedLayerMaterial_p1 * // create the material properties const Trk::MaterialProperties* mprop = createTransFromPStore( &materialCnv, persObj->materialMatrix[iid+matrixInnerDim*iod], mlog ); // check if the entry carries material or not - if (mprop && mprop->thicknessInX0() > 10e-5 && mprop->averageZ() > 1 ) + const bool carriesMaterial{mprop and not std::isnan(mprop->thicknessInX0()) and mprop->thicknessInX0()>10e-5 and mprop->averageZ() > 1}; + if (carriesMaterial) (transObj->m_fullMaterial)[iod][iid] = mprop; else { (transObj->m_fullMaterial)[iod][iid] = 0; delete mprop; // clear this instance and set to 0 - + mprop=nullptr; } } } diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/CMakeLists.txt b/Tracking/TrkDetDescr/TrkDetDescrUtils/CMakeLists.txt index ca17ce27fba4b50971a5ef4ea1282afd2cdb9890..854ca64cfe037d88f8902a2d571f366baf039e66 100644 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/CMakeLists.txt +++ b/Tracking/TrkDetDescr/TrkDetDescrUtils/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( TrkDetDescrUtils ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel DetectorDescription/GeoPrimitives GaudiKernel Tracking/TrkEvent/TrkEventPrimitives ) @@ -21,5 +20,5 @@ atlas_add_library( TrkDetDescrUtils src/*.cxx PUBLIC_HEADERS TrkDetDescrUtils INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${EIGEN_LIBRARIES} SGTools GeoPrimitives GaudiKernel TrkEventPrimitives ) + LINK_LIBRARIES ${EIGEN_LIBRARIES} AthenaKernel GeoPrimitives GaudiKernel TrkEventPrimitives ) diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/EightObjectsAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/EightObjectsAccessor.h deleted file mode 100755 index 959277b849020588b2507be1130567914b40f7ce..0000000000000000000000000000000000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/EightObjectsAccessor.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// EightObjectsAccessor.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKDETDESCRUTILS_EIGHTOBJECTSACCESSOR_H -#define TRKDETDESCRUTILS_EIGHTOBJECTSACCESSOR_H - -//Trk -#include "TrkDetDescrUtils/ObjectAccessor.h" -//STL -#include <vector> -#include <iostream> - -namespace Trk { - - /** - @class EightObjectsAccessor - - Explicit Accessor for four Objects in a specif way. - The size is fixed to be four objects to guarantee right memory - allocation in case of a static object. - - @author Andreas.Salzburger@cern.ch - */ - - class EightObjectsAccessor : public ObjectAccessor { - - public: - /** Default constructor*/ - EightObjectsAccessor(); - - /**Constructor of vector*/ - EightObjectsAccessor(int first, - int second, - int third, - int fourth, - int fifth, - int sixth, - int seventh, - int eighth); - - /**Copy constructor*/ - EightObjectsAccessor(const EightObjectsAccessor& accessor); - - /**Destructor*/ - ~EightObjectsAccessor(){} - - /**Assignment operator*/ - EightObjectsAccessor& operator= (const EightObjectsAccessor& rhs); - - /**The single interface method*/ - int accessor() const; - - /** Resets the accessor: begin*/ - bool begin() const; - - /** End of accessor */ - bool end() const; - - /**Required: operator++*/ - const EightObjectsAccessor& operator++ () const; - - /** Output Method for MsgStream, to be overloaded by child classes */ - MsgStream& dump(MsgStream& sl) const; - /** Output Method for std::ostream, to be overloaded by child classes */ - std::ostream& dump(std::ostream& sl) const; - - private: - mutable int m_jumper; - int m_accessors[8]; - - }; - - inline int EightObjectsAccessor::accessor() const - { return m_accessors[m_jumper]; } - - inline bool EightObjectsAccessor::begin() const - { m_jumper=0; - return true; } - - inline bool EightObjectsAccessor::end() const - { return !(m_jumper==7); } - - inline const EightObjectsAccessor& EightObjectsAccessor::operator++() const - { - m_jumper = (m_jumper<7) ? m_jumper+1 : 0; - return (*this); - } -} - - -#endif // TRKDETDESCRUTILS_EIGHTOBJECTSACCESSOR_H - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FiveObjectsAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FiveObjectsAccessor.h deleted file mode 100755 index 8435606195ca53d74703cf02955667106283664a..0000000000000000000000000000000000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FiveObjectsAccessor.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// FiveObjectsAccessor.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKDETDESCRUTILS_FIVEOBJECTSACCESSOR_H -#define TRKDETDESCRUTILS_FIVEOBJECTSACCESSOR_H - -//Gaudi -#include "GaudiKernel/MsgStream.h" -//Trk -#include "TrkDetDescrUtils/ObjectAccessor.h" - -//STL -#include <vector> -#include <iostream> - -namespace Trk { - - /** - @class FiveObjectsAccessor - - Explicit Accessor for five Objects in a specif way. - The size is fixed to be five objects to guarantee right memory - allocation in case of a static object. - - @author Andreas.Salzburger@cern.ch - */ - - class FiveObjectsAccessor : public ObjectAccessor { - - public: - /** Default constructor*/ - FiveObjectsAccessor(); - - /**Constructor of vector*/ - FiveObjectsAccessor(int first, - int second, - int third, - int fourth, - int five); - - /**Copy constructor*/ - FiveObjectsAccessor(const FiveObjectsAccessor& accessor); - - /**Destructor*/ - ~FiveObjectsAccessor(){} - - /**Assignment operator*/ - FiveObjectsAccessor& operator= (const FiveObjectsAccessor& rhs); - - /**The single interface method*/ - int accessor() const; - - /** Resets the accessor: begin*/ - bool begin() const; - - /** End of accessor */ - bool end() const; - - /**Required: operator++*/ - const FiveObjectsAccessor& operator++ () const; - - /** Output Method for MsgStream, to be overloaded by child classes */ - MsgStream& dump(MsgStream& sl) const; - /** Output Method for std::ostream, to be overloaded by child classes */ - std::ostream& dump(std::ostream& sl) const; - - private: - mutable int m_jumper; - int m_accessors[5]; - mutable bool m_break; - - }; - - inline int FiveObjectsAccessor::accessor() const - { return m_accessors[m_jumper]; } - - inline bool FiveObjectsAccessor::begin() const - { m_jumper = 0; - m_break = false; - return true; } - - inline bool FiveObjectsAccessor::end() const - { return (!m_break); } - - inline const FiveObjectsAccessor& FiveObjectsAccessor::operator++() const - { - m_jumper = (m_jumper<4) ? m_jumper+1 : 0; - m_break = (!m_jumper); - return (*this); - } -} - -#endif // TRKDETDESCRUTILS_FIVEOBJECTSACCESSOR_H - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FourObjectsAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FourObjectsAccessor.h deleted file mode 100755 index a25faa4c0226e147a8635eedf02fb9da39e05491..0000000000000000000000000000000000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/FourObjectsAccessor.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// FourObjectsAccessor.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKDETDESCRUTILS_FOUROBJECTSACCESSOR_H -#define TRKDETDESCRUTILS_FOUROBJECTSACCESSOR_H - -//Gaudi -#include "GaudiKernel/MsgStream.h" -//Trk -#include "TrkDetDescrUtils/ObjectAccessor.h" -//STL -#include <vector> -#include <iostream> - -namespace Trk { - - /** - @class FourObjectsAccessor - - Explicit Accessor for four Objects in a specif way. - The size is fixed to be four objects to guarantee right memory - allocation in case of a static object. - - @author Andreas.Salzburger@cern.ch - */ - - class FourObjectsAccessor : public ObjectAccessor { - - public: - /** Default constructor*/ - FourObjectsAccessor(); - - /**Constructor of vector*/ - FourObjectsAccessor(int first, - int second, - int third, - int fourth, - bool inverse=false); - - /**Copy constructor*/ - FourObjectsAccessor(const FourObjectsAccessor& accessor); - - /**Destructor*/ - ~FourObjectsAccessor(){} - - /**Assignment operator*/ - FourObjectsAccessor& operator= (const FourObjectsAccessor& rhs); - - /**The single interface method*/ - int accessor() const; - - /** Resets the accessor: begin*/ - bool begin() const; - - /** End of accessor */ - bool end() const; - - /**Required: operator++*/ - const FourObjectsAccessor& operator++ () const; - - /** Output Method for MsgStream, to be overloaded by child classes */ - MsgStream& dump(MsgStream& sl) const; - /** Output Method for std::ostream, to be overloaded by child classes */ - std::ostream& dump(std::ostream& sl) const; - - private: - mutable int m_jumper; - int m_accessors[4]; - mutable bool m_break; - - }; - - inline int FourObjectsAccessor::accessor() const - { return m_accessors[m_jumper]; } - - inline bool FourObjectsAccessor::begin() const - { m_jumper = 0; - m_break = false; - return true; } - - inline bool FourObjectsAccessor::end() const - { return (!m_break); } - - inline const FourObjectsAccessor& FourObjectsAccessor::operator++() const - { - m_jumper = (m_jumper<3) ? m_jumper+1 : 0; - m_break = (!m_jumper); - return (*this); - } -} - -#endif // TRKDETDESCRUTILS_FOUROBJECTSACCESSOR_H - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/LayerIndexSampleMap.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/LayerIndexSampleMap.h index 0c84882cf51b0946af5dffefd18ade32730c4e68..fdf21e69df496165c7df006f85e2e20e00716b1a 100644 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/LayerIndexSampleMap.h +++ b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/LayerIndexSampleMap.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -13,7 +13,7 @@ // from TrkDetDescrUtils #include "TrkDetDescrUtils/LayerIndex.h" // CLASS DEF -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" /** LayerIndexSampleMap diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectAccessor.h index 5308be885ca4f61c3f91dd31fd77f5e34df16dc1..65c5cdacbfa782c37f221a0240aacdc1f739e446 100755 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectAccessor.h +++ b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectAccessor.h @@ -1,81 +1,47 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ +/* Dear emacs, this is -*-c++-*- */ +#ifndef _ObjectAccessor_H_ +#define _ObjectAccessor_H_ -/////////////////////////////////////////////////////////////////// -// ObjectAccessor.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKDETDESCRUTILS_OBJECTACCESSOR_H -#define TRKDETDESCRUTILS_OBJECTACCESSOR_H -//Gaudi -#include "GaudiKernel/MsgStream.h" -// STL -#include <iostream> -#include <vector> - -namespace Trk { - - /** - @class ObjectAccessor - - Base class for accessors to std::vectors, - these should be optimized for different cases and - surface types. - - @author Andreas.Salzburger@cern.ch - */ - - class ObjectAccessor { - - public: - /** Default constructor*/ - ObjectAccessor(bool inverse=false) : - m_inverseCase(inverse) - {} - - /** Copy constructor */ - ObjectAccessor(const ObjectAccessor& oa); - - /** Destructor*/ - virtual ~ObjectAccessor(){} - - /** Assignment operator*/ - ObjectAccessor& operator=(const ObjectAccessor& oa); - - /** Interface method for surface the accessor int*/ - virtual int accessor() const = 0; - - /** Resets the accessor: begin*/ - virtual bool begin() const = 0; - - /** End of accessor */ - virtual bool end() const = 0; - - /** Required: operator++*/ - virtual const ObjectAccessor& operator++ () const = 0; - - /** Output Method for MsgStream, to be overloaded by child classes */ - virtual MsgStream& dump(MsgStream& sl) const = 0; - /** Output Method for std::ostream, to be overloaded by child classes */ - virtual std::ostream& dump(std::ostream& sl) const = 0; - - /** Flag if object has to retrieved by backward search */ - virtual bool inverseRetrieval() const; - - private: - bool m_inverseCase; //!< boolean flag to mark inverse retrieval - - }; - - inline bool ObjectAccessor::inverseRetrieval() const - { return m_inverseCase; } - -/**Overload of << operator for both, MsgStream and std::ostream for debug output*/ -MsgStream& operator << ( MsgStream& sl, const ObjectAccessor& oac); -std::ostream& operator << ( std::ostream& sl, const ObjectAccessor& oac); - -} // end of namespace Trk - -#endif - +#include <array> +#include <ostream> + +class MsgStream; + +namespace Trk { +class ObjectAccessor +{ +public: + typedef int value_type; + // @TODO ideally would use "using const_iterator std::array_base<value_type>::const_iterator" if it existed + typedef const value_type * const_iterator; + + template <size_t DIM> + ObjectAccessor( const std::array<value_type, DIM> &a, bool is_reverse=false) + : m_begin(a.begin()), + m_end(a.end()), + m_inverseRetrieval(is_reverse) + {} + + template <size_t DIM> + ObjectAccessor( const std::pair<std::array<value_type, DIM> , bool> &a) + : m_begin(a.first.begin()), + m_end(a.first.end()), + m_inverseRetrieval(a.second) + {} + + ObjectAccessor::const_iterator begin() const { return m_begin; } + ObjectAccessor::const_iterator end() const { return m_end; } + + bool inverseRetrieval() const { return m_inverseRetrieval; } + +private: + ObjectAccessor::const_iterator m_begin; + ObjectAccessor::const_iterator m_end; + bool m_inverseRetrieval; +}; + +MsgStream& operator << ( MsgStream& sl, const ObjectAccessor& oac); +std::ostream& operator << ( std::ostream& sl, const ObjectAccessor& oac); + +} +#endif diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectsAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectsAccessor.h new file mode 100644 index 0000000000000000000000000000000000000000..660770d0ed952a470e5822c9d41f18280cfd18af --- /dev/null +++ b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ObjectsAccessor.h @@ -0,0 +1,16 @@ +/* Dear emacs, this is -*-c++-*- */ +#ifndef _ObjectsAccessor_H_ +#define _ObjectsAccessor_H_ + +#include <array> +#include <utility> +#include "ObjectAccessor.h" + +namespace Trk { + using ThreeObjectsAccessor = std::array<ObjectAccessor::value_type,3>; + using FourObjectsAccessor = std::pair<std::array<ObjectAccessor::value_type,4>, bool>; // bool to indicate inverseRetrieval + using FiveObjectsAccessor = std::array<ObjectAccessor::value_type,5>; + using SixObjectsAccessor = std::array<ObjectAccessor::value_type,6>; + using EightObjectsAccessor = std::array<ObjectAccessor::value_type,8>; +} +#endif diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/SixObjectsAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/SixObjectsAccessor.h deleted file mode 100755 index 2139579f20f290d83c5fdee5096f835d23b02a9b..0000000000000000000000000000000000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/SixObjectsAccessor.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// SixObjectsAccessor.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKDETDESCRUTILS_SIXOBJECTSACCESSOR_H -#define TRKDETDESCRUTILS_SIXOBJECTSACCESSOR_H - -//Gaudi -#include "GaudiKernel/MsgStream.h" -//Trk -#include "TrkDetDescrUtils/ObjectAccessor.h" -//STL -#include <vector> -#include <iostream> - -namespace Trk { - - /** - @class SixObjectsAccessor - - Explicit Accessor for four Objects in a specif way. - The size is fixed to be four objects to guarantee right memory - allocation in case of a static object. - - @author Andreas.Salzburger@cern.ch - */ - - class SixObjectsAccessor : public ObjectAccessor { - - public: - /** Default constructor*/ - SixObjectsAccessor(); - - /**Constructor of vector*/ - SixObjectsAccessor(int first, - int second, - int third, - int fourth, - int fifth, - int sixth); - - /**Copy constructor*/ - SixObjectsAccessor(const SixObjectsAccessor& accessor); - - /**Destructor*/ - ~SixObjectsAccessor(){} - - /**Assignment operator*/ - SixObjectsAccessor& operator= (const SixObjectsAccessor& rhs); - - /**The single interface method*/ - int accessor() const; - - /** Resets the accessor: begin*/ - bool begin() const; - - /** End of accessor */ - bool end() const; - - /**Required: operator++*/ - const SixObjectsAccessor& operator++ () const; - - /** Output Method for MsgStream, to be overloaded by child classes */ - MsgStream& dump(MsgStream& sl) const; - /** Output Method for std::ostream, to be overloaded by child classes */ - std::ostream& dump(std::ostream& sl) const; - - private: - mutable int m_jumper; - int m_accessors[6]; - mutable bool m_break; - - }; - - inline int SixObjectsAccessor::accessor() const - { return m_accessors[m_jumper]; } - - inline bool SixObjectsAccessor::begin() const - { m_jumper=0; - m_break = false; - return true; } - - inline bool SixObjectsAccessor::end() const - { return (!m_break); } - - inline const SixObjectsAccessor& SixObjectsAccessor::operator++() const - { - m_jumper = (m_jumper<5) ? m_jumper+1 : 0; - m_break = (!m_jumper); - return (*this); - } -} - -#endif // TRKDETDESCRUTILS_SIXOBJECTSACCESSOR_H - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ThreeObjectsAccessor.h b/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ThreeObjectsAccessor.h deleted file mode 100755 index e60df22774464ab99bf33ba1516199d03c65cb49..0000000000000000000000000000000000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/TrkDetDescrUtils/ThreeObjectsAccessor.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// ThreeObjectsAccessor.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKDETDESCRUTILS_THREEOBJECTSACCESSOR_H -#define TRKDETDESCRUTILS_THREEOBJECTSACCESSOR_H - -//Gaudi -#include "GaudiKernel/MsgStream.h" -//Trk -#include "TrkDetDescrUtils/ObjectAccessor.h" -//STL -#include <vector> -#include <iostream> - -namespace Trk { - - /** - @class ThreeObjectsAccessor - - Explicit Accessor for three Objects in a specif way. - The size is fixed to be three objects to guarantee right memory - allocation in case of a static object. - - @author Andreas.Salzburger@cern.ch - */ - - class ThreeObjectsAccessor : public ObjectAccessor { - - public: - /** Default constructor*/ - ThreeObjectsAccessor(); - - /**Constructor of vector*/ - ThreeObjectsAccessor(int first, - int second, - int third); - - /**Copy constructor*/ - ThreeObjectsAccessor(const ThreeObjectsAccessor& accessor); - - /**Destructor*/ - ~ThreeObjectsAccessor(){} - - /**Assignment operator*/ - ThreeObjectsAccessor& operator= (const ThreeObjectsAccessor& rhs); - - /**The single interface method*/ - int accessor() const; - - /** Resets the accessor: begin*/ - bool begin() const; - - /** End of accessor */ - bool end() const; - - /**Required: operator++*/ - const ThreeObjectsAccessor& operator++ () const; - - /** Output Method for MsgStream, to be overloaded by child classes */ - MsgStream& dump(MsgStream& sl) const; - /** Output Method for std::ostream, to be overloaded by child classes */ - std::ostream& dump(std::ostream& sl) const; - - private: - mutable int m_jumper; - int m_accessors[3]; - mutable bool m_break; - - }; - - inline int ThreeObjectsAccessor::accessor() const - { return m_accessors[m_jumper]; } - - inline bool ThreeObjectsAccessor::begin() const - { m_jumper =0; - m_break = false; - return true; } - - inline bool ThreeObjectsAccessor::end() const - { return (!m_break); } - - inline const ThreeObjectsAccessor& ThreeObjectsAccessor::operator++() const - { - m_jumper = (m_jumper<2) ? m_jumper+1 : 0; - m_break = (!m_jumper); - return (*this); - } -} - -#endif // TRKDETDESCRUTILS_FOUROBJECTSACCESSOR_H - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/EightObjectsAccessor.cxx b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/EightObjectsAccessor.cxx deleted file mode 100755 index d4acf5e8f954e4c58f5e6cabc5c1e68cb6932fd6..0000000000000000000000000000000000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/EightObjectsAccessor.cxx +++ /dev/null @@ -1,95 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// EightObjectsAccessor.cxx, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#include "TrkDetDescrUtils/EightObjectsAccessor.h" - -/** Default constructor*/ -Trk::EightObjectsAccessor::EightObjectsAccessor(): - Trk::ObjectAccessor(), - m_jumper(0) -{ - m_accessors[0] = 0; - m_accessors[1] = 0; - m_accessors[2] = 0; - m_accessors[3] = 0; - m_accessors[4] = 0; - m_accessors[5] = 0; - m_accessors[6] = 0; - m_accessors[7] = 0; -} - -/**Constructor of vector*/ -Trk::EightObjectsAccessor::EightObjectsAccessor(int first, - int second, - int third, - int fourth, - int fifth, - int sixth, - int seventh, - int eighth) : - Trk::ObjectAccessor(), - m_jumper(0) -{ - m_accessors[0] = first; - m_accessors[1] = second; - m_accessors[2] = third; - m_accessors[3] = fourth; - m_accessors[4] = fifth; - m_accessors[5] = sixth; - m_accessors[6] = seventh; - m_accessors[7] = eighth; -} - -/**Copy constructor*/ -Trk::EightObjectsAccessor::EightObjectsAccessor(const Trk::EightObjectsAccessor& accessor) : - Trk::ObjectAccessor(), - m_jumper(accessor.m_jumper) -{ - m_accessors[0] = accessor.m_accessors[0]; - m_accessors[1] = accessor.m_accessors[1]; - m_accessors[2] = accessor.m_accessors[2]; - m_accessors[3] = accessor.m_accessors[3]; - m_accessors[4] = accessor.m_accessors[4]; - m_accessors[5] = accessor.m_accessors[5]; - m_accessors[6] = accessor.m_accessors[6]; - m_accessors[7] = accessor.m_accessors[7]; -} - - -Trk::EightObjectsAccessor& Trk::EightObjectsAccessor::operator=(const Trk::EightObjectsAccessor& rhs) -{ - if (this!=&rhs){ - m_jumper = rhs.m_jumper; - m_accessors[0] = rhs.m_accessors[0]; - m_accessors[1] = rhs.m_accessors[1]; - m_accessors[2] = rhs.m_accessors[2]; - m_accessors[3] = rhs.m_accessors[3]; - m_accessors[4] = rhs.m_accessors[4]; - m_accessors[5] = rhs.m_accessors[5]; - m_accessors[6] = rhs.m_accessors[6]; - m_accessors[7] = rhs.m_accessors[7]; - } - return (*this); -} - -MsgStream& Trk::EightObjectsAccessor::dump(MsgStream& sl) const -{ - sl << "EightObjectsAccessor: | "; - for (int iac=0; iac<8; ++iac) sl << m_accessors[iac] << " | "; - return sl; - -} - -std::ostream& Trk::EightObjectsAccessor::dump(std::ostream& sl) const -{ - sl << "EightObjectsAccessor: | "; - for (int iac=0; iac<8; ++iac) sl << m_accessors[iac] << " | "; - return sl; -} - - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/FiveObjectsAccessor.cxx b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/FiveObjectsAccessor.cxx deleted file mode 100755 index 6cba535705b23ad5a6cfe3d41141c41ed6d7ee02..0000000000000000000000000000000000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/FiveObjectsAccessor.cxx +++ /dev/null @@ -1,82 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// FiveObjectsAccessor.cxx, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#include "TrkDetDescrUtils/FiveObjectsAccessor.h" - -/** Default constructor*/ -Trk::FiveObjectsAccessor::FiveObjectsAccessor(): - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = 0; - m_accessors[1] = 0; - m_accessors[2] = 0; - m_accessors[3] = 0; - m_accessors[4] = 0; -} - -/**Constructor of vector*/ -Trk::FiveObjectsAccessor::FiveObjectsAccessor(int first, - int second, - int third, - int fourth, - int fifth) : - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = first; - m_accessors[1] = second; - m_accessors[2] = third; - m_accessors[3] = fourth; - m_accessors[4] = fifth; -} - -/**Copy constructor*/ -Trk::FiveObjectsAccessor::FiveObjectsAccessor(const Trk::FiveObjectsAccessor& accessor) : - Trk::ObjectAccessor(accessor), - m_jumper(accessor.m_jumper), - m_break(accessor.m_break) -{ - m_accessors[0] = accessor.m_accessors[0]; - m_accessors[1] = accessor.m_accessors[1]; - m_accessors[2] = accessor.m_accessors[2]; - m_accessors[3] = accessor.m_accessors[3]; - m_accessors[4] = accessor.m_accessors[4]; -} - - -Trk::FiveObjectsAccessor& Trk::FiveObjectsAccessor::operator=(const Trk::FiveObjectsAccessor& rhs) -{ - if (this!=&rhs){ - Trk::ObjectAccessor::operator=(rhs); - m_jumper = rhs.m_jumper; - m_accessors[0] = rhs.m_accessors[0]; - m_accessors[1] = rhs.m_accessors[1]; - m_accessors[2] = rhs.m_accessors[2]; - m_accessors[3] = rhs.m_accessors[3]; - m_accessors[4] = rhs.m_accessors[4]; - m_break = rhs.m_break; - } - return (*this); -} - -MsgStream& Trk::FiveObjectsAccessor::dump(MsgStream& sl) const -{ - sl << "FiveObjectAccessor: | "; - for (int iac=0; iac<5; ++iac) sl << m_accessors[iac] << " | "; - return sl; -} - -std::ostream& Trk::FiveObjectsAccessor::dump(std::ostream& sl) const -{ - sl << "FiveObjectAccessor: | "; - for (int iac=0; iac<5; ++iac) sl << m_accessors[iac] << " | "; - return sl; -} diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/FourObjectsAccessor.cxx b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/FourObjectsAccessor.cxx deleted file mode 100755 index 6acaeccb1d89b42177f822bae969774a6842180e..0000000000000000000000000000000000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/FourObjectsAccessor.cxx +++ /dev/null @@ -1,75 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// FourObjectsAccessor.cxx, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#include "TrkDetDescrUtils/FourObjectsAccessor.h" - -/** Default constructor*/ -Trk::FourObjectsAccessor::FourObjectsAccessor(): - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = 0; - m_accessors[1] = 0; - m_accessors[2] = 0; - m_accessors[3] = 0; -} - -/**Constructor of vector*/ -Trk::FourObjectsAccessor::FourObjectsAccessor(int first, - int second, - int third, - int fourth, - bool inverse) : - Trk::ObjectAccessor(inverse), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = first; - m_accessors[1] = second; - m_accessors[2] = third; - m_accessors[3] = fourth; -} - -/**Copy constructor*/ -Trk::FourObjectsAccessor::FourObjectsAccessor(const Trk::FourObjectsAccessor& accessor) : - Trk::ObjectAccessor(accessor), - m_jumper(accessor.m_jumper), - m_break(false) -{} - - -Trk::FourObjectsAccessor& Trk::FourObjectsAccessor::operator=(const Trk::FourObjectsAccessor& rhs) -{ - if (this!=&rhs){ - Trk::ObjectAccessor::operator=(rhs); - m_jumper = rhs.m_jumper; - m_accessors[0] = rhs.m_accessors[0]; - m_accessors[1] = rhs.m_accessors[1]; - m_accessors[2] = rhs.m_accessors[2]; - m_accessors[3] = rhs.m_accessors[3]; - m_break = rhs.m_break; - } - return (*this); -} - -MsgStream& Trk::FourObjectsAccessor::dump(MsgStream& sl) const -{ - sl << "FourObjectAccessor: | "; - for (int iac=0; iac<4; ++iac) sl << m_accessors[iac] << " | "; - if (inverseRetrieval()) sl << '\t' << "( inverseCase )"; - return sl; -} - -std::ostream& Trk::FourObjectsAccessor::dump(std::ostream& sl) const -{ - sl << "FourObjectAccessor: | "; - for (int iac=0; iac<4; ++iac) sl << m_accessors[iac] << " | "; - if (inverseRetrieval()) sl << '\t' << "( inverseCase )"; - return sl; -} diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ObjectAccessor.cxx b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ObjectAccessor.cxx index 8353656936e2b85eab060adb4cc837280909c6e5..d82eebb0333eb22d0a3862bd6db90aa6dcf68e1f 100755 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ObjectAccessor.cxx +++ b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ObjectAccessor.cxx @@ -8,26 +8,22 @@ #include "TrkDetDescrUtils/ObjectAccessor.h" -Trk::ObjectAccessor::ObjectAccessor(const Trk::ObjectAccessor& oa) : - m_inverseCase(oa.m_inverseCase) -{} +#include "GaudiKernel/MsgStream.h" +#include <iostream> -Trk::ObjectAccessor& Trk::ObjectAccessor::operator=(const Trk::ObjectAccessor& oa) -{ - if (this != &oa){ - m_inverseCase = oa.m_inverseCase; - } - return(*this); - -} - -/**Overload of << operator for both, MsgStream and std::ostream for debug output*/ +/**Overload of << operator for both, MsgStream and std::ostream for debug output*/ MsgStream& Trk::operator << ( MsgStream& sl, const Trk::ObjectAccessor& oac) { - return oac.dump(sl); + for( const ObjectAccessor::value_type &elm : oac ) { + sl << (oac.end() - oac.begin()) << "-ObjectAccessor: | " << elm << " | "; + } + return sl; } std::ostream& Trk::operator << ( std::ostream& sl, const Trk::ObjectAccessor& oac) -{ - return oac.dump(sl); -} +{ + for( const ObjectAccessor::value_type &elm : oac ) { + sl << (oac.end() - oac.begin()) << "-ObjectAccessor: | " << elm << " | "; + } + return sl; +} diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/SixObjectsAccessor.cxx b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/SixObjectsAccessor.cxx deleted file mode 100755 index 3cbfcc860bf86d48aec15acf72e2305a82627f05..0000000000000000000000000000000000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/SixObjectsAccessor.cxx +++ /dev/null @@ -1,90 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// SixObjectsAccessor.cxx, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#include "TrkDetDescrUtils/SixObjectsAccessor.h" - -/** Default constructor*/ -Trk::SixObjectsAccessor::SixObjectsAccessor(): - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = 0; - m_accessors[1] = 0; - m_accessors[2] = 0; - m_accessors[3] = 0; - m_accessors[4] = 0; - m_accessors[5] = 0; -} - -/**Constructor of vector*/ -Trk::SixObjectsAccessor::SixObjectsAccessor(int first, - int second, - int third, - int fourth, - int fifth, - int sixth) : - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = first; - m_accessors[1] = second; - m_accessors[2] = third; - m_accessors[3] = fourth; - m_accessors[4] = fifth; - m_accessors[5] = sixth; -} - -/**Copy constructor*/ -Trk::SixObjectsAccessor::SixObjectsAccessor(const Trk::SixObjectsAccessor& accessor) : - Trk::ObjectAccessor(accessor), - m_jumper(accessor.m_jumper), - m_break(accessor.m_break) -{ - m_accessors[0] = accessor.m_accessors[0]; - m_accessors[1] = accessor.m_accessors[1]; - m_accessors[2] = accessor.m_accessors[2]; - m_accessors[3] = accessor.m_accessors[3]; - m_accessors[4] = accessor.m_accessors[4]; - m_accessors[5] = accessor.m_accessors[5]; -} - - -Trk::SixObjectsAccessor& Trk::SixObjectsAccessor::operator=(const Trk::SixObjectsAccessor& rhs) -{ - if (this!=&rhs){ - Trk::ObjectAccessor::operator=(rhs); - m_jumper = rhs.m_jumper; - m_accessors[0] = rhs.m_accessors[0]; - m_accessors[1] = rhs.m_accessors[1]; - m_accessors[2] = rhs.m_accessors[2]; - m_accessors[3] = rhs.m_accessors[3]; - m_accessors[4] = rhs.m_accessors[4]; - m_accessors[5] = rhs.m_accessors[5]; - m_break = rhs.m_break; - } - return (*this); -} - -MsgStream& Trk::SixObjectsAccessor::dump(MsgStream& sl) const -{ - sl << "SixObjectsAccessor: | "; - for (int iac=0; iac<6; ++iac) sl << m_accessors[iac] << " | "; - return sl; - -} - -std::ostream& Trk::SixObjectsAccessor::dump(std::ostream& sl) const -{ - sl << "SixObjectsAccessor: | "; - for (int iac=0; iac<6; ++iac) sl << m_accessors[iac] << " | "; - return sl; -} - - diff --git a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ThreeObjectsAccessor.cxx b/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ThreeObjectsAccessor.cxx deleted file mode 100755 index 49bdeb113d44f52a315371c95cc94824eca35b3a..0000000000000000000000000000000000000000 --- a/Tracking/TrkDetDescr/TrkDetDescrUtils/src/ThreeObjectsAccessor.cxx +++ /dev/null @@ -1,76 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// ThreeObjectsAccessor.cxx, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#include "TrkDetDescrUtils/ThreeObjectsAccessor.h" - -/** Default constructor*/ -Trk::ThreeObjectsAccessor::ThreeObjectsAccessor(): - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) -{ - m_accessors[0] = 0; - m_accessors[1] = 0; - m_accessors[2] = 0; -} - -/**Constructor of vector*/ -Trk::ThreeObjectsAccessor::ThreeObjectsAccessor(int first, - int second, - int third) : - Trk::ObjectAccessor(), - m_jumper(0), - m_break(false) - -{ - m_accessors[0] = first; - m_accessors[1] = second; - m_accessors[2] = third; -} - -/**Copy constructor*/ -Trk::ThreeObjectsAccessor::ThreeObjectsAccessor(const Trk::ThreeObjectsAccessor& accessor) : - Trk::ObjectAccessor(accessor), - m_jumper(accessor.m_jumper), - m_break(accessor.m_break) - -{ - m_accessors[0] = accessor.m_accessors[0]; - m_accessors[1] = accessor.m_accessors[1]; - m_accessors[2] = accessor.m_accessors[2]; -} - - -Trk::ThreeObjectsAccessor& Trk::ThreeObjectsAccessor::operator=(const Trk::ThreeObjectsAccessor& rhs) -{ - if (this!=&rhs){ - Trk::ObjectAccessor::operator=(rhs); - m_jumper = rhs.m_jumper; - m_accessors[0] = rhs.m_accessors[0]; - m_accessors[1] = rhs.m_accessors[1]; - m_accessors[2] = rhs.m_accessors[2]; - m_break = rhs.m_break; - } - return (*this); -} - -MsgStream& Trk::ThreeObjectsAccessor::dump(MsgStream& sl) const -{ - sl << "ThreeObjectAccessor: | "; - for (int iac=0; iac<3; ++iac) sl << m_accessors[iac] << " | "; - return sl; -} - -std::ostream& Trk::ThreeObjectsAccessor::dump(std::ostream& sl) const -{ - sl << "ThreeObjectAccessor: | "; - for (int iac=0; iac<3; ++iac) sl << m_accessors[iac] << " | "; - return sl; -} - - diff --git a/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/MaterialProperties.h b/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/MaterialProperties.h index d69e78a5e15f99cb07d22e8d2e50e69609effd95..bb645a02b16fec2da0ab555988366c435cc3e832 100755 --- a/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/MaterialProperties.h +++ b/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/MaterialProperties.h @@ -12,7 +12,7 @@ #include "TrkGeometry/Material.h" #include "GaudiKernel/MsgStream.h" //STD -#include <iostream> +#include <iosfwd> class MaterialPropertiesCnv_p1; diff --git a/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/TrackingVolume.h b/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/TrackingVolume.h index 696e5c9fd26644f40fd83c828a35b5ea1891584c..e1dc934519a3400be0ea687fc5afb8aa8bc11583 100755 --- a/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/TrackingVolume.h +++ b/Tracking/TrkDetDescr/TrkGeometry/TrkGeometry/TrackingVolume.h @@ -25,6 +25,7 @@ #include "TrkGeometry/LayerAttemptsCalculator.h" #include "TrkDetDescrUtils/BinnedArray.h" #include "TrkDetDescrUtils/SharedObject.h" +#include "TrkDetDescrUtils/ObjectAccessor.h" #include "TrkDetDescrUtils/GeometrySignature.h" #include "TrkEventPrimitives/PropDirection.h" //STL @@ -46,7 +47,6 @@ namespace Trk { class PlaneLayer; class TrackingVolume; class DetachedTrackingVolume; - class ObjectAccessor; class GlueVolumesDescriptor; class VolumeBounds; @@ -283,7 +283,7 @@ namespace Trk { bool startOffBoundary = false) const; /** Get the BoundarySurface to the appointed Accessor state */ - const BoundarySurface<TrackingVolume>* boundarySurface(const ObjectAccessor& oa) const; + const BoundarySurface<TrackingVolume>* boundarySurface(const ObjectAccessor::value_type& oa) const; /** show if you are on a boundary surface */ template <class T> bool onVolumeBoundary(const T& pars ) const; diff --git a/Tracking/TrkDetDescr/TrkGeometry/src/MaterialProperties.cxx b/Tracking/TrkDetDescr/TrkGeometry/src/MaterialProperties.cxx index f5cd135331a0ad24afc6476f8f47cb9d8e80af3c..dbe705b7008e81d98c56ba0676913fe4c2995c13 100755 --- a/Tracking/TrkDetDescr/TrkGeometry/src/MaterialProperties.cxx +++ b/Tracking/TrkDetDescr/TrkGeometry/src/MaterialProperties.cxx @@ -7,7 +7,7 @@ /////////////////////////////////////////////////////////////////// #include "TrkGeometry/MaterialProperties.h" -#include <climits> +#include <iostream> Trk::MaterialProperties::MaterialProperties(): m_material(), @@ -110,12 +110,12 @@ void Trk::MaterialProperties::setDeDx(float dEdX) const MsgStream& Trk::operator << ( MsgStream& sl, const Trk::MaterialProperties& mprop) { - sl << "Trk::MaterialProperties: " << std::endl; - sl << " - thickness/X0 = " << mprop.thicknessInX0() << std::endl; - sl << " - thickness [mm] = " << mprop.thickness() << std::endl; - sl << " - radiation length X0 [mm] = " << mprop.x0() << std::endl; - sl << " - nuclear interaction length L0 [mm] = " << mprop.l0() << std::endl; - sl << " - average material Z/A*rho [gram/mm^3] = " << mprop.zOverAtimesRho() << std::endl; + sl << "Trk::MaterialProperties: " << endmsg; + sl << " - thickness/X0 = " << mprop.thicknessInX0() << endmsg; + sl << " - thickness [mm] = " << mprop.thickness() << endmsg; + sl << " - radiation length X0 [mm] = " << mprop.x0() << endmsg; + sl << " - nuclear interaction length L0 [mm] = " << mprop.l0() << endmsg; + sl << " - average material Z/A*rho [gram/mm^3] = " << mprop.zOverAtimesRho() << endmsg; /* interface not finalized if (mprop.material().composition){ sl << " - material composition from " << mprop.material().composition->size() << " elements " << std::endl; diff --git a/Tracking/TrkDetDescr/TrkGeometry/src/TrackingVolume.cxx b/Tracking/TrkDetDescr/TrkGeometry/src/TrackingVolume.cxx index 6fb711fa156098d21dc2cc3d7006f0d5fb17dcf2..5924f5e42370b8c24514ea0d78a0766ec765358f 100755 --- a/Tracking/TrkDetDescr/TrkGeometry/src/TrackingVolume.cxx +++ b/Tracking/TrkDetDescr/TrkGeometry/src/TrackingVolume.cxx @@ -36,7 +36,6 @@ #include "TrkSurfaces/DistanceSolution.h" #include "TrkGeometrySurfaces/SubtractedCylinderSurface.h" #include "TrkGeometrySurfaces/SubtractedPlaneSurface.h" -#include "TrkDetDescrUtils/ObjectAccessor.h" #include "TrkDetDescrUtils/BinUtility.h" #include "TrkDetDescrUtils/NavBinnedArray1D.h" // CLHEP @@ -846,9 +845,9 @@ void Trk::TrackingVolume::sign(Trk::GeometrySignature geosign, Trk::GeometryType const std::vector< Trk::SharedObject<const Trk::BoundarySurface<Trk::TrackingVolume> > >& Trk::TrackingVolume::boundarySurfaces() const { return (*m_boundarySurfaces); } -const Trk::BoundarySurface<Trk::TrackingVolume>* Trk::TrackingVolume::boundarySurface(const ObjectAccessor& oa) const +const Trk::BoundarySurface<Trk::TrackingVolume>* Trk::TrackingVolume::boundarySurface(const ObjectAccessor::value_type& oa) const { - return (m_boundarySurfaces->operator[](oa.accessor())).getPtr(); + return (m_boundarySurfaces->operator[](oa)).getPtr(); } void Trk::TrackingVolume::createBoundarySurfaces() diff --git a/Tracking/TrkDetDescr/TrkVolumes/CMakeLists.txt b/Tracking/TrkDetDescr/TrkVolumes/CMakeLists.txt index 27568d2ae667ee1dcad14fbba673f385daf37b2c..dffad6c66b338dac1336fb10975365e107fd0c94 100644 --- a/Tracking/TrkDetDescr/TrkVolumes/CMakeLists.txt +++ b/Tracking/TrkDetDescr/TrkVolumes/CMakeLists.txt @@ -7,8 +7,7 @@ atlas_subdir( TrkVolumes ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Control/CLIDSvc - Control/SGTools + Control/AthenaKernel DetectorDescription/GeoPrimitives GaudiKernel Tracking/TrkDetDescr/TrkDetDescrUtils @@ -25,5 +24,5 @@ atlas_add_library( TrkVolumes src/*.cxx PUBLIC_HEADERS TrkVolumes INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${EIGEN_LIBRARIES} SGTools GeoPrimitives GaudiKernel TrkDetDescrUtils TrkGeometrySurfaces TrkSurfaces TrkEventPrimitives TrkParameters ) + LINK_LIBRARIES ${EIGEN_LIBRARIES} AthenaKernel GeoPrimitives GaudiKernel TrkDetDescrUtils TrkGeometrySurfaces TrkSurfaces TrkEventPrimitives TrkParameters ) diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBoundaryAccessors.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBoundaryAccessors.h index 41e961837a58808f111f7eff6eeae6bdd51912c7..e9857a0199cc37574677dc5f31afe7d4efeb15ca 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBoundaryAccessors.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBoundaryAccessors.h @@ -10,25 +10,22 @@ #define TRKVOLUMES_BEVELLEDCYLINDERVOLUMEBOUNDARYACCESSORS_H -#include "TrkDetDescrUtils/ThreeObjectsAccessor.h" -#include "TrkDetDescrUtils/FourObjectsAccessor.h" -#include "TrkDetDescrUtils/FiveObjectsAccessor.h" -#include "TrkDetDescrUtils/SixObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" namespace Trk { /** @enum BevelledCylinderAccessorType */ enum BevelledCylinderAccessorType { BevelledCylinderZincrease = 0, //!< Cylinder hit, then pos. Z face - BevelledCylinderZdecrease = 1, //!< Cylinder hit, the neg. Z face - BevelledCylinderPositiveFace = 2, //!< Pos. Z face, Cylinder, neg. Z face + BevelledCylinderZdecrease = 1, //!< Cylinder hit, the neg. Z face + BevelledCylinderPositiveFace = 2, //!< Pos. Z face, Cylinder, neg. Z face BevelledCylinderNegativeFace = 3 //!< Neg. Z face, Cylinder, pos. Z face }; /** @enum BevelledTubeAccessorType */ enum BevelledTubeAccessorType { - + BevelledTubeRincreaseZincrease = 0, //!< Accessor type [ 2,1,0,3 ] BevelledTubeRincreaseZdecrease = 1, //!< Accessor type [ 2,0,1,3 ] BevelledTubeZincreaseRincrease = 2, //!< Accessor type [ 1,2,0,3 ] @@ -38,24 +35,24 @@ namespace Trk { BevelledTubeZincreaseRdecrease = 6, //!< Accessor type [ 1,3,0,2 ] BevelledTubeZdecreaseRdecrease = 7, //!< Accessor type [ 0,3,1,2 ] BevelledTubeOutsideRminRdecrease = 8, //!< Accessor type [ 3,1,0,2] - inverse case - BevelledTubeOutsideRmaxRincrease = 9, //!< Accessor type [ 2,1,0,3 ] - inverse case + BevelledTubeOutsideRmaxRincrease = 9, //!< Accessor type [ 2,1,0,3 ] - inverse case BevelledTubeOutsideZminZdecrease = 10, //!< Accessor type [ 0,3,2,1 ] - inverse case BevelledTubeOutsideZmaxZincrease = 11 //!< Accessor type [ 1,3,2,0 ] - inverse case - + }; - /** @enum SectoralBevelledCylinderAccessorType + /** @enum SectoralBevelledCylinderAccessorType \todo implement correcly when needed */ - enum SectoralBevelledCylinderAccessorType { - StandardSectoralBevelledCylinder = 0 + enum SectoralBevelledCylinderAccessorType { + StandardSectoralBevelledCylinder = 0 }; - /** @enum SectoralTubeAccessorType + /** @enum SectoralTubeAccessorType \todo implement correcly when needed */ - enum SectoralBevelledTubeAccessorType { - StandardSectoralBevelledTube = 0 + enum SectoralBevelledTubeAccessorType { + StandardSectoralBevelledTube = 0 }; @@ -76,26 +73,24 @@ namespace Trk { /**Default Constructor*/ ~BevelledCylinderVolumeBoundaryAccessors(); - /** Return the accessor for the cylindrical case */ + /** Return the accessor for the cylindrical case */ const ThreeObjectsAccessor& bevelledcylinderAccessor(BevelledCylinderAccessorType cat) const; - /** Return the accessor for the tube case */ + /** Return the accessor for the tube case */ const FourObjectsAccessor& bevelledtubeAccessor(BevelledTubeAccessorType tat) const; - - /** Return the accessor for the sectoral cylinciracl case */ + + /** Return the accessor for the sectoral cylinciracl case */ const FiveObjectsAccessor& sectoralBevelledCylinderAccessor(SectoralBevelledCylinderAccessorType scat) const; - /** Return the accessor for the sectoral tube case */ + /** Return the accessor for the sectoral tube case */ const SixObjectsAccessor& sectoralBevelledTubeAccessor(SectoralBevelledTubeAccessorType stat) const; private: - ThreeObjectsAccessor m_bevelledcylinderAccessors[4]; - FourObjectsAccessor m_bevelledtubeAccessors[12]; - FiveObjectsAccessor m_sectoralBevelledCylinderAccessors[1]; - SixObjectsAccessor m_sectoralBevelledTubeAccessors[1]; - - + std::array<ThreeObjectsAccessor,4> m_bevelledcylinderAccessors; + std::array<FourObjectsAccessor,12> m_bevelledtubeAccessors; + std::array<FiveObjectsAccessor,1> m_sectoralBevelledCylinderAccessors; + std::array<SixObjectsAccessor,1> m_sectoralBevelledTubeAccessors; }; diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBounds.h index 8768f18b9b4e5590de34d161b443ef7b9ae787d0..54bd1cc7eb2bf1235aff4b41897ab58bb5095f73 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/BevelledCylinderVolumeBounds.h @@ -124,10 +124,10 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; - + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; + /**This method returns the inner radius*/ double innerRadius() const; diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CombinedVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CombinedVolumeBounds.h index 6a1f6640e15b12e195c9cd2580c4b1dc88b83cb2..fb0f005a622c92422c15b08c3303f466306f3c25 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CombinedVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CombinedVolumeBounds.h @@ -12,7 +12,7 @@ // Trk #include "TrkVolumes/VolumeBounds.h" #include "TrkVolumes/Volume.h" -#include "TrkDetDescrUtils/EightObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" //Eigen #include "GeoPrimitives/GeoPrimitives.h" @@ -67,7 +67,7 @@ namespace Trk { /** Provide accessor for BoundarySurfaces */ virtual - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, const Amg::Vector3D& dir, bool forceInside=false) const override; @@ -116,10 +116,10 @@ namespace Trk { inline bool CombinedVolumeBounds::intersection() const { return m_intersection; } - inline const ObjectAccessor& CombinedVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + inline ObjectAccessor CombinedVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, const Amg::Vector3D&, bool) const - { return(m_objectAccessor); } + { return Trk::ObjectAccessor(m_objectAccessor); } inline const std::vector<bool> CombinedVolumeBounds::boundsOrientation() const { return(m_boundsOrientation); } diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CuboidVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CuboidVolumeBounds.h index 28300a6c6a3b8e6b23fb7a267faf4bbd43b5d3fc..98106dae15f0df3cc67143bacecd50e56c0b58a0 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CuboidVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CuboidVolumeBounds.h @@ -11,7 +11,7 @@ // Trk #include "TrkVolumes/VolumeBounds.h" -#include "TrkDetDescrUtils/SixObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" #include "GeoPrimitives/GeoPrimitives.h" class MsgStream; @@ -70,9 +70,9 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; /**This method returns the halflength in local x*/ double halflengthX() const; @@ -129,10 +129,10 @@ namespace Trk { inline double CuboidVolumeBounds::halflengthZ() const { return m_halfZ; } - inline const ObjectAccessor& CuboidVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, - const Amg::Vector3D&, - bool) const - { return(m_objectAccessor); } + inline ObjectAccessor CuboidVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + const Amg::Vector3D&, + bool) const + { return Trk::ObjectAccessor(m_objectAccessor); } } diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBoundaryAccessors.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBoundaryAccessors.h index d9f1994e2cae926e1b01d1e2614eb4e79e14debc..7b2ea3e41ef97589068a92a7aeab8f740cefd95e 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBoundaryAccessors.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBoundaryAccessors.h @@ -10,10 +10,7 @@ #define TRKVOLUMES_CYLINDERVOLUMEBOUNDARYACCESSORS_H -#include "TrkDetDescrUtils/ThreeObjectsAccessor.h" -#include "TrkDetDescrUtils/FourObjectsAccessor.h" -#include "TrkDetDescrUtils/FiveObjectsAccessor.h" -#include "TrkDetDescrUtils/SixObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" namespace Trk { @@ -90,10 +87,10 @@ namespace Trk { private: - ThreeObjectsAccessor m_cylinderAccessors[4]; - FourObjectsAccessor m_tubeAccessors[12]; - FiveObjectsAccessor m_sectoralCylinderAccessors[1]; - SixObjectsAccessor m_sectoralTubeAccessors[1]; + std::array<ThreeObjectsAccessor,4> m_cylinderAccessors; + std::array<FourObjectsAccessor,12> m_tubeAccessors; + std::array<FiveObjectsAccessor,1> m_sectoralCylinderAccessors; + std::array<SixObjectsAccessor,1> m_sectoralTubeAccessors; diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBounds.h index 0cad6cb98c1fe6e40ea7d0bf7fbaffa43a96f242..d7fe42f58cfba5113dbe2bacaae54db17c6fe5b7 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/CylinderVolumeBounds.h @@ -97,9 +97,9 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; /**This method returns the inner radius*/ double innerRadius() const; diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/DoubleTrapezoidVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/DoubleTrapezoidVolumeBounds.h index 719ccf836831d4f1a403ae8bc98b814ab17f52dc..72d0b475136d50f47ab53fa604b2ca13f7200ab0 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/DoubleTrapezoidVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/DoubleTrapezoidVolumeBounds.h @@ -1,191 +1,191 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// DoubleTrapezoidVolumeBounds.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H -#define TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H - -// Trk -#include "TrkVolumes/VolumeBounds.h" -#include "TrkDetDescrUtils/EightObjectsAccessor.h" -#include "GeoPrimitives/GeoPrimitives.h" - - -class MsgStream; - -namespace Trk { - - class Surface; - class RectangleBounds; - class TrapezoidBounds; - class DiamondBounds; - - /** - @class DoubleTrapezoidVolumeBounds - - Bounds for a double trapezoidal shaped Volume, the decomposeToSurfaces method creates a - vector of 8 surfaces: - - BoundarySurfaceFace [index]: - - - negativeFaceXY [0] : Diamond Trk::PlaneSurface, - parallel to \f$ xy \f$ plane at negative \f$ z \f$ - - positiveFaceXY [1] : Diamond Trk::PlaneSurface, - parallel to \f$ xy \f$ plane at positive \f$ z \f$ - - trapezoidFaceAlpha1 [2] : Rectangular Trk::PlaneSurface, - attached to [0] and [1] at negative \f$ x \f$ (associated to alpha1) - - trapezoidFaceBeta1 [3] : Rectangular Trk::PlaneSurface, - attached to [0] and [1] at positive \f$ x \f$ (associated to beta1) - - trapezoidFaceAlpha2 [5] : Rectangular Trk::PlaneSurface, - attached to [0] and [1] at negative \f$ x \f$ (associated to alpha2) - - trapezoidFaceBeta2 [6] : Rectangular Trk::PlaneSurface, - attached to [0] and [1] at positive \f$ x \f$ (associated to beta2) - - negativeFaceZX [4] : Rectangular Trk::PlaneSurface, - parallel to \f$ zx \f$ plane at negative \f$ y \f$ - - positiveFaceZX [5] : Rectangular Trk::PlaneSurface, - parallel to \f$ zx \f$ plane at positive \f$ y \f$ - - @internal - @image html DoubleTrapezoidVolumeBounds_decomp.gif - @endinternal - - @author Andreas.Salzburger@cern.ch , Sarka.Todorova@cern.ch - */ - - class DoubleTrapezoidVolumeBounds : public VolumeBounds { - - public: - /**Default Constructor*/ - DoubleTrapezoidVolumeBounds(); - - /**Constructor - the double trapezoid boundaries (symmetric trapezoid/diamond) */ - DoubleTrapezoidVolumeBounds(double minhlenghtx, double medhlengthx, double maxhlengthx, double hlenghty1, double hlenghty2, double hlengthz); - - /**Copy Constructor */ - DoubleTrapezoidVolumeBounds(const DoubleTrapezoidVolumeBounds& bobo); - - /**Destructor */ - virtual ~DoubleTrapezoidVolumeBounds(); - - /**Assignment operator*/ - DoubleTrapezoidVolumeBounds& operator=(const DoubleTrapezoidVolumeBounds& bobo); - - /**Virtual constructor */ - DoubleTrapezoidVolumeBounds* clone() const override; - - /**This method checks if position in the 3D volume frame is inside the cylinder*/ - bool inside(const Amg::Vector3D& , double tol=0.) const override; - - /** Method to decompose the Bounds into Surfaces */ - const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; - - /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; - - /**This method returns the X halflength at minimal Y*/ - double minHalflengthX() const; - - /**This method returns the (maximal) halflength in local x*/ - double medHalflengthX() const; - - /**This method returns the X halflength at maximal Y (local coordinates)*/ - double maxHalflengthX() const; - - /**This method returns the halflength1 in local y*/ - double halflengthY1() const; - - /**This method returns the halflength2 in local y*/ - double halflengthY2() const; - - /**This method returns the halflength in local z*/ - double halflengthZ() const; - - /**This method returns the opening angle in point A (negative local x)*/ - double alpha1() const; - - /**This method returns the opening angle in point A' (negative local x)*/ - double alpha2() const; - - /** Output Method for MsgStream*/ - MsgStream& dump(MsgStream& sl) const override; - /** Output Method for std::ostream */ - std::ostream& dump(std::ostream& sl) const override; - - private: - /** This method returns the associated DoubleTrapezoidBounds of the face PlaneSurface parallel to local xy plane */ - DiamondBounds* faceXYDiamondBounds() const; - - /** This method returns the associated RecantleBounds of the face PlaneSurface attached to alpha (negative local x)*/ - RectangleBounds* faceAlpha1RectangleBounds() const; - RectangleBounds* faceAlpha2RectangleBounds() const; - - /** This method returns the associated RecantleBounds of the face PlaneSurface attached to beta (positive local x)*/ - RectangleBounds* faceBeta1RectangleBounds() const; - RectangleBounds* faceBeta2RectangleBounds() const; - - /** This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, negative local y */ - RectangleBounds* faceZXRectangleBoundsBottom() const; - - /** This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, positive local y */ - RectangleBounds* faceZXRectangleBoundsTop() const; - -#ifdef TRKDETDESCR_USEFLOATPRECISON -#define double float -#endif - double m_minHalfX; //!< minimal Y halflength in x - double m_medHalfX; //!< maximal halflength in x - double m_maxHalfX; //!< maximal Y halflength in x - double m_halfY1; //!< halflength in y - double m_halfY2; //!< halflength in y - double m_halfZ; //!< halflength in z - - double m_alpha1; //!< opening angle alpha (in point A) - double m_alpha2; //!< opening angle alpha (in point A') -#ifdef TRKDETDESCR_USEFLOATPRECISON -#undef double -#endif - - /** There's only one single object Acessor for the moment - has to be implemented if Cuboids are used more widely */ - Trk::EightObjectsAccessor m_objectAccessor; - - }; - - inline DoubleTrapezoidVolumeBounds* DoubleTrapezoidVolumeBounds::clone() const - { return new DoubleTrapezoidVolumeBounds(*this); } - - inline double DoubleTrapezoidVolumeBounds::minHalflengthX() const { return m_minHalfX; } - - inline double DoubleTrapezoidVolumeBounds::medHalflengthX() const { return m_medHalfX; } - - inline double DoubleTrapezoidVolumeBounds::maxHalflengthX() const { return m_maxHalfX; } - - inline double DoubleTrapezoidVolumeBounds::halflengthY1() const { return m_halfY1; } - - inline double DoubleTrapezoidVolumeBounds::halflengthY2() const { return m_halfY2; } - - inline double DoubleTrapezoidVolumeBounds::halflengthZ() const { return m_halfZ; } - - inline double DoubleTrapezoidVolumeBounds::alpha1() const { return m_alpha1; } - - inline double DoubleTrapezoidVolumeBounds::alpha2() const { return m_alpha2; } - - inline const ObjectAccessor& DoubleTrapezoidVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, - const Amg::Vector3D&, - bool) const - { return(m_objectAccessor); } - - -} - - -#endif // TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H - - - +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +/////////////////////////////////////////////////////////////////// +// DoubleTrapezoidVolumeBounds.h, (c) ATLAS Detector software +/////////////////////////////////////////////////////////////////// + +#ifndef TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H +#define TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H + +// Trk +#include "TrkVolumes/VolumeBounds.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" +#include "GeoPrimitives/GeoPrimitives.h" + + +class MsgStream; + +namespace Trk { + + class Surface; + class RectangleBounds; + class TrapezoidBounds; + class DiamondBounds; + + /** + @class DoubleTrapezoidVolumeBounds + + Bounds for a double trapezoidal shaped Volume, the decomposeToSurfaces method creates a + vector of 8 surfaces: + + BoundarySurfaceFace [index]: + + - negativeFaceXY [0] : Diamond Trk::PlaneSurface, + parallel to \f$ xy \f$ plane at negative \f$ z \f$ + - positiveFaceXY [1] : Diamond Trk::PlaneSurface, + parallel to \f$ xy \f$ plane at positive \f$ z \f$ + - trapezoidFaceAlpha1 [2] : Rectangular Trk::PlaneSurface, + attached to [0] and [1] at negative \f$ x \f$ (associated to alpha1) + - trapezoidFaceBeta1 [3] : Rectangular Trk::PlaneSurface, + attached to [0] and [1] at positive \f$ x \f$ (associated to beta1) + - trapezoidFaceAlpha2 [5] : Rectangular Trk::PlaneSurface, + attached to [0] and [1] at negative \f$ x \f$ (associated to alpha2) + - trapezoidFaceBeta2 [6] : Rectangular Trk::PlaneSurface, + attached to [0] and [1] at positive \f$ x \f$ (associated to beta2) + - negativeFaceZX [4] : Rectangular Trk::PlaneSurface, + parallel to \f$ zx \f$ plane at negative \f$ y \f$ + - positiveFaceZX [5] : Rectangular Trk::PlaneSurface, + parallel to \f$ zx \f$ plane at positive \f$ y \f$ + + @internal + @image html DoubleTrapezoidVolumeBounds_decomp.gif + @endinternal + + @author Andreas.Salzburger@cern.ch , Sarka.Todorova@cern.ch + */ + + class DoubleTrapezoidVolumeBounds : public VolumeBounds { + + public: + /**Default Constructor*/ + DoubleTrapezoidVolumeBounds(); + + /**Constructor - the double trapezoid boundaries (symmetric trapezoid/diamond) */ + DoubleTrapezoidVolumeBounds(double minhlenghtx, double medhlengthx, double maxhlengthx, double hlenghty1, double hlenghty2, double hlengthz); + + /**Copy Constructor */ + DoubleTrapezoidVolumeBounds(const DoubleTrapezoidVolumeBounds& bobo); + + /**Destructor */ + virtual ~DoubleTrapezoidVolumeBounds(); + + /**Assignment operator*/ + DoubleTrapezoidVolumeBounds& operator=(const DoubleTrapezoidVolumeBounds& bobo); + + /**Virtual constructor */ + DoubleTrapezoidVolumeBounds* clone() const override; + + /**This method checks if position in the 3D volume frame is inside the cylinder*/ + bool inside(const Amg::Vector3D& , double tol=0.) const override; + + /** Method to decompose the Bounds into Surfaces */ + const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; + + /** Provide accessor for BoundarySurfaces */ + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; + + /**This method returns the X halflength at minimal Y*/ + double minHalflengthX() const; + + /**This method returns the (maximal) halflength in local x*/ + double medHalflengthX() const; + + /**This method returns the X halflength at maximal Y (local coordinates)*/ + double maxHalflengthX() const; + + /**This method returns the halflength1 in local y*/ + double halflengthY1() const; + + /**This method returns the halflength2 in local y*/ + double halflengthY2() const; + + /**This method returns the halflength in local z*/ + double halflengthZ() const; + + /**This method returns the opening angle in point A (negative local x)*/ + double alpha1() const; + + /**This method returns the opening angle in point A' (negative local x)*/ + double alpha2() const; + + /** Output Method for MsgStream*/ + MsgStream& dump(MsgStream& sl) const override; + /** Output Method for std::ostream */ + std::ostream& dump(std::ostream& sl) const override; + + private: + /** This method returns the associated DoubleTrapezoidBounds of the face PlaneSurface parallel to local xy plane */ + DiamondBounds* faceXYDiamondBounds() const; + + /** This method returns the associated RecantleBounds of the face PlaneSurface attached to alpha (negative local x)*/ + RectangleBounds* faceAlpha1RectangleBounds() const; + RectangleBounds* faceAlpha2RectangleBounds() const; + + /** This method returns the associated RecantleBounds of the face PlaneSurface attached to beta (positive local x)*/ + RectangleBounds* faceBeta1RectangleBounds() const; + RectangleBounds* faceBeta2RectangleBounds() const; + + /** This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, negative local y */ + RectangleBounds* faceZXRectangleBoundsBottom() const; + + /** This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, positive local y */ + RectangleBounds* faceZXRectangleBoundsTop() const; + +#ifdef TRKDETDESCR_USEFLOATPRECISON +#define double float +#endif + double m_minHalfX; //!< minimal Y halflength in x + double m_medHalfX; //!< maximal halflength in x + double m_maxHalfX; //!< maximal Y halflength in x + double m_halfY1; //!< halflength in y + double m_halfY2; //!< halflength in y + double m_halfZ; //!< halflength in z + + double m_alpha1; //!< opening angle alpha (in point A) + double m_alpha2; //!< opening angle alpha (in point A') +#ifdef TRKDETDESCR_USEFLOATPRECISON +#undef double +#endif + + /** There's only one single object Acessor for the moment + has to be implemented if Cuboids are used more widely */ + Trk::EightObjectsAccessor m_objectAccessor; + + }; + + inline DoubleTrapezoidVolumeBounds* DoubleTrapezoidVolumeBounds::clone() const + { return new DoubleTrapezoidVolumeBounds(*this); } + + inline double DoubleTrapezoidVolumeBounds::minHalflengthX() const { return m_minHalfX; } + + inline double DoubleTrapezoidVolumeBounds::medHalflengthX() const { return m_medHalfX; } + + inline double DoubleTrapezoidVolumeBounds::maxHalflengthX() const { return m_maxHalfX; } + + inline double DoubleTrapezoidVolumeBounds::halflengthY1() const { return m_halfY1; } + + inline double DoubleTrapezoidVolumeBounds::halflengthY2() const { return m_halfY2; } + + inline double DoubleTrapezoidVolumeBounds::halflengthZ() const { return m_halfZ; } + + inline double DoubleTrapezoidVolumeBounds::alpha1() const { return m_alpha1; } + + inline double DoubleTrapezoidVolumeBounds::alpha2() const { return m_alpha2; } + + inline ObjectAccessor DoubleTrapezoidVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + const Amg::Vector3D&, + bool) const + { return Trk::ObjectAccessor(m_objectAccessor); } + + +} + + +#endif // TRKVOLUMES_DOUBLETRAPEZOIDVOLUMESBOUNDS_H + + + diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/PrismVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/PrismVolumeBounds.h index aac0249358c69b71635b32e21557126d6c8633ff..503384a291596f23f0d37fc6b1d362187e84d188 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/PrismVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/PrismVolumeBounds.h @@ -11,7 +11,7 @@ // Trk #include "TrkVolumes/VolumeBounds.h" -#include "TrkDetDescrUtils/EightObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" #include "GeoPrimitives/GeoPrimitives.h" class MsgStream; @@ -70,9 +70,9 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; #ifdef TRKDETDESCR_USEFLOATPRECISON #define double float @@ -133,10 +133,10 @@ namespace Trk { inline double PrismVolumeBounds::halflengthZ() const { return m_halfZ; } - inline const ObjectAccessor& PrismVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + inline ObjectAccessor PrismVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, const Amg::Vector3D&, bool) const - { return(m_objectAccessor); } + { return Trk::ObjectAccessor(m_objectAccessor); } } diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SimplePolygonBrepVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SimplePolygonBrepVolumeBounds.h index e7a8a5b45ae675b28dee60dd800730e76ba15360..bf5b18f193fbdf7090ff80c3e35d1bb1ad075617 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SimplePolygonBrepVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SimplePolygonBrepVolumeBounds.h @@ -11,7 +11,7 @@ // Trk #include "TrkVolumes/VolumeBounds.h" -#include "TrkDetDescrUtils/EightObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" #include "GeoPrimitives/GeoPrimitives.h" class MsgStream; @@ -70,9 +70,9 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; #ifdef TRKDETDESCR_USEFLOATPRECISON #define double float #endif @@ -154,10 +154,10 @@ namespace Trk { inline const Trk::Volume* SimplePolygonBrepVolumeBounds::envelope() const { return m_envelope; } - inline const ObjectAccessor& SimplePolygonBrepVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, - const Amg::Vector3D&, - bool) const - { return(m_objectAccessor); } + inline ObjectAccessor SimplePolygonBrepVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + const Amg::Vector3D&, + bool) const + { return Trk::ObjectAccessor(m_objectAccessor); } } diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SubtractedVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SubtractedVolumeBounds.h index 48aed85fd14cdd75735c81167a257c72d45850aa..8826bc69e1d8002e9306696fe43386d35479db9d 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SubtractedVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/SubtractedVolumeBounds.h @@ -12,7 +12,7 @@ // Trk #include "TrkVolumes/VolumeBounds.h" #include "TrkVolumes/Volume.h" -#include "TrkDetDescrUtils/EightObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" //Eigen #include "GeoPrimitives/GeoPrimitives.h" @@ -66,9 +66,9 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; /**This method returns the outer Volume*/ Volume* outer() const; @@ -112,10 +112,10 @@ namespace Trk { inline Volume* SubtractedVolumeBounds::inner() const { return m_inner; } - inline const ObjectAccessor& SubtractedVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, - const Amg::Vector3D&, - bool) const - { return(m_objectAccessor); } + inline ObjectAccessor SubtractedVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + const Amg::Vector3D&, + bool) const + { return Trk::ObjectAccessor(m_objectAccessor); } inline const std::vector<bool> SubtractedVolumeBounds::boundsOrientation() const { return(m_boundsOrientation); } diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/TrapezoidVolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/TrapezoidVolumeBounds.h index 63325494fd2583b3cdcc35eff0e565ec38b6a01c..71e9b1cdceb642f43fb7c559bb0b0c411043f1a2 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/TrapezoidVolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/TrapezoidVolumeBounds.h @@ -11,7 +11,7 @@ // Trk #include "TrkVolumes/VolumeBounds.h" -#include "TrkDetDescrUtils/SixObjectsAccessor.h" +#include "TrkDetDescrUtils/ObjectsAccessor.h" #include "GeoPrimitives/GeoPrimitives.h" @@ -80,9 +80,9 @@ namespace Trk { const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const override; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const override; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const override; /**This method returns the minimal halflength in local x*/ double minHalflengthX() const; @@ -154,10 +154,10 @@ namespace Trk { inline double TrapezoidVolumeBounds::alpha() const { return m_alpha; } inline double TrapezoidVolumeBounds::beta() const { return m_beta; } -inline const ObjectAccessor& TrapezoidVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, - const Amg::Vector3D&, - bool) const - { return(m_objectAccessor); } + inline ObjectAccessor TrapezoidVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D&, + const Amg::Vector3D&, + bool) const + { return Trk::ObjectAccessor(m_objectAccessor); } } diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/Volume.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/Volume.h index 4bcb8bb08883eaf39978321665a19e84e58932d5..428bcdc8bac7351b4e6ab6d6b95dc52da67ad22e 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/Volume.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/Volume.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -12,15 +12,15 @@ //Trk #include "TrkDetDescrUtils/GeometryStatics.h" #include "TrkDetDescrUtils/SharedObject.h" +#include "TrkDetDescrUtils/ObjectAccessor.h" #include "GeoPrimitives/GeoPrimitives.h" -#include "CLIDSvc/CLASS_DEF.h" +#include "AthenaKernel/CLASS_DEF.h" class MsgStream; namespace Trk { class VolumeBounds; - class ObjectAccessor; /** @class Volume @@ -66,9 +66,9 @@ namespace Trk { bool inside(const Amg::Vector3D& gp, double tol=0.) const ; /** Provide accessor for BoundarySurfaces */ - const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& mom, - bool forceInside=false) const; + ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& mom, + bool forceInside=false) const; protected: mutable Amg::Transform3D* m_transform; //!< HepGeom::Transform3D mutable Amg::Vector3D* m_center; //!< center position of the surface diff --git a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/VolumeBounds.h b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/VolumeBounds.h index faf2b27dfc7c51be880ee27e313b5004cc8c11f5..f5dda23eca544177a57a75026746cfc4c46c02db 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/VolumeBounds.h +++ b/Tracking/TrkDetDescr/TrkVolumes/TrkVolumes/VolumeBounds.h @@ -16,12 +16,12 @@ #include "GaudiKernel/MsgStream.h" // Trk #include "GeoPrimitives/GeoPrimitives.h" +#include "TrkDetDescrUtils/ObjectAccessor.h" namespace Trk { class Surface; class Volume; - class ObjectAccessor; /** @class VolumeBounds @@ -59,9 +59,9 @@ namespace Trk { virtual const std::vector<const Trk::Surface*>* decomposeToSurfaces(const Amg::Transform3D& transform) const = 0; /** Provide accessor for BoundarySurfaces */ - virtual const ObjectAccessor& boundarySurfaceAccessor(const Amg::Vector3D& gp, - const Amg::Vector3D& dir, - bool forceInside=false) const = 0; + virtual ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D& gp, + const Amg::Vector3D& dir, + bool forceInside=false) const = 0; /** Output Method for MsgStream, to be overloaded by child classes */ virtual MsgStream& dump(MsgStream& sl) const = 0; diff --git a/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBoundaryAccessors.cxx b/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBoundaryAccessors.cxx index 6300527564e8a550707491c57b02e1c9b540b179..b1e75954cc226e8d87a925132c1abde4e86726b5 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBoundaryAccessors.cxx +++ b/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBoundaryAccessors.cxx @@ -15,49 +15,49 @@ Trk::BevelledCylinderVolumeBoundaryAccessors::BevelledCylinderVolumeBoundaryAcce //------------------------------------------------------------- // the cylinder case // CylinderZincrease = 0 - m_bevelledcylinderAccessors[Trk::BevelledCylinderZincrease] = Trk::ThreeObjectsAccessor(2,1,0); + m_bevelledcylinderAccessors[Trk::BevelledCylinderZincrease] = Trk::ThreeObjectsAccessor{2,1,0}; // CylinderZincrease = 1 - m_bevelledcylinderAccessors[Trk::BevelledCylinderZdecrease] = Trk::ThreeObjectsAccessor(2,0,1); + m_bevelledcylinderAccessors[Trk::BevelledCylinderZdecrease] = Trk::ThreeObjectsAccessor{2,0,1}; // CylinderZincrease = 2 - m_bevelledcylinderAccessors[Trk::BevelledCylinderPositiveFace] = Trk::ThreeObjectsAccessor(1,2,0); + m_bevelledcylinderAccessors[Trk::BevelledCylinderPositiveFace] = Trk::ThreeObjectsAccessor{1,2,0}; // CylinderZincrease = 3 - m_bevelledcylinderAccessors[Trk::BevelledCylinderNegativeFace] = Trk::ThreeObjectsAccessor(0,2,1); + m_bevelledcylinderAccessors[Trk::BevelledCylinderNegativeFace] = Trk::ThreeObjectsAccessor{0,2,1}; //------------------------------------------------------------- // the tube case //(A) non-inverse cases // RincreaseZincrease = 0 - m_bevelledtubeAccessors[Trk::BevelledTubeRincreaseZincrease] = Trk::FourObjectsAccessor(2,1,0,3); + m_bevelledtubeAccessors[Trk::BevelledTubeRincreaseZincrease] = Trk::FourObjectsAccessor{{2,1,0,3},false}; // RincreaseZdecrease = 1 - m_bevelledtubeAccessors[Trk::BevelledTubeRincreaseZdecrease] = Trk::FourObjectsAccessor(2,0,1,3); + m_bevelledtubeAccessors[Trk::BevelledTubeRincreaseZdecrease] = Trk::FourObjectsAccessor{{2,0,1,3},false}; // ZincreaseRincrease = 2 - m_bevelledtubeAccessors[Trk::BevelledTubeZincreaseRincrease] = Trk::FourObjectsAccessor(1,2,0,3); + m_bevelledtubeAccessors[Trk::BevelledTubeZincreaseRincrease] = Trk::FourObjectsAccessor{{1,2,0,3},false}; // ZdecreaseRincrease = 3 - m_bevelledtubeAccessors[Trk::BevelledTubeZdecreaseRincrease] = Trk::FourObjectsAccessor(0,2,1,3); + m_bevelledtubeAccessors[Trk::BevelledTubeZdecreaseRincrease] = Trk::FourObjectsAccessor{{0,2,1,3},false}; // RdecreaseZincrease = 4 - m_bevelledtubeAccessors[Trk::BevelledTubeRdecreaseZincrease] = Trk::FourObjectsAccessor(3,1,0,2); + m_bevelledtubeAccessors[Trk::BevelledTubeRdecreaseZincrease] = Trk::FourObjectsAccessor{{3,1,0,2},false}; // RdecreaseZdecrease = 5 - m_bevelledtubeAccessors[Trk::BevelledTubeRdecreaseZdecrease] = Trk::FourObjectsAccessor(3,0,1,2); + m_bevelledtubeAccessors[Trk::BevelledTubeRdecreaseZdecrease] = Trk::FourObjectsAccessor{{3,0,1,2},false}; // ZincreaseRdecrease = 6 - m_bevelledtubeAccessors[Trk::BevelledTubeZincreaseRdecrease] = Trk::FourObjectsAccessor(1,3,0,2); + m_bevelledtubeAccessors[Trk::BevelledTubeZincreaseRdecrease] = Trk::FourObjectsAccessor{{1,3,0,2},false}; // ZdecreaseRdecrease = 7 - m_bevelledtubeAccessors[Trk::BevelledTubeZdecreaseRdecrease] = Trk::FourObjectsAccessor(0,3,1,2); + m_bevelledtubeAccessors[Trk::BevelledTubeZdecreaseRdecrease] = Trk::FourObjectsAccessor{{0,3,1,2},false}; //(B) inverse cases // TubeOutsideRminRdecrease = 8 - m_bevelledtubeAccessors[Trk::BevelledTubeOutsideRminRdecrease] = Trk::FourObjectsAccessor(3,1,0,2, true); + m_bevelledtubeAccessors[Trk::BevelledTubeOutsideRminRdecrease] = Trk::FourObjectsAccessor {{3,1,0,2}, true}; // TubeOutsideRmaxRincrease = 9 - m_bevelledtubeAccessors[Trk::BevelledTubeOutsideRmaxRincrease] = Trk::FourObjectsAccessor(2,1,0,3, true); + m_bevelledtubeAccessors[Trk::BevelledTubeOutsideRmaxRincrease] = Trk::FourObjectsAccessor{{2,1,0,3}, true}; // TubeOutsideZminZdecrease = 10 - m_bevelledtubeAccessors[Trk::BevelledTubeOutsideZminZdecrease] = Trk::FourObjectsAccessor(0,3,2,1, true); + m_bevelledtubeAccessors[Trk::BevelledTubeOutsideZminZdecrease] = Trk::FourObjectsAccessor{{0,3,2,1}, true}; // TubeOutsideZmaxZincrease = 11 - m_bevelledtubeAccessors[Trk::BevelledTubeOutsideZmaxZincrease] = Trk::FourObjectsAccessor(1,3,2,0, true); + m_bevelledtubeAccessors[Trk::BevelledTubeOutsideZmaxZincrease] = Trk::FourObjectsAccessor{{1,3,2,0}, true}; //------------------------------------------------------------- // the sectoral cylinder case - m_sectoralBevelledCylinderAccessors[Trk::StandardSectoralBevelledCylinder] = Trk::FiveObjectsAccessor(0,1,2,3,4); + m_sectoralBevelledCylinderAccessors[Trk::StandardSectoralBevelledCylinder] = Trk::FiveObjectsAccessor{0,1,2,3,4}; //------------------------------------------------------------- // the sectoral tube case - m_sectoralBevelledTubeAccessors[Trk::StandardSectoralBevelledTube] = Trk::SixObjectsAccessor(0,1,2,3,4,5); + m_sectoralBevelledTubeAccessors[Trk::StandardSectoralBevelledTube] = Trk::SixObjectsAccessor{0,1,2,3,4,5}; //------------------------------------------------------------- } diff --git a/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBounds.cxx b/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBounds.cxx index 8b8eaacbf88876c7ac815bcedf8671e2a2f45272..6c6af26fb6e46111b11a6c5ae395574472acf7a5 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBounds.cxx +++ b/Tracking/TrkDetDescr/TrkVolumes/src/BevelledCylinderVolumeBounds.cxx @@ -214,7 +214,7 @@ const std::vector<const Trk::Surface*>* Trk::BevelledCylinderVolumeBounds::decom -const Trk::ObjectAccessor& Trk::BevelledCylinderVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D& gp, +Trk::ObjectAccessor Trk::BevelledCylinderVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D& gp, const Amg::Vector3D& dir, bool) const { @@ -259,39 +259,39 @@ const Trk::ObjectAccessor& Trk::BevelledCylinderVolumeBounds::boundarySurfaceAcc double zOfIntersect = intersectRmax.yOfX; // now check if the intersect is inside m_halfZ if (fabs(zOfIntersect) <= m_halfZ) - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZincrease) : - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZdecrease); + return Trk::ObjectAccessor((choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZincrease) : + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZdecrease)); // if the intersect is outside - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRincrease) : - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRincrease); + return Trk::ObjectAccessor((choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRincrease) : + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRincrease)); } // intersect the Rmin Trk::BevelledBoundaryIntersector intersectRmin(posR,posZ,deltaZ/deltaR, m_innerRadius); double zOfIntersect = intersectRmin.yOfX; // now check if the intersect is inside m_halfZ if (fabs(zOfIntersect) <= m_halfZ) - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZincrease) : - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZdecrease); + return Trk::ObjectAccessor((choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZincrease) : + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZdecrease) ); // if the intersect is outside - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRdecrease) : - m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRdecrease); + return Trk::ObjectAccessor( (choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRdecrease) : + m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRdecrease) ); } // ================================================================================================= // ======================= the inside/outside part remains ========================================= // (a) outside cases if (posR < m_innerRadius && deltaR < 0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideRminRdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideRminRdecrease)); if (posR > m_outerRadius && deltaR > 0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideRmaxRincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideRmaxRincrease) ); if (posZ < -m_halfZ && deltaZ < 0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideZminZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideZminZdecrease) ); if (posZ > m_halfZ && deltaZ > 0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideZmaxZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeOutsideZmaxZincrease) ); // (b) inside cases // the increase R case if (deltaR>0.){ @@ -300,13 +300,13 @@ const Trk::ObjectAccessor& Trk::BevelledCylinderVolumeBounds::boundarySurfaceAcc double zOfIntersect = intersectRmax.yOfX; if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect>0. ) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZincrease) ); if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZdecrease); + return Trk::ObjectAccessor(m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRincreaseZdecrease)); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRincrease) ); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRincrease) ); } else { @@ -315,12 +315,12 @@ const Trk::ObjectAccessor& Trk::BevelledCylinderVolumeBounds::boundarySurfaceAcc double zOfIntersect = intersectRmin.yOfX; if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZincrease) ); if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeRdecreaseZdecrease) ); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRdecrease); - return m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZincreaseRdecrease) ); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledtubeAccessor(Trk::BevelledTubeZdecreaseRdecrease) ); } } // the cylinder case @@ -340,19 +340,19 @@ const Trk::ObjectAccessor& Trk::BevelledCylinderVolumeBounds::boundarySurfaceAcc double zOfIntersect = intersectR.yOfX; if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect>0. ) - return m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderZincrease) ); if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderZdecrease) ); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderPositiveFace); - return m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderNegativeFace); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderPositiveFace)); + return Trk::ObjectAccessor( m_boundaryAccessors.bevelledcylinderAccessor(Trk::BevelledCylinderNegativeFace) ); } // the sectoral cylinder case if (m_innerRadius!=0. && fabs(m_halfPhiSector-M_PI)>10e-3) - return m_boundaryAccessors.sectoralBevelledCylinderAccessor(Trk::StandardSectoralBevelledCylinder); + return Trk::ObjectAccessor( m_boundaryAccessors.sectoralBevelledCylinderAccessor(Trk::StandardSectoralBevelledCylinder) ); // it remains the sectoral tube case - return m_boundaryAccessors.sectoralBevelledTubeAccessor(Trk::StandardSectoralBevelledTube); + return Trk::ObjectAccessor( m_boundaryAccessors.sectoralBevelledTubeAccessor(Trk::StandardSectoralBevelledTube) ); } diff --git a/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBoundaryAccessors.cxx b/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBoundaryAccessors.cxx index 4179fd9114c293529ef15c088ace7e6c96b9c658..d8a68e326dcac17a4a1c36191dcee9fe0dad7856 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBoundaryAccessors.cxx +++ b/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBoundaryAccessors.cxx @@ -13,71 +13,71 @@ Trk::CylinderVolumeBoundaryAccessors::CylinderVolumeBoundaryAccessors() { - //------------------------------------------------------------- + //------------------------------------------------------------- // the cylinder case // CylinderZincrease = 0 m_cylinderAccessors[Trk::CylinderZincrease] - = Trk::ThreeObjectsAccessor(Trk::cylinderCover,Trk::positiveFaceXY,Trk::negativeFaceXY); + = Trk::ThreeObjectsAccessor{Trk::cylinderCover,Trk::positiveFaceXY,Trk::negativeFaceXY}; // CylinderZincrease = 1 m_cylinderAccessors[Trk::CylinderZdecrease] - = Trk::ThreeObjectsAccessor(Trk::cylinderCover,Trk::negativeFaceXY,Trk::positiveFaceXY); + = Trk::ThreeObjectsAccessor{Trk::cylinderCover,Trk::negativeFaceXY,Trk::positiveFaceXY}; // CylinderZincrease = 2 m_cylinderAccessors[Trk::CylinderPositiveFace] - = Trk::ThreeObjectsAccessor(Trk::positiveFaceXY,Trk::cylinderCover,Trk::negativeFaceXY); + = Trk::ThreeObjectsAccessor{Trk::positiveFaceXY,Trk::cylinderCover,Trk::negativeFaceXY}; // CylinderZincrease = 3 m_cylinderAccessors[Trk::CylinderNegativeFace] - = Trk::ThreeObjectsAccessor(Trk::negativeFaceXY,Trk::cylinderCover,Trk::positiveFaceXY); - //------------------------------------------------------------- + = Trk::ThreeObjectsAccessor{Trk::negativeFaceXY,Trk::cylinderCover,Trk::positiveFaceXY}; + //------------------------------------------------------------- // the tube case //(A) non-inverse cases // RincreaseZincrease = 0 - m_tubeAccessors[Trk::TubeRincreaseZincrease] - = Trk::FourObjectsAccessor(Trk::tubeOuterCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeInnerCover); + m_tubeAccessors[Trk::TubeRincreaseZincrease] + = Trk::FourObjectsAccessor{{Trk::tubeOuterCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeInnerCover},false}; // RincreaseZdecrease = 1 m_tubeAccessors[Trk::TubeRincreaseZdecrease] - = Trk::FourObjectsAccessor(Trk::tubeOuterCover,Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeInnerCover); + = Trk::FourObjectsAccessor{{Trk::tubeOuterCover,Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeInnerCover},false}; // ZincreaseRincrease = 2 m_tubeAccessors[Trk::TubeZincreaseRincrease] - = Trk::FourObjectsAccessor(Trk::positiveFaceXY,Trk::tubeOuterCover,Trk::negativeFaceXY,Trk::tubeInnerCover); + = Trk::FourObjectsAccessor{{Trk::positiveFaceXY,Trk::tubeOuterCover,Trk::negativeFaceXY,Trk::tubeInnerCover},false}; // ZdecreaseRincrease = 3 m_tubeAccessors[Trk::TubeZdecreaseRincrease] - = Trk::FourObjectsAccessor(Trk::negativeFaceXY,Trk::tubeOuterCover,Trk::positiveFaceXY,Trk::tubeInnerCover); + = Trk::FourObjectsAccessor{{Trk::negativeFaceXY,Trk::tubeOuterCover,Trk::positiveFaceXY,Trk::tubeInnerCover},false}; // RdecreaseZincrease = 4 m_tubeAccessors[Trk::TubeRdecreaseZincrease] - = Trk::FourObjectsAccessor(Trk::tubeInnerCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeOuterCover); + = Trk::FourObjectsAccessor{{Trk::tubeInnerCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeOuterCover},false}; // RdecreaseZdecrease = 5 m_tubeAccessors[Trk::TubeRdecreaseZdecrease] - = Trk::FourObjectsAccessor(Trk::tubeInnerCover,Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeOuterCover); + = Trk::FourObjectsAccessor{{Trk::tubeInnerCover,Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeOuterCover},false}; // ZincreaseRdecrease = 6 m_tubeAccessors[Trk::TubeZincreaseRdecrease] - = Trk::FourObjectsAccessor(Trk::positiveFaceXY,Trk::tubeInnerCover,Trk::negativeFaceXY,Trk::tubeOuterCover); + = Trk::FourObjectsAccessor{{Trk::positiveFaceXY,Trk::tubeInnerCover,Trk::negativeFaceXY,Trk::tubeOuterCover},false}; // ZdecreaseRdecrease = 7 m_tubeAccessors[Trk::TubeZdecreaseRdecrease] - = Trk::FourObjectsAccessor(Trk::negativeFaceXY,Trk::tubeInnerCover,Trk::positiveFaceXY,Trk::tubeOuterCover); + = Trk::FourObjectsAccessor{{Trk::negativeFaceXY,Trk::tubeInnerCover,Trk::positiveFaceXY,Trk::tubeOuterCover},false}; //(B) inverse cases // TubeOutsideRminRdecrease = 8 m_tubeAccessors[Trk::TubeOutsideRminRdecrease] - = Trk::FourObjectsAccessor(Trk::tubeInnerCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeOuterCover, true); + = Trk::FourObjectsAccessor{{Trk::tubeInnerCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeOuterCover}, true}; // TubeOutsideRmaxRincrease = 9 m_tubeAccessors[Trk::TubeOutsideRmaxRincrease] - = Trk::FourObjectsAccessor(Trk::tubeOuterCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeInnerCover, true); + = Trk::FourObjectsAccessor{{Trk::tubeOuterCover,Trk::positiveFaceXY,Trk::negativeFaceXY,Trk::tubeInnerCover}, true}; // TubeOutsideZminZdecrease = Trk::positiveFaceXYTrk::negativeFaceXY m_tubeAccessors[Trk::TubeOutsideZminZdecrease] - = Trk::FourObjectsAccessor(Trk::negativeFaceXY,Trk::tubeInnerCover,Trk::tubeOuterCover,Trk::positiveFaceXY, true); + = Trk::FourObjectsAccessor{{Trk::negativeFaceXY,Trk::tubeInnerCover,Trk::tubeOuterCover,Trk::positiveFaceXY}, true}; // TubeOutsideZmaxZincrease = Trk::positiveFaceXYTrk::positiveFaceXY m_tubeAccessors[Trk::TubeOutsideZmaxZincrease] - = Trk::FourObjectsAccessor(Trk::positiveFaceXY,Trk::tubeInnerCover,Trk::tubeOuterCover,Trk::negativeFaceXY, true); - + = Trk::FourObjectsAccessor{{Trk::positiveFaceXY,Trk::tubeInnerCover,Trk::tubeOuterCover,Trk::negativeFaceXY}, true}; - //------------------------------------------------------------- + + //------------------------------------------------------------- // the sectoral cylinder case m_sectoralCylinderAccessors[Trk::StandardSectoralCylinder] - = Trk::FiveObjectsAccessor(Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeOuterCover,Trk::tubeInnerCover,4); - //------------------------------------------------------------- + = Trk::FiveObjectsAccessor{Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeOuterCover,Trk::tubeInnerCover,4}; + //------------------------------------------------------------- // the sectoral tube case m_sectoralTubeAccessors[Trk::StandardSectoralTube] - = Trk::SixObjectsAccessor(Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeOuterCover,Trk::tubeInnerCover,4,5); - //------------------------------------------------------------- + = Trk::SixObjectsAccessor{Trk::negativeFaceXY,Trk::positiveFaceXY,Trk::tubeOuterCover,Trk::tubeInnerCover,4,5}; + //------------------------------------------------------------- } Trk::CylinderVolumeBoundaryAccessors::~CylinderVolumeBoundaryAccessors() diff --git a/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBounds.cxx b/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBounds.cxx index c5724b27bdfbb167b42f75602c53f5bd4bded9f7..509c72d02950944617428b6d5f77bd8f800b76ae 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBounds.cxx +++ b/Tracking/TrkDetDescr/TrkVolumes/src/CylinderVolumeBounds.cxx @@ -131,7 +131,7 @@ const std::vector<const Trk::Surface*>* Trk::CylinderVolumeBounds::decomposeToSu -const Trk::ObjectAccessor& Trk::CylinderVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D& gp, +Trk::ObjectAccessor Trk::CylinderVolumeBounds::boundarySurfaceAccessor(const Amg::Vector3D& gp, const Amg::Vector3D& dir, bool) const { @@ -176,39 +176,39 @@ const Trk::ObjectAccessor& Trk::CylinderVolumeBounds::boundarySurfaceAccessor(co double zOfIntersect = intersectRmax.yOfX; // now check if the intersect is inside m_halfZ if (fabs(zOfIntersect) <= m_halfZ) - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZincrease) : - m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZdecrease); + return Trk::ObjectAccessor((choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZincrease) : + m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZdecrease) ); // if the intersect is outside - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRincrease) : - m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRincrease); + return Trk::ObjectAccessor((choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRincrease) : + m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRincrease) ); } // intersect the Rmin Trk::CylinderIntersector intersectRmin(posR,posZ,deltaR != 0 ? deltaZ/deltaR : 0, m_innerRadius); double zOfIntersect = intersectRmin.yOfX; // now check if the intersect is inside m_halfZ if (fabs(zOfIntersect) <= m_halfZ) - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZincrease) : - m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZdecrease); + return Trk::ObjectAccessor((choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZincrease) : + m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZdecrease) ); // if the intersect is outside - return (choiceIndicator || zOfIntersect > 0. ) ? - m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRdecrease) : - m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRdecrease); + return Trk::ObjectAccessor( (choiceIndicator || zOfIntersect > 0. ) ? + m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRdecrease) : + m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRdecrease)); } // ================================================================================================= // ======================= the inside/outside part remains ========================================= // (a) outside cases if (posR < m_innerRadius && deltaR < 0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideRminRdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideRminRdecrease) ); if (posR > m_outerRadius && deltaR > 0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideRmaxRincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideRmaxRincrease) ); if (posZ < -m_halfZ && deltaZ < 0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideZminZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideZminZdecrease) ); if (posZ > m_halfZ && deltaZ > 0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideZmaxZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeOutsideZmaxZincrease) ); // (b) inside cases // the increase R case if (deltaR>0.){ @@ -217,13 +217,13 @@ const Trk::ObjectAccessor& Trk::CylinderVolumeBounds::boundarySurfaceAccessor(co double zOfIntersect = intersectRmax.yOfX; if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect>0. ) - return m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZincrease)); if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeRincreaseZdecrease)); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRincrease) ); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRincrease) ); } else { @@ -232,12 +232,12 @@ const Trk::ObjectAccessor& Trk::CylinderVolumeBounds::boundarySurfaceAccessor(co double zOfIntersect = intersectRmin.yOfX; if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZincrease) ); if (fabs(zOfIntersect)<=m_halfZ && zOfIntersect<0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeRdecreaseZdecrease) ); if (fabs(zOfIntersect)>m_halfZ && zOfIntersect>0.) - return m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRdecrease); - return m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeZincreaseRdecrease) ); + return Trk::ObjectAccessor( m_boundaryAccessors.tubeAccessor(Trk::TubeZdecreaseRdecrease) ); } } // the cylinder case @@ -268,18 +268,18 @@ const Trk::ObjectAccessor& Trk::CylinderVolumeBounds::boundarySurfaceAccessor(co // return the cases for going through the cylinder if ( intersectsCylinder && zOfIntersect>0. ) - return m_boundaryAccessors.cylinderAccessor(Trk::CylinderZincrease); + return Trk::ObjectAccessor( m_boundaryAccessors.cylinderAccessor(Trk::CylinderZincrease) ); if ( intersectsCylinder && zOfIntersect<=0.) - return m_boundaryAccessors.cylinderAccessor(Trk::CylinderZdecrease); + return Trk::ObjectAccessor( m_boundaryAccessors.cylinderAccessor(Trk::CylinderZdecrease) ); if ( deltaZ > 0.) - return m_boundaryAccessors.cylinderAccessor(Trk::CylinderPositiveFace); - return m_boundaryAccessors.cylinderAccessor(Trk::CylinderNegativeFace); + return Trk::ObjectAccessor(m_boundaryAccessors.cylinderAccessor(Trk::CylinderPositiveFace) ); + return Trk::ObjectAccessor( m_boundaryAccessors.cylinderAccessor(Trk::CylinderNegativeFace) ); } // the sectoral cylinder case if (m_innerRadius!=0. && fabs(m_halfPhiSector-M_PI)>10e-3) - return m_boundaryAccessors.sectoralCylinderAccessor(Trk::StandardSectoralCylinder); + return Trk::ObjectAccessor( m_boundaryAccessors.sectoralCylinderAccessor(Trk::StandardSectoralCylinder) ); // it remains the sectoral tube case - return m_boundaryAccessors.sectoralTubeAccessor(Trk::StandardSectoralTube); + return Trk::ObjectAccessor( m_boundaryAccessors.sectoralTubeAccessor(Trk::StandardSectoralTube) ); } diff --git a/Tracking/TrkDetDescr/TrkVolumes/src/Volume.cxx b/Tracking/TrkDetDescr/TrkVolumes/src/Volume.cxx index 117f8d838ab21cc1f10cfb32a34e7fdd89049def..b4789ec9d4b4ceef6f8b10a9b676be2b32a3a935 100755 --- a/Tracking/TrkDetDescr/TrkVolumes/src/Volume.cxx +++ b/Tracking/TrkDetDescr/TrkVolumes/src/Volume.cxx @@ -75,12 +75,12 @@ bool Trk::Volume::inside(const Amg::Vector3D& gp, double tol) const } -const Trk::ObjectAccessor& Trk::Volume::boundarySurfaceAccessor(const Amg::Vector3D& gp, +Trk::ObjectAccessor Trk::Volume::boundarySurfaceAccessor(const Amg::Vector3D& gp, const Amg::Vector3D& dir, bool forceInside) const { - if (!m_transform) return volumeBounds().boundarySurfaceAccessor(gp, dir, forceInside); - return volumeBounds().boundarySurfaceAccessor(transform().inverse()*gp, dir, forceInside); + if (!m_transform) return Trk::ObjectAccessor(volumeBounds().boundarySurfaceAccessor(gp, dir, forceInside)); + return Trk::ObjectAccessor(volumeBounds().boundarySurfaceAccessor(transform().inverse()*gp, dir, forceInside)); } /**Overload of << operator for both, MsgStream and std::ostream for debug output*/ diff --git a/Tracking/TrkExtrapolation/TrkExTools/TrkExTools/Extrapolator.h b/Tracking/TrkExtrapolation/TrkExTools/TrkExTools/Extrapolator.h index 4a69bc14d97c5c0c6ef1e4a7f8678a8450a11c5c..ca2e986c8653c6c900496a65b498a87c296eb400 100755 --- a/Tracking/TrkExtrapolation/TrkExTools/TrkExTools/Extrapolator.h +++ b/Tracking/TrkExtrapolation/TrkExTools/TrkExTools/Extrapolator.h @@ -733,7 +733,7 @@ class Extrapolator : public AthAlgTool, ParticleHypothesis particle=pion) const; /** Access the subPropagator to the given volume*/ - const IPropagator* subPropagator(const TrackingVolume& tvol) const; + virtual const IPropagator* subPropagator(const TrackingVolume& tvol) const override; /** Access the subPropagator to the given volume*/ const IMaterialEffectsUpdator* subMaterialEffectsUpdator(const TrackingVolume& tvol) const; diff --git a/Tracking/TrkExtrapolation/TrkExTools/src/Navigator.cxx b/Tracking/TrkExtrapolation/TrkExTools/src/Navigator.cxx index ba05ea279a6f4f15b22ab34d8b8579af68888fb3..6f94d6ac77c9c1d3b8f004e8edc83b44e19890a0 100755 --- a/Tracking/TrkExtrapolation/TrkExTools/src/Navigator.cxx +++ b/Tracking/TrkExtrapolation/TrkExTools/src/Navigator.cxx @@ -142,7 +142,7 @@ Trk::Navigator::nextBoundarySurface(const Trk::IPropagator &prop, } // get the surface accessor - const Trk::ObjectAccessor &surfAcc = + Trk::ObjectAccessor surfAcc = vol.boundarySurfaceAccessor(parms.position(), dir * parms.momentum().normalized()); // initialize the currentBoundary surface const Trk::BoundarySurface<Trk::TrackingVolume> *currentBoundary = 0; @@ -160,13 +160,13 @@ Trk::Navigator::nextBoundarySurface(const Trk::IPropagator &prop, ATH_MSG_VERBOSE("g [N] Starting parameters are :" << parms); // loop over the the boundary surfaces according to the accessor type - for (surfAcc.begin(); surfAcc.end(); surfAcc.operator ++ ()) { + for (const Trk::ObjectAccessor::value_type &surface_id : surfAcc) { ++tryBoundary; // ----------------- output to screen if outputLevel() says so -------- - ATH_MSG_VERBOSE(" [N] " << tryBoundary << ". try - BoundarySurface " << surfAcc.accessor() + ATH_MSG_VERBOSE(" [N] " << tryBoundary << ". try - BoundarySurface " << surface_id << " of Volume: '" << vol.volumeName() << "'."); // get the boundary Surface according to the surfaceAccessor - currentBoundary = vol.boundarySurface(surfAcc); + currentBoundary = vol.boundarySurface(surface_id); const Trk::Surface ¤tSurface = currentBoundary->surfaceRepresentation(); const Trk::TrackParameters *trackPar = 0; @@ -219,7 +219,7 @@ Trk::Navigator::nextTrackingVolume(const Trk::IPropagator &prop, // --------------------------------------------------- // get the object accessor from the Volume - const Trk::ObjectAccessor &surfAcc = + Trk::ObjectAccessor surfAcc = vol.boundarySurfaceAccessor(parms.position(), dir * parms.momentum().normalized()); // the object accessor already solved the outside question bool outsideVolume = surfAcc.inverseRetrieval(); @@ -251,18 +251,18 @@ Trk::Navigator::nextTrackingVolume(const Trk::IPropagator &prop, auto backwardSecondBoundSwitch=m_backwardSecondBoundSwitch.buffer(); auto backwardThirdBoundSwitch=m_backwardThirdBoundSwitch.buffer(); - for (surfAcc.begin(); surfAcc.end(); surfAcc.operator ++ ()) { + for (const Trk::ObjectAccessor::value_type &surface_id : surfAcc) { ++tryBoundary; // get the boundary surface associated to the surfaceAccessor - currentBoundary = vol.boundarySurface(surfAcc); + currentBoundary = vol.boundarySurface(surface_id); // ----------------- output to screen if outputLevel() says so -------- if (!currentBoundary) { - ATH_MSG_WARNING(" [N] " << tryBoundary << ". try - BoundarySurface " << surfAcc.accessor() + ATH_MSG_WARNING(" [N] " << tryBoundary << ". try - BoundarySurface " << surface_id << " of Volume: '" << vol.volumeName() << "' NOT FOUND."); continue; } else { - ATH_MSG_VERBOSE(" [N] " << tryBoundary << ". try - BoundarySurface " << surfAcc.accessor() + ATH_MSG_VERBOSE(" [N] " << tryBoundary << ". try - BoundarySurface " << surface_id << " of Volume: '" << vol.volumeName() << "'."); } @@ -300,7 +300,7 @@ Trk::Navigator::nextTrackingVolume(const Trk::IPropagator &prop, } validationFill(trackPar); - return Trk::NavigationCell(nextVolume, trackPar, Trk::BoundarySurfaceFace(surfAcc.accessor())); + return Trk::NavigationCell(nextVolume, trackPar, Trk::BoundarySurfaceFace(surface_id)); } // --------------------------------------------------- diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/CMakeLists.txt b/Tracking/TrkFitter/TrkGlobalChi2Fitter/CMakeLists.txt index cc7803ee65fd55ae4cc0403450635e91ad2de024..b7b892db7d0672e4f6974699c65eaa4ecb1ec54c 100644 --- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/CMakeLists.txt +++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/CMakeLists.txt @@ -19,7 +19,6 @@ atlas_depends_on_subdirs( PUBLIC DetectorDescription/IdDictDetDescr Event/EventPrimitives MagneticField/MagFieldInterfaces - Tracking/TrkAlignment/TrkAlgebraUtils Tracking/TrkDetDescr/TrkDetDescrInterfaces Tracking/TrkDetDescr/TrkGeometry Tracking/TrkDetDescr/TrkSurfaces @@ -44,8 +43,7 @@ atlas_add_component( TrkGlobalChi2Fitter src/*.cxx src/components/*.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps GaudiKernel TrkEventPrimitives TrkMaterialOnTrack TrkParameters TrkFitterInterfaces TrkFitterUtils AtlasDetDescr IdDictDetDescr EventPrimitives MagFieldInterfaces TrkAlgebraUtils TrkDetDescrInterfaces TrkGeometry TrkSurfaces TrkCompetingRIOsOnTrack TrkMeasurementBase TrkPrepRawData TrkPseudoMeasurementOnTrack TrkRIO_OnTrack TrkSegment TrkTrack TrkVertexOnTrack TrkExInterfaces TrkExUtils TrkToolInterfaces ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps GaudiKernel TrkEventPrimitives TrkMaterialOnTrack TrkParameters TrkFitterInterfaces TrkFitterUtils AtlasDetDescr IdDictDetDescr EventPrimitives MagFieldInterfaces TrkDetDescrInterfaces TrkGeometry TrkSurfaces TrkCompetingRIOsOnTrack TrkMeasurementBase TrkPrepRawData TrkPseudoMeasurementOnTrack TrkRIO_OnTrack TrkSegment TrkTrack TrkVertexOnTrack TrkExInterfaces TrkExUtils TrkToolInterfaces ) # Install files from the package: atlas_install_headers( TrkGlobalChi2Fitter ) - diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GXFTrackState.h b/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GXFTrackState.h index 5d041223c7e712912f63fae18e440709d8ab5820..bc2828cfb38690353a8d68694d60a4d4a030620b 100755 --- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GXFTrackState.h +++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GXFTrackState.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ ////////////////////////////////////////////////////////////////// @@ -128,7 +128,6 @@ namespace Trk { bool m_ownmb; bool m_ownfq; bool m_owncov; - bool m_ownder; bool m_measphi; Amg::Vector3D m_globpos; }; diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GlobalChi2Fitter.h b/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GlobalChi2Fitter.h index 8ea722f2c83ace7e30208b3e01855894606d81a6..5e932d245c27645cb802ae06741782c3015788d6 100755 --- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GlobalChi2Fitter.h +++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/TrkGlobalChi2Fitter/GlobalChi2Fitter.h @@ -65,7 +65,7 @@ class GlobalChi2Fitter:virtual public IGlobalTrackFitter,public AthAlgTool { struct Cache { - //Currnetly the information about what type of fit is being passed by the + //Currently the information about what type of fit is being passed by the // presence of a TrackingVolume const TrackingGeometry* m_trackingGeometry = nullptr; const TrackingVolume* m_caloEntrance = nullptr; @@ -107,7 +107,12 @@ class GlobalChi2Fitter:virtual public IGlobalTrackFitter,public AthAlgTool { void cleanup(); ~Cache(){ cleanup(); }; - + //default constructor is defaulted + Cache() = default; + //assignment is deleted + Cache & operator=(const Cache &) = delete; + //copy is deleted + Cache(const Cache &) = delete; }; diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx index cdeec41f022511f202dcaeccfefcf445369815cc..579083d77f4533167d0e15a6dec0669bdeeddebe 100644 --- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx +++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx @@ -24,7 +24,6 @@ #include "TrkGeometry/TrackingVolume.h" #include "TrkGeometry/MagneticFieldProperties.h" #include "TrkGeometry/TrackingGeometry.h" -// #include "TrkGeometry/EntryLayerProvider.h" #include "TrkDetDescrInterfaces/ITrackingGeometrySvc.h" @@ -73,8 +72,8 @@ #include "IdDictDetDescr/IdDictManager.h" #include "TDecompChol.h" -#include "TrkAlgebraUtils/AlSymMat.h" #include "EventPrimitives/EventPrimitivesToStringConverter.h" +#include <exception> using CLHEP::MeV; using CLHEP::mm; @@ -444,7 +443,7 @@ namespace Trk { DataVector<const TrackParameters>::const_iterator parit = indettrack->trackParameters()->begin(); while (!firstidpar && parit != indettrack->trackParameters()->end()) { - if ((**parit).covariance() && !dynamic_cast<const PerigeeSurface *>(&(**parit).associatedSurface())) { + if ((**parit).covariance() && (**parit).associatedSurface().type() == Trk::Surface::Perigee ) { firstidpar = *parit; } parit++; @@ -453,7 +452,7 @@ namespace Trk { parit = indettrack->trackParameters()->end(); do { parit--; - if ((**parit).covariance() && !dynamic_cast<const PerigeeSurface *>(&(**parit).associatedSurface())) { + if ((**parit).covariance() && (**parit).associatedSurface().type() == Trk::Surface::Perigee ) { lastidpar = *parit; } } while (!lastidpar && parit != indettrack->trackParameters()->begin()); @@ -672,7 +671,7 @@ namespace Trk { DataVector<const TrackParameters>::const_iterator parit = indettrack->trackParameters()->begin(); while (!firstidpar && parit != indettrack->trackParameters()->end()) { - if ((**parit).covariance() && !dynamic_cast<const PerigeeSurface *>(&(**parit).associatedSurface())) { + if ((**parit).covariance() && (**parit).associatedSurface().type() == Trk::Surface::Perigee ) { firstidpar = *parit; } parit++; @@ -680,7 +679,7 @@ namespace Trk { parit = indettrack->trackParameters()->end(); do { parit--; - if ((**parit).covariance() && !dynamic_cast<const PerigeeSurface *>(&(**parit).associatedSurface())) { + if ((**parit).covariance() && (**parit).associatedSurface().type() == Trk::Surface::Perigee ) { lastidpar = *parit; } } while (!lastidpar && parit != indettrack->trackParameters()->begin()); @@ -736,23 +735,24 @@ namespace Trk { } const std::vector<const TrackStateOnSurface *> *matvec = 0; if (tmppar) { + const Surface& associatedSurface = tmppar->associatedSurface(); Surface *muonsurf = 0; - const CylinderSurface *cylmuonsurf = dynamic_cast<const CylinderSurface *>(&tmppar->associatedSurface()); - const DiscSurface *discmuonsurf = dynamic_cast<const DiscSurface *>(&tmppar->associatedSurface()); - if (cylmuonsurf) { - Amg::Transform3D *trans = new Amg::Transform3D(cylmuonsurf->transform()); - const CylinderBounds &cylbounds = cylmuonsurf->bounds(); - double radius = cylbounds.r(); - double hlength = cylbounds.halflengthZ(); - muonsurf = new CylinderSurface(trans, radius + 1, hlength); - }else if (discmuonsurf) { - double newz = - ((discmuonsurf->center().z() > 0) ? discmuonsurf->center().z() + 1 : discmuonsurf->center().z() - 1); - Amg::Vector3D newpos(discmuonsurf->center().x(), discmuonsurf->center().y(), newz); - Amg::Transform3D *trans = new Amg::Transform3D(discmuonsurf->transform()); - trans->translation() << newpos; - const DiscBounds *discbounds = dynamic_cast<const DiscBounds *>(&discmuonsurf->bounds()); - if (discbounds) { + if (associatedSurface.type() == Trk::Surface::Cylinder) { + if( associatedSurface.bounds().type() == Trk::SurfaceBounds::Cylinder ){ + const CylinderBounds* cylbounds = static_cast<const CylinderBounds*>(&associatedSurface.bounds()); + Amg::Transform3D *trans = new Amg::Transform3D(associatedSurface.transform()); + double radius = cylbounds->r(); + double hlength = cylbounds->halflengthZ(); + muonsurf = new CylinderSurface(trans, radius + 1, hlength); + } + }else if (associatedSurface.type() == Trk::Surface::Disc) { + if (associatedSurface.bounds().type() == Trk::SurfaceBounds::Disc ) { + double newz = + ((associatedSurface.center().z() > 0) ? associatedSurface.center().z() + 1 : associatedSurface.center().z() - 1); + Amg::Vector3D newpos(associatedSurface.center().x(), associatedSurface.center().y(), newz); + Amg::Transform3D *trans = new Amg::Transform3D(associatedSurface.transform()); + trans->translation() << newpos; + const DiscBounds *discbounds = static_cast<const DiscBounds *>(&associatedSurface.bounds()); double rmin = discbounds->rMin(); double rmax = discbounds->rMax(); muonsurf = new DiscSurface(trans, rmin, rmax); @@ -1022,8 +1022,12 @@ namespace Trk { jac4 = jac4.inverse(); double dloc1 = idscatpar->parameters()[Trk::loc1] - scat2->parameters()[Trk::loc1]; double dloc2 = idscatpar->parameters()[Trk::loc2] - scat2->parameters()[Trk::loc2]; - const Trk::CylinderSurface *cylsurf = dynamic_cast<const Trk::CylinderSurface *>(&scat2->associatedSurface()); - const Trk::DiscSurface *discsurf = dynamic_cast<const Trk::DiscSurface *>(&scat2->associatedSurface()); + const Trk::CylinderSurface *cylsurf = nullptr; + if(scat2->associatedSurface().type() == Trk::Surface::Cylinder) + cylsurf = static_cast<const Trk::CylinderSurface *>(&scat2->associatedSurface()); + const Trk::DiscSurface *discsurf = nullptr; + if(scat2->associatedSurface().type() == Trk::Surface::Cylinder) + discsurf= static_cast<const Trk::DiscSurface *>(&scat2->associatedSurface()); if (cylsurf) { double length = 2 * M_PI * cylsurf->bounds().r(); @@ -1174,7 +1178,7 @@ namespace Trk { } if ((pull1 > 5 || pull2 > 5) && (pull1 > 25 || pull2 > 25 || - dynamic_cast<const StraightLineSurface *>(&closestmuonmeas->associatedSurface()))) { + closestmuonmeas->associatedSurface().type() == Trk::Surface::Line )) { if (startPar != lastidpar && startPar != indettrack->perigeeParameters()) { delete startPar; } @@ -1211,7 +1215,7 @@ namespace Trk { } makeProtoState(cache, trajectory, *itStates2); - if (itStates2 == endState2 - 1 && dynamic_cast<const AtaStraightLine *>(tpar) && tpar->position().perp() > 9000 && + if (itStates2 == endState2 - 1 && tpar->associatedSurface().type() == Trk::Surface::Line && tpar->position().perp() > 9000 && std::abs(tpar->position().z()) < 13000) { const TrackParameters *pseudopar = tpar->clone(); Amg::MatrixX covMatrix(1, 1); @@ -1228,9 +1232,8 @@ namespace Trk { pseudostate->setMeasurementErrors(errors); trajectory.addMeasurementState(pseudostate); ispseudo = true; - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << "Adding pseudomeasurement" << endmsg; - } + ATH_MSG_DEBUG( "Adding pseudomeasurement" ); + } if (std::abs(trajectory.trackStates().back()->position().z()) > 20000 && std::abs(previousz) < 12000) { largegap = true; @@ -1297,11 +1300,18 @@ namespace Trk { - const TrackParameters *firstidpar = (*indettrack->trackParameters())[1]; + const TrackParameters *firstidpar = 0; + // Dont understand why the second track parameters are taken + // Is it assumed the ID track is slimmed? + if( indettrack->trackParameters()->size() > 1) + firstidpar = (*indettrack->trackParameters())[1]; + else + firstidpar = indettrack->trackParameters()->back(); + const TrackParameters *lastidpar = 0; - if(cache.m_caloEntrance) - lastidpar = m_extrapolator->extrapolateToVolume(*firstidpar, *cache.m_caloEntrance, alongMomentum, - Trk::muon); + if(firstidpar && cache.m_caloEntrance) + lastidpar = m_extrapolator->extrapolateToVolume(*firstidpar, *cache.m_caloEntrance, + alongMomentum, Trk::muon); if (!lastidpar) { lastidpar = indettrack->trackParameters()->back()->clone(); } @@ -1536,17 +1546,17 @@ namespace Trk { for (itStates2 = beginStates2; itStates2 != endState2; ++itStates2) { const MeasurementBase *pseudo = dynamic_cast<const PseudoMeasurementOnTrack *>((*itStates2)->measurementOnTrack()); - const StraightLineSurface *slsurf = - (*itStates2)->measurementOnTrack() ? dynamic_cast<const StraightLineSurface *>(&(*itStates2)->measurementOnTrack() - ->associatedSurface()) : 0; - if (slsurf && !firstismuon && !newpseudo && + + bool isStraightLine = (*itStates2)->measurementOnTrack() ? (*itStates2)->measurementOnTrack()->associatedSurface().type() == Trk::Surface::Line : false; + + if (isStraightLine && !firstismuon && !newpseudo && (((itStates2 == beginStates2 || itStates2 == beginStates2 + 1) && std::abs((*itStates2)->measurementOnTrack()->globalPosition().z()) < 10000) /* || !nphi*/)) { // pseudo=(*itStates2)->measurementOnTrack(); const TrackParameters *par2 = ((*itStates2)->trackParameters() && nphi > 99) ? (*itStates2)->trackParameters()->clone() : m_propagator->propagateParameters( - *secondscatstate->trackParameters(), *slsurf, alongMomentum, false, *trajectory.m_fieldprop, Trk::nonInteracting); + *secondscatstate->trackParameters(), (*itStates2)->measurementOnTrack()->associatedSurface(), alongMomentum, false, *trajectory.m_fieldprop, Trk::nonInteracting); if (!par2) { continue; } @@ -1563,7 +1573,7 @@ namespace Trk { errors[1] = 10; firstpseudostate->setMeasurementErrors(errors); trajectory.addMeasurementState(firstpseudostate); - msg(MSG::DEBUG) << "Adding PseudoMeasurement" << endmsg; + ATH_MSG_DEBUG( "Adding PseudoMeasurement" ); continue; } if (pseudo && !firstismuon) { @@ -2084,8 +2094,16 @@ namespace Trk { return 0; } */ const RIO_OnTrack *rot = 0; - const PlaneSurface *plsurf = dynamic_cast<const PlaneSurface *>(&prdsurf); - const StraightLineSurface *slsurf = !plsurf ? dynamic_cast<const StraightLineSurface *>(&prdsurf) : 0; + const PlaneSurface *plsurf = nullptr; + if(prdsurf.type() == Trk::Surface::Plane) + plsurf = static_cast<const PlaneSurface *>(&prdsurf); + + const StraightLineSurface *slsurf = nullptr; + if(prdsurf.type() == Trk::Surface::Line) + slsurf= static_cast<const StraightLineSurface *>(&prdsurf); + + + if (!slsurf && !plsurf) { ATH_MSG_ERROR("Surface is neither PlaneSurface nor StraightLineSurface!"); } @@ -2263,7 +2281,7 @@ namespace Trk { parameterVector[Trk::qOverP], new AmgSymMatrix(5)( *hitparam->covariance()))); const RIO_OnTrack *rot = 0; - if (!m_broadROTcreator.empty() && dynamic_cast<const StraightLineSurface *>(&prdsurf)) { + if (!m_broadROTcreator.empty() && prdsurf.type() == Trk::Surface::Line) { rot = m_broadROTcreator->correct(**it, *hitparam); } else { rot = m_ROTcreator->correct(**it, *trackparForCorrect); @@ -2336,11 +2354,17 @@ namespace Trk { MeasurementSet rots_tbd; for (itSet = rots.begin(); itSet != itSetEnd; ++itSet) { if (!(*itSet)) { - msg(MSG::WARNING) << "There is an empty MeasurementBase object in the track! Skip this object.." << endmsg; + ATH_MSG_WARNING( "There is an empty MeasurementBase object in the track! Skip this object.." ); } else { const RIO_OnTrack *rot = dynamic_cast<const RIO_OnTrack *>(*itSet); if (rot && m_DetID->is_mm(rot->identify())) { - const PlaneSurface* surf = dynamic_cast<const PlaneSurface *>(&rot->associatedSurface()); + //const PlaneSurface* surf = dynamic_cast<const PlaneSurface *>(&rot->associatedSurface()); + //if (not surf) throw std::runtime_error("dynamic cast to PlaneSurface failed in GlobalChi2Fitter::fit"); + if( rot->associatedSurface().type() != Trk::Surface::Plane ){ + rots_new.push_back(*itSet); + continue; + } + const PlaneSurface* surf = static_cast<const PlaneSurface *>(&rot->associatedSurface()); AtaPlane atapl(surf->center(), param.parameters()[Trk::phi], param.parameters()[Trk::theta], param.parameters()[Trk::qOverP], *surf); rot = m_ROTcreator->correct(*(rot->prepRawData()), atapl); rots_tbd.push_back(rot); @@ -2611,7 +2635,7 @@ namespace Trk { } hittype = TrackState::MDT; }else if (m_DetID->is_tgc(hitid)) { - if (!dynamic_cast<const TrapezoidBounds *>(&measbase2->associatedSurface().bounds())) { + if (measbase2->associatedSurface().bounds().type() != Trk::SurfaceBounds::Trapezoid ) { string2 = "TGC wire hit"; } else { if (msgLvl(MSG::DEBUG)) { @@ -2795,8 +2819,12 @@ namespace Trk { if (!layIndex.value() || !(*layerIter)->layerMaterialProperties()) { continue; } - const CylinderLayer *cyllay = dynamic_cast<const CylinderLayer *>((*layerIter)); - const DiscLayer *disclay = dynamic_cast<const DiscLayer *>((*layerIter)); + const CylinderLayer *cyllay = nullptr; + if( (*layerIter)->surfaceRepresentation().type() == Trk::Surface::Cylinder ) + cyllay = static_cast<const CylinderLayer *>((*layerIter)); + const DiscLayer *disclay = nullptr; + if( (*layerIter)->surfaceRepresentation().type() == Trk::Surface::Disc ) + disclay = static_cast<const DiscLayer *>((*layerIter)); if (disclay) { if (disclay->center().z() < 0) { cache.m_negdiscs.push_back(disclay); @@ -2831,8 +2859,12 @@ namespace Trk { if (!layIndex.value() || !layer->layerMaterialProperties()) { continue; } - const CylinderSurface *cylsurf = dynamic_cast<const CylinderSurface *>(&layer->surfaceRepresentation()); - const DiscSurface *discsurf = dynamic_cast<const DiscSurface *>(&layer->surfaceRepresentation()); + const CylinderSurface *cylsurf = nullptr; + if( layer->surfaceRepresentation().type() == Trk::Surface::Cylinder ) + cylsurf = static_cast<const CylinderSurface *>(&layer->surfaceRepresentation()); + const DiscSurface *discsurf = nullptr; + if( layer->surfaceRepresentation().type() == Trk::Surface::Disc ) + discsurf = static_cast<const DiscSurface *>(&layer->surfaceRepresentation()); if (discsurf) { if (discsurf->center().z() < 0 && @@ -2951,10 +2983,18 @@ public: bool operator () (const Layer *one, const Layer *two) const { - const CylinderSurface *cyl1 = dynamic_cast<const CylinderSurface *>(&one->surfaceRepresentation()); - const DiscSurface *disc1 = dynamic_cast<const DiscSurface *>(&one->surfaceRepresentation()); - const CylinderSurface *cyl2 = dynamic_cast<const CylinderSurface *>(&two->surfaceRepresentation()); - const DiscSurface *disc2 = dynamic_cast<const DiscSurface *>(&two->surfaceRepresentation()); + const CylinderSurface *cyl1 = nullptr; + if( one->surfaceRepresentation().type() == Trk::Surface::Cylinder ) + cyl1 = static_cast<const CylinderSurface *>(&one->surfaceRepresentation()); + const DiscSurface *disc1 = nullptr; + if( one->surfaceRepresentation().type() == Trk::Surface::Disc ) + disc1 = static_cast<const DiscSurface *>(&one->surfaceRepresentation()); + const CylinderSurface *cyl2 = nullptr; + if( two->surfaceRepresentation().type() == Trk::Surface::Cylinder ) + cyl2 = static_cast<const CylinderSurface *>(&two->surfaceRepresentation()); + const DiscSurface *disc2 = nullptr; + if( two->surfaceRepresentation().type() == Trk::Surface::Disc ) + disc2 = static_cast<const DiscSurface *>(&two->surfaceRepresentation()); if (cyl1 && cyl2) { return(cyl1->bounds().r() < cyl2->bounds().r()); @@ -3606,21 +3646,25 @@ public: Trk::nonInteracting); } if (tmppar) { - const CylinderSurface *cylcalosurf = dynamic_cast<const CylinderSurface *>(&tmppar->associatedSurface()); - const DiscSurface *disccalosurf = dynamic_cast<const DiscSurface *>(&tmppar->associatedSurface()); + const CylinderSurface *cylcalosurf = nullptr; + if(tmppar->associatedSurface().type() == Trk::Surface::Cylinder) + cylcalosurf = static_cast<const CylinderSurface *>(&tmppar->associatedSurface()); + const DiscSurface *disccalosurf = nullptr; + if(tmppar->associatedSurface().type() == Trk::Surface::Disc) + disccalosurf = static_cast<const DiscSurface *>(&tmppar->associatedSurface()); if (cylcalosurf) { Amg::Transform3D *trans = new Amg::Transform3D(cylcalosurf->transform()); const CylinderBounds &cylbounds = cylcalosurf->bounds(); double radius = cylbounds.r(); double hlength = cylbounds.halflengthZ(); calosurf = new CylinderSurface(trans, radius - 1, hlength); - }else { + } else if (disccalosurf) { double newz = ((disccalosurf->center().z() > 0) ? disccalosurf->center().z() - 1 : disccalosurf->center().z() + 1); Amg::Vector3D newpos(disccalosurf->center().x(), disccalosurf->center().y(), newz); Amg::Transform3D *trans = new Amg::Transform3D(disccalosurf->transform()); trans->translation() << newpos; - const DiscBounds *discbounds = dynamic_cast<const DiscBounds *>(&disccalosurf->bounds()); + const DiscBounds *discbounds = static_cast<const DiscBounds *>(&disccalosurf->bounds()); double rmin = discbounds->rMin(); double rmax = discbounds->rMax(); calosurf = new DiscSurface(trans, rmin, rmax); @@ -4011,7 +4055,7 @@ public: addlayer = true; } - if (dynamic_cast<const AtaCylinder *>(layerpar)) { + if ( layerpar->associatedSurface().type() == Trk::Surface::Cylinder ) { // Hep3Vector diffvec=states[i]->position()-layerparams[layerno]->position(); double cylinderradius = layerpar->associatedSurface().bounds().r(); double trackimpact = std::abs(-refpar->position().x() * sinphi + refpar->position().y() * cosphi); @@ -4089,7 +4133,9 @@ public: const TrackParameters * GlobalChi2Fitter::makePerigee( Cache& cache, const TrackParameters ¶m, ParticleHypothesis matEffects) const { - const PerigeeSurface *persurf = dynamic_cast<const PerigeeSurface *>(¶m.associatedSurface()); + const PerigeeSurface *persurf = nullptr; + if( param.associatedSurface().type() == Trk::Surface::Perigee) + persurf = static_cast<const PerigeeSurface *>(¶m.associatedSurface()); const TrackParameters *per = 0; if (persurf && (!cache.m_acceleration || persurf->center().perp() > 5)) { @@ -4419,9 +4465,13 @@ public: delete tmppar; } // std::cout << "persurf: " << persurf << " nearest par: " << *nearestpar << std::endl; - per = - dynamic_cast<const Perigee *>(m_propagator->propagateParameters(*nearestpar, persurf, Trk::anyDirection, false, - *trajectory.m_fieldprop, Trk::nonInteracting)); + const Trk::TrackParameters* tmpPars = m_propagator->propagateParameters(*nearestpar, persurf, Trk::anyDirection, false, + *trajectory.m_fieldprop, Trk::nonInteracting); + + // Parameters are at a Perigee surface so they are perigee parameters + if( tmpPars ) + per = static_cast< const Perigee* >( tmpPars ); + if (!mymatvec.empty()) { delete nearestpar; } @@ -4591,20 +4641,29 @@ public: cache.m_ainv.ResizeTo(cache.m_a.GetNcols(), cache.m_a.GetNcols()); double *myarray = cache.m_a.GetMatrixArray(); double *myarrayinv = cache.m_ainv.GetMatrixArray(); - AlSymMat weight(cache.m_a.GetNcols()); + + Amg::MatrixX weightAMG(cache.m_a.GetNcols(), cache.m_a.GetNcols()); + Amg::MatrixX weightInvAMG = Amg::MatrixX::Identity(cache.m_a.GetNcols(), cache.m_a.GetNcols()); for (int i = 0; i < cache.m_a.GetNcols(); ++i) { for (int j = 0; j <= i; ++j) { - weight[i][j] = myarray[i * cache.m_a.GetNcols() + j]; + weightAMG(i,j) = weightAMG(j,i) = myarray[i * cache.m_a.GetNcols() + j]; } } - int ok = weight.invert(); - for (int i = 0; i < cache.m_a.GetNcols(); ++i) { - for (int j = 0; j <= i; ++j) { - myarrayinv[i * cache.m_a.GetNcols() + j] = myarrayinv[j * cache.m_a.GetNcols() + i] = weight[i][j]; + + // Solve assuming the matrix is SPD. + // Cholesky Decomposition is used + if(weightAMG.determinant() !=0 ) + { + // Solve for x where Wx = I + // this is cheaper than invert as invert makes no assumptions about the + // matrix being symmetric + weightInvAMG = weightAMG.llt().solve(weightInvAMG); + for (int i = 0; i < cache.m_a.GetNcols(); ++i) { + for (int j = 0; j <= i; ++j) { + myarrayinv[i * cache.m_a.GetNcols() + j] = myarrayinv[j * cache.m_a.GetNcols() + i] = weightInvAMG(i,j); + } } - } - // bool ok=lu.Invert(ainv); - if (ok) { + } else { ATH_MSG_DEBUG ("matrix inversion failed!"); m_matrixinvfailed++; cache.m_fittercode = FitterStatusCode::MatrixInversionFailure; @@ -5352,7 +5411,9 @@ public: GXFTrackState *thisstate = trajectory.trackStates()[i]; GXFMaterialEffects *meff = thisstate->materialEffects(); if (meff) { - const PlaneSurface *plsurf = dynamic_cast<const PlaneSurface *>(thisstate->surface()); + const PlaneSurface *plsurf = nullptr; + if( thisstate->surface()->type() == Trk::Surface::Plane ) + plsurf = static_cast<const PlaneSurface *>(thisstate->surface()); if (meff->deltaE() == 0 || (!trajectory.prefit() && plsurf)) { weightchanged = true; if (!myarray) { @@ -5442,7 +5503,9 @@ public: message << "scatno is out of range " << scatno << " !< " << cache.m_phiweight.size(); throw std::range_error(message.str()); } - const PlaneSurface *plsurf = dynamic_cast<const PlaneSurface *>(thisstate->surface()); + const PlaneSurface *plsurf = nullptr; + if( thisstate->surface()->type() == Trk::Surface::Plane ) + plsurf = static_cast<const PlaneSurface *>(thisstate->surface()); if (thisstate->materialEffects()->deltaE() == 0 || plsurf) { myarray[(2 * scatno + nperpars) * nfitpars + 2 * scatno + nperpars] /= cache.m_phiweight[scatno]; cache.m_phiweight[scatno] = 1; @@ -6268,21 +6331,28 @@ public: } double *myarray = a.GetMatrixArray(); double *myarrayinv = fullcov.GetMatrixArray(); - AlSymMat weight(a.GetNcols()); + Amg::MatrixX weightAMG(a.GetNcols(), a.GetNcols()); + Amg::MatrixX weightInvAMG = Amg::MatrixX::Identity(a.GetNcols(), a.GetNcols()); for (int i = 0; i < a.GetNcols(); ++i) { for (int j = 0; j <= i; ++j) { - weight[i][j] = myarray[i * a.GetNcols() + j]; - } - } - int ok = weight.invert(); - for (int i = 0; i < a.GetNcols(); ++i) { - for (int j = 0; j <= i; ++j) { - myarrayinv[i * a.GetNcols() + j] = myarrayinv[j * a.GetNcols() + i] = weight[i][j]; + weightAMG(i,j) = weightAMG(j,i) = myarray[i * a.GetNcols() + j]; } } - // bool ok=newlu.Invert(fullcov); - if (ok) { + // Solve assuming the matrix is SPD. + // Cholesky Decomposition is used + if(weightAMG.determinant() !=0 ) + { + // Solve for x where Wx = I + // this is cheaper than invert as invert makes no assumptions about the + // matrix being symmetric + weightInvAMG = weightAMG.llt().solve(weightInvAMG); + for (int i = 0; i < cache.m_a.GetNcols(); ++i) { + for (int j = 0; j <= i; ++j) { + myarrayinv[i * cache.m_a.GetNcols() + j] = myarrayinv[j * cache.m_a.GetNcols() + i] = weightInvAMG(i,j); + } + } + } else { ATH_MSG_DEBUG( "matrix inversion failed!" ); m_matrixinvfailed++; cache.m_fittercode = FitterStatusCode::MatrixInversionFailure; @@ -6521,8 +6591,9 @@ public: const Layer *startlayer = firstmeasstate->trackParameters()->associatedSurface().associatedLayer(); if (startlayer && startlayer->layerMaterialProperties()) { double startfactor = startlayer->layerMaterialProperties()->alongPostFactor(); - const DiscSurface *discsurf = dynamic_cast<const DiscSurface *>(startlayer); - if (discsurf && discsurf->center().z() * discsurf->normal().z() < 0) { + const Surface& discsurf = startlayer->surfaceRepresentation(); + if( discsurf.type() == Trk::Surface::Disc && + discsurf.center().z() * discsurf.normal().z() < 0) { startfactor = startlayer->layerMaterialProperties()->oppositePostFactor(); } if (startfactor > 0.5) { @@ -6541,8 +6612,9 @@ public: const Layer *endlayer = lastmeasstate->trackParameters()->associatedSurface().associatedLayer(); if (endlayer && endlayer->layerMaterialProperties()) { double endfactor = endlayer->layerMaterialProperties()->alongPreFactor(); - const DiscSurface *discsurf = dynamic_cast<const DiscSurface *>(endlayer); - if (discsurf && discsurf->center().z() * discsurf->normal().z() < 0) { + const Surface& discsurf = endlayer->surfaceRepresentation(); + if( discsurf.type() == Trk::Surface::Disc && + discsurf.center().z() * discsurf.normal().z() < 0) { endfactor = endlayer->layerMaterialProperties()->oppositePreFactor(); } if (endfactor > 0.5) { @@ -7276,9 +7348,8 @@ public: // Calculate track errors at each state, except scatterers and brems // - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << "CalculateTrackErrors" << endmsg; - } + + ATH_MSG_DEBUG( "CalculateTrackErrors" ); std::vector<GXFTrackState *> &states = trajectory.trackStates(); int nstatesupstream = trajectory.numberOfUpstreamStates(); @@ -7480,11 +7551,12 @@ public: }; const AmgVector(5) &vec = tmpprevpar->parameters(); - const Trk::CylinderSurface *cylsurf = dynamic_cast<const Trk::CylinderSurface *>(surf); - const Trk::DiscSurface *discsurf = dynamic_cast<const Trk::DiscSurface *>(surf); - const Trk::CylinderSurface *thiscylsurf = - dynamic_cast<const Trk::CylinderSurface *>(&tmpprevpar->associatedSurface()); - const Trk::DiscSurface *thisdiscsurf = dynamic_cast<const Trk::DiscSurface *>(&tmpprevpar->associatedSurface()); + + bool cylsurf = surf->type() == Trk::Surface::Cylinder; + bool discsurf = surf->type() == Trk::Surface::Disc; + const Surface& previousSurface = tmpprevpar->associatedSurface(); + bool thiscylsurf = previousSurface.type() == Trk::Surface::Cylinder; + bool thisdiscsurf = previousSurface.type() == Trk::Surface::Disc; for (int i = 0; i < 5; i++) { AmgVector(5) vecpluseps = vec, vecminuseps = vec; @@ -7496,11 +7568,11 @@ public: vecpluseps[paraccessor.pardef[i]] += eps[i]; vecminuseps[paraccessor.pardef[i]] -= eps[i]; if (thiscylsurf && i == 0) { - if (vecpluseps[0] / thiscylsurf->bounds().r() > M_PI) { - vecpluseps[0] -= 2 * M_PI * thiscylsurf->bounds().r(); + if (vecpluseps[0] / previousSurface.bounds().r() > M_PI) { + vecpluseps[0] -= 2 * M_PI * previousSurface.bounds().r(); } - if (vecminuseps[0] / thiscylsurf->bounds().r() < -M_PI) { - vecminuseps[0] += 2 * M_PI * thiscylsurf->bounds().r(); + if (vecminuseps[0] / previousSurface.bounds().r() < -M_PI) { + vecminuseps[0] += 2 * M_PI * previousSurface.bounds().r(); } } if (thisdiscsurf && i == 1) { @@ -7553,7 +7625,7 @@ public: double diff = newparpluseps->parameters()[paraccessor.pardef[j]] - newparminuseps->parameters()[paraccessor.pardef[j]]; if (cylsurf && j == 0) { - double length = 2 * M_PI * cylsurf->bounds().r(); + double length = 2 * M_PI * surf->bounds().r(); if (fabs(fabs(diff) - length) < fabs(diff)) { if (diff > 0) { diff -= length; diff --git a/Tracking/TrkTools/TrkAmbiguityProcessor/src/DenseEnvironmentsAmbiguityProcessorTool.cxx b/Tracking/TrkTools/TrkAmbiguityProcessor/src/DenseEnvironmentsAmbiguityProcessorTool.cxx index 5885b4d530d6ab46a4c04b3c33cda786176ee1c4..900859b0b5b314bd96247de432c689d675550045 100644 --- a/Tracking/TrkTools/TrkAmbiguityProcessor/src/DenseEnvironmentsAmbiguityProcessorTool.cxx +++ b/Tracking/TrkTools/TrkAmbiguityProcessor/src/DenseEnvironmentsAmbiguityProcessorTool.cxx @@ -1286,7 +1286,10 @@ const Trk::Track* Trk::DenseEnvironmentsAmbiguityProcessorTool::refitPrds( const increment_by_eta(m_NbremFits,track); ATH_MSG_VERBOSE ("Brem track, refit with electron brem fit"); - newTrack = fit(prds, *par, true, Trk::electron); + // TODO revert once GlobalChi2Fitter properly handles brem fits when + // starting from prds + // newTrack = fit(prds, *par, true, Trk::electron); + newTrack = fit(*track, true, Trk::electron); } else @@ -1304,7 +1307,11 @@ const Trk::Track* Trk::DenseEnvironmentsAmbiguityProcessorTool::refitPrds( const increment_by_eta(m_NrecoveryBremFits,track); ATH_MSG_VERBOSE ("Normal fit failed, try brem recovery"); - newTrack = fit(prds, *par, true, Trk::electron); + // TODO revert once GlobalChi2Fitter properly handles brem fits when + // starting from prds + // newTrack = fit(prds, *par, true, Trk::electron); + newTrack = fit(*track, true, Trk::electron); + } } diff --git a/Tracking/TrkVertexFitter/TrkVKalVrtCore/TrkVKalVrtCore/VKalVrtBMag.h b/Tracking/TrkVertexFitter/TrkVKalVrtCore/TrkVKalVrtCore/VKalVrtBMag.h index d1f01818d9d309443381dbc0c848833d6e187f3a..ffe195e408455056995d8e8cdadb2be68c58f66f 100755 --- a/Tracking/TrkVertexFitter/TrkVKalVrtCore/TrkVKalVrtCore/VKalVrtBMag.h +++ b/Tracking/TrkVertexFitter/TrkVKalVrtCore/TrkVKalVrtCore/VKalVrtBMag.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /* General magnetic field in any point access */ /* If external magnetic field handler is provided as */ @@ -10,8 +10,8 @@ /* */ /* Thread-safe implementation */ /*---------------------------------------------------------*/ -#ifndef _TrkVKalVrtCore_VKalVrtBMag_H -#define _TrkVKalVrtCore_VKalVrtBMag_H +#ifndef TRKVKALVRTCORE_VKALVRTBMAG_H +#define TRKVKALVRTCORE_VKALVRTBMAG_H namespace Trk { @@ -47,7 +47,6 @@ namespace Trk { private: const double m_cnstBMAG; const double m_vkalCnvMagFld; - const double m_mm; double m_saveXpos; double m_saveYpos; double m_saveZpos; diff --git a/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/DummyMag.cxx b/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/DummyMag.cxx index 23300159d86f8cd9dff319cb6ac2b2fa6198035e..9638f14e7faa045af00c8d01baf3924e2ce02012 100755 --- a/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/DummyMag.cxx +++ b/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/DummyMag.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Create object vkalMagFld which containg magnetic field. @@ -18,8 +18,7 @@ namespace Trk { vkalMagFld::vkalMagFld(): m_cnstBMAG(1.997), /* Const mag. field in Tesla */ - m_vkalCnvMagFld(vkalMagCnvCst), /* Conversion constant is defined in CommonPars.h */ - m_mm(1.) + m_vkalCnvMagFld(vkalMagCnvCst) /* Conversion constant is defined in CommonPars.h */ { // vkalCnvMagFld = 0.0029979246; /* For GeV and cm and Tesla*/ diff --git a/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/cfTotCov.cxx b/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/cfTotCov.cxx index 763a28d8f4e0ae621e6d15703b162cf670da4978..fe6c02d023e4df25f1e4419988f0400e73556fd8 100755 --- a/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/cfTotCov.cxx +++ b/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/cfTotCov.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Calculates COVF(21) - symmetric 6x6 covariance matrix @@ -28,7 +28,7 @@ int afterFit(VKVertex *vk, double *ader, double * dcv, double * ptot, double * V { int i,j; double px,py,pz,pt,invR,cth; - double verr[6][6]={0.}; //for (i=0; i<6*6; i++) verr[i]=0; + double verr[6][6]={{0.}}; //for (i=0; i<6*6; i++) verr[i]=0; int NTRK = vk->TrackList.size(); int NVar = NTRK*3+3; @@ -81,7 +81,7 @@ int afterFitWithIniPar(VKVertex *vk, double *ader, double * dcv, double * ptot, { int i,j; double px,py,pz,pt,invR,cth; - double verr[6][6]={0.}; + double verr[6][6]={{0.}}; int NTRK = vk->TrackList.size(); diff --git a/Tracking/TrkVertexFitter/TrkVKalVrtFitter/src/CvtTrkTrack.cxx b/Tracking/TrkVertexFitter/TrkVKalVrtFitter/src/CvtTrkTrack.cxx index e786cd930996304b5d9f4d7a346eec7361e01545..ba87194f0bc251eafa8201f291bf666263c892cd 100755 --- a/Tracking/TrkVertexFitter/TrkVKalVrtFitter/src/CvtTrkTrack.cxx +++ b/Tracking/TrkVertexFitter/TrkVKalVrtFitter/src/CvtTrkTrack.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ // Convert TrkTrack parameters to internal VKalVrt parameters @@ -73,6 +73,7 @@ namespace Trk{ tmpMat.TrkPnt=mPer; tmpMat.prtMass = 139.5702; if(counter<(int)m_MassInputParticles.size())tmpMat.prtMass = m_MassInputParticles[counter]; + tmpMat.trkSavedLocalVertex.setZero(); tmpMat.TrkID=counter; m_trkControl.push_back(tmpMat); counter++; } diff --git a/Tracking/TrkVertexFitter/TrkVertexFitterUtils/src/ImpactPoint3dEstimator.cxx b/Tracking/TrkVertexFitter/TrkVertexFitterUtils/src/ImpactPoint3dEstimator.cxx index 965fd19d2d8eb7b8561de62e80ae354f07670500..959b8715da77dee4fd20deef1f55599885d35017 100755 --- a/Tracking/TrkVertexFitter/TrkVertexFitterUtils/src/ImpactPoint3dEstimator.cxx +++ b/Tracking/TrkVertexFitter/TrkVertexFitterUtils/src/ImpactPoint3dEstimator.cxx @@ -19,7 +19,7 @@ #include "TrkExInterfaces/IExtrapolator.h" #include "TrkSurfaces/PerigeeSurface.h" -#include <math.h> +#include <cmath> namespace Trk { @@ -122,12 +122,12 @@ namespace Trk m_vertex=0; } - ATH_MSG_DEBUG("Neutral particle -- propergate like a straight line"); + ATH_MSG_DEBUG("Neutral particle -- propagate like a straight line"); return _Estimate3dIPNoCurvature(neutralPerigee, theVertex); } - PlaneSurface* ImpactPoint3dEstimator::Estimate3dIP(const TrackParameters* trackPerigee,const Amg::Vector3D* theVertex) const - { + PlaneSurface* + ImpactPoint3dEstimator::Estimate3dIP(const TrackParameters* trackPerigee,const Amg::Vector3D* theVertex) const{ // clean up before any sanity checks so a return 0 corresponds to internal members reset too if (m_vertex!=0) { delete m_vertex; @@ -137,7 +137,7 @@ namespace Trk double magnFieldVect[3]; m_magFieldSvc->getField(trackPerigee->associatedSurface().center().data(),magnFieldVect); if(magnFieldVect[2] == 0 ){ - ATH_MSG_DEBUG("Magnetic field in the Z dierction is 0 -- propergate like a straight line"); + ATH_MSG_DEBUG("Magnetic field in the Z direction is 0 -- propagate like a straight line"); return _Estimate3dIPNoCurvature(trackPerigee, theVertex); } @@ -145,7 +145,7 @@ namespace Trk const Trk::Perigee* thePerigee=dynamic_cast<const Trk::Perigee*>(trackPerigee); if (thePerigee==0) { - if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<< " ImpactPoint3dEstimator didn't get a Perigee* as ParametersBase*: cast not possible. Need to EXTRAPOLATE..." << endmsg; + ATH_MSG_DEBUG( " ImpactPoint3dEstimator didn't get a Perigee* as ParametersBase*: cast not possible. Need to EXTRAPOLATE..."); /* run-1 code had not been adapted for Neutral parameters: const TrackParameters* ch_params = dynamic_cast<const TrackParameters*>(trackPerigee); @@ -160,7 +160,7 @@ namespace Trk if (thePerigee == NULL) return 0; } - if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE)<< " Now running ImpactPoint3dEstimator::Estimate3dIP" << endmsg; + ATH_MSG_VERBOSE( " Now running ImpactPoint3dEstimator::Estimate3dIP" ); double phi0=thePerigee->parameters()[Trk::phi0]; double cosphi0=-sin(phi0); double sinphi0=cos(phi0); @@ -240,7 +240,7 @@ namespace Trk if (secderivative<0) throw error::ImpactPoint3dEstimatorProblem("Second derivative is negative"); - if (ncycle>m_maxiterations) throw error::ImpactPoint3dEstimatorProblem("Too many loops: could not find minimu distance to vertex"); + if (ncycle>m_maxiterations) throw error::ImpactPoint3dEstimatorProblem("Too many loops: could not find minimum distance to vertex"); ncycle+=1; if (ncycle>m_maxiterations||fabs(deltaphi)<m_precision) { @@ -253,13 +253,14 @@ namespace Trk } while (isok==false); //now you have to construct the plane with PlaneSurface - //first vector at 3d impact point - - Amg::Vector3D MomentumDir(cos(phiactual)*sin(theta),sin(phiactual)*sin(theta),cos(theta)); - + Amg::Vector3D MomentumDir(std::cos(phiactual)*std::sin(theta),std::sin(phiactual)*std::sin(theta),std::cos(theta)); Amg::Vector3D DeltaR(x0-xc+Rt*cosphiactual,y0-yc+Rt*sinphiactual,z0-zc-Rt*cottheta*phiactual); m_distance=DeltaR.mag(); + if (m_distance==0.){ + ATH_MSG_WARNING("DeltaR is zero in ImpactPoint3dEstimator::Estimate3dIP, returning nullptr"); + return nullptr; + } DeltaR=DeltaR.unit(); diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/CMakeLists.txt b/Trigger/TrigAlgorithms/TrigDetCalib/CMakeLists.txt index 351e33f3c06cc9a8e787fede8604e0ee8d7e70e4..ff3e03b3bd75d2a159c17f0a728dab351a3c7831 100644 --- a/Trigger/TrigAlgorithms/TrigDetCalib/CMakeLists.txt +++ b/Trigger/TrigAlgorithms/TrigDetCalib/CMakeLists.txt @@ -16,11 +16,13 @@ atlas_depends_on_subdirs( PUBLIC Control/AthenaKernel Event/EventInfo Event/xAOD/xAODEventInfo + Event/xAOD/xAODMuon Tracking/TrkEvent/TrkTrack Trigger/TrigSteer/TrigInterfaces Trigger/TrigSteer/TrigSteering Trigger/TrigT1/TrigT1Result - Trigger/TrigTools/TrigTimeAlgs ) + Trigger/TrigTools/TrigTimeAlgs + Trigger/TrigEvent/TrigMuonEvent ) # External dependencies: find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint ) @@ -31,7 +33,7 @@ atlas_add_component( TrigDetCalib src/*.cxx src/components/*.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${TDAQ-COMMON_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} IRegionSelector GaudiKernel TrigInDetEvent TrigSteeringEvent AthenaBaseComps AthenaKernel EventInfo TrkTrack TrigInterfacesLib TrigSteeringLib TrigT1Result TrigTimeAlgsLib ) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} IRegionSelector GaudiKernel TrigInDetEvent TrigSteeringEvent AthenaBaseComps AthenaKernel EventInfo TrkTrack TrigInterfacesLib TrigSteeringLib TrigT1Result TrigTimeAlgsLib TrigMuonEvent) # Install files from the package: atlas_install_headers( TrigDetCalib ) diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/python/TrigDetCalibConfig.py b/Trigger/TrigAlgorithms/TrigDetCalib/python/TrigDetCalibConfig.py index 555c2bc3065c1a5eb60ab1a204edc7626ed89dc8..e37486a718c3868ecc36bf7b733242e4b244fa04 100755 --- a/Trigger/TrigAlgorithms/TrigDetCalib/python/TrigDetCalibConfig.py +++ b/Trigger/TrigAlgorithms/TrigDetCalib/python/TrigDetCalibConfig.py @@ -6,6 +6,7 @@ from TrigDetCalib.TrigDetCalibConf import TrigROBSelector from TrigDetCalib.TrigDetCalibConf import ScoutingStreamWriter from TrigDetCalib.TrigDetCalibConf import TrigEtaHypo from TrigDetCalib.TrigDetCalibConf import TrigCheckForTracks +from TrigDetCalib.TrigDetCalibConf import TrigCheckForMuons from TrigDetCalib.TrigDetCalibMonitoring import setCalibMonTools from AthenaCommon.Logging import logging @@ -536,3 +537,57 @@ class ScoutTestAlg(ScoutingStreamWriter): #For Example: self.CollectionTypeName = ["TrigRoiDescriptor#secondaryRoI_EF", "TrigMuonEFContainer#MuonEF","TrigOperationalInfo#DataScouting"] + + + + + +class TrigCheckForMuons_pebM(TrigCheckForMuons): + __slots__ = [] + def __init__(self, name = 'TrigCheckForMuons_pebM', + etaWidth = 0.3, phiWidth = 0.3): + super( TrigCheckForMuons_pebM , self ).__init__( name ) + + self.AddCTPResult = True + self.AddHLTResult = True + self.etaWidth = etaWidth + self.phiWidth = phiWidth + self.MaxRoIsPerEvent = -1 + self.muonLabels = ["MuonEFInfo",""] + self.PEBInfoLabel = "pebM" + + from TrigDetCalib.TrigDetCalibMonitoring import TrigROBListWriterValidationMonitoring + from TrigDetCalib.TrigDetCalibMonitoring import TrigROBListWriterOnlineMonitoring + from TrigDetCalib.TrigDetCalibMonitoring import TrigROBListWriterCosmicMonitoring + validation = TrigROBListWriterValidationMonitoring(name+"ValidationMonitoring") + online = TrigROBListWriterOnlineMonitoring(name+"OnlineMonitoring") + cosmic = TrigROBListWriterCosmicMonitoring(name+"CosmicMonitoring") + from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig + time = TrigTimeHistToolConfig(name + '_Time') + self.AthenaMonTools = [ validation, online, time, cosmic ] + +class TrigCheckForMuons_peb075(TrigCheckForMuons): + __slots__ = [] + def __init__(self, name = 'TrigCheckForMuons_peb075', + etaWidth = 0.75, phiWidth = 0.75): + super( TrigCheckForMuons_peb075 , self ).__init__( name ) + + self.AddCTPResult = True + self.AddHLTResult = True + self.etaWidth = etaWidth + self.phiWidth = phiWidth + self.MaxRoIsPerEvent = -1 + self.muonLabels = ["MuonEFInfo",""] + self.PEBInfoLabel = "peb075" + + #self.ROBSelector.Subdetectors = "All" # this allows to modify list of subdetectors to include + + from TrigDetCalib.TrigDetCalibMonitoring import TrigROBListWriterValidationMonitoring + from TrigDetCalib.TrigDetCalibMonitoring import TrigROBListWriterOnlineMonitoring + from TrigDetCalib.TrigDetCalibMonitoring import TrigROBListWriterCosmicMonitoring + validation = TrigROBListWriterValidationMonitoring(name+"ValidationMonitoring") + online = TrigROBListWriterOnlineMonitoring(name+"OnlineMonitoring") + cosmic = TrigROBListWriterCosmicMonitoring(name+"CosmicMonitoring") + from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig + time = TrigTimeHistToolConfig(name + '_Time') + self.AthenaMonTools = [ validation, online, time, cosmic ] diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.cxx b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.cxx new file mode 100644 index 0000000000000000000000000000000000000000..f9235caa6df21bfec5e7f13bf5c6494305424322 --- /dev/null +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.cxx @@ -0,0 +1,312 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#include "GaudiKernel/MsgStream.h" +#include "TrigSteeringEvent/TrigRoiDescriptor.h" +#include "TrigSteeringEvent/PartialEventBuildingInfo.h" +#include "IRegionSelector/IRegSelSvc.h" +#include "xAODMuon/MuonContainer.h" + + +#include "TrigCheckForMuons.h" + +using namespace std; + +TrigCheckForMuons::TrigCheckForMuons(const std::string& name, ISvcLocator* pSvcLocator) + : HLT::AllTEAlgo(name, pSvcLocator), + //m_clidSvc("ClassIDSvc", name), + //m_types(), m_names(), m_momType(), m_clid(), + m_robSelector("TrigROBSelector", this ), + m_addCTPResult(1), m_addHLTResult(1), + m_addOppositePhiRoI(false), m_addOppositeEtaPhiRoI(false), + m_nRoIs(0), + m_mindRSqr(0.01*0.01) +{ + declareProperty("muonLabels", m_muonLabels, "List of labels for xAOD::Muon collection"); + declareProperty("ROBSelector", m_robSelector, "The ROB Selector Tool"); + declareProperty("AddCTPResult", m_addCTPResult, "Add the CTP result to the list of ROBs"); + declareProperty("AddOppositePhiRoI", m_addOppositePhiRoI = false, "Add also RoIs opposite in phi but same eta"); + declareProperty("AddOppositeEtaPhiRoI", m_addOppositeEtaPhiRoI = false, "Add also RoIs opposite in phi and opposite in eta"); + declareProperty("AddHLTResult", m_addHLTResult, "Add the HLT result to the list of ROBs"); + declareProperty("etaEdge", m_etaEdge = 5.0, "Upper limit of |eta| range"); + declareProperty("etaWidth", m_etaWidth = 0.1, "Width of the RoI in eta"); + declareProperty("phiWidth", m_phiWidth = 0.1, "Width of the RoI in phi"); + declareProperty("PEBInfoLabel", m_pebLabel = "dunno", "The label under which the PartialEventBuildingInfo object is stored"); + declareProperty("MaxRoIsPerEvent", m_maxRoIsPerEvent = -1); + declareProperty("extraROBs", m_extraROBs); + declareProperty("rejectAll", m_rejectAll = false); + declareProperty("overlapdR" , m_mindRSqr = 0.01*0.01 ); + + + declareMonitoredStdContainer("nROBs", m_nROBs); + declareMonitoredStdContainer("detectors", m_dets); + declareMonitoredVariable("roIEta", m_roIEta); + declareMonitoredVariable("roIPhi", m_roIPhi); +} + + +HLT::ErrorCode TrigCheckForMuons::hltInitialize() +{ + msg() << MSG::INFO << "Initializing CPTResult "<<m_addCTPResult + << " HLTResult "<< m_addHLTResult<< endmsg; + if (m_addCTPResult){ + m_trigResults.push_back(eformat::TDAQ_CTP); + m_trigResults.push_back(eformat::TDAQ_MUON_CTP_INTERFACE); + msg() << MSG::INFO << " Will add TDAQ_CTP, TDAQ_MUON_CTP_INTERFACE to event record" << endmsg; + } + if (m_addHLTResult){ + m_trigResults.push_back(eformat::TDAQ_HLT); + msg() << MSG::INFO << " Will add TDAQ_HLT to event record " << endmsg; + } + return HLT::OK; +} + + +HLT::ErrorCode TrigCheckForMuons::hltBeginRun() +{ + msg() << MSG::INFO << "in hltBeginRun() " << endmsg; + return m_robSelector->setupMonitoring(); +} + + +HLT::ErrorCode TrigCheckForMuons::hltFinalize() +{ + /* OI-- Not using this so far + if (!m_clidSvc.retrieve().isSuccess()) { + msg() << MSG::FATAL << "Cannot get ClassIDSvc " << m_clidSvc << endmsg; + return HLT::FATAL; + } + + std::vector< std::string> coll = m_collectionTypeName.value(); + + m_types.clear(); + m_names.clear(); + + for (std::vector<std::string>::const_iterator it = coll.begin(), it_e = coll.end(); it != it_e; it++) { + std::size_t found = (*it).find_first_of('#'); + + if (found != std::string::npos) + { + m_types.push_back((*it).substr(0,found)); + m_names.push_back((*it).substr(found+1,(*it).size()-found+1)); + if (msgLvl()<=MSG::DEBUG) msg() << MSG::DEBUG << "Will look for Collection " << m_types.back() << " with " << m_names.back() << " for PEB stream"<< endmsg; + }else{ + + msg() << MSG::FATAL << "Collection type and collection name not configured correctly. " << endmsg; + return HLT::BAD_ALGO_CONFIG; + } + } + + if (m_types.size() != m_names.size()){ + msg() << MSG::FATAL << "Collection type and collection name vectors have different size. " << endmsg; + return HLT::BAD_ALGO_CONFIG; + } + + m_clid.clear(); + + for (std::vector<std::string>::const_iterator it = m_types.begin(), it_e = m_types.end(); it != it_e; it++) { + CLID classid; + if (!m_clidSvc->getIDOfTypeName(*it, classid).isSuccess()){ + msg() << MSG::WARNING << "Cannot convert type. No CLID for " << (*it) << endmsg; + return HLT::BAD_ALGO_CONFIG; + } else { + int momType = -1; + const SG::BaseInfoBase* baseInfo = SG::BaseInfoBase::find( classid ); + if( ! baseInfo ){ + msg() << MSG::FATAL << "Please fix me: Cannot convert type. No BaseInfo for " << (*it) << endmsg; + return HLT::BAD_ALGO_CONFIG; + } + + if( baseInfo->is_base( ClassID_traits< xAOD::IParticleContainer >::ID() ) ) { + momType = 0; + } else if( baseInfo->is_base( ClassID_traits< I4MomentumContainer >::ID() ) ) { + // this is an "old" container, handle it through I4MomentumContainer + momType = 1; + } else { + msg() << MSG::FATAL << "Please fix me: I do not know how to extract eta/phi for this class " << (*it) << endmsg; + return HLT::BAD_ALGO_CONFIG; + } + + m_clid.push_back(classid); + m_momType.push_back(momType); + if (msgLvl()<=MSG::DEBUG) msg() << MSG::DEBUG << "CLID "<< classid << " is OK, accept for PEB " << endmsg; + + } + } + */ + return HLT::OK; +} + +//------------------------------------------------------------------------------------- +HLT::ErrorCode TrigCheckForMuons::hltExecute(std::vector<std::vector<HLT::TriggerElement*> >& inputTE, unsigned int output) +{ + + bool debug = msg().level()<=MSG::DEBUG; + + m_nRoIs++; + if( debug ){ + msg() << MSG::DEBUG << "Executing this TrigCheckForMuons " ; + if (m_maxRoIsPerEvent > -1) msg() << " RoI " << m_nRoIs << "/" << m_maxRoIsPerEvent; + msg() << endmsg; + } + + if (m_maxRoIsPerEvent > -1 && m_nRoIs > m_maxRoIsPerEvent) { + if( debug ) + msg() << MSG::DEBUG << "RoI limit (" << m_maxRoIsPerEvent + << ") reached for this event : will not process this RoI" << endmsg; + return HLT::OK; + } + + // Get Objects + + //HLT::ErrorCode status = HLT::BAD_ALGO_CONFIG; + + + // create new partial EB directive + PartialEventBuildingInfo* pebInfo = config()->getPEBI(); + if(!pebInfo){ + if( debug ) + msg() << MSG::DEBUG << "*** Not Executing this TrigCheckForMuons " << name() << ", not a calib chain" << endmsg; + return HLT::OK; + } + + + //--------- Get list of eta/phi of interesting objects ---------- + + // FIXME : can trace number of recorded muons per event and only add new once + + ElementLinkVector<xAOD::MuonContainer> elvmuon; + std::vector<ElementLink<xAOD::MuonContainer> > muonVec; + + for( auto mLabel : m_muonLabels ){ + bool foundLabel = false; + size_t nMu0 = muonVec.size(); + size_t nMu1 = 0; + for( auto TEvec : inputTE) + for( auto oneTE : TEvec ){ + // use getFeatureLinks instead of "Link" to get them all recursively, otherwise Bphys topo will stop search + HLT::ErrorCode status = getFeaturesLinks<xAOD::MuonContainer,xAOD::MuonContainer>(oneTE, elvmuon); + if(status==HLT::OK ) { + foundLabel = true; + bool found = false; + nMu1 += elvmuon.size(); + for( const auto & efmu : elvmuon ){ + if( found ) break; + for(const auto& part : muonVec ){ + if( (*part)->charge() * (*efmu)->charge() < 0 ) continue; + double deta = (*part)->eta() - (*efmu)->eta(); + double dphi = (*part)->phi() - (*efmu)->phi(); + double deltaR2 = deta*deta +dphi*dphi; + if( deltaR2 <= m_mindRSqr){ + found = true; + if(debug) msg() << MSG::DEBUG << " SKIP (Already have) muon with pt="<<(*efmu)->pt() << " eta=" + << (*efmu)->eta() << " phi=" << (*efmu)->phi() << " charge="<< (*efmu)->charge() << endmsg; + break; + } + } // loop over muonVec + if( !found ){ + muonVec.push_back(efmu); + if(debug) msg() << MSG::DEBUG << " Found muon pt="<<(*efmu)->pt() << " eta=" + << (*efmu)->eta() << " phi=" << (*efmu)->phi() << " charge="<< (*efmu)->charge() << endmsg; + } + }// end loop over muons + if(debug){ + if( !foundLabel ) msg() << " No collection with label "<< mLabel << " is found " << endmsg; + else + msg() << MSG::DEBUG << " Found "<< nMu1 << " muons with label "<< mLabel + <<" recorded "<< muonVec.size() - nMu0 << endmsg; + } + + } + }// end loop over TEs + } // end loop over labels + + + for(const auto& muon : muonVec ){ + + m_roIEta = (*muon)->eta(); + m_roIPhi = (*muon)->phi(); + + if (debug) msg() << MSG::DEBUG << "Processing muon " << m_roIEta << " " << m_roIPhi << endmsg; + + double etaMin = std::max(-m_etaEdge,m_roIEta - m_etaWidth); + double etaMax = std::min( m_etaEdge,m_roIEta + m_etaWidth); + + double phiMin = m_roIPhi - m_phiWidth; + double phiMax = m_roIPhi + m_phiWidth; + while (phiMin < 0) phiMin += 2*M_PI; + while (phiMax > 2*M_PI) phiMax -= 2*M_PI; // AH HA!! This is wrong! Need in the range -pi .. pi + + TrigRoiDescriptor roi( m_roIEta, etaMin, etaMax, m_roIPhi, phiMin, phiMax ); + + // now add ROBs + HLT::ErrorCode ec = m_robSelector->fillPEBInfo(*pebInfo, roi, &m_dets, &m_nROBs); + if (ec != HLT::OK) { + if (debug) msg() << MSG::DEBUG << "Failed to record PEB " << endmsg; + return ec; + } + + if( m_addOppositePhiRoI || m_addOppositeEtaPhiRoI) { + m_roIPhi_2 = (*muon)->phi(); + while (m_roIPhi_2 < 0) m_roIPhi_2 += 2*M_PI; + while (m_roIPhi_2 > 2*M_PI) m_roIPhi_2 -= 2*M_PI; + + double phiMin_2 =( m_roIPhi_2 + M_PI) - m_phiWidth; //Making a few redefintions of phi to look at muons produced in the oppoisite direction. Keeping eta the same, but changing phi. + double phiMax_2 = (m_roIPhi_2 + M_PI) + m_phiWidth; + while (phiMin_2 < 0) phiMin_2 += 2*M_PI; + while (phiMax_2 > 2*M_PI) phiMax_2 -= 2*M_PI; + + if( m_addOppositePhiRoI ) { //To now look for muons in the opposite phi direction, create a second TrigRoiDescriptor + TrigRoiDescriptor roi2( m_roIEta, etaMin, etaMax, m_roIPhi_2 + M_PI, phiMin_2, phiMax_2 ); + + // now add ROBs + ec = m_robSelector->fillPEBInfo(*pebInfo, roi2, &m_dets, &m_nROBs); + if (ec != HLT::OK) { + if (debug) msg() << MSG::DEBUG << "Failed to record PEB for roi2" << endmsg; + return ec; + } + } + if( m_addOppositeEtaPhiRoI ) {//To now look for muons in the opposite eta and phi direction, + double etaMin_2 = std::max(-m_etaEdge,-m_roIEta - m_etaWidth); + double etaMax_2 = std::min( m_etaEdge,-m_roIEta + m_etaWidth); + TrigRoiDescriptor roi2( m_roIEta, etaMax_2, etaMin_2, m_roIPhi_2 + M_PI, phiMin_2, phiMax_2 ); + + // now add ROBs + ec = m_robSelector->fillPEBInfo(*pebInfo, roi2, &m_dets, &m_nROBs); + if (ec != HLT::OK) { + if (debug) msg() << MSG::DEBUG << "Failed to record PEB for roi2" << endmsg; + return ec; + } + } + } + + + if (debug) msg() << MSG::DEBUG << "Recorded " << m_nROBs.back() << " ROBs " << endmsg; + + + } // end loop over muons + + // Add extra ROBs + for (std::vector<uint32_t>::const_iterator rob = m_extraROBs.begin(); rob != m_extraROBs.end(); rob++) + pebInfo->add(*rob); + + // Add trig results as specified in properties + pebInfo->addSubDetector(m_trigResults); + + if(! m_rejectAll){ // Flag used for commissioning + HLT::TriggerElement* te = addRoI(output); + te->setActiveState(true); + } + return HLT::OK; +} + + +HLT::ErrorCode TrigCheckForMuons::hltEndEvent() +{ + m_robSelector->reset(); + m_dets.clear(); + m_nROBs.clear(); + m_nRoIs = 0; + return HLT::OK; +} diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.h b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.h new file mode 100644 index 0000000000000000000000000000000000000000..21ecd56eccefe50eb8b46991bf86206dfdb52944 --- /dev/null +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigCheckForMuons.h @@ -0,0 +1,102 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +/********************************************************************************** + * @Project: LAr Calibration + * @Package: TrigEgammaHypo + * @Class : TrigCheckForMuons + * + * @brief : Algorithm to write out a list of ROBs around muons + * + * @author Olya Igonkina, Amy Tee + * + * File and Version Information: + * $Id: TrigCheckForMuons.h 707504 2015-11-12 16:33:46Z fwinkl $ + **********************************************************************************/ + +#ifndef TrigDetCalib_TrigCheckForMuons_H +#define TrigDetCalib_TrigCheckForMuons_H + +#include "TrigInterfaces/AllTEAlgo.h" + +#include "GaudiKernel/ToolHandle.h" +#include "GaudiKernel/ServiceHandle.h" +#include <vector> +#include <string> + +#include "IRegionSelector/RegSelEnums.h" +#include "GaudiKernel/ITHistSvc.h" +#include "TrigDetCalib/ITrigROBSelector.h" + +#include "eformat/SourceIdentifier.h" +#include "TrigNavStructure/Types.h" + +class IRegSelSvc; +class MsgStream; +class PartialEventBuildingInfo; +class TH1I; + +namespace HLT { + class TriggerElement; +} + +/** + @class TrigCheckForMuons + Algorithm to write out a list of ROBs around all muons. + In principle, we could also run it only once per event. + However, if there is another chain that also wants all muons and is not yet finished, then we risk to miss some muons. + It is very quick, and every ROB will be written only once, so it should not be a problem to repeat it.. + + @author Olya Igonkina +*/ +class TrigCheckForMuons : public HLT::AllTEAlgo +{ + public: + + TrigCheckForMuons(const std::string& name, ISvcLocator* pSvcLocator); //!< std Gaudi algorthm constructor + + HLT::ErrorCode hltInitialize(); + HLT::ErrorCode hltFinalize(); + + /** @brief take one input TriggerElement and process it + It tries to retrieve any attached TrigRoIDescriptor features and prints them. + @param input TriggerElement to be processed + @param output TriggerElement coming out of the algorithm + */ + + HLT::ErrorCode hltExecute(std::vector<std::vector<HLT::TriggerElement*> >& inputTE, unsigned int output); + + HLT::ErrorCode hltBeginRun(); + + HLT::ErrorCode hltEndEvent(); + + + private: + + ToolHandle<ITrigROBSelector> m_robSelector; + bool m_addCTPResult, m_addHLTResult; + bool m_addOppositePhiRoI; + bool m_addOppositeEtaPhiRoI; + + double m_etaEdge, m_etaWidth, m_phiWidth; + + std::string m_pebLabel; + std::vector<std::string> m_muonLabels; + + int m_maxRoIsPerEvent, m_nRoIs; + + // Hardcoded extra ROBs that should be shipped in all cases + std::vector<uint32_t> m_extraROBs; + + // Monitored variables + std::vector<DETID> m_dets; + std::vector<eformat::SubDetector> m_trigResults; + std::vector<int> m_nROBs; + double m_roIEta, m_roIPhi, m_roIPhi_2; + float m_mindRSqr; + + bool m_rejectAll; +}; + +#endif diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.cxx b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.cxx index 14c2a7964bfe9325b4975c097acc3b09aece489b..ca8f6da194bc1bcf632d75a3ff074645cbe5426e 100644 --- a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.cxx +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include "TrigL1CaloOverflow.h" @@ -20,6 +20,7 @@ TrigL1CaloOverflow::TrigL1CaloOverflow(const std::string& name, ISvcLocator* pSv declareProperty("ignoreAbortGap", m_ignoreAbortGap = true, "Ignore overflows in abort gap"); declareProperty("acceptCMXOverflows", m_acceptCMXOverflows = true, "Accept CMX overflows"); declareProperty("acceptCaloRoIBOverflows", m_acceptCaloRoIBOverflows = true, "Accept Calo RoIB overflows"); + declareProperty("acceptLvl1ConsistencyProblems", m_acceptLvl1Consist = true, "Accept events with problems in the Lvl1 consistency checker"); } HLT::ErrorCode TrigL1CaloOverflow::hltInitialize() @@ -64,6 +65,16 @@ HLT::ErrorCode TrigL1CaloOverflow::hltExecute(std::vector<std::vector<HLT::Trigg } } + // Events with issues in the consistency checker (not strictly overflows, see ATR-14607) + if (m_acceptLvl1Consist) { + HLT::ErrorCode ec = config()->getLvlConverterStatus(); + if ( ec.reason()==HLT::Reason::MISSING_FEATURE && + ec.steeringInternalReason()==HLT::SteeringInternalReason::MISSING_CALO_ROI ) { // see Lvl1ConsistencyChecker.cxx + addRoI(output)->setActiveState(true); + ATH_MSG_DEBUG("Event has Lvl1 consistency checker problems"); + } + } + afterExecMonitors().ignore(); return HLT::OK; } diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.h b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.h index f66de6c1284198199dfddf924a3a74387510d6e2..85c42e630d0e4a6054583e80c3165bb0a3dd287d 100644 --- a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.h +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigL1CaloOverflow.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TRIGDETCALIB_TRIGL1CALOOVERFLOW_H @@ -32,6 +32,7 @@ private: bool m_ignoreAbortGap; bool m_acceptCMXOverflows; bool m_acceptCaloRoIBOverflows; + bool m_acceptLvl1Consist; }; diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigROBSelector.cxx b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigROBSelector.cxx index fd841c4de554b94798c7f8b49c9b94dd361ecbee..c9416a25df240f91eab3ae000e59812e39f0d145 100644 --- a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigROBSelector.cxx +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigROBSelector.cxx @@ -44,6 +44,11 @@ TrigROBSelector::TrigROBSelector(const std::string& type, const std::string& nam m_detNames[MDT] = "MDT"; m_detNames[RPC] = "RPC"; m_detNames[TGC] = "TGC"; + /* on April 19, 2018, these subdetectors were not included by default, so do not change this + m_detNames[LAR] = "LAR"; + m_detNames[FTK] = "FTK"; + */ + m_detNames[CSC] = "CSC"; // included since April 19, 2018, small size } @@ -91,7 +96,7 @@ StatusCode TrigROBSelector::initialize() } if (m_detSpec.find("Muons") != std::string::npos) - isIncluded[MDT] = isIncluded[RPC] = isIncluded[TGC] = true; + isIncluded[MDT] = isIncluded[RPC] = isIncluded[TGC] = isIncluded[CSC] = true; if (m_detSpec.find("EM") != std::string::npos) isIncluded[TTEM] = isIncluded[FCALEM] = true; @@ -101,7 +106,7 @@ StatusCode TrigROBSelector::initialize() if (m_detSpec.find("All") != std::string::npos) { for (std::map<DETID,std::string>::const_iterator name = m_detNames.begin(); - name != m_detNames.end(); name++) + name != m_detNames.end(); name++) isIncluded[name->first] = true; } diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigSubDetListWriter.cxx b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigSubDetListWriter.cxx index 47e4262e5a4188dd51fa34a9bb73f71db914b23d..baba42d1a0eb51fd93b59e0454646ac41a935e6b 100755 --- a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigSubDetListWriter.cxx +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigSubDetListWriter.cxx @@ -79,47 +79,41 @@ HLT::ErrorCode TrigSubDetListWriter::hltInitialize() for(std::vector<std::string>::iterator detit = m_detId.begin(); detit != m_detId.end(); ++detit){ //if (m_detSpec.find("HLTResult") != std::string::npos) { - if (*detit=="HLTResult") { + if (*detit=="RPC") { + m_sourceid.push_back(eformat::MUON_RPC_BARREL_A_SIDE); + m_sourceid.push_back(eformat::MUON_RPC_BARREL_C_SIDE); + } else if (*detit=="HLTResult") { m_sourceid.push_back(eformat::TDAQ_HLT); m_sourceid.push_back(eformat::TDAQ_CTP); - } - if (*detit=="L2EFResult") { + } else if (*detit=="TDAQ_HLT") { + m_sourceid.push_back(eformat::TDAQ_HLT); + } else if (*detit=="L2EFResult") { m_sourceid.push_back(eformat::TDAQ_LVL2); m_sourceid.push_back(eformat::TDAQ_EVENT_FILTER); m_sourceid.push_back(eformat::TDAQ_CTP); - } - if (*detit=="TDAQ_LVL2") { + } else if (*detit=="TDAQ_LVL2") { m_sourceid.push_back(eformat::TDAQ_LVL2); - } - if (*detit=="TDAQ_EVENT_FILTER") { + } else if (*detit=="TDAQ_EVENT_FILTER") { m_sourceid.push_back(eformat::TDAQ_EVENT_FILTER); - } - if (*detit=="TDAQ_CTP") { + } else if (*detit=="TDAQ_CTP") { m_sourceid.push_back(eformat::TDAQ_CTP); - } - if (*detit=="TDAQ_SFI") { + } else if (*detit=="TDAQ_SFI") { m_sourceid.push_back(eformat::TDAQ_SFI); - } - if (*detit=="TDAQ_SFO") { + } else if (*detit=="TDAQ_SFO") { m_sourceid.push_back(eformat::TDAQ_SFO); - } - if (*detit=="TDAQ_CALO") { + } else if (*detit=="TDAQ_CALO" || *detit=="TDAQ_L1CALO") { m_sourceid.push_back(eformat::TDAQ_CALO_PREPROC); m_sourceid.push_back(eformat::TDAQ_CALO_CLUSTER_PROC_DAQ); m_sourceid.push_back(eformat::TDAQ_CALO_CLUSTER_PROC_ROI); m_sourceid.push_back(eformat::TDAQ_CALO_JET_PROC_DAQ); m_sourceid.push_back(eformat::TDAQ_CALO_JET_PROC_ROI); - } - if (*detit=="TDAQ_MUON") { + } else if (*detit=="TDAQ_MUON") { m_sourceid.push_back(eformat::TDAQ_MUON_CTP_INTERFACE); - } - if (*detit=="TDAQ_BEAM_CRATE") { + } else if (*detit=="TDAQ_BEAM_CRATE") { m_sourceid.push_back(eformat::TDAQ_BEAM_CRATE); - } - if (*detit=="TDAQ_L2SV") { + } else if (*detit=="TDAQ_L2SV") { m_sourceid.push_back(eformat::TDAQ_L2SV); - } - if (*detit=="InnerDetector") { + } else if (*detit=="InnerDetector") { m_sourceid.push_back(eformat::PIXEL_IBL); m_sourceid.push_back(eformat::PIXEL_BARREL); m_sourceid.push_back(eformat::PIXEL_DISK); @@ -133,8 +127,7 @@ HLT::ErrorCode TrigSubDetListWriter::hltInitialize() m_sourceid.push_back(eformat::TRT_BARREL_C_SIDE); m_sourceid.push_back(eformat::TRT_ENDCAP_A_SIDE); m_sourceid.push_back(eformat::TRT_ENDCAP_C_SIDE); - } - if (*detit=="SiOnly") { + } else if (*detit=="SiOnly") { m_sourceid.push_back(eformat::PIXEL_IBL); m_sourceid.push_back(eformat::PIXEL_BARREL); m_sourceid.push_back(eformat::PIXEL_DISK); @@ -143,20 +136,16 @@ HLT::ErrorCode TrigSubDetListWriter::hltInitialize() m_sourceid.push_back(eformat::SCT_BARREL_C_SIDE); m_sourceid.push_back(eformat::SCT_ENDCAP_A_SIDE); m_sourceid.push_back(eformat::SCT_ENDCAP_C_SIDE); - } - if (*detit=="DBM") { + } else if (*detit=="DBM") { m_sourceid.push_back(eformat::PIXEL_DBM); - } - if (*detit=="IBL") { + } else if (*detit=="IBL") { m_sourceid.push_back(eformat::PIXEL_IBL); - } - if (*detit=="Pixel") { + } else if (*detit=="Pixel") { m_sourceid.push_back(eformat::PIXEL_IBL); m_sourceid.push_back(eformat::PIXEL_BARREL); m_sourceid.push_back(eformat::PIXEL_DISK); m_sourceid.push_back(eformat::PIXEL_B_LAYER); - } - if (*detit=="Muons") { + } else if (*detit=="Muons") { m_sourceid.push_back(eformat::MUON_ANCILLARY_CRATE); m_sourceid.push_back(eformat::MUON_MDT_BARREL_A_SIDE); m_sourceid.push_back(eformat::MUON_MDT_BARREL_C_SIDE); @@ -169,19 +158,16 @@ HLT::ErrorCode TrigSubDetListWriter::hltInitialize() m_sourceid.push_back(eformat::MUON_CSC_ENDCAP_A_SIDE); m_sourceid.push_back(eformat::MUON_CSC_ENDCAP_C_SIDE); m_sourceid.push_back(eformat::TDAQ_MUON_CTP_INTERFACE); - } - if (*detit=="CSC") { + } else if (*detit=="CSC") { m_sourceid.push_back(eformat::MUON_CSC_ENDCAP_A_SIDE); m_sourceid.push_back(eformat::MUON_CSC_ENDCAP_C_SIDE); - } - if (*detit=="Tile") { + } else if (*detit=="Tile") { m_sourceid.push_back(eformat::TILECAL_LASER_CRATE); m_sourceid.push_back(eformat::TILECAL_BARREL_A_SIDE); m_sourceid.push_back(eformat::TILECAL_BARREL_C_SIDE); m_sourceid.push_back(eformat::TILECAL_EXT_A_SIDE); m_sourceid.push_back(eformat::TILECAL_EXT_C_SIDE); - } - if (*detit=="LAr") { + } else if (*detit=="LAr") { m_sourceid.push_back(eformat::LAR_EM_BARREL_A_SIDE); m_sourceid.push_back(eformat::LAR_EM_BARREL_C_SIDE); m_sourceid.push_back(eformat::LAR_EM_ENDCAP_A_SIDE); @@ -190,22 +176,23 @@ HLT::ErrorCode TrigSubDetListWriter::hltInitialize() m_sourceid.push_back(eformat::LAR_FCAL_C_SIDE); m_sourceid.push_back(eformat::LAR_HAD_ENDCAP_A_SIDE); m_sourceid.push_back(eformat::LAR_HAD_ENDCAP_C_SIDE); - } - if (*detit=="FORWARD_BCM") { + } else if (*detit=="FCal") { + m_sourceid.push_back(eformat::LAR_FCAL_A_SIDE); + m_sourceid.push_back(eformat::LAR_FCAL_C_SIDE); + } else if (*detit=="FORWARD_BCM") { m_sourceid.push_back(eformat::FORWARD_BCM); - } - if (*detit=="FORWARD_LUCID") { + } else if (*detit=="FORWARD_LUCID") { m_sourceid.push_back(eformat::FORWARD_LUCID); - } - if (*detit=="FORWARD_ZDC") { + } else if (*detit=="FORWARD_ZDC") { m_sourceid.push_back(eformat::FORWARD_ZDC); - } - if (*detit=="FORWARD_ALPHA") { + } else if (*detit=="FORWARD_ALPHA") { m_sourceid.push_back(eformat::FORWARD_ALPHA); - } - if (*detit=="FORWARD_AFP") { + } else if (*detit=="FORWARD_AFP") { m_sourceid.push_back(eformat::FORWARD_AFP); + } else { + ATH_MSG_ERROR("Unknown detector ID for partial event building:" << *detit << ". Please update TrigSubSetListWriter."); } + } if (m_detSpec.find("ID") != std::string::npos) { @@ -286,7 +273,7 @@ HLT::ErrorCode TrigSubDetListWriter::hltInitialize() if (do_RPC) m_detectors.push_back(RPC); if (do_TGC) m_detectors.push_back(TGC); - msg() << MSG::INFO << "Selected subdetectors = "; + msg() << MSG::INFO << "Selected "<< m_detectors.size() << " subdetectors = "; for (std::vector<DETID>::const_iterator det = m_detectors.begin(); det != m_detectors.end(); det++) msg() << *det << " "; msg() << endmsg; diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/components/TrigDetCalib_entries.cxx b/Trigger/TrigAlgorithms/TrigDetCalib/src/components/TrigDetCalib_entries.cxx index 259070ebe6ae6b4ea9629d68cfb20f13322b3cf8..340d8d0e6d82fe9704d14760e9abcaa09dbfe350 100644 --- a/Trigger/TrigAlgorithms/TrigDetCalib/src/components/TrigDetCalib_entries.cxx +++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/components/TrigDetCalib_entries.cxx @@ -3,15 +3,15 @@ #include "../TrigSubDetListWriter.h" #include "../TrigEtaHypo.h" #include "../TrigCheckForTracks.h" +#include "../TrigCheckForMuons.h" #include "../ScoutingStreamWriter.h" #include "../TrigL1CaloOverflow.h" - DECLARE_COMPONENT( TrigROBSelector ) DECLARE_COMPONENT( TrigROBListWriter ) DECLARE_COMPONENT( TrigSubDetListWriter ) DECLARE_COMPONENT( TrigEtaHypo ) DECLARE_COMPONENT( TrigCheckForTracks ) +DECLARE_COMPONENT( TrigCheckForMuons ) DECLARE_COMPONENT( ScoutingStreamWriter ) DECLARE_COMPONENT( TrigL1CaloOverflow ) - diff --git a/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETAlgMT.h b/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETAlgMT.h index 4792e597b35f0151af2a4b66b6411d0f8f7c0768..6cd3ba49f1e51a3ecd37f2caf0314f71534b73dd 100644 --- a/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETAlgMT.h +++ b/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETAlgMT.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TRIGEFMISSINGET_EFMISSINGETALGMT_H #define TRIGEFMISSINGET_EFMISSINGETALGMT_H 1 @@ -11,7 +11,7 @@ #include "xAODTrigMissingET/TrigMissingETContainer.h" #include "TrigEFMissingET/EFMissingETBaseTool.h" #include "TrigEFMissingET/EFMissingETBaseTool.h" -#include "TrigEFMissingET/EFMissingETFromHelper.h" +#include "TrigEFMissingET/EFMissingETFromHelperMT.h" #include "TrigEFMissingET/IMissingETTool.h" @@ -39,8 +39,8 @@ class EFMissingETAlgMT : public ::AthReentrantAlgorithm SG::WriteHandleKey<xAOD::TrigMissingETContainer> m_metContainerKey { this, "METContainerKey", "HLT_MET", "Name of the output collection" }; ToolHandleArray<IMissingETTool> m_metTools { this, "METTools", {}, "Tools to fille MET object" }; ToolHandle<GenericMonitoringTool> m_monTool{ this, "MonTool", "", "Monitoring tool" }; - ToolHandle<EFMissingETFromHelper> m_helperTool{ this, "HelperTool", "EFMissingETFromHelper/HelperTool", "Helper tool" }; + ToolHandle<EFMissingETFromHelperMT> m_helperTool{ this, "HelperTool", "EFMissingETFromHelper/HelperTool", "Helper tool" }; }; -#endif //> !TRIGEFMISSINGET_EFMISSINGETMT_H +#endif //> !TRIGEFMISSINGET_EFMISSINGETALGMT_H diff --git a/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETFromHelperMT.h b/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETFromHelperMT.h index 298984cbb38ba92fcc822745181ca96c24687130..8b312c1057c6aa60af7937606c9595a2bc37fe61 100644 --- a/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETFromHelperMT.h +++ b/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETFromHelperMT.h @@ -41,13 +41,12 @@ class EFMissingETFromHelperMT : public extends<EFMissingETBaseTool, IMissingETTo const std::string& name, const IInterface* parent); - ~EFMissingETFromHelperMT(); + virtual ~EFMissingETFromHelperMT(); - virtual StatusCode initialize(); - virtual StatusCode finalize(); - virtual StatusCode execute(); + virtual StatusCode initialize() override; + virtual StatusCode finalize() override; - virtual StatusCode execute(xAOD::TrigMissingET *met, + virtual StatusCode executeMT(xAOD::TrigMissingET *met, TrigEFMissingEtHelper *metHelper) const; virtual StatusCode update( xAOD::TrigMissingET *met, diff --git a/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETAlgMT.cxx b/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETAlgMT.cxx index 77e6c4a1b16396fa5c693e10f8787dfea8d1f254..55b1375d0a63636ae2f169479a4c770514f08926 100644 --- a/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETAlgMT.cxx +++ b/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETAlgMT.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include <cmath> #include "xAODTrigMissingET/TrigMissingETAuxContainer.h" @@ -63,7 +63,7 @@ StatusCode EFMissingETAlgMT::execute_r( const EventContext& context ) const { } loopTimer.stop(); - m_helperTool->execute(met, &metHelper, nullptr, nullptr, nullptr, nullptr); + ATH_CHECK( m_helperTool->executeMT(met, &metHelper) ); auto EF_MEx_log = MonitoredScalar::declare( "EF_MEx_log", toLogGeV( met->ex() ) ); auto EF_MEy_log = MonitoredScalar::declare( "EF_MEy_log", toLogGeV( met->ey() ) ); diff --git a/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETFromHelperMT.cxx b/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETFromHelperMT.cxx index ae7369d70a5a6ae29635dede1cc7a9850c77afef..4e837cfe93009e6ccf3a4fdbf4a4f32e9a68fd94 100644 --- a/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETFromHelperMT.cxx +++ b/Trigger/TrigAlgorithms/TrigEFMissingET/src/EFMissingETFromHelperMT.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /******************************************************************** @@ -71,17 +71,12 @@ StatusCode EFMissingETFromHelperMT::finalize() -StatusCode EFMissingETFromHelperMT::execute() -{ - return StatusCode::SUCCESS; -} - StatusCode EFMissingETFromHelperMT::update(xAOD::TrigMissingET *met, TrigEFMissingEtHelper *metHelper ) const { - return EFMissingETFromHelperMT::execute(met, metHelper); + return EFMissingETFromHelperMT::executeMT(met, metHelper); } -StatusCode EFMissingETFromHelperMT::execute(xAOD::TrigMissingET *met , +StatusCode EFMissingETFromHelperMT::executeMT(xAOD::TrigMissingET *met , TrigEFMissingEtHelper *metHelper) const { ATH_MSG_DEBUG( "EFMissingETFromHelperMT::execute() called" ); diff --git a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/AcceptL1TopoMonitor.h b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/AcceptL1TopoMonitor.h index 7726e8ee4a635d6765677650eed9d08b0e8a1bb5..366f567ca8bee1b28ea128d17444a687601feecf 100644 --- a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/AcceptL1TopoMonitor.h +++ b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/AcceptL1TopoMonitor.h @@ -159,6 +159,8 @@ private: TH1F* m_histTopoHdwNotSimOverflow; TH1F* m_histTopoProblems; TH1F* m_histInputLinkCRCfromROIConv; + TH1F* m_histTopoSimOverfl; + TH1F* m_histTopoHdwOverfl; TH1F* m_histTopoDaqRobSimResult; TH1F* m_histTopoDaqRobHdwResult; TH1F* m_histTopoDaqRobSimNotHdwResult; diff --git a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.cxx b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.cxx index 54a283dd0440498d53888778f98384d88429e500..28850a51337721e4ee0fe49b56bb0f7894893fd3 100644 --- a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.cxx +++ b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.cxx @@ -1,27 +1,37 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ #include "TrigRoiUpdater.h" #include "GaudiKernel/MsgStream.h" #include "GaudiKernel/IIncidentSvc.h" #include "TrigSteeringEvent/TrigRoiDescriptor.h" +#include "RoiDescriptor/RoiDescriptor.h" +#include "IRegionSelector/RoiUtil.h" +#include "IRegionSelector/IRoiDescriptor.h" +#include "IRegionSelector/IRegSelSvc.h" namespace PESA { TrigRoiUpdater::TrigRoiUpdater(const std::string &name, - ISvcLocator *pSvcLocator) + ISvcLocator *pSvcLocator) : HLT::FexAlgo (name, pSvcLocator), m_etaHalfWidth(0.), m_phiHalfWidth(0.), m_zHalfWidth(0.), + m_regionSelector("RegSelSvc", name), + m_requestPIXRobs(true), + m_requestSCTRobs(true), m_monitorDuplicateRoIs(true), m_invocations(0), m_duplicateRoIs(0) { declareProperty("EtaHalfWidth", m_etaHalfWidth); declareProperty("PhiHalfWidth", m_phiHalfWidth); + declareProperty("RegionSelectorTool", m_regionSelector); + declareProperty("RequestPIXRobs", m_requestPIXRobs); + declareProperty("RequestSCTRobs", m_requestSCTRobs); declareProperty("MonitorDuplicateRoIs", m_monitorDuplicateRoIs); m_inpPhiMinus = m_inpPhiPlus = m_inpPhiSize = 0.; @@ -62,6 +72,14 @@ namespace PESA return HLT::BAD_JOB_SETUP; } + // Retrieving Region Selector Tool: + if ( (m_requestPIXRobs || m_requestSCTRobs) && m_regionSelector.retrieve().isFailure() ) { + ATH_MSG_FATAL( m_regionSelector.propertyName() + << " : Unable to retrieve RegionSelector tool " + << m_regionSelector.type() ); + return HLT::ErrorCode(HLT::Action::ABORT_JOB, HLT::Reason::BAD_JOB_SETUP); + } + return HLT::OK; } @@ -70,7 +88,7 @@ namespace PESA if (inc.type() == "BeginEvent") { //cleanup stored RoIs m_rois.clear(); - } + } } /////////////////////////////////////////////////////////////////// @@ -80,15 +98,16 @@ namespace PESA ATH_MSG_DEBUG("execHLTAlgorithm()"); + const TrigRoiDescriptor *roi = 0; + bool forIDfound=false; + bool updateNeeded=true; + bool attach_forID=true; + m_inpPhiMinus = m_inpPhiPlus = m_inpPhiSize = -10.; m_inpEtaMinus = m_inpEtaPlus = m_inpEtaSize = -10.; m_PhiMinus = m_PhiPlus = m_PhiSize = -10.; m_EtaMinus = m_EtaPlus = m_EtaSize = -10.; - const TrigRoiDescriptor *roi = 0; - bool forIDfound=false; - bool updateNeeded=true; - std::vector<std::string> roiNames = {"forID3","forID2","forID1", "forID", ""}; std::string roiName= ""; @@ -105,8 +124,12 @@ namespace PESA if (roi->composite()){ + if (m_requestPIXRobs || m_requestSCTRobs){ + registerROBs(roi); + } + ATH_MSG_DEBUG("Not touching a composite RoI"); - return HLT::OK; + updateNeeded = false; } //signature specific modifications @@ -120,25 +143,23 @@ namespace PESA if (instanceName.find("Bjet")!=std::string::npos || instanceName.find("bjet")!=std::string::npos){ ATH_MSG_DEBUG("don't use fixed RoI halfwidths for bjets"); updateNeeded = false; + if (instanceName.find("BjetVtx")!=std::string::npos){ + attach_forID=false; + } } - - - + TrigRoiDescriptor *outroi = 0; if (updateNeeded) { m_inpPhiMinus= roi->phiMinus(); m_inpPhiPlus = roi->phiPlus(); m_inpPhiSize= m_inpPhiPlus - m_inpPhiMinus; m_inpEtaMinus= roi->etaMinus(); m_inpEtaPlus = roi->etaPlus(); m_inpEtaSize= m_inpEtaPlus - m_inpEtaMinus; - - float eta = roi->eta(); float phi = roi->phi(); float oldEtaW = m_inpEtaPlus - m_inpEtaMinus; float oldPhiW = m_inpPhiPlus - m_inpPhiMinus; - if ( m_inpPhiPlus < m_inpPhiMinus ) oldPhiW += 2*M_PI; float diff_eta = 0.5*oldEtaW - m_etaHalfWidth; @@ -148,8 +169,8 @@ namespace PESA zedm = roi->zedMinus()-m_zHalfWidth; zedp = roi->zedPlus()+m_zHalfWidth; if (instanceName.find("IDTrigRoiUpdater_BeamSpot_IDTrig")!=std::string::npos){ - zedm = (roi->zedPlus()+roi->zedMinus())/2.-m_zHalfWidth; - zedp = (roi->zedPlus()+roi->zedMinus())/2.+m_zHalfWidth; + zedm = (roi->zedPlus()+roi->zedMinus())/2.-m_zHalfWidth; + zedp = (roi->zedPlus()+roi->zedMinus())/2.+m_zHalfWidth; } @@ -167,47 +188,56 @@ namespace PESA ATH_MSG_DEBUG("Input RoI " << *roi); - if ( HLT::OK != attachFeature(outputTE, outroi, roiName) ) { - ATH_MSG_ERROR("Could not attach feature to the TE"); - return HLT::NAV_ERROR; + if (attach_forID){ + if ( HLT::OK != attachFeature(outputTE, outroi, roiName) ) { + ATH_MSG_ERROR("Could not attach feature to the TE"); + return HLT::NAV_ERROR; + } + else { + ATH_MSG_DEBUG("REGTEST attached RoI " << roiName << *outroi); + } } - else { - ATH_MSG_DEBUG("REGTEST: attached RoI " << roiName << *outroi); + + if (m_requestPIXRobs || m_requestSCTRobs){ + registerROBs(outroi); } + //check whether we are attaching the same RoI again (this execution could be cache) if (m_monitorDuplicateRoIs){ for (auto it = m_rois.begin(); it != m_rois.end(); it++) { - TrigRoiDescriptor r = (*it); - if (fabs(r.etaMinus()-outroi->etaMinus())<0.001 && - fabs(r.etaPlus()-outroi->etaPlus())<0.001 && - fabs(r.zedMinus()-outroi->zedMinus())<0.1 && - fabs(r.zedPlus()-outroi->zedPlus())<0.1 && - fabs(r.phiMinus()-outroi->phiMinus())<0.001 && - fabs(r.phiPlus()-outroi->phiPlus())<0.001){ - ATH_MSG_DEBUG("This RoI was already processed by the same instance of ID tracking"); - ATH_MSG_DEBUG(*outroi); - ATH_MSG_DEBUG(r); - thesameroi=true; - } + TrigRoiDescriptor r = (*it); + if (r == *outroi) { + ATH_MSG_DEBUG("This RoI was already processed by the same instance of ID tracking"); + ATH_MSG_DEBUG(*outroi); + ATH_MSG_DEBUG(r); + thesameroi=true; + } } if (!thesameroi){ - m_rois.push_back(*outroi); - ATH_MSG_DEBUG("Registering RoI " << *outroi); - } else { - m_duplicateRoIs++; + outroi->manageConstituents(false); + m_rois.push_back(*outroi); + // m_rois.back().manageConstituents(false); + ATH_MSG_DEBUG("Registering RoI " << m_rois.back()); + } + else { + m_duplicateRoIs++; } + } + if (!attach_forID){ //if the outroi is not attached to the navigation + delete outroi; } m_invocations++; return HLT::OK; } - /////////////////////////////////////////////////////////////////// + + ////////////////////////////////////////////////////////////////// // Finalize /////////////////////////////////////////////////////////////////// - + HLT::ErrorCode TrigRoiUpdater::hltFinalize() { ATH_MSG_DEBUG("finalize() success"); @@ -215,6 +245,40 @@ namespace PESA return HLT::OK; } -} // end namespace + HLT::ErrorCode TrigRoiUpdater::registerROBs(const TrigRoiDescriptor *roi){ + + if (roi == 0) { + ATH_MSG_WARNING( "REGTEST / Failed to find RoiDescriptor " ); + return HLT::NAV_ERROR; + } + + ATH_MSG_DEBUG( "REGTEST registerROBs" << *roi ); + + std::vector<unsigned int> uIntListOfRobs; + if (m_requestPIXRobs) { + m_regionSelector->DetROBIDListUint( PIXEL, *roi, uIntListOfRobs ); + + ATH_MSG_DEBUG( "list of ROBs ID in PIX: " ); + for(uint i_lid(0); i_lid<uIntListOfRobs.size(); i_lid++) + ATH_MSG_DEBUG( "0x" << std::hex << uIntListOfRobs.at(i_lid) << std::dec ); + + config()->robRequestInfo()->addRequestScheduledRobIDs( uIntListOfRobs ); + uIntListOfRobs.clear(); + } + + if (m_requestSCTRobs){ + m_regionSelector->DetROBIDListUint( SCT, *roi, uIntListOfRobs ); + + ATH_MSG_DEBUG( "list of ROBs ID in SCT: " ); + for(uint i_lid(0); i_lid<uIntListOfRobs.size(); i_lid++) + ATH_MSG_DEBUG( "0x" << std::hex << uIntListOfRobs.at(i_lid) << std::dec ); + + config()->robRequestInfo()->addRequestScheduledRobIDs( uIntListOfRobs ); + } + + return HLT::OK; + } + +} // end namespace diff --git a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.h b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.h index d07974d7d0e6e084034e7e5e108ef2b3d7c609d8..d24dd472f1a2f3f55a2c50f7a072cdf319343266 100644 --- a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.h +++ b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/TrigRoiUpdater.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ ///////////////////////////////////////////////////////////////////////////// @@ -23,7 +23,7 @@ #include "TrigInterfaces/FexAlgo.h" #include "TrigSteeringEvent/TrigRoiDescriptor.h" -//class TrigRoiDescriptor; +class IRegSelSvc; namespace PESA @@ -40,10 +40,18 @@ namespace PESA private: + HLT::ErrorCode registerROBs(const TrigRoiDescriptor *roi); + float m_etaHalfWidth; float m_phiHalfWidth; float m_zHalfWidth; + //ROB prefetching + ServiceHandle<IRegSelSvc> m_regionSelector; + //!< region selector service + bool m_requestPIXRobs; + bool m_requestSCTRobs; + //monitoring float m_inpPhiMinus,m_inpPhiPlus, m_inpPhiSize; float m_inpEtaMinus,m_inpEtaPlus, m_inpEtaSize; diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaFastAlgo.cxx b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaFastAlgo.cxx index 4a43de17b45957b5328850bd07476bc947387a98..62814ae4a0c6aff43120dd15393e725631b98cda 100755 --- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaFastAlgo.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/src/T2CaloEgammaFastAlgo.cxx @@ -91,7 +91,7 @@ StatusCode T2CaloEgammaFastAlgo::execute() m_trigEmClusterCollection = SG::WriteHandle<xAOD::TrigEMClusterContainer>( m_clusterContainerKey, getContext() ); ATH_CHECK( m_trigEmClusterCollection.record( CxxUtils::make_unique<xAOD::TrigEMClusterContainer>(), CxxUtils::make_unique<xAOD::TrigEMClusterAuxContainer>() ) ); ATH_MSG_DEBUG( "Made WriteHandle " << m_clusterContainerKey ); - ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>()->proxy()->name() ); + ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>().proxy()->name() ); auto roisHandle = SG::makeHandle( m_roiCollectionKey ); CHECK( roisHandle.isValid() ); diff --git a/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py b/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py index 8d68d5a042a79d2ee9a0d98bf93cd9bff7a4c336..878fd7242669ca2fdd7e38ef10c033939071da5e 100644 --- a/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py +++ b/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py @@ -534,6 +534,30 @@ L2MbSpHypo_veto.SctSpBarrel_max = -1. # Disable L2MbSpHypo_veto.SctSpEndcapA_max = -1. # Disable hypos["L2MbSpHypo_veto"] = L2MbSpHypo_veto +class L2MbSpMhNoPixHypo_veto(MbSpHypo): + def __init__(self, name, threshold): + super(L2MbSpMhNoPixHypo_veto, self).__init__(name) + + self.AcceptAll = False + self.TriggerTypeAND = False # Must use OR because Pixel is disabled + self.Veto = True + self.TotalPixelClus = -1. # Disable + self.PixelClusRatioA = -1. # Disable + self.PixelClusRatioB = -1. # Disable + self.PixelClusEndcapC = -1. # Disable + self.PixelClusBarrel = -1. # Disable + self.PixelClusEndcapA = -1. # Disable + self.PixelClusEndcapC_max = -1. # Disable + self.PixelClusBarrel_max = -1. # Disable + self.PixelClusEndcapA_max = -1. # Disable + self.TotalSctSp = threshold # here is the only one actively used setting + self.SctSpEndcapC = -1. # Disable + self.SctSpBarrel = -1. # Disable + self.SctSpEndcapA = -1. # Disable + self.SctSpEndcapC_max = -1. # Disable + self.SctSpBarrel_max = -1. # Disable + self.SctSpEndcapA_max = -1. # Disable + # Sp hypo configuratables veto large multiplicity @@ -645,11 +669,12 @@ L2MbSpHypo_cos.SctSpEndcaps_cut = -1. # Disable hypos["L2MbSpHypo_cos"] = L2MbSpHypo_cos # Setup for 2016 SCT only non collision bacground filtering +# 2016: 50 SP, 2017 Sep+: 100 SP L2MbSpHypo_ncb = MbSpHypo("L2MbSpHypo_ncb") L2MbSpHypo_ncb.AcceptAll = False L2MbSpHypo_ncb.Veto = False L2MbSpHypo_ncb.TriggerTypeAND = False # SCT only -L2MbSpHypo_ncb.SctSpEndcaps_cut = 50 # max(SCT_EC_A, SCT_EC_C) +L2MbSpHypo_ncb.SctSpEndcaps_cut = 100 # max(SCT_EC_A, SCT_EC_C) L2MbSpHypo_ncb.TotalPixelClus = -1. # Disable L2MbSpHypo_ncb.PixelClusRatioA = -1. # Disable L2MbSpHypo_ncb.PixelClusRatioB = -1. # Disable @@ -1301,6 +1326,15 @@ L2MbMbtsHypo_1_1_inn_one_side_veto.TimeCut = trigT2MinBiasProperties.mbtsTimeCut #L2MbMbtsHypo11.Threshold = 0.18 # pC hypos["L2MbMbtsHypo_1_1_inn_one_side_veto"] = L2MbMbtsHypo_1_1_inn_one_side_veto +#To clen splashes ATR-18401 +L2MbMbtsHypo_8_8_NTime_veto = MbMbtsHypo("L2MbMbtsHypo_8_8_NTime_veto") # No time cut +L2MbMbtsHypo_8_8_NTime_veto.AcceptAll = False +L2MbMbtsHypo_8_8_NTime_veto.MbtsCounters = 8 +L2MbMbtsHypo_8_8_NTime_veto.Coincidence = False +L2MbMbtsHypo_8_8_NTime_veto.TimeCut = -1 # Disable +L2MbMbtsHypo_8_8_NTime_veto = True +hypos['L2MbMbtsHypo_8_8_NTime_veto'] = L2MbMbtsHypo_8_8_NTime_veto + ######### ### ZDC ######### diff --git a/Trigger/TrigAlgorithms/TrigT2MinBias/src/T2MbtsFex.cxx b/Trigger/TrigAlgorithms/TrigT2MinBias/src/T2MbtsFex.cxx index 89eb247a271b89f3d816bf79127cec285323e9ca..8a4ecdaa1186df4b1421421bf06b51ac23afa80d 100644 --- a/Trigger/TrigAlgorithms/TrigT2MinBias/src/T2MbtsFex.cxx +++ b/Trigger/TrigAlgorithms/TrigT2MinBias/src/T2MbtsFex.cxx @@ -290,7 +290,7 @@ HLT::ErrorCode T2MbtsFex::hltInitialize() { return HLT::BAD_JOB_SETUP; } - // Retrieve TileTBID helper from det store + // Retrieve TileTBID helper from det store // (The MBTS was added to the Test Beam (TB) list.) if(m_detStore->retrieve(m_tileTBID).isFailure()) { ATH_MSG_ERROR("Unable to retrieve TileTBID helper from DetectorStore"); diff --git a/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePointsHypo.cxx b/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePointsHypo.cxx index 30de8f21f8ab7f916b76a449d3c7fd4e4af8bc0b..bc8bb6214687bdcc0e3f882390b6df54af2ffd9f 100644 --- a/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePointsHypo.cxx +++ b/Trigger/TrigAlgorithms/TrigT2MinBias/src/TrigCountSpacePointsHypo.cxx @@ -565,6 +565,12 @@ HLT::ErrorCode TrigCountSpacePointsHypo::hltExecute(const HLT::TriggerElement* o ATH_MSG_DEBUG("Using inverted/VETO logic, final decision is " << (pass ? "PASS" : "FAIL")); } + // Veto + if (m_veto == true) { + pass = !pass; + ATH_MSG_DEBUG("Using inverted/VETO logic, final decision is " << (pass ? "PASS" : "FAIL")); + } + // for monitoring if( !pass ){ m_totSelNumPixSP = -999; diff --git a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TrigAnalysisExApp.cxx b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TrigAnalysisExApp.cxx new file mode 100644 index 0000000000000000000000000000000000000000..2faa81ae7f231336426910e8168a0ed35af268c1 --- /dev/null +++ b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TrigAnalysisExApp.cxx @@ -0,0 +1,156 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +/* + * TrigAnalysisApp.cxx + * 2016 Ryan Mackenzie White <ryan.white@cern.ch> + * Simple TEvent application for trigger analysis + * Original implementation provided by W. Buttinger + */ + +#ifndef TRIGANALYSISEXAMPLE_TRIGANALYSISEXAPP_H +#define TRIGANALYSISEXAMPLE_TRIGANALYSISEXAPP_H 1 + + +#include "AthAnalysisBaseComps/AthAnalysisHelper.h" //tool creation and configuration +#include "POOLRootAccess/TEvent.h" //event looping +#include "GaudiKernel/ToolHandle.h" //for better working with tools + +#include "TrigDecisionTool/TrigDecisionTool.h" + +//ROOT includes +#include "TString.h" +#include "TSystem.h" + +#include <iostream> + + +int main() { + + IAppMgrUI* app = POOL::Init("POOLRootAccess/basic.opts"); //important to do this first, for MessageSvc to exist properly + + // Open the input file: + TString fileName = "/afs/cern.ch/atlas/project/PAT/xAODs/r8565/valid2.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.recon.AOD.e4993_s2887_r8565/AOD.09534072._000257.pool.root.1"; + + ToolHandle<Trig::TrigDecisionTool> tdt("Trig::TrigDecisionTool/TrigDecisionTool"); +#ifndef XAOD_ANALYSIS + //only need to set this property if using a FULL offline release (not analysis release) + std::vector<std::string> EDMLibraries = { "TrigSteeringEvent", "TrigMuonEvent", + "TrigBphysicsEvent", "TrigCaloEvent", + "TrigInDetEvent", + "TrigParticle", "TrigMissingEtEvent", + "TrigDecisionEvent", "TrigMonitoringEvent", + "TrigTopoEvent" , "TrigCombinedEvent", + "TrigMonitoringEventTPCnv", "RecTPCnv", + "TrigCaloEventTPCnv", + "TrigDecisionEventTPCnv", "TrigInDetEventTPCnv", + "TrigMissingEtEventTPCnv", "TrigMuonEventTPCnv", + "TrigParticleTPCnv", "TrigSteeringEventTPCnv", + "TrigTopoEventTPCnv", "TrigCombinedEventTPCnv", + "tauEventTPCnvDict", "RecTPCnvDict", + "TrigMonitoringEventTPCnvDict", + "OLD_RecTPCnvDict", + "TrigCosmicEvent", + "xAODCaloEvent", "xAODEgamma", "xAODTracking", "xAODMuon", "xAODTau", "xAODJet", + "xAODTrigBphys", "xAODTrigMissingET", "xAODTrigEgamma", "xAODTrigMuon", "xAODTrigCalo", + "xAODTrigMinBias", "xAODBTagging", "xAODTrigRinger", + "xAODHIEvent", + "xAODCaloEventDict", "xAODEgammaDict", "xAODTrackingDict", "xAODMuonDict", "xAODTauDict", "xAODJetDict", + "xAODTrigBphysDict", "xAODTrigMissingETDict", "xAODTrigEgammaDict", "xAODTrigMuonDict", "xAODTrigCaloDict", + "xAODTrigMinBiasDict", "xAODBTaggingDict", + "xAODHIEventDict"}; + AAH::setProperty(tdt,"Navigation.Dlls",EDMLibraries); + POOL::TEvent::EReadMode mode = POOL::TEvent::kPOOLAccess; //use POOL mode for full offline release +#else + POOL::TEvent::EReadMode mode = POOL::TEvent::kClassAccess; //use fast xAODRootAccess mode in analysis release +#endif + + //loop over input file with POOL + POOL::TEvent evt(mode); + evt.readFrom( fileName ); + evt.getEntry(0); + + tdt.retrieve(); + + for(int i=0;i < 10 /*evt.getEntries()*/; i++) { + if( evt.getEntry(i) < 0) { std::cout << "Failed to read event " << i << std::endl; continue; } + + std::cout << "HLT_.* decision = " << tdt->isPassed("HLT_.*") << std::endl; + + auto cg = tdt->getChainGroup("HLT_.*"); + + //this only works in FULL offline release + auto feat = cg->features(); + std::vector<Trig::Feature<xAOD::TrigMissingET> > metfeats = feat.elementFeature<xAOD::TrigMissingETContainer>(); + std::cout << "found " << metfeats.size() << " met features" << std::endl; + + for(auto& feat : metfeats) { + std::cout << "feature pointing to " << feat.cptr() << " ex: " << feat.cptr()->ex() << " ey:" << feat.cptr()->ey() << std::endl; + } + + const std::string eltrigger="HLT_2e17_lhvloose_nod0"; + std::cout << eltrigger << " passed: " << tdt->isPassed( eltrigger ) << std::endl; + + // Features can be retrieved even when trigger fails + // The following condition returns the features for all TriggerElements, irregardless whether they are deactivated (i.e., the hypo fails) + auto fcel = tdt->features( eltrigger, TrigDefs::alsoDeactivateTEs ); + + //Retrieve the RoI descriptors for electron trigger + std::vector< Trig::Feature<TrigRoiDescriptor> > rois = fcel.elementFeature<TrigRoiDescriptorCollection>("initialRoI"); + std::cout << "found " << rois.size() << " roi features" << std::endl; + for(auto& roi : rois) { + std::cout << "feature pointing to " << roi.cptr() << " eta: " << roi.cptr()->eta() << " phi:" << roi.cptr()->phi() << std::endl; + } + + // Retrieve a vector of Trigger Element (TE) features, i.e. collect all the TEs that contain ElectronContainers + std::vector<Trig::Feature<xAOD::ElectronContainer> > vec = fcel.containerFeature<xAOD::ElectronContainer>("egamma_Electrons"); + std::cout << "Electron trigger has " << vec.size() << " electron features " << std::endl; + for( const Trig::Feature<xAOD::ElectronContainer> feat : vec ) { + // With a TE, retrieve ancestors and activeState (did the hypo pass/fail?) + // Which step is active? + const xAOD::ElectronContainer *cont=feat.cptr(); + for(const xAOD::Electron *e : *cont){ + if(!e) + continue; + // Check whether the electron was selected by the hypothesis + std::cout << " eta: " << e->eta() << " phi: " << e->phi() << "et: " << e->e()/cosh(e->eta()) << std::endl; + } + std::cout << " L2Calo Active " << (tdt->ancestor<xAOD::TrigEMCluster>(feat.te(),"")).te()->getActiveState() + << " L2Electron Active " <<(tdt->ancestor<xAOD::TrigElectronContainer>(feat.te(),"")).te()->getActiveState() + << " EFCalo Active " << (tdt->ancestor<xAOD::CaloClusterContainer>(feat.te(),"")).te()->getActiveState() << std::endl; + } + + // Retrieve featues from L2 step + std::vector<Trig::Feature<xAOD::TrigElectronContainer> > vecl2 = fcel.containerFeature<xAOD::TrigElectronContainer>(); + std::cout << "Electron trigger has " << vecl2.size() << " trig electron features " << std::endl; + for( const Trig::Feature<xAOD::TrigElectronContainer> feat : vecl2 ) { + // With a TE, retrieve ancestors and activeState (did the hypo pass/fail?) + // Which step is active? + const xAOD::TrigElectronContainer *cont=feat.cptr(); + for(const xAOD::TrigElectron *e : *cont){ + if(!e) + continue; + // Check whether the electron was selected by the hypothesis + std::cout << " eta: " << e->eta() << " phi: " << e->phi() << "e: " << e->e() << std::endl; + } + std::cout << " L2Calo Active " << (tdt->ancestor<xAOD::TrigEMCluster>(feat.te(),"")).te()->getActiveState() << std::endl; + } + + + // Can also look at the combinations of the two rois + std::cout << eltrigger << " has " << fcel.getCombinations().size() << " combinations, " + << fcel.containerFeature<xAOD::ElectronContainer>().size() << " Electron features, " << std::endl; + for( const Trig::Combination comb : fcel.getCombinations()){ + std::vector< Trig::Feature <xAOD::ElectronContainer> > elfeats = comb.containerFeature<xAOD::ElectronContainer>(); + std::cout << "Combination has " << elfeats.size() << " Electron features " << std::endl; + } + + + } + + app->finalize(); //optional trigger finalization of all services and tools created by the Gaudi Application + return 0; +} + +#endif //> !TRIGANALYSISEXAMPLE_TRIGANALYSISEXAPP_H)))) diff --git a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.cxx b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.cxx index 382c139ef74529118aefed90e3ddddf7f5bb0703..c1346f10120e0b8aba64d13889ea59c93d3d3c6d 100644 --- a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.cxx +++ b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.cxx @@ -1,8 +1,10 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ /* * TriggerAnalysisHelper.cxx - * Copyright (C) 2016 Ryan Mackenzie White <ryan.white@cern.ch> + * * - * Distributed under terms of the license. */ #include "AthenaKernel/errorcheck.h" #include "TriggerAnalysisHelper.h" diff --git a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.h b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.h index 4a63b8200d0dc87e13f0a29655436096af256b21..ca494a577524701eeb41705b20885c02db54a78c 100644 --- a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.h +++ b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisHelper.h @@ -1,8 +1,11 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ /* * TriggerAnalysisHelper.h - * Copyright (C) 2016 Ryan Mackenzie White <ryan.white@cern.ch> + * * - * Distributed under terms of the license. + */ #ifndef TRIGGERANALYSISHELPER_H #define TRIGGERANALYSISHELPER_H diff --git a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.cxx b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.cxx index 622565dca9a4afb0f459eaa2bfdd69121b709050..ec1531f686d7812c57110b7bae316237dde47cfc 100644 --- a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.cxx +++ b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.cxx @@ -1,9 +1,7 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -// $Id: TriggerAnalysisTutorial.cxx 792124 2017-01-13 17:55:55Z ssnyder $ - // System include(s): #include <iomanip> diff --git a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.h b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.h index b4f7a9cf7daea94c60d1858c5455415307ca02c2..82bc6f1c13ed456dffe366d2d51c64ae4f8593a2 100644 --- a/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.h +++ b/Trigger/TrigAnalysis/TrigAnalysisExamples/src/TriggerAnalysisTutorial.h @@ -1,10 +1,9 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -// $Id: TriggerAnalysisTutorial.h 786167 2016-11-23 21:52:33Z ssnyder $ #ifndef TRIGANALYSISEXAMPLES_TRIGGERANALYSISTUTORIAL_H #define TRIGANALYSISEXAMPLES_TRIGGERANALYSISTUTORIAL_H diff --git a/Trigger/TrigConfiguration/TrigConfL1Data/Root/L1DataDef.cxx b/Trigger/TrigConfiguration/TrigConfL1Data/Root/L1DataDef.cxx index df00b3a54c045646c2e2912d38244a13ae94d8c5..088104570e7d5f9cf4fa24693bbb3b8961efd3ff 100644 --- a/Trigger/TrigConfiguration/TrigConfL1Data/Root/L1DataDef.cxx +++ b/Trigger/TrigConfiguration/TrigConfL1Data/Root/L1DataDef.cxx @@ -114,7 +114,7 @@ TrigConf::L1DataDef::setMaxThresholdsFromL1Version(unsigned int l1version) { typeConfig(PCLK).max = 0; typeConfig(BGRP).max = 16; typeConfig(MBTS).max = 3; - typeConfig(MBTSSI).max = 24; + typeConfig(MBTSSI).max = 32; typeConfig(NIM).max = 37; typeConfig(BCMCMB).max = 1; typeConfig(CALREQ).max = 3; diff --git a/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfHLTDataDict.h b/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfHLTDataDict.h index 3cace9328d0d01966f5f697088caee5e2ee84cfe..0b67e02a21d5a0891244ed097dda6f9b2fbcebcb 100644 --- a/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfHLTDataDict.h +++ b/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfHLTDataDict.h @@ -1,3 +1,6 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ #ifndef TrigConfHLTDataDict #define TrigConfHLTDataDict diff --git a/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfL1DataDict.h b/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfL1DataDict.h index 2af2947fa02f10c0cafd605444df95128c42e2c9..d7e114a32801c02ebe2aacdda64a7734cf74ffe9 100644 --- a/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfL1DataDict.h +++ b/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfL1DataDict.h @@ -1,3 +1,6 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ #ifndef TrigConfL1DataDict #define TrigConfL1DataDict diff --git a/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfStorageDict.h b/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfStorageDict.h index 041ff4314d6b06462fac1c390f376af99f3bac09..7a93cef4e336a364c2f18ef1146cdc9276b624ff 100644 --- a/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfStorageDict.h +++ b/Trigger/TrigConfiguration/TrigConfOffline/TrigConfOffline/TrigConfStorageDict.h @@ -1,3 +1,6 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ #ifndef TrigConfStorageDict #define TrigConfStorageDict diff --git a/Trigger/TrigConfiguration/TrigConfStorage/CMakeLists.txt b/Trigger/TrigConfiguration/TrigConfStorage/CMakeLists.txt index 1b6b212359cd5d0ca0385340457a9d583246e7d8..d99c8180b44072d0aa785beaaf9520da883d8c80 100644 --- a/Trigger/TrigConfiguration/TrigConfStorage/CMakeLists.txt +++ b/Trigger/TrigConfiguration/TrigConfStorage/CMakeLists.txt @@ -18,7 +18,7 @@ atlas_depends_on_subdirs( PUBLIC find_package( Boost COMPONENTS filesystem thread system regex ) find_package( COOL COMPONENTS CoolKernel CoolApplication ) find_package( CORAL COMPONENTS CoralBase CoralKernel RelationalAccess ) -find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) +find_package( ROOT COMPONENTS Core Tree MathCore MathMore Hist RIO pthread ) find_package( tdaq-common ) # tag NEEDS_CORAL_BASE was not recognized in automatic conversion in cmt2cmake diff --git a/Trigger/TrigConfiguration/TrigConfStorage/src/ConfigurationCheck.cxx b/Trigger/TrigConfiguration/TrigConfStorage/src/ConfigurationCheck.cxx index 34db33b16ff77fc5b40ab85fa6f3d9d00f55e73f..7c2f1e5e5d9344213f6c9b94857179ad7a1b9e40 100644 --- a/Trigger/TrigConfiguration/TrigConfStorage/src/ConfigurationCheck.cxx +++ b/Trigger/TrigConfiguration/TrigConfStorage/src/ConfigurationCheck.cxx @@ -1729,6 +1729,119 @@ private: +//////////////////////////////////////// CHECK NO L1CALO ITEM HAS THRESHOLD LOWER THAN IN MINTOBPT //////////////////////////////////////// +class MinTOBPtCheck : public TrigConfTest { +public: + MinTOBPtCheck() + : TrigConfTest("MinimumTOBPtCheck", "Check if all L1Calo items have threshold above MinTOBPt value", WARNING), + m_belowMinTOBpt("") + {} + + + virtual void execute(const Exc_t&) { + if ( !m_ctp ) return; + + const TrigConf::CaloInfo caloinfo = m_ctp->menu().thresholdConfig().caloInfo(); + + unsigned int em_min = caloinfo.minTobEM().ptmin; + unsigned int tau_min = caloinfo.minTobTau().ptmin; + unsigned int Jsmall_min = caloinfo.minTobJetSmall().ptmin; + unsigned int Jlarge_min = caloinfo.minTobJetLarge().ptmin; + + for(const TrigConf::TriggerThreshold* thr : m_ctp->menu().thresholdConfig().thresholdVector() ) { + if(thr->type() == "EM" || thr->type() == "TAU" || thr->type() == "JET"){ + + for( const TrigConf::TriggerThresholdValue* thrVal : thr->thresholdValueVector() ) { + + if(thr->type() == "EM" && thrVal->ptcut() < em_min) m_belowMinTOBpt += thr->name() + ", "; + if(thr->type() == "TAU" && thrVal->ptcut() < tau_min) m_belowMinTOBpt += thr->name() + ", "; + + if(thr->type() == "JET"){ + const TrigConf::JetThresholdValue* jetThrVal = dynamic_cast<const TrigConf::JetThresholdValue*>(thrVal); + + if(jetThrVal->windowSizeAsString() == "LARGE" && thrVal->ptcut() < Jlarge_min) m_belowMinTOBpt += thr->name() + ", "; + if(jetThrVal->windowSizeAsString() == "SMALL" && thrVal->ptcut() < Jsmall_min) m_belowMinTOBpt += thr->name() + ", "; + } + } + } + } + + + if(m_belowMinTOBpt.size()>0) { + m_error = "L1 calo thresholds that are below the MinTOBPt: " + m_belowMinTOBpt; + } + } + +private: + std::string m_belowMinTOBpt; +}; + + + + +//////////////////////////////////////// CHECK ALL PEB CHAINS GO INTO A CALIBRATION STREAM //////////////////////////////////////// +class PEBCalibCheck : public TrigConfTest { +public: + PEBCalibCheck() + : TrigConfTest("PEBCalibrationStream", "All streams with PEB must be of type calibration or monitoring", WARNING), + m_nonCalibPEB("") + {} + + virtual void execute(const Exc_t&) { + if ( ! m_hlt ) return; + + + // find all sequences using PEB with the corresponding output TE + std::set<std::string> teOutFromSeq; + + for (const TrigConf::HLTSequence* seq : m_hlt->getHLTSequenceList()) { + const std::vector<std::string>& algolist = seq->algorithms(); + + for( std::string algoname : algolist ){ + + if( algoname.find("TrigSubDetListWriter")!= std::string::npos || algoname.find("TrigROBListWriter")!= std::string::npos || algoname.find("ScoutingStreamWriter")!= std::string::npos){ + const std::string& tename = seq->outputTE()->name(); + + if ( teOutFromSeq.count( tename ) == 0 ) { + teOutFromSeq.insert( tename); + } + + // m_nonCalibPEB += algoname + ": " + tename + ", "; + } + } + } + + //loop over chains comparing signature output TEs to PEB TEs + for(const HLTChain* ch : m_hlt->getHLTChainList()) { + for ( unsigned int s = 0; s < ch->signatureList().size(); s++ ) { + HLTSignature* sig = ch->signatureList()[s]; + for ( unsigned int t = 0; t < sig->outputTEs().size(); ++t ) { + if ( teOutFromSeq.count(sig->outputTEs()[t]->name()) != 0 ){ + + for(const HLTStreamTag *s : ch->streams()) { + + // m_nonCalibPEB += ch->chain_name() + " stream type: " + s->type() + ", "; + if ( s->type() != "calibration" && s->type() != "monitoring" ) m_nonCalibPEB += ch->chain_name() + ", stream: " + s->stream() + ", stream type: " + s->type() + ", "; + } + } + + } + } + } + + if(m_nonCalibPEB.size()>0) { + m_error = "Streams that use PEB but are not of type 'calibration': " + m_nonCalibPEB; + } + } + +private: + std::string m_nonCalibPEB; +}; + + + + + // set of tests ConfigurationCheck::ConfigurationCheck(TrigConf::CTPConfig* ctp, TrigConf::HLTFrame* hlt) { @@ -1765,6 +1878,8 @@ ConfigurationCheck::ConfigurationCheck(TrigConf::CTPConfig* ctp, TrigConf::HLTFr m_tests.push_back(new L1SeedLenghtTest()); //m_tests.push_back(new SignaturesConnectedTest()); + m_tests.push_back(new MinTOBPtCheck()); + m_tests.push_back(new PEBCalibCheck()); std::vector<TrigConfTest*>::iterator testIt; for ( testIt = m_tests.begin(); diff --git a/Trigger/TrigConfiguration/TrigDbHltUpload/share/buildConfigInstaller.sh b/Trigger/TrigConfiguration/TrigDbHltUpload/share/buildConfigInstaller.sh index 4d7558230336ab0fa984201c66af230e1d95a8be..d501c55f9afeaf89c6660283b1aa527d7956ee73 100755 --- a/Trigger/TrigConfiguration/TrigDbHltUpload/share/buildConfigInstaller.sh +++ b/Trigger/TrigConfiguration/TrigDbHltUpload/share/buildConfigInstaller.sh @@ -8,7 +8,9 @@ echo "Self Extracting Menu TriggerDB Installer" echo "" export TMPDIR=\`mktemp -d /tmp/selfextract.XXXXXX\` -export TRIGGER_EXP_CORAL_PATH=/afs/cern.ch/user/a/attrgcnf/.expertauth +unset TRIGGER_EXP_CORAL_PATH +export TRIGGER_EXP_CORAL_PATH_RUN2=/afs/cern.ch/user/a/attrgcnf/.dbauth/menuexperts + ARCHIVE=\`awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0; }' \$0\` tail -n+\$ARCHIVE \$0 | tar xz -C \$TMPDIR @@ -41,10 +43,11 @@ fi _JAVA_OPTIONS="-Xms250m -Xmx1400m" TTJAR=\${TRIGGERTOOL:-/afs/cern.ch/user/a/attrgcnf/TriggerTool/TriggerTool-new.jar} +TTSH=\${TRIGGERTOOL:-/afs/cern.ch/user/a/attrgcnf/TriggerTool/run_TriggerTool.sh} DB=\${TRIGGERDB:-TRIGGERDBREPR} NAME=\${CONFIGNAME:-USEXML} -CMD="java -jar \$TTJAR -db \$DB -up -l1 \$TARGET/lvl1Menu.xml -hlt \$TARGET/hltMenu.xml -l2s \$TARGET/l2setup.xml -efs \$TARGET/efsetup.xml \$p1ConfigTT -rel $2 -o \$TARGET/$1-\$TIME-UploadTT.log -n \$NAME" +CMD="\$TTSH -db \$DB -up -l1 \$TARGET/lvl1Menu.xml -hlt \$TARGET/hltMenu.xml -l1topo \$TARGET/l1topoMenu.xml -efs \$TARGET/efsetup.xml \$p1ConfigTT -rel $2 -o \$TARGET/$1-\$TIME-UploadTT.log -n \$NAME" echo \$CMD echo "" @@ -69,7 +72,7 @@ fi ARCHIVE=./payload_$1.tar.gz -tar zcf $ARCHIVE -C setup/$1 ./lvl1Menu.xml ./hltMenu.xml ./l2setup.xml ./efsetup.xml +tar zcf $ARCHIVE -C setup/$1 ./LVL1config.dtd ./lvl1Menu.xml ./hltMenu.xml ./l1topoMenu.xml ./efsetup.xml SELFEXTRACTFILE=selfextract-$1-`date +%F-%H-%M-%S`.bsx diff --git a/Trigger/TrigConfiguration/TrigDbHltUpload/share/prepareOnlineTriggerConfig.py b/Trigger/TrigConfiguration/TrigDbHltUpload/share/prepareOnlineTriggerConfig.py index a32c71c7e66aa7be018f798ebfde436391526002..b2de470213633cc29dcfb98e8c182f1b252c8959 100755 --- a/Trigger/TrigConfiguration/TrigDbHltUpload/share/prepareOnlineTriggerConfig.py +++ b/Trigger/TrigConfiguration/TrigDbHltUpload/share/prepareOnlineTriggerConfig.py @@ -2,8 +2,11 @@ import sys, subprocess, tempfile, os, re, signal import __main__ -from PyQt4 import QtGui, QtCore -from PyQt4.QtGui import QLabel, QCheckBox,QMessageBox +from PyQt5 import QtCore, QtWidgets +from PyQt5.QtWidgets import QLabel, QCheckBox, QMessageBox +from PyQt5.QtGui import QColor, QPalette, QPixmap +import timeit, socket, getpass +from collections import OrderedDict class StringVar: def __init__(self,value=""): @@ -39,11 +42,11 @@ class Option: if qtw!=None: self.qtw = qtw elif self.name=='userPreCommand': - self.qtw = QtGui.QTextEdit() + self.qtw = QtWidgets.QTextEdit() self.qtw.setMinimumHeight(60) self.qtw.textChanged.connect(self.textChanged) else: - self.qtw = QtGui.QLineEdit() + self.qtw = QtWidgets.QLineEdit() self.qtw.textEdited.connect(self.textEdited) self.set(value) @@ -66,6 +69,9 @@ class BoolOption: def __init__(self, name, isChecked, description, label): self.name = name self.cb = QCheckBox(label) + palette = QPalette( self.cb.palette() ) + palette.setColor( palette.WindowText, QColor("#ffffff") ) + self.cb.setPalette(palette) self.description = description self.cb.setCheckState(QtCore.Qt.Checked if isChecked else QtCore.Qt.Unchecked) self.cb.setToolTip(description) @@ -84,10 +90,12 @@ class Process: self.w_label.setCheckState(QtCore.Qt.Checked) self.w_state = QLabel() self.w_logfile = QLabel() + button_style ="QPushButton {padding: 4px; font-size: 14px; color: #3a81c7; font-weight: bold; background-color: #ffffff; border-radius: 1px; border: 1px solid #3a81c7;}" if name == 'jobCheckRes': - self.w_showMT = QtGui.QPushButton("Show MT Result") - self.w_showPT = QtGui.QPushButton("Show PT Result") - self.w_clearbutton = QtGui.QPushButton("Clear") + self.w_showHLT = QtWidgets.QPushButton("Show athenaHLT Result") + self.w_showHLT.setStyleSheet(button_style) + self.w_clearbutton = QtWidgets.QPushButton("Clear") + self.w_clearbutton.setStyleSheet(button_style) def __str__(self): return "### %s\nprocess['%s'] = (%i, '%s', '%s')\n" % (self.description, self.name, self.enabled, self.w_state.text(), self.logfile) @@ -168,51 +176,52 @@ class Config: import os tempdir = os.environ["TMPDIR"] if "TMPDIR" in os.environ else (tempfile.gettempdir() + '/' + os.environ["USER"]) # red - self.addOption('release','',"The release tag", 'Release:' , QtGui.QLabel()) - self.addOption('patch', '',"The patch tag", 'Patch:' , QtGui.QLabel()) - self.addOption('swpath','',"The software path", 'Software path:', QtGui.QLabel()) - self.addOption('tt','/afs/cern.ch/user/a/attrgcnf/TriggerTool/TriggerTool-new.jar',"The TriggerTool jar-file", 'TriggerTool:') + self.addOption('release','',"The release tag number", 'Release number:' , QtWidgets.QLabel()) + self.addOption('relName', '',"The release build name", 'Release build:' , QtWidgets.QLabel()) + self.addOption('swpath','',"The software path", 'Software path:', QtWidgets.QLabel()) + self.addOption('tt','/afs/cern.ch/user/a/attrgcnf/TriggerTool/cmake/run_TriggerTool.sh',"The TriggerTool run script", 'TriggerTool:') # green self.addOption('jobName', 'Default',"Job name", 'Job name:') self.addOption('jobOption','',"The python job option file", 'Joboption file') - self.addOption('userPreCommand','',"The users precommands to be run", 'Pre-command:') + self.addOption('userPreCommand','',"The user pre-commands to be run", 'Pre-command:') + self.addOption('userPostCommand', '', "The post-commands to be run", 'Post-command:') self.addOption('setupDir','./setup',"Directory for setup and xml files (a subdir for each job is created)", 'Output directory:') self.addOption('tmpDir',tempdir,"Directory for temporary results", 'Temp directory:') self.addOption('nEvt',10,"Number of Events", 'Number of Events:') - self.addOption('inputL2','input.data',"Input data file L2", 'MT input data:') - self.addOption('inputEF','', "Input data file EF", 'PT input data:') + self.addOption('inputBSFile','input.data',"Input bs file", 'Input file:') self.addOption('l1menu', '',"LVL1 menu file", 'L1 menu:') - self.addOption('hltl2menu','',"HLT L2 menu file", 'L2 menu:') - self.addOption('hltefmenu','',"HLT EF menu file", 'EF menu:') - self.addOption('setupL2','',"Setup file L2", 'L2 setup:') - self.addOption('setupEF','',"Setup file EF", 'EF setup:') + self.addOption('l1topomenu','',"L1Topo menu file", 'L1Topo menu:') + self.addOption('hltmenu','',"HLT menu file", 'HLT menu:') + self.addOption('setupEF','',"EF Setup file", 'EF setup:') self.addOption('dbAlias','TRIGGERDBREPR',"Alias for TriggerDB connection", 'DB connection') self.addOption('dbPW','',"Password for writer accound (not needed by experts)", 'DB password') - self.addOption('cfgKey',0,"Configuration key", 'Configuration key:') + self.addOption('cfgKey',0,"Super Master key", 'Super master key:') self.addOption('l1psKey',0,"LVL1 prescale key", 'LVL1 prescale key:') self.addOption('hltpsKey',0,"HLT prescale key", 'HLT prescale key:') self.addBoolOption('onlineMonitoring', 'Online Monitoring', 'Online Monitoring switch (e.g. online histogram service)', True) self.addBoolOption('cafConfig', 'Reprocessing', 'Configuration for reprocessings (enable additional monitoring)', False) - self.addBoolOption('l1rerun', 'Rerun Level 1', 'Rerun level 1 simulation (should be on for CAF)', False) - self.dontStore('cafConfig', 'l1rerun', 'release', 'patch', 'swpath') # excempt from storage option to avoid accidental use for online + self.addBoolOption('l1rerun', 'Rerun Level 1', 'Rerun level 1 simulation (should be on for reprocessings if L1 menu has changed since last EB run)', False) + self.addBoolOption('doDBConfig', 'doDBConfig', 'Needs to be true to generate the text files for configuration', True) + self.dontStore('cafConfig', 'l1rerun', 'release', 'relName', 'swpath') # excempt from storage option to avoid accidental use for online # blue - self.addProcess('jobMTjo', "Run athenaMT from JobOptions", 'run athenaMT from JO') - self.addProcess('jobPTjo', "Run athenaPT from JobOptions", 'run athenaPT from JO') - self.addProcess('jobSetupCnv', "Run setup conversion script", 'convert setup') - self.addProcess('jobUploadDb', "Load TriggerDB", 'load TriggerDB') - self.addProcess('jobMTdb', "Run athenaMT from TriggerDB", 'run athenaMT from DB') - self.addProcess('jobPTdb', "Run athenaPT from TriggerDB", 'run athenaPT from DB') - self.addProcess('jobCheckRes', "Compare counts", 'check results') + self.addProcess('jobHLTjo', "Run athenaHLT from JobOptions", 'Run athenaHLT from JO') + self.addProcess('jobSetupCnv', "Run setup conversion script", 'Convert ef setup') + self.addProcess('jobUploadDb', "Upload xmls to TriggerDB", 'Upload xmls to TriggerDB') + self.addProcess('jobHLTdb', "Run athenaHLT from TriggerDB", 'Run athenaHLT from DB') + self.addProcess('jobCheckRes', "Compare counts", 'Compare athenaHLT results') self.jobOption.qtw.textChanged.connect(self.readMenus) self.cafConfig.cb.stateChanged.connect(self.toggleModifierCAF) self.l1rerun.cb.stateChanged.connect(self.toggleL1RerunOption) + self.doDBConfig.cb.stateChanged.connect(self.toggleDBConfigOption) def toggleModifierCAF(self): - self.setPreCommandModifier('caf', 'True' if self.cafConfig() else None) + self.setPreCommandModifier('enableCostForCAF', 'True' if self.cafConfig() else None) def toggleL1RerunOption(self): self.setPreCommandModifier('rerunLVL1', 'True' if self.l1rerun() else None) + def toggleDBConfigOption(self): + self.setPreCommandModifier('doDBConfig', 'True' if self.doDBConfig() else None) def read(self): if self.inputFile==None: return @@ -222,7 +231,7 @@ class Config: print "Reading configuration from %s!" % self.inputFile execfile(self.inputFile,__main__.__dict__) for name, (value, desc) in option.iteritems(): - if name in ['athenaMTjo','athenaMTdb','athenaPTjo','athenaPTdb','checkRes','uploadDb','setupCnv','mtJoLog', 'ptJoLog','mtDbLog', 'ptDbLog', 'cnvLog', 'loadDbLog']: continue # for backward compatibility + if name in ['athenaHLTjo','athenaHLTdb','checkRes','uploadDb','setupCnv','mtJoLog', 'ptJoLog','mtDbLog', 'ptDbLog', 'cnvLog', 'loadDbLog']: continue # for backward compatibility self.options[name].set(value) if 'process' in dir(__main__): for name, content in process.iteritems(): @@ -267,36 +276,39 @@ class Config: end=i+1 break exec(''.join(lines[begin:end])) - self.menus = sorted(menuMap.keys()) + self.menus = sorted(menuMap.keys()) except: self.menus = None def setPreCommandModifier(self, name, value): pc = self.userPreCommand().strip(';') - mods = {} if not pc else dict([tuple(m.split('=')) for m in pc.split(';')]) + mods = {} if not pc else OrderedDict([tuple(m.split('=')) if '=' in m else [m,''] for m in pc.split(';')]) + if value==None: if name in mods: mods.pop(name) else: mods[name] = value - pc = ';'.join(['='.join([k,v]) for k,v in sorted(mods.iteritems())]) + pc = ';'.join(['='.join([k,v]) if v != '' else ''.join([k,v]) for k,v in mods.iteritems()]) self.userPreCommand.set(pc) def write(self): outputfile = 'myPref_%s.py' % self.jobName() print "Saving configuration to %s !" % outputfile - f = open(outputfile, 'w') - print >>f, 'option = {}' - print >>f, 'process = {}\n' - for opt in self.options: - if opt in self.excempt: continue - print >>f, self.options[opt] - for pro in self.processes: - if pro in self.excempt: continue - print >>f, self.processes[pro] - f.close() - - -class KeyPrep(QtGui.QScrollArea): + try: + f = open(outputfile, 'w') + print >>f, 'option = {}' + print >>f, 'process = {}\n' + for opt in self.options: + if opt in self.excempt: continue + print >>f, self.options[opt] + for pro in self.processes: + if pro in self.excempt: continue + print >>f, self.processes[pro] + f.close() + except: + print "Error: couldn't write the configuration files, not sure why!" + +class KeyPrep(QtWidgets.QScrollArea): def __init__(self, configFile, parent=None): super(KeyPrep,self).__init__(parent) self.config = Config(configFile) @@ -306,11 +318,13 @@ class KeyPrep(QtGui.QScrollArea): self.layout() self.checkReleaseAndTT() self.updateMenuComboBox() + self.updateCommandBox() + self.checkMachine() self.runThread = KeyPrep.RunThread(self) self.currentSubprocess = None - def position(self, w=550, h=870, m=30): - desktop = QtGui.QApplication.desktop() + def position(self, w=675, h=870, m=30): + desktop = QtWidgets.QApplication.desktop() dw = desktop.availableGeometry().width() dh = desktop.availableGeometry().height() h = min(h,dh-2*m) @@ -320,60 +334,74 @@ class KeyPrep(QtGui.QScrollArea): def elements(self): self.position() self.setWindowTitle('Prepare Trigger Configuration') - self.gr_relconf = { - 'box' : QtGui.QGroupBox("Release configuration"), - 'cont': [ self.config.release, self.config.patch, self.config.swpath, self.config.tt ] + 'box' : QtWidgets.QGroupBox("Release configuration"), + 'cont': [ self.config.relName, self.config.release, self.config.swpath, self.config.tt ] } - self.gr_relconf['box'].setStyleSheet("QGroupBox { background-color: #8CDBFF; }"); - + self.gr_relconf['box'].setStyleSheet("QGroupBox { background-color: #3a81c7; color: #e2e2e2; font-weight: bold; font-size: 12pt; }") self.gr_setup = { - 'box' : QtGui.QGroupBox("Job configuration"), - 'cont': [ self.config.jobName, self.config.jobOption, self.config.userPreCommand, self.config.setupDir, - self.config.tmpDir, self.config.dbAlias, self.config.dbPW, self.config.nEvt, self.config.inputL2, - self.config.inputEF, self.config.l1menu, self.config.hltl2menu, self.config.hltefmenu, - self.config.setupL2, self.config.setupEF, self.config.cfgKey, self.config.l1psKey, self.config.hltpsKey ] + 'box' : QtWidgets.QGroupBox("Job configuration"), + 'cont': [ self.config.jobName, self.config.jobOption, self.config.userPreCommand,self.config.userPostCommand, self.config.setupDir, + self.config.tmpDir, self.config.dbAlias, self.config.dbPW, self.config.nEvt, + self.config.inputBSFile, self.config.l1menu, self.config.l1topomenu, self.config.hltmenu, + self.config.setupEF, self.config.cfgKey, self.config.l1psKey, self.config.hltpsKey ] } - self.gr_setup['box'].setStyleSheet("QGroupBox { background-color: #FFE430; }"); + self.gr_setup['box'].setStyleSheet("QGroupBox { background-color: #7c7c7c; color: #ffffff;font-weight: bold; font-size: 12pt; }"); self.gr_run = { - 'box' : QtGui.QGroupBox("Run state"), - 'cont': [ self.config.jobMTjo, self.config.jobPTjo, self.config.jobSetupCnv, self.config.jobUploadDb, - self.config.jobMTdb, self.config.jobPTdb, self.config.jobCheckRes ] + 'box' : QtWidgets.QGroupBox("Run state"), + 'cont': [ self.config.jobHLTjo, self.config.jobSetupCnv, self.config.jobUploadDb, + self.config.jobHLTdb, self.config.jobCheckRes ] } - self.gr_run['box'].setStyleSheet("QGroupBox { background-color: #A5FF00; }"); - - self.config.jobCheckRes.w_showMT.clicked.connect(self.displayResultMT) - self.config.jobCheckRes.w_showPT.clicked.connect(self.displayResultPT) - - self.d_menu = QtGui.QComboBox() - self.b_save = QtGui.QPushButton("Save",self) - self.b_kill = QtGui.QPushButton("Kill Process",self) - self.b_run = QtGui.QPushButton("Run",self) - self.b_quit = QtGui.QPushButton("Quit",self) - self.connect(self.b_run, QtCore.SIGNAL('clicked()'), self.run) - self.connect(self.b_kill, QtCore.SIGNAL('clicked()'), self.killCurrentProcess) - self.connect(self.b_save, QtCore.SIGNAL('clicked()'), self.config.write) - self.connect(self.b_quit, QtCore.SIGNAL('clicked()'), self.quit) + self.gr_run['box'].setStyleSheet("QGroupBox { background-color: #e2e2e2; font-weight: bold; font-size: 12pt;}"); + + self.config.jobCheckRes.w_showHLT.clicked.connect(self.displayResultHLT) + + button_style ="QPushButton {padding: 4px; font-size: 14px; color: #3a81c7; \ + font-weight: bold; background-color: #ffffff; border-radius: 1px; border: 1px solid #3a81c7;}" + + self.d_menu = QtWidgets.QComboBox() + self.d_menu.setStyleSheet("QComboBox {padding: 2px; color #3a81c7; border-radius: 1px; border: 1px solid #3a81c7;}") + self.b_save = QtWidgets.QPushButton("Save",self) + self.b_save.setStyleSheet(button_style) + self.b_kill = QtWidgets.QPushButton("Kill Process",self) + self.b_kill.setStyleSheet(button_style) + self.b_run = QtWidgets.QPushButton("Run",self) + self.b_run.setStyleSheet(button_style) + self.b_quit = QtWidgets.QPushButton("Quit",self) + self.b_quit.setStyleSheet(button_style) + self.b_run.clicked.connect(self.run) + self.b_kill.clicked.connect(self.killCurrentProcess) + self.b_save.clicked.connect(self.config.write) + self.b_quit.clicked.connect(self.quit) def layout(self): - top = QtGui.QVBoxLayout() + top = QtWidgets.QVBoxLayout() + top.setContentsMargins(0,0,0,0) # release info - grid = QtGui.QGridLayout() + grid = QtWidgets.QGridLayout() for i,c in enumerate(self.gr_relconf['cont']): grid.addWidget(c.w_label,i,0,1,1) + c.w_label.setStyleSheet("QWidget { color: #e2e2e2; font-weight: bold; font-size: 11pt; }") grid.addWidget(c.qtw,i,1,1,3) + c.qtw.setStyleSheet("QWidget { color: #e2e2e2; }") + if c.name =="tt": + c.qtw.setStyleSheet("QWidget { background-color: #a9a9a9; }") + self.gr_relconf['box'].setLayout(grid) top.addWidget(self.gr_relconf['box']) # job setup - grid = QtGui.QGridLayout() + grid = QtWidgets.QGridLayout() grid.setVerticalSpacing(0) + grid.setHorizontalSpacing(0) + line = 0 for c in self.gr_setup['cont']: - if c.name=='userPreCommand': + c.w_label.setStyleSheet("QWidget { color: #ffffff; }") + if c.name=='userPreCommand' or c.name=='userPostCommand': grid.addWidget(c.w_label,line,0) # label grid.addWidget(self.d_menu,line+1,0,QtCore.Qt.AlignTop) # menu combo box grid.addWidget(c.qtw,line,1,2,7) # field @@ -382,9 +410,14 @@ class KeyPrep(QtGui.QScrollArea): grid.addWidget(c.w_label,line,0) # label grid.addWidget(c.qtw,line,1,1,7) # field line += 1 - grid.addItem(QtGui.QSpacerItem(10,10),line,0,1,4) # space - hl = QtGui.QHBoxLayout() # horizontal box for buttons + if c.name in ['jobOption','l1psKey', 'hltpsKey', 'cfgKey', 'dbPW', 'l1menu','l1topomenu','hltmenu','setupEF']: + c.qtw.setStyleSheet("QWidget { background-color: #D4E1EA; }") + + grid.addItem(QtWidgets.QSpacerItem(10,10),line,0,1,4) # space + hl = QtWidgets.QHBoxLayout() # horizontal box for buttons + hl.addWidget(self.config.onlineMonitoring.cb) + hl.addWidget(self.config.doDBConfig.cb) hl.addWidget(self.config.cafConfig.cb) hl.addWidget(self.config.l1rerun.cb) hl.addStretch(1) @@ -394,39 +427,56 @@ class KeyPrep(QtGui.QScrollArea): top.addWidget(self.gr_setup['box']) # job progress - grid = QtGui.QGridLayout() + grid = QtWidgets.QGridLayout() grid.setVerticalSpacing(0) + grid.setHorizontalSpacing(0) + grid.setContentsMargins(0,0,0,0) line = 0 for c in self.gr_run['cont']: grid.addWidget(c.w_label,line,0) # label grid.addWidget(c.w_state,line,1) # state if c.name != 'jobCheckRes': grid.addWidget(c.w_logfile,line,2,1,6) # field - #c.w_logfile.setStyleSheet("QLineEdit { background-color: rgb(255, 176, 165); }"); else: - grid.addWidget(c.w_showMT,line,6) # show res button - grid.addWidget(c.w_showPT,line,7) # show res button - #grid.addWidget(c.w_clearbutton,line,9) # clear button + grid.addWidget(c.w_showHLT,line,6) # show res button line += 1 self.gr_run['box'].setLayout(grid) top.addWidget(self.gr_run['box']) - actions = QtGui.QHBoxLayout() - #actions.addWidget(self.b_style) + actions = QtWidgets.QHBoxLayout() + actions.setContentsMargins(4,0,4,4) actions.addWidget(self.b_kill) actions.addStretch(1) actions.addWidget(self.b_run) actions.addWidget(self.b_quit) top.addLayout(actions) + top.addStretch(1) - #self.setLayout(top) - - frame = QtGui.QFrame() + frame = QtWidgets.QFrame() frame.setLayout(top) - self.setWidget(frame) - self.setWidgetResizable(True) + palette = QPalette( frame.palette() ) + palette.setColor( frame.backgroundRole(), QColor("#7c7c7c") ) + frame.setAutoFillBackground(True) + frame.setPalette( palette ) + + self.setWidget(frame) + self.setWidgetResizable(True) + self.setContentsMargins(0,0,100,0) + + label = QLabel(self) + pixmap = QPixmap('/afs/cern.ch/user/a/attrgcnf/TriggerDBReplica/TrigDbHltUploadFiles/logo.png') + label.setPixmap(pixmap) + label.setGeometry(675-5-100,5,675-5,100+5) + + def changeWidgetSetting(self, setting): + self.config.onlineMonitoring.cb.setEnabled(setting) + self.config.doDBConfig.cb.setEnabled(setting) + self.config.cafConfig.cb.setEnabled(setting) + self.config.l1rerun.cb.setEnabled(setting) + for c in self.gr_setup['cont']: + c.qtw.setEnabled(setting) def updateMenuComboBox(self): menus = self.config.menus @@ -441,24 +491,30 @@ class KeyPrep(QtGui.QScrollArea): index=-1 if self.menuInPreCommand: index = menus.index(self.menuInPreCommand) - elif "PhysicsV4" in menus: - index = menus.index("PhysicsV4") - elif "PhysicsV3" in menus: - index = menus.index("PhysicsV3") - elif "PhysicsV2" in menus: - index = menus.index("PhysicsV2") + elif "PhysicsV7" in menus: + index = menus.index("PhysicsV7") if index>=0: self.d_menu.setCurrentIndex(index) - + + def updateCommandBox(self): + if self.config.doDBConfig(): + self.config.setPreCommandModifier('doDBConfig', 'True') + def selectMenu(self, menu): if self.menuInPreCommand!=None: # remove the old one first self.config.setPreCommandModifier('test%s' % self.menuInPreCommand, None) self.config.setPreCommandModifier('test%s' % menu, 'True') # set the selected one self.menuInPreCommand = menu + + def checkMachine(self): + if "lxplus" in socket.gethostname(): + QMessageBox.information(None, '', "Warning! You're running on lxplus, and this will be slow!") + elif "tbed" not in socket.gethostname(): + QMessageBox.information(None, '', "Warning! You're not running on the testbed, it could be slow!") def quit(self): self.config.write() - QtGui.qApp.quit() + QtWidgets.qApp.quit() def setFrameTitle(self,title): self.setWindowTitle(title) @@ -469,9 +525,9 @@ class KeyPrep(QtGui.QScrollArea): def checkReleaseAndTT(self): self.config.release.set(os.getenv('AtlasVersion')) - self.config.swpath.set(os.getenv('AtlasBaseDir')) - if os.getenv('AtlasProject') in ['AtlasP1HLT','AtlasCAFHLT','AtlasProduction']: - self.config.patch.set(os.getenv('AtlasProject')) + self.config.swpath.set(os.getenv('AtlasBaseDir')) + if os.getenv('AtlasProject') in ['Athena','AthenaP1']: + self.config.relName.set(os.getenv('AtlasProject')) if self.config.tt()=='': for p in os.getenv('DATAPATH').split(os.pathsep): @@ -481,7 +537,7 @@ class KeyPrep(QtGui.QScrollArea): def guessMenuInPreCommand(self): pc = self.config.userPreCommand().strip(';') - mods = {} if not pc else dict([tuple(m.split('=')) for m in pc.split(';')]) + mods = {} if not pc else OrderedDict([tuple(m.split('=')) if '=' in m else [m,''] for m in pc.split(';')]) p = re.compile("test.*") menucands = filter(p.match,mods.keys()) self.menuInPreCommand = menucands[0][4:] if menucands else None @@ -489,7 +545,7 @@ class KeyPrep(QtGui.QScrollArea): def write(self,s): if not self.summarylog: base = self.config.jobName() - mode = "w" if self.config.jobMTjo.enabled else "a" + mode = "w" if self.config.jobHLTjo.enabled else "a" self.summarylog=open('%s/log%sSummary' % (self.config.tmpDir(),base), mode) print s, print >>self.summarylog, s, @@ -502,7 +558,9 @@ class KeyPrep(QtGui.QScrollArea): self.success = True def run(self): - for job in ['MTjo', 'PTjo', 'SetupCnv', 'UploadDb', 'MTdb', 'PTdb', 'CheckRes']: + processing_times = [] + for job in ['HLTjo', 'SetupCnv', 'UploadDb', 'HLTdb', 'CheckRes']: + start_time = timeit.default_timer() proc_conf = getattr(self.gui.config, "job%s" % job) if not proc_conf.enabled: proc_conf.setSkipped() @@ -519,20 +577,28 @@ class KeyPrep(QtGui.QScrollArea): if proc_conf.inError(): self.gui.addFrameTitle(' -> Failure') self.success = False + self.gui.changeWidgetSetting(True) return if not proc(proc_conf): # exec if proc_conf.inError(): self.gui.addFrameTitle(' -> Failure') if proc_conf.isKilled(): self.gui.addFrameTitle(' -> Killed') self.success = False + self.gui.changeWidgetSetting(True) return proc_conf.setSuccess() print >>self.gui, "===>>> Success" - + elapsed = timeit.default_timer() - start_time + timer_line = "Elapsed time for " + job + ": " + str(elapsed) + print timer_line + processing_times += [timer_line] + makeTimingFile(processing_times) print "===>>> Success" self.gui.setFrameTitle('Success') + self.gui.changeWidgetSetting(True) self.success = True return + def run(self): import os tmpdir = self.config.tmpDir() @@ -543,6 +609,7 @@ class KeyPrep(QtGui.QScrollArea): os.makedirs(tmpdir) except OSError, e: raise RuntimeError("Can't create temporary directory %s (reason: %s)" % (tmpdir,e) ) + self.changeWidgetSetting(False) self.runThread.start() # starts the thread def killCurrentProcess(self): @@ -552,16 +619,15 @@ class KeyPrep(QtGui.QScrollArea): if pr.isRunning(): runningProcess=pr break - if QMessageBox.question(None, '', "Are you sure you want to kill \nthe process '' ?" % runningProcess.label, + if QMessageBox.question(None, '', "Are you sure you want to kill \nthe process %s ?" % runningProcess.label, QMessageBox.Yes | QMessageBox.No, QMessageBox.No) == QMessageBox.Yes: if self.currentSubprocess: self.currentSubprocess.kill() + self.changeWidgetSetting(True) else: QMessageBox.information(None, '', "No process running!") - - # helper functions # check existence of file def checkFile(self,proc_conf, filename,filedesc): @@ -570,7 +636,7 @@ class KeyPrep(QtGui.QScrollArea): print 'ERROR: <%s> No %s configured' % (caller, filedesc) proc_conf.setError() return False - if not os.path.exists(filename): + if 'root://eosatlas//eos/atlas/' not in filename and not os.path.exists(filename): print 'ERROR: <%s> %s %s does not exist in %s' % (caller, filedesc, filename, os.path.realpath('.')) proc_conf.setError() return False @@ -601,7 +667,7 @@ class KeyPrep(QtGui.QScrollArea): for opt in optlist: getattr(self.config,opt).clear() - # execute cmd (string) + # cmd (string) def executeProcess(self, cmd, proc_conf): try: FD = open(proc_conf.logfile,'w') @@ -624,89 +690,74 @@ class KeyPrep(QtGui.QScrollArea): return False return True + def executeProcessList(self, cmd_list, proc_conf): + try: + FD = open(proc_conf.logfile,'w') + self.currentSubprocess = subprocess.Popen(cmd_list,stdout=FD,stderr=FD) + self.currentSubprocess.wait() + retCode = self.currentSubprocess.returncode + self.currentSubprocess = None + except OSError, v: + print 'ERROR: <%s> %r' % (proc_conf.name,v) + proc_conf.setError() + FD.close() + return False + FD.close() + if retCode==-9: + proc_conf.setKilled() + return False + if retCode!=0: + print 'ERROR: <%s> job failed with exit code: %r' % (proc_conf.name, retCode) + proc_conf.setError() + return False + return True + ##################################################### ### - ### Running athenaMT from the JO + ### Running athenaHLT from the JO ### ##################################################### - def clearMTjo(self): + def clearHLTjo(self): base = self.config.jobName() self.deleteLocalFile("%s-1._0001.data" % base) self.deleteLocalFile("%s-1._0001.data.writing" % base) - self.deleteTmpFile('log%sMT' % base) - self.clearOptions( ['l1menu', 'hltl2menu', 'hltefmenu', 'setupL2', 'inputEF', 'jobMTjo'] ) + self.deleteTmpFile('log%sHLT' % base) + self.clearOptions( ['l1menu', 'hltmenu', 'setupEF', 'jobHLTjo'] ) - def checkPreReqMTjo(self,proc_conf): - return self.checkInput(proc_conf, 'inputL2', '') and \ - self.checkFile(proc_conf, self.config.inputL2(), "Input file") + def checkPreReqHLTjo(self,proc_conf): + return self.checkInput(proc_conf, 'inputBSFile', '') and \ + self.checkFile(proc_conf, self.config.inputBSFile(), "Input file") - def runMTjo(self, proc_conf): + def runHLTjo(self, proc_conf): base = self.config.jobName() - logfile = '%s/log%sMT' % (self.config.tmpDir(),base) + logfile = '%s/log%sHLT' % (self.config.tmpDir(),base) proc_conf.setLogfile(logfile) - args = [ '-n %i' % self.config.nEvt(), - '-o %s' % base, - "-c doDBConfig=True", - "-c trigBase='\"%s\"'" % base, - "" if self.config.userPreCommand().strip()=='' else " -c '%s'" % self.config.userPreCommand().strip(), - '-f %s' % self.config.inputL2(), - '--oh-monitoring' if self.config.onlineMonitoring() else '' ] - cmd = 'athenaMT.py %s %s' % ( " ".join(args), self.config.jobOption() ) - print >>self, '%s &>! %s' % (cmd,logfile) - - if not self.executeProcess(cmd, proc_conf): return False - - try: - self.config.l1menu = subprocess.Popen("egrep 'DBCONFIG LVL1XML' %s" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1] - self.config.hltl2menu = subprocess.Popen("egrep 'DBCONFIG HLTXML' %s" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1] - self.config.inputEF = "%s-1._0001.data" % base - self.config.setupL2 = './l2_%s_setup.txt' % base - except: - return False - return True - - ##################################################### - ### - ### athenaPT from JobOptions - ### - ##################################################### - def clearPTjo(self): - base = self.config.jobName() - self.deleteLocalFile("ef_%s_setup.txt" % base) - self.deleteLocalFile("%s-1._0001.data.writing" % base) - self.deleteTmpFile('log%sPT' % base) - self.clearOptions( ['hltefmenu', 'setupEF', 'jobPTjo'] ) - - def checkPreReqPTjo(self,proc_conf): - return self.checkInput(proc_conf, 'inputEF', '') and \ - self.checkFile(proc_conf, self.config.inputEF(), "Input file") + args = [ '-n 1 -f %s' % self.config.inputBSFile(), + '-M' if self.config.onlineMonitoring() else '', + "" if self.config.userPreCommand().strip()=='' else " -c %s" % self.config.userPreCommand().strip(), + "" if self.config.userPostCommand().strip()=='' else " -C %s" % self.config.userPostCommand().strip() ] + cmd = 'athenaHLT.py %s %s' % ( " ".join(args), self.config.jobOption() ) - def runPTjo(self, proc_conf): - base = self.config.jobName() - logfile = '%s/log%sPT' % (self.config.tmpDir(),base) - proc_conf.setLogfile(logfile) + cmd_list = ['athenaHLT.py' , '-n', '1', '-f','%s' % self.config.inputBSFile(), + '-M' if self.config.onlineMonitoring() else '', + '-c', "%s" % self.config.userPreCommand().strip(),'-C', "%s" % self.config.userPostCommand().strip(), self.config.jobOption()] - args = [ '-n %i' % self.config.nEvt(), - '-c doDBConfig=True', - "-c trigBase='\"%s\"'" % base, - "" if self.config.userPreCommand().strip()=='' else " -c '%s'" % self.config.userPreCommand().strip(), - '-f %s' % self.config.inputEF(), - '--oh-monitoring' if self.config.onlineMonitoring() else '' ] - cmd = 'athenaPT.py %s %s' % ( " ".join(args), self.config.jobOption() ) - print >>self, '%s &>! %s' % (cmd,logfile) + print >>self, '%s &> %s' % (cmd,logfile) + print cmd_list - if not self.executeProcess(cmd, proc_conf): return False + if not self.executeProcessList(cmd_list, proc_conf): return False try: - self.config.hltefmenu = subprocess.Popen("egrep 'DBCONFIG HLTXML' %s" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1] - self.config.setupEF = './ef_%s_setup.txt' % base + self.config.l1menu = subprocess.Popen("egrep 'DBCONFIG LVL1XML' %s" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1] + self.config.l1topomenu = self.config.l1menu().split("LVL1")[0]+"L1Topo"+self.config.l1menu().split("LVL1")[1] + self.config.hltmenu = subprocess.Popen("egrep 'DBCONFIG HLTXML' %s" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1] + self.config.setupEF = './ef__setup.txt' except: return False return True - - + ##################################################### ### ### setup conversion @@ -722,50 +773,49 @@ class KeyPrep(QtGui.QScrollArea): def checkPreReqSetupCnv(self,proc_conf): allfiles = \ - self.checkFile(proc_conf, self.config.setupL2(), "L2 setup file") and \ self.checkFile(proc_conf, self.config.setupEF(), 'EF setup file') and \ - self.checkFile(proc_conf, self.config.hltl2menu(), 'HLT L2 menu file') and \ - self.checkFile(proc_conf, self.config.hltefmenu(), 'HLT EF menu file') + self.checkFile(proc_conf, self.config.hltmenu(), 'HLT menu file') if not allfiles: return False return self.checkInput(proc_conf, 'l1menu', '') def runSetupCnv(self, proc_conf): + + print 'Running the setup conversion' + # check for level 1 menu base = self.config.jobName() fullSetupDir = '%s/%s' % (self.config.setupDir(), base) + + print 'I think things are in the folder',fullSetupDir,', and this is where I\'ll put the files' + l1menuName = os.path.basename(self.config.l1menu()) - subprocess.call( ('cp -f %s .' % self.config.l1menu()).split() ) + subprocess.call( ('cp -f %s .' % self.config.l1menu()).split() ) + subprocess.call( ('cp -f %s .' % self.config.l1topomenu()).split() ) + l1topoName = os.path.basename(self.config.l1topomenu()) + #l1menuName = os.path.basename(self.config.l1menu()) #if not os.path.exists(l1menuName): # subprocess.call(('get_files -xmls %s' % l1menuName).split()) if not self.checkFile(proc_conf, l1menuName, "L1 menu file after running get_files"): return False + if not self.checkFile(proc_conf, l1topoName, "L1 topo menu file after running get_files"): + return False logfile = '%s/log%sConv' % (self.config.tmpDir(),base) proc_conf.setLogfile(logfile) - subprocess.call(['cp', self.config.setupL2(), fullSetupDir+'/l2setup.txt']) - subprocess.call(['cp', self.config.setupEF(), fullSetupDir+'/efsetup.txt']) - subprocess.call(['cp', l1menuName, fullSetupDir+'/lvl1Menu.xml']) - subprocess.call(['cp', self.config.hltl2menu(), fullSetupDir+'/hltL2Menu.xml']) - subprocess.call(['cp', self.config.hltefmenu(), fullSetupDir+'/hltEFMenu.xml']) - subprocess.call(['cp', self.config.setupL2().replace('.txt','_setup.txt'), fullSetupDir+'/l2setuppy.txt']) - subprocess.call(['cp', self.config.setupEF().replace('.txt','_setup.txt'), fullSetupDir+'/efsetuppy.txt']) + subprocess.call(['cp', self.config.setupEF(), fullSetupDir+'/efsetup.txt']) + subprocess.call(['cp', l1menuName, fullSetupDir+'/lvl1Menu.xml']) + subprocess.call(['cp', l1topoName, fullSetupDir+'/l1topoMenu.xml']) + subprocess.call(['cp', self.config.hltmenu(), fullSetupDir+'/hltMenu.xml']) + subprocess.call(['cp', self.config.setupEF().replace('.txt','_setup.txt'), fullSetupDir+'/efsetup_setup.txt']) cwd = os.getcwd() os.chdir(fullSetupDir) - cmd = 'menumerge.py --l2menu hltL2Menu.xml --efmenu hltEFMenu.xml --output hltMenu.xml' - print '%s &>! %s' % (cmd,logfile) - if not self.executeProcess(cmd, proc_conf): return False - - - cmd = 'ConvertHLTSetup_txt2xml.py l2setup.txt l2setuppy.txt' - print >>self,'%s &>>! %s' % (cmd,logfile) - if not self.executeProcess(cmd, proc_conf): return False + cmd = 'ConvertHLTSetup_txt2xml.py efsetup.txt efsetup_setup.txt' + print >>self,'%s &> %s' % (cmd,logfile) - cmd = 'ConvertHLTSetup_txt2xml.py efsetup.txt efsetuppy.txt' - print >>self,'%s &>>! %s' % (cmd,logfile) if not self.executeProcess(cmd, proc_conf): return False os.chdir(cwd) @@ -786,18 +836,20 @@ class KeyPrep(QtGui.QScrollArea): fullSetupDir = '%s/%s' % (self.config.setupDir(), self.config.jobName()) cwd = os.getcwd() os.chdir(fullSetupDir) + subprocess.call(['get_files','LVL1config.dtd']) allfiles = \ - self.checkFile(proc_conf, 'l2setup.xml', 'L2 setup file') and \ self.checkFile(proc_conf, 'efsetup.xml', 'EF setup file') and \ self.checkFile(proc_conf, 'hltMenu.xml', 'HLT menu file') and \ - self.checkFile(proc_conf, 'lvl1Menu.xml','LVL1 menu file') + self.checkFile(proc_conf, 'lvl1Menu.xml','LVL1 menu file') and \ + self.checkFile(proc_conf, 'LVL1config.dtd','LVL1 configuration file') and \ + self.checkFile(proc_conf, 'l1topoMenu.xml','L1Topo menu file') os.chdir(cwd) return allfiles def runUploadDb(self,proc_conf): base = self.config.jobName() fullSetupDir = '%s/%s' % (self.config.setupDir(),base) - java='/afs/cern.ch/sw/lcg/external/Java/JDK/1.6.0/ia32/jre/bin/java -Xms512m -Xmx2000m' + #java='/afs/cern.ch/sw/lcg/external/Java/JDK/Oracle_1.8.0_31/amd64/bin/java -Xms512m -Xmx2000m' TT=self.config.tt() logfile = '%s/log%sUpload' % (self.config.tmpDir(),base) @@ -815,83 +867,60 @@ class KeyPrep(QtGui.QScrollArea): '-pw %s' % self.config.dbPW()] args += ['-up', '-l1 %s/lvl1Menu.xml' % fullSetupDir, + '-l1topo %s/l1topoMenu.xml' % fullSetupDir, '-hlt %s/hltMenu.xml' % fullSetupDir, - '-l2s %s/l2setup.xml' % fullSetupDir, '-efs %s/efsetup.xml' % fullSetupDir, '-rel %s' % self.config.release(), - '-o %sTT' % logfile ] - - cmd = '%s -jar %s %s' % (java,TT,' '.join(args)) - print >>self,'%s &>! %s' % (cmd,logfile) - if not self.executeProcess(cmd, proc_conf): return False + '-m \"Upload from script\"', + '-onl', + '-o %sTTlog' % logfile ] - self.config.cfgKey = int(subprocess.Popen("egrep 'UPLOAD Supermasterkey' %sTT" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1]) - self.config.l1psKey = int(subprocess.Popen("egrep 'UPLOAD LVL1prescalekey' %sTT" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1]) - self.config.hltpsKey = int(subprocess.Popen("egrep 'UPLOAD HLTprescalekey' %sTT" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1]) - return True + cmd = '%s %s' % (TT,' '.join(args)) + print >>self,'%s &> %s' % (cmd,logfile) + os.unsetenv("TRIGGER_EXP_CORAL_PATH") + os.environ["TRIGGER_EXP_CORAL_PATH_RUN2"] = "/afs/cern.ch/user/a/attrgcnf/.dbauth/menuexperts" + subprocess.call(cmd, shell=True) + self.config.cfgKey = int(subprocess.Popen("egrep 'UPLOAD Supermasterkey' %sTTlog" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1]) + self.config.l1psKey = int(subprocess.Popen("egrep 'UPLOAD LVL1prescalekey' %sTTlog" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1]) + self.config.hltpsKey = int(subprocess.Popen("egrep 'UPLOAD HLTprescalekey' %sTTlog" % logfile, shell=True,stdout=subprocess.PIPE).communicate()[0].split()[-1]) + return True ##################################################### ### - ### Running athenaMT from the DB + ### Running athenaHLT from the DB ### ##################################################### - def clearMTdb(self): + def clearHLTdb(self): base = self.config.jobName() self.deleteLocalFile("%s-1._0001.data" % base) self.deleteLocalFile("%s-1._0001.data.writing" % base) - self.deleteTmpFile('log%sMTdb' % base) - self.clearOptions( ['jobMTdb'] ) - def checkPreReqMTdb(self,proc_conf): + self.deleteTmpFile('log%sHLTdb' % base) + self.clearOptions( ['jobHLTdb'] ) + def checkPreReqHLTdb(self,proc_conf): return self.checkInput(proc_conf, 'cfgKey', 0) and \ self.checkInput(proc_conf, 'l1psKey', 0) and \ self.checkInput(proc_conf, 'hltpsKey', 0) - def runMTdb(self,proc_conf): - base = self.config.jobName() - logfile = '%s/log%sMTdb' % (self.config.tmpDir(),base) - proc_conf.setLogfile(logfile) - - args = [ '-f %s' % self.config.inputL2(), - '-n %i' % self.config.nEvt(), - '-o %s' % base, - '--oh-monitoring' if self.config.onlineMonitoring() else '', - '-J TrigConf::HLTJobOptionsSvc', - '-b DBServer=%s:DBSMKey=%i:DBHLTPSKey=%i:DBLVL1PSKey=%i:Instance=L2' % (self.config.dbAlias(),self.config.cfgKey(),self.config.hltpsKey(),self.config.l1psKey()) ] - cmd = 'athenaMT.py %s' % ' '.join(args) - print >>self,'%s &>! %s' % (cmd,logfile) - if not self.executeProcess(cmd, proc_conf): return False - return True - - ##################################################### - ### - ### Running athenaPT from the DB - ### - ##################################################### - def clearPTdb(self): - base = self.config.jobName() - self.deleteTmpFile('log%sPTdb' % base) - self.clearOptions( ['jobPTdb'] ) - - def checkPreReqPTdb(self,proc_conf): - return self.checkInput(proc_conf, 'cfgKey', 0) - - def runPTdb(self,proc_conf): + def runHLTdb(self,proc_conf): base = self.config.jobName() - logfile = '%s/log%sPTdb' % (self.config.tmpDir(),base) + logfile = '%s/log%sHLTdb' % (self.config.tmpDir(),base) proc_conf.setLogfile(logfile) - args = [ '-f %s' % self.config.inputEF(), + args = [ '-f %s' % self.config.inputBSFile(), '-n %i' % self.config.nEvt(), - '--oh-monitoring' if self.config.onlineMonitoring() else '', '-J TrigConf::HLTJobOptionsSvc', - '-b DBServer=%s:DBSMKey=%i:DBHLTPSKey=%i:DBLVL1PSKey=%i:Instance=EF' % (self.config.dbAlias(),self.config.cfgKey(),self.config.hltpsKey(),self.config.l1psKey()) ] - cmd = 'athenaPT.py %s' % ' '.join(args) - print >>self,'%s &>! %s' % (cmd,logfile) + '-M' if self.config.onlineMonitoring() else '', + '--use-database --db-type Coral --db-server %s --db-smk %i --db-hltpskey %i --db-extra {"lvl1key":%i}' % (self.config.dbAlias(),self.config.cfgKey(),self.config.hltpsKey(),self.config.l1psKey()) ] + + cmd = 'athenaHLT.py %s' % ' '.join(args) + print >>self,'%s &> %s' % (cmd,logfile) + + os.unsetenv("FRONTIER_SERVER") + if not self.executeProcess(cmd, proc_conf): return False return True - ##################################################### ### ### Running the Result Checker @@ -904,31 +933,21 @@ class KeyPrep(QtGui.QScrollArea): def checkPreReqCheckRes(self, proc_conf): allfiles = \ - self.checkFile(proc_conf, self.config.jobMTjo.logfile, "L2 JO log file") and \ - self.checkFile(proc_conf, self.config.jobMTdb.logfile, 'L2 DB log file') and \ - self.checkFile(proc_conf, self.config.jobPTjo.logfile, "EF JO log file") and \ - self.checkFile(proc_conf, self.config.jobPTdb.logfile, 'EF DB log file') + self.checkFile(proc_conf, self.config.jobHLTjo.logfile, "HLT JO log file") and \ + self.checkFile(proc_conf, self.config.jobHLTdb.logfile, 'HLT DB log file') return allfiles def runCheckRes(self, proc_conf): base = self.config.jobName() - resMtJo = self.getResultFromLog(self.config.jobMTjo.logfile) - resMtDb = self.getResultFromLog(self.config.jobMTdb.logfile) + resHltJo = self.getResultFromLog(self.config.jobHLTjo.logfile) + resHltDb = self.getResultFromLog(self.config.jobHLTdb.logfile) self.testresults = { - 'mtjo' : resMtJo, - 'mtdb' : resMtDb + 'hltjo' : resHltJo, + 'hltdb' : resHltDb } - print >>self,"Checking L2\n===========" - successMT = self.checkResultInLevel(proc_conf, resMtJo, resMtDb) + print >>self,"Checking HLT\n===========" + success = self.checkResultInLevel(proc_conf, resHltJo, resHltDb) - resPtJo = self.getResultFromLog(self.config.jobPTjo.logfile) - resPtDb = self.getResultFromLog(self.config.jobPTdb.logfile) - self.testresults['ptjo'] = resPtJo - self.testresults['ptdb'] = resPtDb - print >>self,"Checking EF\n===========" - successPT = self.checkResultInLevel(proc_conf, resPtJo, resPtDb) - - success = successMT and successPT if success: print >>self,"Check successful! This database key returns the correct answers and can be used online!" else: @@ -937,7 +956,7 @@ class KeyPrep(QtGui.QScrollArea): if True: logfile = '%s/log%sCheckRes' % (self.config.tmpDir(),base) cmd = 'buildConfigInstaller.sh %s %s' % (self.config.jobName(), self.config.release()) - print >>self,'%s &>! %s' % (cmd,logfile) + print >>self,'%s &> %s' % (cmd,logfile) try: successBuildInstaller = ( 0 == subprocess.call(cmd.split()) ) except OSError, v: @@ -992,14 +1011,11 @@ class KeyPrep(QtGui.QScrollArea): d[m.group('chain')] = m.groupdict() return d - def displayResultMT(self): - self.displayResult('mt') + def displayResultHLT(self): + self.displayResult('hlt') - def displayResultPT(self): - self.displayResult('pt') - def displayResult(self, name): - if name!='mt' and name!='pt': + if name!='hlt': return if not (self.testresults.has_key('%sjo' % name) and self.testresults.has_key('%sdb' % name)): print "Results for %s are missing" % name @@ -1071,10 +1087,6 @@ class KeyPrep(QtGui.QScrollArea): #t.insert("%s+1l" % INSERT, ul) print ul - - - - def parse_programm_options(): import getopt short_opt = "h?F:" @@ -1102,11 +1114,21 @@ def parse_programm_options(): inputFile = v return inputFile +def makeTimingFile(lines = []): + import time + timestr = time.strftime("%Y%m%d-%H%M%S") + timing_file = open('/afs/cern.ch/user/a/attrgcnf/TriggerDBReplica/TrigDbHltUploadFiles/timingLogs/logTiming'+timestr, 'w') + timing_file.write('Machine: '+socket.gethostname()+'\n') + timing_file.write('User: '+getpass.getuser()+'\n') + for line in lines: + timing_file.write(line+'\n') + timing_file.close() # you can omit in most cases as the destructor will call it def main(): signal.signal(signal.SIGINT, sigint_handler) inputFile = parse_programm_options() - app = QtGui.QApplication(sys.argv) + app = QtWidgets.QApplication(sys.argv) + app.setStyle('cleanlooks') timer = QtCore.QTimer() timer.start(500) # interval after which timeout signal is called timer.timeout.connect(lambda: None) @@ -1120,7 +1142,7 @@ def sigint_handler(*args): #if QMessageBox.question(None, '', "Are you sure you want to quit?", # QMessageBox.Yes | QMessageBox.No, # QMessageBox.No) == QMessageBox.Yes: - QtGui.QApplication.quit() + QtWidgets.QApplication.quit() if __name__ == "__main__": main() diff --git a/Trigger/TrigConfiguration/TrigDbHltUpload/share/setupOnlineTriggerConfigEnv.sh b/Trigger/TrigConfiguration/TrigDbHltUpload/share/setupOnlineTriggerConfigEnv.sh new file mode 100755 index 0000000000000000000000000000000000000000..ca6722d7eb65626ea554b3e935800e61d372be7c --- /dev/null +++ b/Trigger/TrigConfiguration/TrigDbHltUpload/share/setupOnlineTriggerConfigEnv.sh @@ -0,0 +1,3 @@ +lsetup "lcgenv -p LCG_88 x86_64-slc6-gcc62-opt pyqt5" +export QT_PLUGIN_PATH=/cvmfs/sft.cern.ch/lcg/releases/LCG_88/qt5/5.6.0/x86_64-slc6-gcc62-opt/plugins/ +export QT_XKB_CONFIG_ROOT=/usr/share/X11/xkb diff --git a/Trigger/TrigDataAccess/TrigROBDataProviderSvc/TrigROBDataProviderSvc/ITrigROBDataProviderSvc_RTT.h b/Trigger/TrigDataAccess/TrigROBDataProviderSvc/TrigROBDataProviderSvc/ITrigROBDataProviderSvc_RTT.h index cb23bda2c9da7a2517eca7db1ab3ab1f01846b04..3a98ebc1e02787a6cbd0b23eb188a679ba5863ad 100755 --- a/Trigger/TrigDataAccess/TrigROBDataProviderSvc/TrigROBDataProviderSvc/ITrigROBDataProviderSvc_RTT.h +++ b/Trigger/TrigDataAccess/TrigROBDataProviderSvc/TrigROBDataProviderSvc/ITrigROBDataProviderSvc_RTT.h @@ -23,28 +23,12 @@ public: /// Retrieve interface ID static const InterfaceID& interfaceID() { return IID_ITrigROBDataProviderSvc_RTT; } - /// Return vector with all ROBFragments stored in the cache - virtual void addROBData(const std::vector<uint32_t>& robIds, - const std::string callerName="UNKNOWN") = 0; - //return status of prefecthing virtual bool isMissingPrefetching() = 0; // return setup of pre-fetching virtual bool isPrefetchingAtAlgoLevel() = 0; - /// set the name of the program which uses the ROBDataProviderSvc - virtual void setCallerName(const std::string) = 0; - - /// Check if complete event data are already in cache - virtual bool isEventComplete() = 0; - - /// Collect all data for an event from the ROS and put them into the cache - /// Return value: number of ROBs which were retrieved to complete the event - /// Optinonally the name of the caller of this method can be specified for cost monitoring - virtual int collectCompleteEventData(const std::string callerName="UNKNOWN") = 0; - - }; #endif diff --git a/Trigger/TrigDataAccess/TrigROBDataProviderSvc/src/TrigROBDataProviderSvc.h b/Trigger/TrigDataAccess/TrigROBDataProviderSvc/src/TrigROBDataProviderSvc.h index 9d9fcf29c751306e56d892cbaa6078a441784acc..675b042d79cb2158dd44cc4078b15d782661e21e 100755 --- a/Trigger/TrigDataAccess/TrigROBDataProviderSvc/src/TrigROBDataProviderSvc.h +++ b/Trigger/TrigDataAccess/TrigROBDataProviderSvc/src/TrigROBDataProviderSvc.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TRIGL2SERVICES_TRIGROBDATAPROVIDERSVC_H diff --git a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/CMakeLists.txt b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/CMakeLists.txt index f616a6f0f95d85bc78ebe76f9c302d730d1bb8e3..cfa6a5b557983eeaf142595cde6dfa309291b9b9 100644 --- a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/CMakeLists.txt +++ b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/CMakeLists.txt @@ -21,19 +21,15 @@ atlas_depends_on_subdirs( PUBLIC Trigger/TrigDataAccess/TrigSerializeResult Trigger/TrigDataAccess/TrigSerializeTP ) -# External dependencies: -find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) # Component(s) in the package: atlas_add_library( TrigSerializeCnvSvcLib src/*.cxx PUBLIC_HEADERS TrigSerializeCnvSvc - PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} LINK_LIBRARIES AthContainers AthenaBaseComps SGTools GaudiKernel StoreGateLib SGtests TrigSerializeResultLib TrigSerializeTPLib PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaKernel DataModelRoot StorageSvc PersistentDataModel ) atlas_add_component( TrigSerializeCnvSvc src/components/*.cxx - INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AthenaBaseComps SGTools StoreGateLib SGtests GaudiKernel AthenaKernel DataModelRoot StorageSvc PersistentDataModel TrigSerializeResultLib TrigSerializeTPLib TrigSerializeCnvSvcLib ) + LINK_LIBRARIES AthContainers AthenaBaseComps SGTools StoreGateLib SGtests GaudiKernel AthenaKernel DataModelRoot StorageSvc PersistentDataModel TrigSerializeResultLib TrigSerializeTPLib TrigSerializeCnvSvcLib ) diff --git a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx index aae0a1e80a1860e36b925352598f6b3438301670..f082f6152c515f3697652affcf2e65cfe56f769a 100644 --- a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx +++ b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeConvHelper.cxx @@ -1,23 +1,17 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ - #include "TrigSerializeCnvSvc/TrigSerializeConvHelper.h" #include "GaudiKernel/MsgStream.h" #include "GaudiKernel/ClassID.h" -#include "AthenaKernel/getMessageSvc.h" -#include "StoreGate/StoreGateSvc.h" - #include "TrigSerializeCnvSvc/TrigStreamAddress.h" #include "TrigSerializeResult/ITrigSerializerToolBase.h" #include "TrigSerializeTP/TrigSerTPTool.h" #include "TrigSerializeCnvSvc/ITrigSerGuidHelper.h" -// -#include "TROOT.h" -#include "TClass.h" +#include "DataModelRoot/RootType.h" TrigSerializeConvHelper::TrigSerializeConvHelper(const std::string& toolname, const std::string& type, const IInterface* parent) : @@ -39,35 +33,35 @@ StatusCode TrigSerializeConvHelper::initialize(){ StatusCode sc = m_serializerTool.retrieve(); if (!sc.isSuccess()){ - msg(MSG::DEBUG) << "m_serializer not retrieved" << endmsg; + ATH_MSG_DEBUG("m_serializer not retrieved"); return sc; } else { - msg(MSG::DEBUG) << "m_serializer retrieved" << endmsg; + ATH_MSG_DEBUG("m_serializer retrieved"); /* if (m_serializerTool->initialize().isSuccess()){ - msg(MSG::DEBUG) << "serializer initialized" << endmsg; + ATH_MSG_DEBUG( "serializer initialized" ); } */ } StatusCode sctp = m_TPTool.retrieve(); if (!sctp.isSuccess()){ - msg(MSG::DEBUG) << "m_TPTool not retrieved" << endmsg; + ATH_MSG_DEBUG( "m_TPTool not retrieved" ); return sctp; } else { - msg(MSG::DEBUG) << "m_TPTool retrieved" << endmsg; + ATH_MSG_DEBUG( "m_TPTool retrieved" ); /* if (m_TPTool->initialize().isSuccess()) - msg(MSG::DEBUG) << "m_TPTool initialized" << endmsg; + ATH_MSG_DEBUG( "m_TPTool initialized" ); */ } StatusCode scg = m_guidTool.retrieve(); if (!scg.isSuccess()){ - msg(MSG::DEBUG) << m_guidTool << " not retrieved" << endmsg; + ATH_MSG_DEBUG( m_guidTool << " not retrieved" ); return scg; } else { - msg(MSG::DEBUG) << m_guidTool << "retrieved" << endmsg; + ATH_MSG_DEBUG( m_guidTool << "retrieved" ); } m_oldEDMmap[ "TrigRoiDescriptor" ] = "TrigRoiDescriptorCollection_tlp1"; @@ -120,14 +114,13 @@ StatusCode TrigSerializeConvHelper::initialize(){ } StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaqueAddress* iAddr, void *&ptr, bool isxAOD){ - ptr = 0; - msg(MSG::DEBUG) << "in TrigSerializeConvHelper::createObj for clname" << clname << " is xAOD? " << (isxAOD?"yes":"no") << endmsg; - + ATH_MSG_DEBUG("in TrigSerializeConvHelper::createObj for clname " << clname << " is xAOD? " << (isxAOD?"yes":"no")); + //could alse get DATA (perhaps as boost::any) from the IOA TrigStreamAddress *addr = dynamic_cast<TrigStreamAddress*>(iAddr); if (!addr) { - msg(MSG::WARNING) << "createObj cast failed" << endmsg; + ATH_MSG_WARNING("createObj cast failed"); return StatusCode::FAILURE; } @@ -137,11 +130,8 @@ StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaque std::vector<uint32_t> v = addr->get(); //we need to find the name of the ob - std::string cl = clname; - - if (m_doTP and !isxAOD) cl = m_TPTool->persClassName(clname); @@ -154,39 +144,36 @@ StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaque scid = serializer->peekCLID(v, guid); if (scid.isFailure()){ //BS has no hint on the pers class - use the original table - if (msgLvl(MSG::DEBUG)) - msg(MSG::DEBUG) << "BS does not hint on payload object " << cl << endmsg; + ATH_MSG_DEBUG("BS does not hint on payload object " << cl); if (m_oldEDMmap.find(clname)!=m_oldEDMmap.end()){ - if (cl!=m_oldEDMmap[clname]){ - msg(MSG::DEBUG) << "Using backward compatibility map with " << m_oldEDMmap[clname] - << " instead of " << cl << endmsg; - cl = m_oldEDMmap[clname]; - } + if (cl!=m_oldEDMmap[clname]){ + ATH_MSG_DEBUG("Using backward compatibility map with " << m_oldEDMmap[clname] + << " instead of " << cl); + cl = m_oldEDMmap[clname]; + } } } else { //get the pers version from the BS - std::string nclass; + std::string nclass = cl; StatusCode ai = m_guidTool->IntsToClassName(guid, nclass); - if (ai.isFailure()){ + if (ai.isFailure()) { //better do not decode return StatusCode::FAILURE; } if (cl != nclass){ - cl = nclass; - if (msgLvl(MSG::DEBUG)) - msg(MSG::DEBUG) << "Got hint of " << cl - << " different persistent class from the BS payload. Name from GUID: " << nclass << endmsg; - - if(isxAOD){ - msg(MSG::DEBUG) << "This is an xAOD so probably the BS version is an older version of the xAOD type." << endmsg; - } - versionChange = true; + cl = nclass; + ATH_MSG_DEBUG("Got hint of " << cl << " different persistent class from the BS payload. Name from GUID: " << nclass); + + if(isxAOD){ + ATH_MSG_DEBUG("This is an xAOD so probably the BS version is an older version of the xAOD type."); + } + versionChange = true; } } ptr = serializer->deserialize(cl, v); - if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << cl << " deserialized to " << ptr << " version change detected: " << (versionChange ? "yes":"no") << endmsg; + ATH_MSG_DEBUG(cl << " deserialized to " << ptr << " version change detected: " << (versionChange ? "yes":"no")); } // T/P separation @@ -194,16 +181,15 @@ StatusCode TrigSerializeConvHelper::createObj(const std::string &clname, IOpaque if (m_doTP and (!isxAOD or versionChange) and !isViewVector){ std::string transclass; - if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "converting with pername " << cl << endmsg; + ATH_MSG_DEBUG("converting with pername " << cl); void *transObj = m_TPTool->convertPT(cl,ptr, transclass); - if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "was converted to " << transclass << " at " << transObj << endmsg; + ATH_MSG_DEBUG("was converted to " << transclass << " at " << transObj); //persistent object not needed anymore - TClass *persClObj = gROOT->GetClass(cl.c_str()); - if (persClObj) - persClObj->Destructor(ptr); + RootType persClObj(cl); + persClObj.Destruct(ptr); ptr = transObj; } @@ -218,7 +204,7 @@ StatusCode TrigSerializeConvHelper::createRep(const std::string &clname, StatusCode sc(StatusCode::SUCCESS); - msg(MSG::DEBUG) << "in TrigSerializeConvHelper::createRep for clname" << clname << " is xAOD? " << (isxAOD?"yes":"no") << endmsg; + ATH_MSG_DEBUG("in TrigSerializeConvHelper::createRep for clname" << clname << " is xAOD? " << (isxAOD?"yes":"no")); std::string cl = clname; void *pObj = ptr; @@ -230,42 +216,38 @@ StatusCode TrigSerializeConvHelper::createRep(const std::string &clname, cl = persclass; } - msg(MSG::DEBUG) << "convertTP: " << pObj << " of " - << cl << endmsg; - + ATH_MSG_DEBUG("convertTP: " << pObj << " of " << cl); + //void *serptr(0); // ITrigSerializerToolBase* serializer = m_serializerTool.operator->(); serializer->reset(); - msg(MSG::VERBOSE) << "About to get GUID for " << cl << endmsg; - + ATH_MSG_VERBOSE("About to get GUID for " << cl); + //opposite from string to class uint32_t irep[4]; StatusCode ai = m_guidTool->ClassNameToInts(cl, irep); if (ai.isFailure()){ - msg(MSG::WARNING) << "Cannot store class identification for " - << cl << " to BS" << endmsg; + ATH_MSG_WARNING("Cannot store class identification for " << cl << " to BS"); } - msg(MSG::VERBOSE) << "got GUID: " << irep[0] << "-" << irep[1] << "-" << irep[2] << "-" << irep[3] << endmsg; - + ATH_MSG_VERBOSE("got GUID: " << irep[0] << "-" << irep[1] << "-" << irep[2] << "-" << irep[3]); + if (cl != "" && pObj){ serializer->setCLID(irep); serializer->serialize(cl, pObj, out); } else { - msg(MSG::WARNING) << "did not serialize " << ptr << " of " << clname << endmsg; + ATH_MSG_WARNING("did not serialize " << ptr << " of " << clname); } if (m_doTP and !isxAOD){ //we don't need the persistent object anymore - TClass *persClObj = gROOT->GetClass(cl.c_str()); - if (persClObj) - persClObj->Destructor(pObj); + RootType persClObj(cl); + persClObj.Destruct(pObj); } - if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "pObj: " << pObj << " of " << cl - << " payload: " << out.size() << endmsg; + ATH_MSG_DEBUG("pObj: " << pObj << " of " << cl << " payload: " << out.size()); return sc; } diff --git a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx index e33a94bf376e6fc1d017cfbd141b11cfcdb6defe..de447405b3bf9904435f3a341b3c34f8854064b4 100644 --- a/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx +++ b/Trigger/TrigDataAccess/TrigSerializeCnvSvc/src/TrigSerializeGuidHelper.cxx @@ -9,7 +9,6 @@ #include "StorageSvc/DbReflex.h" - TrigSerializeGuidHelper::TrigSerializeGuidHelper(const std::string& name, const std::string& type, const IInterface* parent) : AthAlgTool(name, type, parent) @@ -35,8 +34,7 @@ StatusCode TrigSerializeGuidHelper::ClassNameToInts(const std::string &clname, u RootPropertyList pl = t.Properties(); if (pl.HasProperty("ClassID")){ std::string gecko = pl.PropertyAsString("ClassID"); - if (msgLvl(MSG::DEBUG)) - msg(MSG::DEBUG) << clname << " to ROOT known as " << cl << " has " << "ClassID=" << gecko << endmsg; + ATH_MSG_DEBUG( clname << " to ROOT known as " << cl << " has " << "ClassID=" << gecko ); const Guid guid(gecko ); iarr[0] = guid.data1(); @@ -45,14 +43,14 @@ StatusCode TrigSerializeGuidHelper::ClassNameToInts(const std::string &clname, u iarr[3] = guid.data4(4) << 24 | guid.data4(5) << 16 | guid.data4(6) << 8 | guid.data4(7); } else{ - msg(MSG::WARNING) << "property list has no ClassID for class name " << clname << " aka (" << cl << ")" << endmsg; + ATH_MSG_WARNING( "property list has no ClassID for class name " << clname << " aka (" << cl << ")" ); return StatusCode::FAILURE; } return StatusCode::SUCCESS; } -StatusCode TrigSerializeGuidHelper::IntsToClassName(const uint32_t *iarr, std::string &clname){ +StatusCode TrigSerializeGuidHelper::IntsToClassName(const uint32_t *iarr, std::string &clname) { Guid guid; guid.setData1(iarr[0]); @@ -67,19 +65,25 @@ StatusCode TrigSerializeGuidHelper::IntsToClassName(const uint32_t *iarr, std::s guid.setData4(iarr[3] >> 8, 6); guid.setData4(iarr[3] & 0xFF, 7); - if (msgLvl(MSG::DEBUG)) - msg(MSG::DEBUG) << "constructed " << guid.toString() << " from ints" << endmsg; - RootType cltype(pool::DbReflex::forGuid(guid)); - - clname = cltype.Name(Reflex::SCOPED); - /* - std::string scope = cltype.DeclaringScope().Name(); - if (!scope.empty()) { - clname = scope+"::"+clname; + ATH_MSG_DEBUG( "constructed " << guid.toString() << " from ints" ); + + if( clname != "" ) { + // Instead of getting a typename for a known guid (quite costly in ROOT6) + // and comparing names, + // get a class by name and compare guids + Guid g( pool::DbReflex::guid( RootType(clname) ) ); + if( g != guid ) { + // the typename was wrong, will need to look it up by GUID + clname = ""; + } + } + + if( clname == "" ) { + RootType cltype( pool::DbReflex::forGuid(guid) ); + clname = cltype.Name(Reflex::SCOPED); } - */ - if (msgLvl(MSG::DEBUG)) - msg(MSG::DEBUG) << "corresponds to " << clname << endmsg; + + ATH_MSG_DEBUG( "corresponds to " << clname ); if (clname.empty()){ return StatusCode::FAILURE; diff --git a/Trigger/TrigDataAccess/TrigSerializeResult/python/StreamerInfoGenerator.py b/Trigger/TrigDataAccess/TrigSerializeResult/python/StreamerInfoGenerator.py index 3ace667e0f5bc6d015b4e3cc9161c303e623660c..341888dfc829b733546d250ec95bc6888df2429b 100755 --- a/Trigger/TrigDataAccess/TrigSerializeResult/python/StreamerInfoGenerator.py +++ b/Trigger/TrigDataAccess/TrigSerializeResult/python/StreamerInfoGenerator.py @@ -1,6 +1,6 @@ #!/usr/bin/env pyroot.py -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration import cppyy class StreamerInfoGenerator: @@ -12,9 +12,8 @@ class StreamerInfoGenerator: #MN: ROOT6 strips std:: from types, so we need to check the names self.blacklist = ['std::', 'vector<', 'map<', 'queue<', 'list<'] self.type = cppyy.gbl.RootType -# cppyy.loadDict('libSTLRflx') -# cppyy.loadDict('libSTLAddRflx') -# cppyy.loadDict('libAtlasSTLAddReflexDict') + self.type.EnableCintex() + cppyy.loadDict('libAtlasSTLAddReflexDict') #MN: switch off auto dict generation - god knows what that can mess up cppyy.gbl.gROOT.ProcessLine(".autodict") diff --git a/Trigger/TrigDataAccess/TrigSerializeResult/python/dictwrite.py b/Trigger/TrigDataAccess/TrigSerializeResult/python/dictwrite.py index 28821e547767fa2f1ecd5b16ab857ee6a116d035..d4542126c129746544dbaf73747d41ef6233221b 100755 --- a/Trigger/TrigDataAccess/TrigSerializeResult/python/dictwrite.py +++ b/Trigger/TrigDataAccess/TrigSerializeResult/python/dictwrite.py @@ -1,6 +1,6 @@ #!/usr/bin/env pyroot.py -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration #---------------------------------------------- # @@ -35,99 +35,98 @@ b) have a real class in the 'objects' list BEFORE the typedef objects = [ - 'xAOD::TrigEMCluster_v1', - 'xAOD::TrigEMClusterContainer_v1', - 'xAOD::TrigEMClusterAuxContainer_v1', - 'xAOD::TrigRingerRings_v1', - 'xAOD::TrigRingerRingsContainer_v1', - 'xAOD::TrigRingerRingsAuxContainer_v1', - 'xAOD::TrigRNNOutput_v1', - 'xAOD::TrigRNNOutputContainer_v1', - 'xAOD::TrigRNNOutputAuxContainer_v1', - 'xAOD::CaloClusterContainer_v1', - 'xAOD::CaloClusterAuxContainer_v2', - 'xAOD::L2StandAloneMuonContainer_v1', - 'xAOD::L2StandAloneMuonAuxContainer_v1', - 'xAOD::L2StandAloneMuonAuxContainer_v2', - 'xAOD::L2CombinedMuonContainer_v1', - 'xAOD::L2CombinedMuonAuxContainer_v1', - 'xAOD::L2IsoMuonContainer_v1', - 'xAOD::L2IsoMuonAuxContainer_v1', - 'xAOD::MuonContainer_v1', - 'xAOD::MuonAuxContainer_v1', - 'xAOD::MuonAuxContainer_v2', - 'xAOD::MuonAuxContainer_v3', - 'xAOD::MuonAuxContainer_v4', - 'xAOD::TrackParticleContainer_v1', - 'xAOD::TrackParticleAuxContainer_v1', - 'xAOD::TrackParticleAuxContainer_v2', - 'xAOD::TrackParticleAuxContainer_v3', - 'xAOD::TauJetContainer_v2', - 'xAOD::TauJetAuxContainer_v2', - 'xAOD::TauJetAuxContainer_v3', - 'xAOD::VertexContainer_v1', - 'xAOD::VertexAuxContainer_v1', - 'xAOD::TrigCompositeContainer_v1', - 'xAOD::TrigCompositeAuxContainer_v1', - 'xAOD::MuonRoIContainer_v1', - 'xAOD::MuonRoIAuxContainer_v1', - 'xAOD::EmTauRoIContainer_v2', - 'xAOD::EmTauRoIAuxContainer_v2', - 'xAOD::JetRoIContainer_v2', - 'xAOD::JetRoIAuxContainer_v2', - 'xAOD::JetEtRoI_v1', - 'xAOD::JetEtRoIAuxInfo_v1', - 'xAOD::EnergySumRoI_v1', - 'xAOD::EnergySumRoIAuxInfo_v1', - 'xAOD::TriggerTowerContainer_v2', - 'xAOD::TriggerTowerAuxContainer_v2', - 'xAOD::ElectronContainer_v1', - 'xAOD::ElectronAuxContainer_v1', - 'xAOD::PhotonContainer_v1', - 'xAOD::PhotonAuxContainer_v1', - 'xAOD::TrigBphysContainer_v1', - 'xAOD::TrigBphysAuxContainer_v1', - 'xAOD::TrigT2MbtsBitsAuxContainer_v1', - 'xAOD::TrigT2MbtsBitsContainer_v1', - 'xAOD::TrigSpacePointCountsContainer_v1', - 'xAOD::TrigSpacePointCountsAuxContainer_v1', - 'xAOD::TrigVertexCountsContainer_v1', - 'xAOD::TrigVertexCountsAuxContainer_v1', - 'xAOD::TrigTrackCounts_v1', - 'xAOD::TrigTrackCountsAuxContainer_v1', - 'xAOD::TrigMissingETContainer_v1', - 'xAOD::TrigMissingETAuxContainer_v1', - 'xAOD::TrigPhotonContainer_v1', - 'xAOD::TrigPhotonAuxContainer_v1', - 'xAOD::TrigElectronContainer_v1', - 'xAOD::TrigElectronAuxContainer_v1', - 'xAOD::JetContainer_v1', - 'xAOD::JetTrigAuxContainer_v1', - 'xAOD::JetTrigAuxContainer_v2', - 'xAOD::TrigDecision_v1', - 'xAOD::TrigDecisionAuxInfo_v1', - 'xAOD::TrigConfKeys_v1', - 'xAOD::TrigNavigation_v1', - 'xAOD::TrigNavigationAuxInfo_v1', - 'xAOD::BTaggingContainer_v1', - 'xAOD::BTaggingAuxContainer_v1', - 'xAOD::BTaggingTrigAuxContainer_v1', - 'xAOD::BTagVertexContainer_v1', - 'xAOD::BTagVertexAuxContainer_v1', - 'xAOD::HIEventShapeAuxContainer_v2', - 'xAOD::HIEventShapeContainer_v2', - 'xAOD::TrigT2ZdcSignalsAuxContainer_v1', - 'xAOD::TrigT2ZdcSignalsContainer_v1', - 'xAOD::TrigPassBitsContainer_v1', - 'xAOD::TrigPassBitsAuxContainer_v1', - 'xAOD::CaloClusterTrigAuxContainer_v1', - 'xAOD::ElectronTrigAuxContainer_v1', - 'xAOD::PhotonTrigAuxContainer_v1', - 'xAOD::TrigEMClusterAuxContainer_v2', - 'xAOD::TrigRingerRingsAuxContainer_v2', - 'xAOD::TrigRNNOutputAuxContainer_v2', - 'TrigMuonEFIsolation_p2', - 'xAOD::MuonAuxContainer_v4', +'xAOD::TrigEMCluster_v1', +'xAOD::TrigEMClusterContainer_v1', +'xAOD::TrigEMClusterAuxContainer_v1', +'xAOD::TrigRingerRings_v1', +'xAOD::TrigRingerRingsContainer_v1', +'xAOD::TrigRingerRingsAuxContainer_v1', +'xAOD::TrigRNNOutput_v1', +'xAOD::TrigRNNOutputContainer_v1', +'xAOD::TrigRNNOutputAuxContainer_v1', +'xAOD::CaloClusterContainer_v1', +'xAOD::CaloClusterAuxContainer_v2', +'xAOD::L2StandAloneMuonContainer_v1', +'xAOD::L2StandAloneMuonAuxContainer_v1', +'xAOD::L2StandAloneMuonAuxContainer_v2', +'xAOD::L2CombinedMuonContainer_v1', +'xAOD::L2CombinedMuonAuxContainer_v1', +'xAOD::L2IsoMuonContainer_v1', +'xAOD::L2IsoMuonAuxContainer_v1', +'xAOD::MuonContainer_v1', +'xAOD::MuonAuxContainer_v1', +'xAOD::MuonAuxContainer_v2', +'xAOD::MuonAuxContainer_v3', +'xAOD::MuonAuxContainer_v4', +'xAOD::TrackParticleContainer_v1', +'xAOD::TrackParticleAuxContainer_v1', +'xAOD::TrackParticleAuxContainer_v2', +'xAOD::TrackParticleAuxContainer_v3', +'xAOD::TauJetContainer_v2', +'xAOD::TauJetAuxContainer_v2', +'xAOD::TauJetAuxContainer_v3', +'xAOD::VertexContainer_v1', +'xAOD::VertexAuxContainer_v1', +'xAOD::TrigCompositeContainer_v1', +'xAOD::TrigCompositeAuxContainer_v1', +'xAOD::MuonRoIContainer_v1', +'xAOD::MuonRoIAuxContainer_v1', +'xAOD::EmTauRoIContainer_v2', +'xAOD::EmTauRoIAuxContainer_v2', +'xAOD::JetRoIContainer_v2', +'xAOD::JetRoIAuxContainer_v2', +'xAOD::JetEtRoI_v1', +'xAOD::JetEtRoIAuxInfo_v1', +'xAOD::EnergySumRoI_v1', +'xAOD::EnergySumRoIAuxInfo_v1', +'xAOD::TriggerTowerContainer_v2', +'xAOD::TriggerTowerAuxContainer_v2', +'xAOD::ElectronContainer_v1', +'xAOD::ElectronAuxContainer_v1', +'xAOD::PhotonContainer_v1', +'xAOD::PhotonAuxContainer_v1', +'xAOD::TrigBphysContainer_v1', +'xAOD::TrigBphysAuxContainer_v1', +'xAOD::TrigT2MbtsBitsAuxContainer_v1', +'xAOD::TrigT2MbtsBitsContainer_v1', +'xAOD::TrigSpacePointCountsContainer_v1', +'xAOD::TrigSpacePointCountsAuxContainer_v1', +'xAOD::TrigVertexCountsContainer_v1', +'xAOD::TrigVertexCountsAuxContainer_v1', +'xAOD::TrigTrackCounts_v1', +'xAOD::TrigTrackCountsAuxContainer_v1', +'xAOD::TrigMissingETContainer_v1', +'xAOD::TrigMissingETAuxContainer_v1', +'xAOD::TrigPhotonContainer_v1', +'xAOD::TrigPhotonAuxContainer_v1', +'xAOD::TrigElectronContainer_v1', +'xAOD::TrigElectronAuxContainer_v1', +'xAOD::JetContainer_v1', +'xAOD::JetTrigAuxContainer_v1', +'xAOD::JetTrigAuxContainer_v2', +'xAOD::TrigDecision_v1', +'xAOD::TrigDecisionAuxInfo_v1', +'xAOD::TrigConfKeys_v1', +'xAOD::TrigNavigation_v1', +'xAOD::TrigNavigationAuxInfo_v1', +'xAOD::BTaggingContainer_v1', +'xAOD::BTaggingAuxContainer_v1', +'xAOD::BTaggingTrigAuxContainer_v1', +'xAOD::BTagVertexContainer_v1', +'xAOD::BTagVertexAuxContainer_v1', +'xAOD::HIEventShapeAuxContainer_v2', +'xAOD::HIEventShapeContainer_v2', +'xAOD::TrigT2ZdcSignalsAuxContainer_v1', +'xAOD::TrigT2ZdcSignalsContainer_v1', +'xAOD::TrigPassBitsContainer_v1', +'xAOD::TrigPassBitsAuxContainer_v1', +'xAOD::CaloClusterTrigAuxContainer_v1', +'xAOD::ElectronTrigAuxContainer_v1', +'xAOD::PhotonTrigAuxContainer_v1', +'xAOD::TrigEMClusterAuxContainer_v2', +'xAOD::TrigRingerRingsAuxContainer_v2', +'xAOD::TrigRNNOutputAuxContainer_v2', +#'TrigMuonEFIsolation_p2', ] from collections import defaultdict diff --git a/Trigger/TrigEvent/TrigNavStructure/Root/TrigNavStructure.cxx b/Trigger/TrigEvent/TrigNavStructure/Root/TrigNavStructure.cxx index 39f63e655bdacd0fcfade3cee6283fef09dfe33b..ea4ff80dd4a0ddac136342dfd1880e6d8579f52b 100644 --- a/Trigger/TrigEvent/TrigNavStructure/Root/TrigNavStructure.cxx +++ b/Trigger/TrigEvent/TrigNavStructure/Root/TrigNavStructure.cxx @@ -254,7 +254,7 @@ bool TrigNavStructure::deserializeTEs(std::vector<uint32_t>::const_iterator& sta const size_t payloadSize = *inputIt++; if ( totalSize < payloadSize ) { // not all TEs were recorded - std::cerr << "size of the navigation payload smaller then reported size used to save TEs. " << totalSize << " < " << payloadSize << std::endl; + std::cerr << "size of the navigation payload smaller than the one required to save TEs. " << totalSize << " < " << payloadSize << std::endl; return false; } diff --git a/Trigger/TrigEvent/TrigNavStructure/TrigNavStructure/StandaloneNavigation.h b/Trigger/TrigEvent/TrigNavStructure/TrigNavStructure/StandaloneNavigation.h index 9b9d6a0ff8ef4953a0d3d92f6c828cdc22114dc1..ed0c20f013e94532a3f02dea3de2dd663242d039 100644 --- a/Trigger/TrigEvent/TrigNavStructure/TrigNavStructure/StandaloneNavigation.h +++ b/Trigger/TrigEvent/TrigNavStructure/TrigNavStructure/StandaloneNavigation.h @@ -17,8 +17,8 @@ namespace HLT{ virtual ~StandaloneNavigation(); /** - * @brief method serizlizes the helper objects allowing use of FeatureAccessHelpers w/o CLID - * This methods should be owerwritten by the derived classes + * @brief method serializes the helper objects allowing use of FeatureAccessHelpers w/o CLID + * This methods should be overwritten by the derived classes * * @param output vector to place the result * @@ -28,7 +28,7 @@ namespace HLT{ virtual bool deserializeHolders(std::vector<uint32_t>::const_iterator& start, const std::vector<uint32_t>::const_iterator& end); /** - * @brief method serizlizes entire navigation + * @brief method serializes entire navigation * * @param output vector to place the result * diff --git a/Trigger/TrigEvent/TrigNavStructure/share/ut_build_trignav_test.ref b/Trigger/TrigEvent/TrigNavStructure/share/ut_build_trignav_test.ref index ea6342c8ea7b95ec3dd61d7a1cca0e86d0ef41be..6f327edc7bb6bbd14d2e59dfc72fd9039a2868c6 100644 --- a/Trigger/TrigEvent/TrigNavStructure/share/ut_build_trignav_test.ref +++ b/Trigger/TrigEvent/TrigNavStructure/share/ut_build_trignav_test.ref @@ -19,6 +19,6 @@ INFO LINE:129 Test truncate DEBUG LINE:136 Test progressing DEBUG LINE:144 Test progressing DEBUG LINE:147 Test progressing -size of the navigation payload smaller then reported size used to save TEs. 17 < 18 +size of the navigation payload smaller than the one required to save TEs. 17 < 18 DEBUG LINE:152 Test progressing OK LINE:171 Test passed diff --git a/Trigger/TrigEvent/TrigRoiConversion/Root/RoiReader.cxx b/Trigger/TrigEvent/TrigRoiConversion/Root/RoiReader.cxx index c01394d21a3bfcfebe610bf24f5b780a39479b3d..cbac9ed3bc69a94c4115923d5e79750ba58c226f 100644 --- a/Trigger/TrigEvent/TrigRoiConversion/Root/RoiReader.cxx +++ b/Trigger/TrigEvent/TrigRoiConversion/Root/RoiReader.cxx @@ -1,10 +1,12 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file RoiReader.cxx // // // @author M.Sutton // -// Copyright (C) 2015 M.Sutton (sutt@cern.ch) // // $Id: RoiReader.cxx, v0.0 Wed 18 Nov 2015 12:22:35 CET sutt $ diff --git a/Trigger/TrigEvent/TrigRoiConversion/Root/RoiSerialise.cxx b/Trigger/TrigEvent/TrigRoiConversion/Root/RoiSerialise.cxx index 26badbb5f668f7e9099d7ef58cdd4945e5439c6c..b5bb07b330b7020a0c0ecd6b629bf5fd06a00d14 100644 --- a/Trigger/TrigEvent/TrigRoiConversion/Root/RoiSerialise.cxx +++ b/Trigger/TrigEvent/TrigRoiConversion/Root/RoiSerialise.cxx @@ -1,3 +1,6 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file RoiSerialise.cxx // @@ -6,7 +9,6 @@ // // @author M.Sutton // -// Copyright (C) 2015 M.Sutton (sutt@cern.ch) // // $Id: serialise.cxx, v0.0 Sat 31 Oct 2015 08:20:38 CET sutt $ diff --git a/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/IRoiReader.h b/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/IRoiReader.h index 2299e41266953fe68482438b74cdae73a917b3bc..8c6ea070d78060f5f2d91c8810ed3dcd9fbfc1c3 100644 --- a/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/IRoiReader.h +++ b/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/IRoiReader.h @@ -1,10 +1,12 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file IRoiReader.h // // // -// Copyright (C) 2016 M.Sutton (sutt@cern.ch) // // $Id: IRoiReader.h, v0.0 Sun 24 Jan 2016 16:40:31 CET sutt $ diff --git a/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiReader.h b/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiReader.h index 40a71bdca8d639badc1d4cd796c9f8e16e5001b6..436906e0b4b08ec9158e73aad6504e968c6d0dce 100644 --- a/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiReader.h +++ b/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiReader.h @@ -1,10 +1,12 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file RoiReader.h // // // -// Copyright (C) 2015 M.Sutton (sutt@cern.ch) // // $Id: RoiReader.h, v0.0 Sun 25th Jan 2016 12:20:40 CET sutt $ diff --git a/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiSerialise.h b/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiSerialise.h index ac0069ba2abf2712edbc1da30fa26783bf0dbe5d..ed7f3731cadf49d0d8edd5b04c59391caa9571fb 100644 --- a/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiSerialise.h +++ b/Trigger/TrigEvent/TrigRoiConversion/TrigRoiConversion/RoiSerialise.h @@ -1,4 +1,7 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file RoiSerialise.h // @@ -6,7 +9,6 @@ // std::vector<IRoiDescriptor*> TrigRoiDescriptorCollection etc // // -// Copyright (C) 2015 M.Sutton (sutt@cern.ch) // // $Id: serialise.h, v0.0 Sat 31 Oct 2015 08:21:54 CET sutt $ diff --git a/Trigger/TrigEvent/TrigRoiConversion/src/RoiWriter.cxx b/Trigger/TrigEvent/TrigRoiConversion/src/RoiWriter.cxx index 4508c23835c693a7a063cca6e2e2aed92b9736a8..2f11d9ced8d39b2e102548be679f47ce580047c0 100644 --- a/Trigger/TrigEvent/TrigRoiConversion/src/RoiWriter.cxx +++ b/Trigger/TrigEvent/TrigRoiConversion/src/RoiWriter.cxx @@ -1,13 +1,12 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file RoiWriter.cxx // // // @author M.Sutton // -// Copyright (C) 2015 M.Sutton (sutt@cern.ch) -// -// $Id: RoiWriter.cxx 781778 2016-11-01 23:42:26Z sutt $ - // EDM include(s): #include "xAODTrigger/RoiDescriptorStore.h" diff --git a/Trigger/TrigEvent/TrigSteeringEvent/Root/Enums.cxx b/Trigger/TrigEvent/TrigSteeringEvent/Root/Enums.cxx index d383c2f10ccc9f308da6ccbfbbe3476902054db4..c94eddc7af2f10d3b0ce3b9dd660f221d4b1fe00 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/Root/Enums.cxx +++ b/Trigger/TrigEvent/TrigSteeringEvent/Root/Enums.cxx @@ -64,6 +64,9 @@ namespace HLTEnums { "TIMEOUT", "BUSY", "BAD_JOB_SETUP", + "MISSING_CALO_ROI", + "MISSING_MUON_ROI", + "MISSING_OTHER_ROI", "LAST_"}; } diff --git a/Trigger/TrigEvent/TrigSteeringEvent/Root/TrigRoiDescriptor.cxx b/Trigger/TrigEvent/TrigSteeringEvent/Root/TrigRoiDescriptor.cxx index 826fc4f8bf5c0313dff1bbaadef74a404cbe69ba..d48cd8df7ac06400926eae18254b62f34c918435 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/Root/TrigRoiDescriptor.cxx +++ b/Trigger/TrigEvent/TrigSteeringEvent/Root/TrigRoiDescriptor.cxx @@ -1,4 +1,7 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigRoiDescriptor.h // @@ -7,7 +10,6 @@ // everything from DetectorDescription/RoiDescriptor // // @author sutt@cern.ch -// Copyright (C) 2013 M.Sutton (sutt@cern.ch) // // $Id: RoiDescriptor.h, v0.0 Fri 08 Jun 2013 23:52:09 CEST sutt $ diff --git a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/Enums.h b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/Enums.h index 5fde356159d2d2042e58b45c82cb28a595b29559..3b9f1fbdb20aa36da508328946b8225db184edc3 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/Enums.h +++ b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/Enums.h @@ -60,6 +60,9 @@ namespace HLT { TIMEOUT, //!< timeout forced by the steering BUSY, //!< to flag that the event was busy BAD_JOB_SETUP, //!< job is badly configured + MISSING_CALO_ROI, //!< one ore more missing CALO RoIs + MISSING_MUON_ROI, //!< one ore more missing MUON RoIs + MISSING_OTHER_ROI,//!< one ore more missing RoI except CALO/MUON (e.g. MBTS, NIM, ...) LAST_, //!< there is basically no restriction on size since these errors are not saved per chain so do not need to be serialized in 6 bits. UNSPECIFIED_ = -1 //!< do not use } Code; diff --git a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/PhiHelper.h b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/PhiHelper.h index 56fdd4b992a0101b10082577a79787e41ccea2f1..5f0368c4b45c7433885d58f8126ea50a0d02a1d1 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/PhiHelper.h +++ b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/PhiHelper.h @@ -1,8 +1,10 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file phiHelper.h // -// Copyright (C) 2010 M.Sutton (sutt@cern.ch) // // $Id: phiHelper.h, v0.0 Sun 20 Jun 2010 20:21:49 BST sutt $ diff --git a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigRoiDescriptor.h b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigRoiDescriptor.h index 819e609695f930efa15dd9d367ff77dfad405ed6..b0ac1fc3dc3aa5c9daa8b1e2a7cee65a95b6417f 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigRoiDescriptor.h +++ b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigRoiDescriptor.h @@ -1,4 +1,7 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigRoiDescriptor.h // @@ -6,7 +9,6 @@ // for enforcement of correct roi sizes // // @author sutt@cern.ch -// Copyright (C) 2013 M.Sutton (sutt@cern.ch) // // $Id: TrigRoiDescriptor.h, v0.1 Fri 08 Jun 2013 23:52:09 CEST sutt $ diff --git a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigSuperRoi.h b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigSuperRoi.h index 8337e3774a818dfd253b9f2034ada7baf7ad72d2..f483439323323b68ce09dd0c679c60f2d768829d 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigSuperRoi.h +++ b/Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigSuperRoi.h @@ -1,11 +1,13 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigSuperRoi.h // Container to contain multiple RoIs so that the // RegionSelector can know whether to return a single list // for multiple RoIs etc // -// Copyright (C) 2013 M.Sutton (sutt@cern.ch) // // $Id: cTrigSuperRoi.h, v0.0 Thu 5 Dec 2013 16:07:30 CET sutt $ diff --git a/Trigger/TrigEvent/TrigSteeringEvent/src/HltResultMT.cxx b/Trigger/TrigEvent/TrigSteeringEvent/src/HLTResultMT.cxx similarity index 80% rename from Trigger/TrigEvent/TrigSteeringEvent/src/HltResultMT.cxx rename to Trigger/TrigEvent/TrigSteeringEvent/src/HLTResultMT.cxx index cb2d5ea418f0d79ce99d43d89a16a7c0b33f4986..424ed83f209cc164ce022f44ee1069d3ee72395e 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/src/HltResultMT.cxx +++ b/Trigger/TrigEvent/TrigSteeringEvent/src/HLTResultMT.cxx @@ -3,14 +3,15 @@ */ #include "TrigSteeringEvent/HLTResultMT.h" +#include <algorithm> // ============================================================================= // Standard constructor // ============================================================================= HLT::HLTResultMT::HLTResultMT(std::vector<eformat::helper::StreamTag> streamTags, - std::vector<uint32_t> hltBits, - std::unordered_map<uint16_t, std::vector<uint32_t> > data, - std::vector<uint32_t> status) + std::vector<uint32_t> hltBits, + std::unordered_map<uint16_t, std::vector<uint32_t> > data, + std::vector<uint32_t> status) : m_streamTags(streamTags), m_hltBits(hltBits), m_data(data), @@ -45,7 +46,24 @@ void HLT::HLTResultMT::setStreamTags(const std::vector<eformat::helper::StreamTa // ----------------------------------------------------------------------------- void HLT::HLTResultMT::addStreamTag(const eformat::helper::StreamTag& streamTag) { - m_streamTags.push_back(streamTag); + // Check if a stream tag with the same type and name is already in the result + auto compareTypeName = [&streamTag](const eformat::helper::StreamTag& existingStreamTag) { + return streamTag.type == existingStreamTag.type && streamTag.name == existingStreamTag.name; + }; + auto p = std::find_if(m_streamTags.begin(), m_streamTags.end(), compareTypeName); + + // In case of duplicate, merge ROBs and SubDets, otherwise just append the tag to the result + if (p != m_streamTags.end()) { + if (streamTag.obeys_lumiblock != p->obeys_lumiblock) { + // This shouldn't happen, but in case it does, true takes precedence + p->obeys_lumiblock = true; + } + p->robs.insert(streamTag.robs.begin(), streamTag.robs.end()); + p->dets.insert(streamTag.dets.begin(), streamTag.dets.end()); + } + else { + m_streamTags.push_back(streamTag); + } } // ============================================================================= diff --git a/Trigger/TrigEvent/TrigSteeringEvent/src/TrigSuperRoi.cxx b/Trigger/TrigEvent/TrigSteeringEvent/src/TrigSuperRoi.cxx index 52f6536e84a6b204a5fa73f2f4a044a7aa57ac41..6d6f4518dda177eac320cd4704f4d806d610952c 100644 --- a/Trigger/TrigEvent/TrigSteeringEvent/src/TrigSuperRoi.cxx +++ b/Trigger/TrigEvent/TrigSteeringEvent/src/TrigSuperRoi.cxx @@ -1,10 +1,12 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigSuperRoi.cxx // // // @author M.Sutton // -// Copyright (C) 2013 M.Sutton (sutt@cern.ch) // // $Id: TrigSuperRoi.cxx, v0.0 Thu 5 Dec 2013 16:13:43 CET sutt $ diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/CMakeLists.txt b/Trigger/TrigHypothesis/TrigBjetHypo/CMakeLists.txt index 6829973527698a4d7e2f5508d1843b95ff6b7525..b51c4d80f97af520adc92ac67624f696f0035486 100644 --- a/Trigger/TrigHypothesis/TrigBjetHypo/CMakeLists.txt +++ b/Trigger/TrigHypothesis/TrigBjetHypo/CMakeLists.txt @@ -48,7 +48,7 @@ atlas_add_component( TrigBjetHypo src/*.cxx src/components/*.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps xAODBase xAODTracking GaudiKernel Particle VxSecVertex TrigInDetEvent TrigInterfacesLib AthContainers GeoPrimitives EventInfo EventPrimitives FourMomUtils xAODBTagging xAODCore xAODJet xAODMuon BTaggingLib JetEvent VxVertex TrigCaloEvent TrigMuonEvent TrigNavigationLib TrigParticle TrigSteeringEvent DecisionHandlingLib) + LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps xAODBase xAODTracking GaudiKernel Particle VxSecVertex TrigInDetEvent TrigInterfacesLib AthContainers GeoPrimitives EventInfo EventPrimitives FourMomUtils xAODBTagging xAODCore xAODJet xAODMuon BTaggingLib JetEvent VxVertex TrigCaloEvent TrigMuonEvent TrigNavigationLib TrigParticle TrigSteeringEvent DecisionHandlingLib ) # Install files from the package: atlas_install_headers( TrigBjetHypo ) diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypo.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypo.h index 1110b4067e02e58c00326db8df2620c2648550ff..418d17a88c782e1dd698169e3d16d4db96298ac6 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypo.h +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypo.h @@ -25,6 +25,7 @@ class TriggerElement; /** * @brief Hypo class for HLT b-jet selection. * + * @author John Alison <johnda@uchicago.edu> * @author Andrea Coccaro <Andrea.Coccaro@ge.infn.it> * * This is the base hypothesis class for the b-jet selection. @@ -78,6 +79,8 @@ class TrigBjetHypo : public HLT::HypoAlgo { float m_xcutCHI2; /** @brief DeclareProperty: lower bound of the discriminant variable to be selected (if flag acceptAll is set to false) for MV2 tagger. */ float m_xcutMV2c20; + float m_xcutMV2c10; + float m_xcutMV2c10_hybrid; /** @brief DeclareProperty: string corresponding to the trigger level in which the algorithm is running. */ std::string m_instance; @@ -85,6 +88,10 @@ class TrigBjetHypo : public HLT::HypoAlgo { /** @brief to check the beam spot flag status. */ bool m_useBeamSpotFlag; + /** @brief Overide the requirement that the BS is valid. */ + /** @brief Used to not apply the correction to the GSC chains */ + bool m_overRideBeamSpotValid; + /** @brief DeclareProperty: to monitor method used to perform the cut. */ float m_monitorMethod; diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypoAllTE.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypoAllTE.h new file mode 100644 index 0000000000000000000000000000000000000000..bb14da1dc6530250d7125f07e2ac897830458ff2 --- /dev/null +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBjetHypoAllTE.h @@ -0,0 +1,139 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +// ************************************************ +// +// NAME: TrigBjetHypoAllTE.h +// PACKAGE: Trigger/TrigHypothesis/TrigBjetHypo +// +// AUTHORS: John Alison johnda@uchicago.edu +// +// ************************************************ + +#ifndef TRIGBJETHYPOALLTE_H +#define TRIGBJETHYPOALLTE_H + +#include "TrigInterfaces/AllTEAlgo.h" + +class TriggerElement; + +class TrigBjetHypoAllTE: public HLT::AllTEAlgo { + + public: + + TrigBjetHypoAllTE(const std::string& name, ISvcLocator* pSvcLocator); + ~TrigBjetHypoAllTE(); + + HLT::ErrorCode hltInitialize(); + HLT::ErrorCode hltFinalize(); + HLT::ErrorCode hltExecute(std::vector<std::vector<HLT::TriggerElement*> >&,unsigned int); + HLT::ErrorCode hltEndEvent(); + + private: + + const xAOD::BTagging* getBTaggingPtr(HLT::TriggerElement* btagTE); + const xAOD::Jet* getJetPtr(const xAOD::BTagging* btagInfo); + bool eventPassesTrigger(); + void clearCounters(); + + private: + + /** @brief vectors with Et thresholds, btagging cut, and multiplicity requirement */ + /** @brief These are all required to be the same length and a given index is used */ + /** @brief to configure a "triggerRequirement" that is ANDed with the others */ + std::vector<double> m_EtThresholds; + std::vector<double> m_BTagMin; + std::vector<double> m_BTagMax; + std::vector<int> m_Multiplicities; + + /** @brief vectors of vectors with Et thresholds, btagging cut, and multiplicity requirement */ + /** @brief These are all required to be the same length. */ + /** @brief A given index is used to configure a list of "triggerRequirement"s */ + /** @brief The requirements within the list are ANDed, and the lists are ORed */ + std::vector<std::vector<double> > m_EtThresholdsOR; + std::vector<std::vector<double> > m_BTagMinOR; + std::vector<std::vector<double> > m_BTagMaxOR; + std::vector<std::vector<double> > m_MultiplicitiesOR; + + /** @brief string corresponding to the trigger level in which the algorithm is running. */ + // std::string m_instance; + + /** @brief Name of the input btagging objects. */ + std::string m_btaggingKey; + + /** @brief Name of the btagging variable. */ + std::string m_tagger; + + /** @brief to check the beam spot flag status. */ + bool m_useBeamSpotFlag; + + /** @brief Overide the requirement that the BS is valid. */ + /** @brief Used to not apply the correction to the GSC chains */ + bool m_overRideBeamSpotValid; + + /** @brief Used for monitoring. */ + /** @ brief -1 - invalid value */ + /** @ brief 0 - Fail Event Cut */ + /** @ brief 1 - Accept Event */ + /** @ brief 2 - Fail BS */ + /** @ brief 3 - Too few input TEs */ + /** @ brief 4 - Too many input TEs */ + /** @ brief 5 - No input bjets */ + /** @ brief 6 - Failed to get btagging pointer */ + /** @ brief 7 - Failed to get jet pointer */ + float m_cutCode = -1; + + + /** @ brief Beamspot Code */ + /** @ brief -1 - invalid value */ + /** @ brief 0 - had valid BS */ + /** @ brief 1 - no valid BS (reject event) */ + /** @ brief 2 - no valid BS (do not reject event) */ + /** @ brief 3 - cannot read BS information */ + /** @ brief 4 - do not use BS information */ + float m_BSCode = -1; + + /** @ brief Number of input jets */ + float m_nInputJets = -1; + + /** @ brief Basic unit of trigger requirment */ + /** @ brief Contains Et threhold / min & max btagging values and multiplicity requirement */ + struct triggerRequirement{ + float m_EtThreshold; + float m_btagMin; + float m_btagMax; + unsigned int m_multiplicity; + + unsigned int m_count; + triggerRequirement(float EtThreshold, float btagMin, float btagMax, unsigned int multiplicity) : + m_EtThreshold(EtThreshold), + m_btagMin(btagMin), + m_btagMax(btagMax), + m_multiplicity(multiplicity), + m_count(0) + { } + + bool pass(){ + return bool(m_count >= m_multiplicity); + } + + void countJet(float btagEt, float btagWeight){ + if((btagEt > m_EtThreshold) && (btagWeight > m_btagMin) && (btagWeight < m_btagMax)) + ++m_count; + } + + }; + + /** @ brief the triggerRequirement in this list are added */ + std::vector<triggerRequirement> m_triggerReqsAND; + + /** @ brief The inner list of trigger requirements are ANDed */ + /** @ brief And the result of each of these is ORed */ + std::vector<std::vector<triggerRequirement> > m_triggerReqsOR; + +}; + +#endif + + diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h index ccf92cd0029776621721e3649284d3a1ce035712..6aba2464bf6534c4fef191b3b3cfff81fe940bd9 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h @@ -180,18 +180,47 @@ class TrigBtagFex: public HLT::FexAlgo { /** @brief Run-2 monitored variables. */ - float m_mon_sv_mass; - float m_mon_sv_evtx; - int m_mon_sv_nvtx; - + //SV1 variables + float m_mon_sv_mass; + float m_mon_sv_evtx; + int m_mon_sv_nvtx; + //2017 variables - Nghia + int m_mon_sv_ntkv; + float m_mon_sv_Lxy; + float m_mon_sv_L3d; + float m_mon_sv_sig3; + float m_mon_sv_dR; + + //IP2/IP3 variables float m_mon_tag_IP2D; float m_mon_tag_IP3D; float m_mon_tag_SV1; float m_mon_tag_IP3DSV1; float m_mon_tag_MV2c00; float m_mon_tag_MV2c10; + float m_mon_tag_MV2c10_hybrid; float m_mon_tag_MV2c20; - + //2017 variables + float m_mon_tag_IP2_c; + float m_mon_tag_IP2_cu; + float m_mon_tag_IP3_c; + float m_mon_tag_IP3_cu; + + //JetFitter variables + int m_mon_jf_n2tv; + int m_mon_jf_ntrkv; + int m_mon_jf_nvtx; + int m_mon_jf_nvtx1t; + float m_mon_jf_mass; + float m_mon_jf_efrc; + float m_mon_jf_dR; + float m_mon_jf_sig3; + + //jet variables + float m_mon_jet_pt; + float m_mon_jet_eta; + int m_mon_sv_bool; + int m_mon_jf_bool; // /** @brief to monitor track selection. */ // std::vector<float> m_listCutApplied; diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigGSCFex.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigGSCFex.h index e48bc5af437397d81aa8fa5423adb4c855371524..32cefa5c48cd460b1b04545d2d00c37a01916aa1 100644 --- a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigGSCFex.h +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigGSCFex.h @@ -94,8 +94,11 @@ class TrigGSCFex: public HLT::FexAlgo { // /** @brief Run-2 monitored variables. */ - - //float m_mon_sv_mass; + int m_mon_gsc_ntrk; + float m_mon_gsc_width; + float m_mon_gsc_ptsum; + float m_mon_gsc_ptdiff; + float m_mon_gsc_ptratio; std::string m_trackKey; std::string m_jetKey; diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigJetSplitterAllTE.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigJetSplitterAllTE.h index afac5ba8f5a39265a66d5cd5e6100acc4c987e98..65ad0c897aeb5271d235c85e1a106a51ad36c462 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigJetSplitterAllTE.h +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigJetSplitterAllTE.h @@ -1,10 +1,12 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigJetSplitterAllTE.h // // // -// Copyright (C) 2014 M.Sutton (sutt@cern.ch) // // $Id: TrigJetSplitterAllTE.h, v0.0 Tue 17 Jun 2014 03:26:44 CEST sutt $ diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigSuperRoiBuilderAllTE.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigSuperRoiBuilderAllTE.h index d2644265b15ffc3ada77be835d20d31966d8554e..433a9f00610990054f8c904e0f14542dc2501023 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigSuperRoiBuilderAllTE.h +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigSuperRoiBuilderAllTE.h @@ -1,10 +1,12 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigSuperRoiBuilderAllTE.h // // // -// Copyright (C) 2014 M.Sutton (sutt@cern.ch) // // $Id: TrigSuperRoiBuilderAllTE.h 797477 2017-02-16 09:56:10Z kleney $ diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetFexConfig.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetFexConfig.py index 144c4b0d24374f61884b8b5b59e33edc3d8b3859..feea1ad59ab4b19fc15f5925f356fc5c19b801cf 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetFexConfig.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetFexConfig.py @@ -186,7 +186,6 @@ class BjetFexSplit (TrigBjetFex): def __init__(self, instance, version, algo, name): super( BjetFexSplit, self ).__init__( name ) - mlog = logging.getLogger('BjetHypoConfig.py') AllowedInstances = ["EF", "MuJetChain"] diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoConfig.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoConfig.py index 3210b0d335888873d9f3dbdbfd7d02e7ab2d2211..8f82dfa5e4144ef40bc2f5e8251b929f74a972cc 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoConfig.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoConfig.py @@ -1,6 +1,7 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration from TrigBjetHypo.TrigBjetHypoConf import TrigBjetHypo +from TrigBjetHypo.TrigBjetHypoConf import TrigBjetHypoAllTE from AthenaCommon.Logging import logging from AthenaCommon.SystemOfUnits import GeV @@ -8,6 +9,9 @@ from AthenaCommon.SystemOfUnits import GeV def getBjetHypoInstance( instance, version, cut ): return BjetHypo( instance=instance, cut=cut, version=version, name=instance+"BjetHypo"+"_"+cut+"_"+version ) +def getBjetHypoAllTEInstance( instance, version, name, btagReqs ): + return BjetHypoAllTE( instance=instance, version=version, btagReqs=btagReqs, name=instance+"BjetHypoAllTE"+"_"+name.replace(".","_")) + def getBjetHypoNoCutInstance( instance): return BjetHypoNoCut( instance=instance, name=instance+"BjetHypoNoCut" ) @@ -26,8 +30,12 @@ class BjetHypo (TrigBjetHypo): mlog = logging.getLogger('BjetHypoConfig.py') - AllowedCuts = ["loose","medium","tight","offloose","offmedium","offtight","mv2c2040","mv2c2050","mv2c2060","mv2c2070","mv2c2077","mv2c2085" ] - AllowedVersions = ["2012", "2015", "MuJetChain_2012", "MuJetChain_2015"] + AllowedCuts = ["loose","medium","tight","offloose","offmedium","offtight", + "mv2c2040","mv2c2050","mv2c2060","mv2c2070","mv2c2077","mv2c2085", + "mv2c1040","mv2c1050","mv2c1060","mv2c1070","mv2c1077","mv2c1085", + "hmv2c1040","hmv2c1050","hmv2c1060","hmv2c1070","hmv2c1077","hmv2c1085" ] + + AllowedVersions = ["2012", "2015", "2017", "2018", "MuJetChain_2012", "MuJetChain_2015"] AllowedInstances = ["EF", "MuJetChain"] if instance not in AllowedInstances : @@ -43,8 +51,8 @@ class BjetHypo (TrigBjetHypo): return None if instance=="EF" : - self.AcceptAll = False - self.Instance = "EF" + self.AcceptAll = False + self.Instance = "EF" self.UseBeamSpotFlag = False self.JetKey = "" @@ -59,7 +67,7 @@ class BjetHypo (TrigBjetHypo): time.TimerHistLimits = [0,0.4] self.AthenaMonTools = [ time, validation, online ] - + if instance=="EF" : if version=="2012" : self.MethodTag = "COMB" @@ -69,6 +77,7 @@ class BjetHypo (TrigBjetHypo): self.CutXCOMB = 1.25 elif cut=="tight": self.CutXCOMB = 2.65 + if version=="2015" : self.MethodTag = "MV2c20" # These are the offline working points @@ -91,6 +100,52 @@ class BjetHypo (TrigBjetHypo): # Actually 87% efficient self.CutMV2c20 = -0.938441 + if version=="2017" : + self.MethodTag = "MV2c10" + # These are the offline working points + if cut=="mv2c1040": + # Actually ~45% efficient + self.CutMV2c10 = 0.978 + elif cut=="mv2c1050": + # Actually ~55% efficient + self.CutMV2c10 = 0.948 + elif cut=="mv2c1060": + # Actually ~65% efficient + self.CutMV2c10 = 0.846 + elif cut=="mv2c1070": + # Actually ~75% efficient + self.CutMV2c10 = 0.580 + elif cut=="mv2c1077": + # Actually ~80% efficient + self.CutMV2c10 = 0.162 + elif cut=="mv2c1085": + # Actually ~90% efficient + self.CutMV2c10 = -0.494 + + if version=="2018" : +# self.MethodTag = "MV2c10_hybrid" # Temporary use mv2c00 for hybrid tuning + self.MethodTag = "MV2c00" + # These are the offline working points + if cut=="hmv2c1040": + # Actually ~45% efficient + self.CutMV2c10_hybrid = 0.973 + elif cut=="hmv2c1050": + # Actually ~55% efficient + self.CutMV2c10_hybrid = 0.939 + elif cut=="hmv2c1060": + # Actually ~65% efficient + self.CutMV2c10_hybrid = 0.835 + elif cut=="hmv2c1070": + # Actually ~75% efficient + self.CutMV2c10_hybrid = 0.588 + elif cut=="hmv2c1077": + # Actually ~80% efficient + self.CutMV2c10_hybrid = 0.192 + elif cut=="hmv2c1085": + # Actually ~90% efficient + self.CutMV2c10_hybrid = -0.402 + + class BjetHypoNoCut (TrigBjetHypo): __slots__ = [] @@ -107,9 +162,10 @@ class BjetHypoNoCut (TrigBjetHypo): if instance in AllowedInstances : if instance=="EF" : - self.AcceptAll = True - self.Instance = "EF" - self.UseBeamSpotFlag = False + self.AcceptAll = True + self.Instance = "EF" + self.UseBeamSpotFlag = False + self.OverrideBeamSpotValid = True from TrigBjetHypo.TrigBjetHypoMonitoring import TrigEFBjetHypoValidationMonitoring, TrigEFBjetHypoOnlineMonitoring validation = TrigEFBjetHypoValidationMonitoring() online = TrigEFBjetHypoOnlineMonitoring() @@ -136,8 +192,11 @@ class BjetHypoSplit (TrigBjetHypo): mlog = logging.getLogger('BjetHypoConfig.py') - AllowedCuts = ["loose","medium","tight","offloose","offmedium","offtight","mv2c2040","mv2c2050","mv2c2060","mv2c2070","mv2c2077","mv2c2085"] - AllowedVersions = ["2012","2015"] + AllowedCuts = ["loose","medium","tight","offloose","offmedium","offtight", + "mv2c2040","mv2c2050","mv2c2060","mv2c2070","mv2c2077","mv2c2085", + "mv2c1040","mv2c1050","mv2c1060","mv2c1070","mv2c1077","mv2c1085", + "hmv2c1040","hmv2c1050","hmv2c1060","hmv2c1070","hmv2c1077","hmv2c1085" ] + AllowedVersions = ["2012","2015","2017","2018"] AllowedInstances = ["EF", "MuJetChain"] if instance not in AllowedInstances : @@ -158,8 +217,8 @@ class BjetHypoSplit (TrigBjetHypo): instance = "EF" if instance=="EF" : - self.AcceptAll = False - self.Instance = "EF" + self.AcceptAll = False + self.Instance = "EF" self.UseBeamSpotFlag = False if instance=="EF" : @@ -182,6 +241,7 @@ class BjetHypoSplit (TrigBjetHypo): self.CutXCOMB = 1.25 elif cut=="tight": self.CutXCOMB = 2.65 + if version=="2015" : self.MethodTag = "MV2c20" # These are the offline working points @@ -204,6 +264,53 @@ class BjetHypoSplit (TrigBjetHypo): # Actually 87% efficient self.CutMV2c20 = -0.938441 + if version=="2017" : + self.MethodTag = "MV2c10" + # These are the offline working points + if cut=="mv2c1040": + # Actually ~45% efficient + self.CutMV2c10 = 0.978 + elif cut=="mv2c1050": + # Actually ~55% efficient + self.CutMV2c10 = 0.948 + elif cut=="mv2c1060": + # Actually ~65% efficient + self.CutMV2c10 = 0.846 + elif cut=="mv2c1070": + # Actually ~75% efficient + self.CutMV2c10 = 0.580 + elif cut=="mv2c1077": + # Actually ~80% efficient + self.CutMV2c10 = 0.162 + elif cut=="mv2c1085": + # Actually ~90% efficient + self.CutMV2c10 = -0.494 + + if version=="2018" : +# self.MethodTag = "MV2c10_hybrid" # Temporary use mv2c00 for hybrid tuning + self.MethodTag = "MV2c00" + # These are the hybrid working points + if cut=="hmv2c1040": + # Actually ~45% efficient + self.CutMV2c10_hybrid = 0.973 + elif cut=="hmv2c1050": + # Actually ~55% efficient + self.CutMV2c10_hybrid = 0.939 + elif cut=="hmv2c1060": + # Actually ~65% efficient + self.CutMV2c10_hybrid = 0.835 + elif cut=="hmv2c1070": + # Actually ~75% efficient + self.CutMV2c10_hybrid = 0.588 + elif cut=="hmv2c1077": + # Actually ~80% efficient + self.CutMV2c10_hybrid = 0.192 + elif cut=="hmv2c1085": + # Actually ~90% efficient + self.CutMV2c10_hybrid = -0.402 + + + class BjetHypoSplitNoCut (TrigBjetHypo): __slots__ = [] @@ -224,9 +331,10 @@ class BjetHypoSplitNoCut (TrigBjetHypo): instance = "EF" if instance=="EF" : - self.AcceptAll = True - self.Instance = "EF" - self.UseBeamSpotFlag = False + self.AcceptAll = True + self.Instance = "EF" + self.UseBeamSpotFlag = False + self.OverrideBeamSpotValid = True from TrigBjetHypo.TrigBjetHypoMonitoring import TrigEFBjetHypoValidationMonitoring, TrigEFBjetHypoOnlineMonitoring validation = TrigEFBjetHypoValidationMonitoring() online = TrigEFBjetHypoOnlineMonitoring() @@ -244,3 +352,310 @@ class BjetHypoSplitNoCut (TrigBjetHypo): +# +# All TE +# +class BjetHypoAllTE (TrigBjetHypoAllTE): + __slots__ = [] + + def __init__(self, instance, version, btagReqs, name): + super( BjetHypoAllTE, self ).__init__( name ) + + mlog = logging.getLogger('BjetHypoAllTEConfig.py') + #mlog.setLevel(0) + AllowedVersions = ["2017"] + AllowedInstances = ["EF" ] + + if instance not in AllowedInstances : + mlog.error("Instance "+instance+" is not supported!") + return None + + if version not in AllowedVersions : + mlog.error("Version "+version+" is not supported!") + return None + + + mlog.debug("btagReqs were") + mlog.debug(btagReqs) + + # + # Main idea here is that the btagReqs contains a list of the different btagging requiremnts + # eg: 2b55_2j55 would contain a list of two requirements (55,b,2) and (55,j,2) + # The following python code: + # - updates the requirements to properly handle overlap + # - formats these requirements as expected by c++ + # - checks if the beamspot is needed + # The c++ code then recieves a list of requirements to be "AND"ed + # and a list of requrirements to be "OR"ed + # to handle chains like 2b55_j100 the "OR" requirments need sub-requirements that are "AND"ed + + # + # Format cut values + # + for req in btagReqs: + + # Et in MeV + req[0] = float(req[0])*1000 + + # req[1] has to be one of possiblities in AllowedCuts below + req[1] = req[1].replace("bmv","mv").replace("boff","") + + # Mulitplicity Requirement + req[2] = int(req[2]) + + mlog.debug( "btagReqs are") + mlog.debug( btagReqs) + + # + # These have to be ordered from tighest to loosest + # + if version == "2017": + self.Tagger = "MV2c10_discriminant" + # All possible cuts + AllowedCuts = ["mv2c1040","mv2c1050","mv2c1060","mv2c1070","mv2c1077","mv2c1085","perf"] + # Subset of cuts requireing a BS to be valid + CutsRequiringBS = ["mv2c1040","mv2c1050","mv2c1060","mv2c1070","mv2c1077","mv2c1085" ] + + # + # Check that the b-tagging operating points are supported + # + for req in btagReqs: + if req[1] not in AllowedCuts : + mlog.error("Cut "+req[1]+" is not supported!") + return None + + # + # Set the b-tag key + # + self.BTaggingKey = "HLTBjetFex" + + # + # Use the BS for EF + # + if instance=="EF" : + self.UseBeamSpotFlag = False + + # + # Override beamspot valid if not btagging + # + self.OverrideBeamSpotValid = True + for req in btagReqs: + if req[1] in CutsRequiringBS: + self.OverrideBeamSpotValid = False + + # + # Get a list of differnt operation points in this chain + # (CutsInThisChain is a unique list of indices for of AllowedCuts) + CutsInThisChain = [] + for req in btagReqs: + if req[1] not in CutsInThisChain: + CutsInThisChain.append(AllowedCuts.index(req[1])) + CutsInThisChain.sort() + + # + # Make a list of jet multiplicities requirements + # fullTrigReqAND is the AND of them + # eg: 2b35_2j25 is the AND of 2b35 and 4j35) + fullTrigReqAND = {} + for jetReq in btagReqs: + + thisPt = jetReq[0] + thisBTag = AllowedCuts.index(jetReq[1]) + thisMult = jetReq[2] + + # Upper cut on btagging + # (Used below for cases when the btagging is on lower pt jets, set it to 99 now) + # eg: j100_2b55 + thisMaxBTag = 99 + + # + # Add/Increment this combination of pt and btag. + # + if (thisPt,thisBTag,thisMaxBTag) not in fullTrigReqAND: + fullTrigReqAND[(thisPt,thisBTag,thisMaxBTag)] = thisMult + else: + fullTrigReqAND[(thisPt,thisBTag,thisMaxBTag)] += thisMult + + # + # For each btagging point requested add to the multiplicity of the looser btag requirments + # This is effectively dealing with the overlap + # eg: for 2b_2j, the multiplicity of the 2b reqirement is added the "j" multiplcity + # + for point in CutsInThisChain: + if point > thisBTag: + if (thisPt,point,thisMaxBTag) not in fullTrigReqAND: + fullTrigReqAND[(thisPt,point,thisMaxBTag)] = thisMult + else: + fullTrigReqAND[(thisPt,point,thisMaxBTag)] += thisMult + + # + # Update the pt thresholds + # (for tagging requirements with the same operating point but differnet pTs, + # add the larger pt multiplcity to the smaller Pt to deal with overlap) + # eg: b150_b50 gives two requirements 150b and 2b50 + for jetDef in fullTrigReqAND: + for otherJetDefs in fullTrigReqAND: + if jetDef == otherJetDefs: continue + if jetDef[0] > otherJetDefs[0] and jetDef[1] == otherJetDefs[1] : + fullTrigReqAND[otherJetDefs] += fullTrigReqAND[jetDef] + + + mlog.debug( "full btagReqsAND are") + mlog.debug( fullTrigReqAND) + + # + # Format lists in a way that can be passed to the c++ + # + EtThresholds = [] + BTagMin = [] + BTagMax = [] + Multiplicities = [] + for reqAND in fullTrigReqAND: + EtThresholds .append(float(reqAND[0])) + BTagMin .append(float(self.getCutValue(AllowedCuts[reqAND[1]]))) + BTagMax .append(float(reqAND[2])) + Multiplicities.append(int (fullTrigReqAND[reqAND])) + + mlog.debug("EtThresholds:") + mlog.debug(EtThresholds) + self.EtThresholds = EtThresholds + + mlog.debug("BTagMin:") + mlog.debug(BTagMin) + self.BTagMin = BTagMin + + mlog.debug("BTagMax:") + mlog.debug(BTagMax) + self.BTagMax = BTagMax + + mlog.debug("Multiplicities:") + mlog.debug(Multiplicities) + self.Multiplicities = Multiplicities + + # + # Handle the cases where have a higher pt looser leg + # Here we need to make requirements that get OR + # eg: j100_2b55 passes only if: + # - (j100 & 3b55) || (j100 & 2b55 & !b100) + # + # NOTE: At the moment the following logic only hold for one highpt/looser requiremnt + # It will need to be extending to handle more than 2 operating points if needed. + # (eg: j100_2btight55 work fine, but j100_bloose55_btight35 would not) + # + fullTrigReqOR = [] + + # Loop on unique pairs + for jetDef in fullTrigReqAND: + for otherJetDefs in fullTrigReqAND: + if jetDef == otherJetDefs: continue + + # check if pt is harder + jetDef_ptBigger = jetDef[0] > otherJetDefs[0] + mlog.debug("jetDef_ptBigger: "+str(jetDef_ptBigger)+" ( "+str(jetDef[0])+" > "+str(otherJetDefs[0])+" )") + + # check if btagging is looser (higher AllowedCuts index means looser btagging) + jetDef_btagLooser = jetDef[1] > otherJetDefs[1] + mlog.debug("jetDef_btagLooser: "+str(jetDef_btagLooser)+" ( "+str(jetDef[1])+" > "+str(otherJetDefs[1])+" )") + + # if both harder and looser, add two cases to be ORed as example above + if jetDef_ptBigger and jetDef_btagLooser : + + # 1st) both requirements pass the tighter btagging + # eg: j100 & 3b55 (in our example above) + fullTrigReqOR.append({otherJetDefs: (fullTrigReqAND[otherJetDefs] + fullTrigReqAND[jetDef])}) + + # 2nd) this requriemnts has two sub requirements + # - the tighter btagging requirement passes with its multiplicity + # eg: 2b55 + # - the looser btagging requirement passes with its multiplicity, and an upper cut on btagging + # eg: j100 & !b100 + # (upper cut is given by the 3rd index in the requirement + fullTrigReqOR.append({ otherJetDefs : fullTrigReqAND[otherJetDefs], + (jetDef[0],jetDef[1],otherJetDefs[1]) : fullTrigReqAND[jetDef]}) + + + # + # Format lists of ORs in a way that can be passed to the c++ + # + mlog.debug( "full btagReqsOR are") + mlog.debug( fullTrigReqOR) + + EtThresholdsOR = [] + BTagMinOR = [] + BTagMaxOR = [] + MultiplicitiesOR = [] + + + for jetReqAndComo in fullTrigReqOR: + thisEtThresholdsOR = [] + thisBTagMinOR = [] + thisBTagMaxOR = [] + thisMultiplicitiesOR = [] + + for jetReq in jetReqAndComo: + thisEtThresholdsOR .append(jetReq[0]) + thisBTagMinOR .append(self.getCutValue(AllowedCuts[jetReq[1]])) + if jetReq[2] < len(AllowedCuts): + thisBTagMaxOR .append(self.getCutValue(AllowedCuts[jetReq[2]])) + else: + thisBTagMaxOR .append(jetReq[2]) + thisMultiplicitiesOR .append(jetReqAndComo[jetReq]) + + EtThresholdsOR .append(thisEtThresholdsOR) + BTagMinOR .append(thisBTagMinOR) + BTagMaxOR .append(thisBTagMaxOR) + MultiplicitiesOR .append(thisMultiplicitiesOR) + + + mlog.debug("EtThresholdsOR:") + mlog.debug(EtThresholdsOR) + self.EtThresholdsOR = EtThresholdsOR + + mlog.debug("BTagMinOR:") + mlog.debug(BTagMinOR) + self.BTagMinOR = BTagMinOR + + mlog.debug("BTagMaxOR:") + mlog.debug(BTagMaxOR) + self.BTagMaxOR = BTagMaxOR + + mlog.debug("MultiplicitiesOR:") + mlog.debug(MultiplicitiesOR) + self.MultiplicitiesOR = MultiplicitiesOR + + from TrigBjetHypo.TrigBjetHypoMonitoring import TrigEFBjetHypoAllTEValidationMonitoring, TrigEFBjetHypoAllTEOnlineMonitoring + validation = TrigEFBjetHypoAllTEValidationMonitoring() + online = TrigEFBjetHypoAllTEOnlineMonitoring() + + from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig + time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypoAllTE") + time.TimerHistLimits = [0,0.4] + + self.AthenaMonTools = [ time, validation, online ] + + + def getCutValue(self, cut): + + # These are the offline working points + if cut=="mv2c1040": + # Actually ~45% efficient + return 0.978 + elif cut=="mv2c1050": + # Actually ~55% efficient + return 0.948 + elif cut=="mv2c1060": + # Actually ~65% efficient + return 0.846 + elif cut=="mv2c1070": + # Actually ~75% efficient + return 0.580 + elif cut=="mv2c1077": + # Actually ~80% efficient + return 0.162 + elif cut=="mv2c1085": + # Actually ~90% efficient + return -0.494 + elif cut=="perf": + return -99 + + diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoMonitoring.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoMonitoring.py index 212d43051047b99f30adfba3baae478cf5526692..2eeeeb01f210f1736fa1432450a6e95a7d4cf993 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoMonitoring.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBjetHypoMonitoring.py @@ -13,6 +13,23 @@ class TrigBjetHypoMonitoring(TrigGenericMonitoringToolConfig): xbins=4, xmin=0.0, xmax=4.0, labels='CHI2:IP2D:IP3D:COMB') ] +class TrigBjetHypoAllTEMonitoring(TrigGenericMonitoringToolConfig): + def __init__ (self, name="TrigBjetHypoAllTEMonitoring"): + super(TrigBjetHypoAllTEMonitoring, self).__init__(name) + + self.Histograms = [ defineHistogram('CutCode', type='TH1F', title="Bjet HypoAllTE cut code", + xbins=10, xmin=-1.5, xmax=8.5, + labels='UnInitialzed:Fail:Accept:FailBS:TooFewTEs:TooManyTEs:NoBjets:NoBTagging:NoJet') ] + + self.Histograms = [ defineHistogram('BSCode', type='TH1F', title="Bjet HypoAllTE BS code", + xbins=10, xmin=-1.5, xmax=8.5, + labels='UnInitialzed:ValidBS:BSInvalidReject:BSInValidAccept:NoBSInfo:DontUseBS') ] + + + self.Histograms = [ defineHistogram('nInputJets', type='TH1F', title="Bjet HypoAllTE nInputJets", + xbins=100, xmin=-0.5, xmax=99.5, + ) ] + class TrigEFBjetHypoValidationMonitoring(TrigBjetHypoMonitoring): @@ -30,6 +47,20 @@ class TrigEFBjetHypoOnlineMonitoring(TrigBjetHypoMonitoring): self.defineTarget("Online") +class TrigEFBjetHypoAllTEValidationMonitoring(TrigBjetHypoAllTEMonitoring): + def __init__ (self, name="TrigEFBjetHypoAllTEValidationMonitoring"): + super(TrigEFBjetHypoAllTEValidationMonitoring, self).__init__(name) + + self.defineTarget("Validation") + + +class TrigEFBjetHypoAllTEOnlineMonitoring(TrigBjetHypoAllTEMonitoring): + def __init__ (self, name="TrigEFBjetHypoAllTEOnlineMonitoring"): + super(TrigEFBjetHypoAllTEOnlineMonitoring, self).__init__(name) + + self.defineTarget("Online") + + diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexConfig.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexConfig.py index 2fda720c02ff5fcef3087e35dd04a63f5b02c0f0..82544eb559c7ab9b68eb8944f8f195d1641d1ac7 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexConfig.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexConfig.py @@ -16,32 +16,34 @@ BTagConfigSetupStatus = BTagConfig.setupJetBTaggerTool(ToolSvc, "AntiKt4EMTopo", def getBtagFexInstance( instance, version, algo ): - if instance=="EF" : - return BtagFex( instance=instance, version=version, algo=algo, name="EFBtagFex_"+algo ) + return BtagFex( instance=instance, version=version, name="EFBtagFex_"+algo ) def getBtagFexSplitInstance( instance, version, algo): - return BtagFexSplit( instance=instance, version=version, algo=algo, name=instance+"BtagFexSplit_"+algo ) + return BtagFexSplit( instance=instance, version=version, name=instance+"BtagFexSplit_"+algo, + PriVtxKey="xPrimVx",TrackKey="InDetTrigTrackingxAODCnv_Bjet_IDTrig") def getBtagFexFTKInstance( instance, version, algo): - return BtagFexFTK( instance=instance, version=version, algo=algo, name=instance+"BtagFexFTK_"+algo ) + return BtagFexSplit( instance=instance, version=version, name=instance+"BtagFexFTK_"+algo, + PriVtxKey="PrimVertexFTK", TrackKey="InDetTrigTrackingxAODCnv_Bjet_FTK_IDTrig") def getBtagFexFTKRefitInstance( instance, version, algo): - return BtagFexFTKRefit( instance=instance, version=version, algo=algo, name=instance+"BtagFexFTKRefit_"+algo ) + return BtagFexSplit( instance=instance, version=version, name=instance+"BtagFexFTKRefit_"+algo, + PriVtxKey="PrimVertexFTK", TrackKey="InDetTrigTrackingxAODCnv_Bjet_FTKRefit_IDTrig") def getBtagFexFTKVtxInstance( instance, version, algo): - return BtagFexFTKVtx( instance=instance, version=version, algo=algo, name=instance+"BtagFexFTKVtx_"+algo ) + return BtagFexSplit( instance=instance, version=version, name=instance+"BtagFexFTKVtx_"+algo, + PriVtxKey="PrimVertexFTK", TrackKey="InDetTrigTrackingxAODCnv_Bjet_IDTrig" ) class BtagFex (TrigBtagFex): __slots__ = [] - def __init__(self, instance, version, algo, name): + def __init__(self, instance, version, name, PriVtxKey = "EFHistoPrmVtx", TrackKey = "" ): super( BtagFex, self ).__init__( name ) mlog = logging.getLogger('BtagHypoConfig.py') AllowedInstances = ["EF"] AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] if instance not in AllowedInstances : mlog.error("Instance "+instance+" is not supported!") @@ -52,8 +54,8 @@ class BtagFex (TrigBtagFex): return None self.JetKey = "" - self.PriVtxKey = "EFHistoPrmVtx" - self.TrackKey = "" + self.PriVtxKey = PriVtxKey + self.TrackKey = TrackKey # IMPORT OFFLINE TOOLS self.setupOfflineTools = True @@ -85,14 +87,13 @@ class BtagFex (TrigBtagFex): class BtagFexSplit (TrigBtagFex): __slots__ = [] - def __init__(self, instance, version, algo, name): + def __init__(self, instance, version, name, PriVtxKey="xPrimVx",TrackKey="InDetTrigTrackingxAODCnv_Bjet_IDTrig"): super( BtagFexSplit, self ).__init__( name ) mlog = logging.getLogger('BtagHypoConfig.py') - AllowedInstances = ["EF", "MuJetChain"] + AllowedInstances = ["EF", "MuJetChain","GSC"] AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] if instance not in AllowedInstances : mlog.error("Instance "+instance+" is not supported!") @@ -103,14 +104,16 @@ class BtagFexSplit (TrigBtagFex): return None self.JetKey = "SplitJet" - if instance=="MuJetChain" : + + if instance=="GSC": + self.JetKey = "GSCJet" + elif instance=="MuJetChain" : self.JetKey = "FarawayJet" - instance = "EF" - self.PriVtxKey = "xPrimVx" #"EFHistoPrmVtx" + self.PriVtxKey = PriVtxKey self.UsePriVtxKeyBackup = True self.PriVtxKeyBackup = "EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_IDTrig" + self.TrackKey = TrackKey # IMPORT OFFLINE TOOLS self.setupOfflineTools = True @@ -135,166 +138,8 @@ class BtagFexSplit (TrigBtagFex): self.AthenaMonTools = [ time, validation, online ] -########################################### -# For FTK configuration -########################################### -class BtagFexFTK (TrigBtagFex): - __slots__ = [] - - def __init__(self, instance, version, algo, name): - super( BtagFexFTK, self ).__init__( name ) - - mlog = logging.getLogger('BtagHypoConfig.py') - - AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] - - if instance not in AllowedInstances : - mlog.error("Instance "+instance+" is not supported!") - return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - - self.JetKey = "SplitJet" - if instance=="MuJetChain" : - self.JetKey = "FarawayJet" - instance = "EF" - - self.PriVtxKey = "PrimVertexFTK" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_FTK_IDTrig" - - # IMPORT OFFLINE TOOLS - self.setupOfflineTools = True - if self.setupOfflineTools : - if BTagConfigSetupStatus == None : - self.setupOfflineTools = False - else : - self.BTagTrackAssocTool = BTagConfig.getJetCollectionMainAssociatorTool("AntiKt4EMTopo") - self.BTagTool = BTagConfig.getJetCollectionTool("AntiKt4EMTopo") - self.BTagSecVertexing = BTagConfig.getJetCollectionSecVertexingTool("AntiKt4EMTopo") - self.TaggerBaseNames = BTagConfig.getJetCollectionSecVertexingToolAttribute("SecVtxFinderxAODBaseNameList", "AntiKt4EMTopo") - - # MONITORING - from TrigBjetHypo.TrigBtagFexMonitoring import TrigEFBtagFexValidationMonitoring, TrigEFBtagFexOnlineMonitoring - validation = TrigEFBtagFexValidationMonitoring() - online = TrigEFBtagFexOnlineMonitoring() - - from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig - time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") - time.TimerHistLimits = [0,2] - - self.AthenaMonTools = [ time, validation, online ] -########################################### -# For FTKRefit configuration -########################################### -class BtagFexFTKRefit (TrigBtagFex): - __slots__ = [] - - def __init__(self, instance, version, algo, name): - super( BtagFexFTKRefit, self ).__init__( name ) - - mlog = logging.getLogger('BtagHypoConfig.py') - - AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] - - if instance not in AllowedInstances : - mlog.error("Instance "+instance+" is not supported!") - return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - self.JetKey = "SplitJet" - if instance=="MuJetChain" : - self.JetKey = "FarawayJet" - instance = "EF" - - self.PriVtxKey = "PrimVertexFTK" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_FTKRefit_IDTrig" - - # IMPORT OFFLINE TOOLS - self.setupOfflineTools = True - if self.setupOfflineTools : - if BTagConfigSetupStatus == None : - self.setupOfflineTools = False - else : - self.BTagTrackAssocTool = BTagConfig.getJetCollectionMainAssociatorTool("AntiKt4EMTopo") - self.BTagTool = BTagConfig.getJetCollectionTool("AntiKt4EMTopo") - self.BTagSecVertexing = BTagConfig.getJetCollectionSecVertexingTool("AntiKt4EMTopo") - self.TaggerBaseNames = BTagConfig.getJetCollectionSecVertexingToolAttribute("SecVtxFinderxAODBaseNameList", "AntiKt4EMTopo") - - # MONITORING - from TrigBjetHypo.TrigBtagFexMonitoring import TrigEFBtagFexValidationMonitoring, TrigEFBtagFexOnlineMonitoring - validation = TrigEFBtagFexValidationMonitoring() - online = TrigEFBtagFexOnlineMonitoring() - - from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig - time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") - time.TimerHistLimits = [0,2] - - self.AthenaMonTools = [ time, validation, online ] - - -########################################### -# For FTKVtx configuration -########################################### - -class BtagFexFTKVtx (TrigBtagFex): - __slots__ = [] - - def __init__(self, instance, version, algo, name): - super( BtagFexFTKVtx, self ).__init__( name ) - - mlog = logging.getLogger('BtagHypoConfig.py') - - AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] - - if instance not in AllowedInstances : - mlog.error("Instance "+instance+" is not supported!") - return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - - self.JetKey = "SplitJet" - if instance=="MuJetChain" : - self.JetKey = "FarawayJet" - instance = "EF" - - self.PriVtxKey = "PrimVertexFTK" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_IDTrig" - - # IMPORT OFFLINE TOOLS - self.setupOfflineTools = True - if self.setupOfflineTools : - if BTagConfigSetupStatus == None : - self.setupOfflineTools = False - else : - self.BTagTrackAssocTool = BTagConfig.getJetCollectionMainAssociatorTool("AntiKt4EMTopo") - self.BTagTool = BTagConfig.getJetCollectionTool("AntiKt4EMTopo") - self.BTagSecVertexing = BTagConfig.getJetCollectionSecVertexingTool("AntiKt4EMTopo") - self.TaggerBaseNames = BTagConfig.getJetCollectionSecVertexingToolAttribute("SecVtxFinderxAODBaseNameList", "AntiKt4EMTopo") - - # MONITORING - from TrigBjetHypo.TrigBtagFexMonitoring import TrigEFBtagFexValidationMonitoring, TrigEFBtagFexOnlineMonitoring - validation = TrigEFBtagFexValidationMonitoring() - online = TrigEFBtagFexOnlineMonitoring() - - from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig - time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") - time.TimerHistLimits = [0,2] - - self.AthenaMonTools = [ time, validation, online ] diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py index c623b9ea37120a54948ecec9d0c5592c054f91a1..d8ed877a1fcfe760f0f3f55caf2b03cbd7c9dddd 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py @@ -7,29 +7,75 @@ class TrigBtagFexMonitoring(TrigGenericMonitoringToolConfig): super(TrigBtagFexMonitoring, self).__init__(name) # Run-2 histograms - self.Histograms += [ defineHistogram('sv_mass', type='TH1F', title="BtagFex SV Mass", - xbins=200, xmin=0.0, xmax=6000.0) ] - self.Histograms += [ defineHistogram('sv_evtx', type='TH1F', title="BtagFex SV Energy Fraction", + self.Histograms += [ defineHistogram('sv1_mass', type='TH1F', title="BtagFex SV Mass", + xbins=200, xmin=0.0, xmax=6000.0) ] + self.Histograms += [ defineHistogram('sv1_evtx', type='TH1F', title="BtagFex SV Energy Fraction", xbins=200, xmin=0.0, xmax=1.0) ] - self.Histograms += [ defineHistogram('sv_nvtx', type='TH1F', title="BtagFex SV Two-Track Vertex Number", + self.Histograms += [ defineHistogram('sv1_nvtx', type='TH1F', title="BtagFex SV Two-Track Vertex Number", + xbins=31, xmin=-0.5, xmax=30.5) ] + self.Histograms += [ defineHistogram('sv1_ntkv', type='TH1F', title="BtagFex SV Number of tracks used in the SV", xbins=21, xmin=-0.5, xmax=20.5) ] + self.Histograms += [ defineHistogram('sv1_sig3', type='TH1F', title="BtagFex SV 3D Vertex Significance", + xbins=210, xmin=0.0, xmax=210.0) ] + self.Histograms += [ defineHistogram('sv1_Lxy', type='TH1F', title="BtagFex SV Transverse distance between PV and SV", + xbins=220, xmin=0.0, xmax=110.0) ] + self.Histograms += [ defineHistogram('sv1_L3d', type='TH1F', title="BtagFex SV Distance between PV and SV", + xbins=220, xmin=0.0, xmax=110.0) ] + self.Histograms += [ defineHistogram('sv1_dR', type='TH1F', title="BtagFex SV delta R", + xbins=220, xmin=0.0, xmax=1.1) ] self.Histograms += [ defineHistogram('tag_IP2D', type='TH1F', title="BtagFex IP2D Likelihood Ratio", - xbins=200, xmin=-50.0, xmax=50.0) ] + xbins=200, xmin=-30.0, xmax=40.0) ] self.Histograms += [ defineHistogram('tag_IP3D', type='TH1F', title="BtagFex IP3D Likelihood Ratio", - xbins=200, xmin=-50.0, xmax=50.0) ] + xbins=200, xmin=-30.0, xmax=40.0) ] self.Histograms += [ defineHistogram('tag_SV1', type='TH1F', title="BtagFex SV1 Likelihood Ratio", - xbins=200, xmin=-50.0, xmax=50.0) ] + xbins=200, xmin=-20.0, xmax=30.0) ] self.Histograms += [ defineHistogram('tag_IP3DSV1', type='TH1F', title="BtagFex IP3D+SV1 Discriminant", - xbins=200, xmin=-50.0, xmax=50.0) ] - self.Histograms += [ defineHistogram('tag_MV2c00', type='TH1F', title="BtagFex MV2c00 Discriminant", - xbins=200, xmin=-50.0, xmax=50.0) ] + xbins=200, xmin=-20.0, xmax=50.0) ] + # self.Histograms += [ defineHistogram('tag_MV2c00', type='TH1F', title="BtagFex MV2c00 Discriminant", + # xbins=200, xmin=-1., xmax=1.) ] self.Histograms += [ defineHistogram('tag_MV2c10', type='TH1F', title="BtagFex MV2c10 Discriminant", - xbins=200, xmin=-50.0, xmax=50.0) ] + xbins=200, xmin=-1., xmax=1.) ] + self.Histograms += [ defineHistogram('tag_MV2c10_hybrid', type='TH1F', title="BtagFex MV2c10_hybrid Discriminant", + xbins=200, xmin=-1., xmax=1.) ] self.Histograms += [ defineHistogram('tag_MV2c20', type='TH1F', title="BtagFex MV2c20 Discriminant", - xbins=200, xmin=-50.0, xmax=50.0) ] - + xbins=200, xmin=-1., xmax=1.) ] + self.Histograms += [ defineHistogram('tag_IP2_c', type='TH1F', title="BtagFex IP2D Likelihood Ratio between b- and c-jet", + xbins=200, xmin=-30.0, xmax=30.0) ] + self.Histograms += [ defineHistogram('tag_IP2_cu', type='TH1F', title="BtagFex IP2D Likelihood Ratio between c- and light jet", + xbins=200, xmin=-30.0, xmax=30.0) ] + self.Histograms += [ defineHistogram('tag_IP3_c', type='TH1F', title="BtagFex IP3D Likelihood Ratio between b- and c-jet", + xbins=200, xmin=-30.0, xmax=30.0) ] + self.Histograms += [ defineHistogram('tag_IP3_cu', type='TH1F', title="BtagFex IP3D Likelihood Ratio between c- and light jet", + xbins=200, xmin=-30.0, xmax=30.0) ] + #MV2 taggers + self.Histograms += [ defineHistogram('jf_n2tv', type='TH1F', title="BtagFex JetFitter Number of 2-track vertex", + xbins=21, xmin=-0.5, xmax=20.5) ] + self.Histograms += [ defineHistogram('jf_ntrkv', type='TH1F', title="BtagFex JetFitter Number of tracks from displaced vertices", + xbins=16, xmin=-0.5, xmax=15.5) ] + self.Histograms += [ defineHistogram('jf_nvtx', type='TH1F', title="BtagFex JetFitter Number of displaced vertices ", + xbins=11, xmin=-0.5, xmax=10.5) ] + self.Histograms += [ defineHistogram('jf_nvtx1t', type='TH1F', title="BtagFex JetFitter Number of displaced vertices wih 1-track", + xbins=11, xmin=-0.5, xmax=10.5) ] + self.Histograms += [ defineHistogram('jf_mass', type='TH1F', title="BtagFex JetFitter Jet mass", + xbins=200, xmin=0.0, xmax=9100.0) ] + self.Histograms += [ defineHistogram('jf_efrc', type='TH1F', title="BtagFex JetFitter Jet efrac ", + xbins=220, xmin=0.0, xmax=1.1) ] + self.Histograms += [ defineHistogram('jf_dR', type='TH1F', title="BtagFex JetFitter Delta R ", + xbins=200, xmin=-1.0, xmax=1.0) ] + self.Histograms += [ defineHistogram('jf_sig3', type='TH1F', title="BtagFex JetFitter 3D vertex significance ", + xbins=200, xmin=-0.0, xmax=100.0) ] + self.Histograms += [ defineHistogram('jet_pt', type='TH1F', title="BtagFex Jet PT", + xbins=200, xmin=0.0, xmax=800000.0) ] + self.Histograms += [ defineHistogram('jet_eta', type='TH1F', title="BtagFex Jet Eta ", + xbins=200, xmin=-4.9, xmax=4.9) ] + self.Histograms += [ defineHistogram('sv_bool', type='TH1F', title="BtagFex Boolean if SV is found", + xbins=3, xmin=-0.5, xmax=2.5, + labels='sv_ntkv == -1:sv_ntkv == 1:sv_ntkv > 1') ] + self.Histograms += [ defineHistogram('jf_bool', type='TH1F', title="BtagFex Boolean of jf_dR", + xbins=2, xmin=-0.5, xmax=1.5, + labels='jf_dR == -1:jf_dR != -1') ] class TrigEFBtagFexValidationMonitoring(TrigBtagFexMonitoring): def __init__ (self, name="TrigEFBtagFexValidationMonitoring"): diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexConfig.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexConfig.py index 80cb879ca0dfa2b2f44fae02ce4f05fed4c14b36..29bdf8af5c7983f401b038d64c1a2a155d3b044b 100644 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexConfig.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexConfig.py @@ -1,60 +1,57 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration from TrigBjetHypo.TrigBjetHypoConf import TrigGSCFex -#from TrigBjetHypo.TrigGSCFexTuning import * +#from TrigBjetHypo.TrigGSCFexTuning import * from AthenaCommon.Logging import logging -#from AthenaCommon.SystemOfUnits import mm, GeV +from AthenaCommon.SystemOfUnits import mm, GeV #commented here from AthenaCommon.AppMgr import ToolSvc -#from BTagging.BTaggingFlags import BTaggingFlags -#from BTagging.BTaggingConfiguration import getConfiguration -#BTagConfig = getConfiguration("Trig") -#BTagConfig.PrefixxAODBaseName(False) -#BTagConfig.PrefixVertexFinderxAODBaseName(False) -#BTagConfigSetupStatus = BTagConfig.setupJetBTaggerTool(ToolSvc, "AntiKt4EMTopo", SetupScheme="Trig", TaggerList=BTaggingFlags.TriggerTaggers) +from BTagging.BTaggingFlags import BTaggingFlags #commented here +from BTagging.BTaggingConfiguration import getConfiguration #commented here +BTagConfig = getConfiguration("Trig") #commented here +BTagConfig.PrefixxAODBaseName(False) #commented here +BTagConfig.PrefixVertexFinderxAODBaseName(False) #commented here +BTagConfigSetupStatus = BTagConfig.setupJetBTaggerTool(ToolSvc, "AntiKt4EMTopo", SetupScheme="Trig", TaggerList=BTaggingFlags.TriggerTaggers) #commented here from JetRec.JetRecCalibrationFinder import jrcf JetConfigSetupStatus = True # johns hack from JetCalibTools.JetCalibToolsConf import JetCalibrationTool -def getGSCFexInstance( instance, version, algo ): - if instance=="EF" : - return GSCFex( instance=instance, version=version, algo=algo, name="EFGSCFex_"+algo ) +def getGSCFexInstance( instance ): + return GSCFex( instance=instance, name="EFGSCFex_EFID" ) -def getGSCFexSplitInstance( instance, version, algo): - return GSCFexSplit( instance=instance, version=version, algo=algo, name=instance+"GSCFexSplit_"+algo ) +def getGSCFexSplitInstance( instance): + return GSCFexSplit( instance=instance, name=instance+"GSCFexSplit_EFID" ) -def getGSCFexFTKInstance( instance, version, algo): - return GSCFexFTK( instance=instance, version=version, algo=algo, name=instance+"GSCFexFTK_"+algo ) +def getGSCFexFTKInstance( instance ): + return GSCFexSplit( instance=instance, name=instance+"GSCFexFTK_EFID", + PriVtxKey = "PrimVertexFTK", TrackKey="InDetTrigTrackingxAODCnv_Bjet_FTK_IDTrig") -def getGSCFexFTKRefitInstance( instance, version, algo): - return GSCFexFTKRefit( instance=instance, version=version, algo=algo, name=instance+"GSCFexFTKRefit_"+algo ) +def getGSCFexFTKRefitInstance( instance): + return GSCFexSplit( instance=instance, name=instance+"GSCFexFTKRefit_EFID", + PriVtxKey = "PrimVertexFTK", TrackKey="InDetTrigTrackingxAODCnv_Bjet_FTKRefit_IDTrig") -def getGSCFexFTKVtxInstance( instance, version, algo): - return GSCFexFTKVtx( instance=instance, version=version, algo=algo, name=instance+"GSCFexFTKVtx_"+algo ) +def getGSCFexFTKVtxInstance( instance ): + return GSCFexSplit( instance=instance, name=instance+"GSCFexFTKVtx_EFID", + PriVtxKey = "PrimVertexFTK", TrackKey = "InDetTrigTrackingxAODCnv_Bjet_IDTrig") + class GSCFex (TrigGSCFex): __slots__ = [] - def __init__(self, instance, version, algo, name): + def __init__(self, instance, name): super( GSCFex, self ).__init__( name ) mlog = logging.getLogger('BtagHypoConfig.py') AllowedInstances = ["EF"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] if instance not in AllowedInstances : mlog.error("Instance "+instance+" is not supported!") return None - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - self.JetKey = "" self.PriVtxKey = "EFHistoPrmVtx" self.TrackKey = "" @@ -68,49 +65,41 @@ class GSCFex (TrigGSCFex): self.GSCCalibrationTool = jrcf.find("AntiKt", 0.4, "EMTopo", "ajg", "reco", "Kt4") print self.GSCCalibrationTool # MONITORING - #from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring - #validation = TrigEFGSCFexValidationMonitoring() - #online = TrigEFGSCFexOnlineMonitoring() + from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring #commented here + validation = TrigEFGSCFexValidationMonitoring() #commented here + online = TrigEFGSCFexOnlineMonitoring() #commented here from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") time.TimerHistLimits = [0,2] - #self.AthenaMonTools = [ time, validation, online ] - self.AthenaMonTools = [ time ] + self.AthenaMonTools = [ time, validation, online ] #commented here + #self.AthenaMonTools = [ time ] #uncommented here -########################################### +# # For split configuration -########################################### - +# class GSCFexSplit (TrigGSCFex): __slots__ = [] - def __init__(self, instance, version, algo, name): + def __init__(self, instance, name, PriVtxKey="xPrimVx", TrackKey="InDetTrigTrackingxAODCnv_Bjet_IDTrig"): super( GSCFexSplit, self ).__init__( name ) mlog = logging.getLogger('BtagHypoConfig.py') AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] if instance not in AllowedInstances : mlog.error("Instance "+instance+" is not supported!") return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None self.JetKey = "SplitJet" if instance=="MuJetChain" : self.JetKey = "FarawayJet" - instance = "EF" - self.PriVtxKey = "xPrimVx" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_IDTrig" + self.PriVtxKey = PriVtxKey + self.TrackKey = TrackKey # IMPORT OFFLINE TOOLS self.setupOfflineTools = True @@ -141,187 +130,14 @@ class GSCFexSplit (TrigGSCFex): # MONITORING - #from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring - #validation = TrigEFGSCFexValidationMonitoring() - #online = TrigEFGSCFexOnlineMonitoring() - - from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig - time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") - time.TimerHistLimits = [0,2] - - #self.AthenaMonTools = [ time, validation, online ] - self.AthenaMonTools = [ time ] - - -########################################### -# For FTK configuration -########################################### - -class GSCFexFTK (TrigGSCFex): - __slots__ = [] - - def __init__(self, instance, version, algo, name): - super( GSCFexFTK, self ).__init__( name ) - - mlog = logging.getLogger('BtagHypoConfig.py') - - AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] - - if instance not in AllowedInstances : - mlog.error("Instance "+instance+" is not supported!") - return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - - self.JetKey = "SplitJet" - if instance=="MuJetChain" : - self.JetKey = "FarawayJet" - instance = "EF" - - self.PriVtxKey = "PrimVertexFTK" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_FTK_IDTrig" - - # IMPORT OFFLINE TOOLS - self.setupOfflineTools = True - if self.setupOfflineTools : - # Will set up GSC here - pass - #if BTagConfigSetupStatus == None : - # self.setupOfflineTools = False - #else : - # self.BTagTrackAssocTool = BTagConfig.getJetCollectionMainAssociatorTool("AntiKt4EMTopo") - # self.BTagTool = BTagConfig.getJetCollectionTool("AntiKt4EMTopo") - # self.BTagSecVertexing = BTagConfig.getJetCollectionSecVertexingTool("AntiKt4EMTopo") - # self.TaggerBaseNames = BTagConfig.getJetCollectionSecVertexingToolAttribute("SecVtxFinderxAODBaseNameList", "AntiKt4EMTopo") - - # MONITORING - #from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring - #validation = TrigEFGSCFexValidationMonitoring() - #online = TrigEFGSCFexOnlineMonitoring() - - from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig - time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") - time.TimerHistLimits = [0,2] - - #self.AthenaMonTools = [ time, validation, online ] - self.AthenaMonTools = [ time ] - - -########################################### -# For FTKRefit configuration -########################################### - -class GSCFexFTKRefit (TrigGSCFex): - __slots__ = [] - - def __init__(self, instance, version, algo, name): - super( GSCFexFTKRefit, self ).__init__( name ) - - mlog = logging.getLogger('BtagHypoConfig.py') - - AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] - - if instance not in AllowedInstances : - mlog.error("Instance "+instance+" is not supported!") - return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - - self.JetKey = "SplitJet" - if instance=="MuJetChain" : - self.JetKey = "FarawayJet" - instance = "EF" - - self.PriVtxKey = "PrimVertexFTK" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_FTKRefit_IDTrig" - - # IMPORT OFFLINE TOOLS - self.setupOfflineTools = True - if self.setupOfflineTools : - # Will set up GSC here - pass - #if BTagConfigSetupStatus == None : - # self.setupOfflineTools = False - #else : - # self.BTagTrackAssocTool = BTagConfig.getJetCollectionMainAssociatorTool("AntiKt4EMTopo") - # self.BTagTool = BTagConfig.getJetCollectionTool("AntiKt4EMTopo") - # self.BTagSecVertexing = BTagConfig.getJetCollectionSecVertexingTool("AntiKt4EMTopo") - # self.TaggerBaseNames = BTagConfig.getJetCollectionSecVertexingToolAttribute("SecVtxFinderxAODBaseNameList", "AntiKt4EMTopo") - - # MONITORING - #from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring - #validation = TrigEFGSCFexValidationMonitoring() - #online = TrigEFGSCFexOnlineMonitoring() + from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring #commented here + validation = TrigEFGSCFexValidationMonitoring() #commented here + online = TrigEFGSCFexOnlineMonitoring() #commented here from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") time.TimerHistLimits = [0,2] - #self.AthenaMonTools = [ time, validation, online ] - self.AthenaMonTools = [ time ] + self.AthenaMonTools = [ time, validation, online ] #commented here + #self.AthenaMonTools = [ time ] #uncommented here - -########################################### -# For FTKVtx configuration -########################################### - -class GSCFexFTKVtx (TrigGSCFex): - __slots__ = [] - - def __init__(self, instance, version, algo, name): - super( GSCFexFTKVtx, self ).__init__( name ) - - mlog = logging.getLogger('BtagHypoConfig.py') - - AllowedInstances = ["EF", "MuJetChain"] - AllowedVersions = ["2012"] - AllowedAlgos = ["EFID"] - - if instance not in AllowedInstances : - mlog.error("Instance "+instance+" is not supported!") - return None - - if version not in AllowedVersions : - mlog.error("Version "+version+" is not supported!") - return None - - self.JetKey = "SplitJet" - if instance=="MuJetChain" : - self.JetKey = "FarawayJet" - instance = "EF" - - self.PriVtxKey = "PrimVertexFTK" #"EFHistoPrmVtx" - self.TrackKey = "InDetTrigTrackingxAODCnv_Bjet_IDTrig" - - # IMPORT OFFLINE TOOLS - self.setupOfflineTools = True - if self.setupOfflineTools : - # Will set up GSC here - pass - #if BTagConfigSetupStatus == None : - # self.setupOfflineTools = False - #else : - # self.BTagTrackAssocTool = BTagConfig.getJetCollectionMainAssociatorTool("AntiKt4EMTopo") - # self.BTagTool = BTagConfig.getJetCollectionTool("AntiKt4EMTopo") - # self.BTagSecVertexing = BTagConfig.getJetCollectionSecVertexingTool("AntiKt4EMTopo") - # self.TaggerBaseNames = BTagConfig.getJetCollectionSecVertexingToolAttribute("SecVtxFinderxAODBaseNameList", "AntiKt4EMTopo") - - # MONITORING - #from TrigBjetHypo.TrigGSCFexMonitoring import TrigEFGSCFexValidationMonitoring, TrigEFGSCFexOnlineMonitoring - #validation = TrigEFGSCFexValidationMonitoring() - #online = TrigEFGSCFexOnlineMonitoring() - - from TrigTimeMonitor.TrigTimeHistToolConfig import TrigTimeHistToolConfig - time = TrigTimeHistToolConfig("TimeHistogramForTrigBjetHypo") - time.TimerHistLimits = [0,2] - - #self.AthenaMonTools = [ time, validation, online ] - self.AthenaMonTools = [ time ] diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexMonitoring.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexMonitoring.py index 17bb203f21bc5df53d857eda118d118b0c25f429..d633baf2eb13d0b727d0effecfa7d97e8c62e2b1 100644 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexMonitoring.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigGSCFexMonitoring.py @@ -28,8 +28,16 @@ class TrigGSCFexMonitoring(TrigGenericMonitoringToolConfig): # xbins=200, xmin=-50.0, xmax=50.0) ] #self.Histograms += [ defineHistogram('tag_MV2c20', type='TH1F', title="GSCFex MV2c20 Discriminant", # xbins=200, xmin=-50.0, xmax=50.0) ] - - + self.Histograms += [ defineHistogram('gsc_ntrk', type='TH1I', title="GSCFex Number of tracks", + xbins=21, xmin=-0.5, xmax=30.5) ] + self.Histograms += [ defineHistogram('gsc_width', type='TH1F', title="GSCFex Track width", + xbins=200, xmin=-2.0, xmax=2.0) ] + self.Histograms += [ defineHistogram('gsc_ptsum', type='TH1F', title="GSCFex Sum of transverse momentum of tracks", + xbins=200, xmin=-100.0, xmax=600000.0) ] + self.Histograms += [ defineHistogram('gsc_ptdiff', type='TH1F', title="GSCFex PT difference between uncal jet and cal jets", + xbins=200, xmin=-100000.0, xmax=100000.0) ] + self.Histograms += [ defineHistogram('gsc_ptratio', type='TH1F', title="GSCFex PT ratio", + xbins=200, xmin=-1.0, xmax=1.0) ] class TrigEFGSCFexValidationMonitoring(TrigGSCFexMonitoring): def __init__ (self, name="TrigEFGSCFexValidationMonitoring"): diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigLeptonJetMatchAllTEConfig.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigLeptonJetMatchAllTEConfig.py index 1fa18d67662bb69ef895dc7c3e009617e1526035..421a33664fc2e0cb4a5de8bb4f579dfd0749461a 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigLeptonJetMatchAllTEConfig.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigLeptonJetMatchAllTEConfig.py @@ -22,6 +22,7 @@ thresholdsStartSequence = { '110GeV' : 110, '150GeV' : 150, '175GeV' : 175, + '225GeV' : 225, '260GeV' : 260, '320GeV' : 320, '400GeV' : 400, diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypo.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypo.cxx index 7db779f2c7aa2fdd6c5082db0c6771a98a1f5239..fa0071c50dae9d93fc4cb1bbc5a447aa180c8e0e 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypo.cxx +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypo.cxx @@ -7,8 +7,8 @@ // NAME: TrigBjetHypo.cxx // PACKAGE: Trigger/TrigHypothesis/TrigBjetHypo // -// AUTHOR: Andrea Coccaro -// EMAIL: Andrea.Coccaro@ge.infn.it +// AUTHORs: John Alison johnda@uchicago.edu +// Andrea Coccaro Andrea.Coccaro@ge.infn.it // // ************************************************ @@ -32,17 +32,20 @@ TrigBjetHypo::TrigBjetHypo(const std::string& name, ISvcLocator* pSvcLocator) : HLT::HypoAlgo(name, pSvcLocator), m_cutCounter(0) { - declareProperty ("JetKey", m_jetKey = "" ); //"EFJet" or "" needed for default config, "SplitJet" for new config - declareProperty ("AcceptAll", m_acceptAll ); - declareProperty ("CutXIP2D", m_xcutIP2D = -20 ); - declareProperty ("CutXIP3D", m_xcutIP3D = -20 ); - declareProperty ("CutXCOMB", m_xcutCOMB = -20 ); - declareProperty ("CutXCHI2", m_xcutCHI2 = -20 ); - declareProperty ("CutMV2c20", m_xcutMV2c20 = -20 ); - declareProperty ("MethodTag", m_methodTag = "" ); - declareProperty ("Instance", m_instance ); - - declareProperty ("UseBeamSpotFlag", m_useBeamSpotFlag = false); + declareProperty ("JetKey" , m_jetKey = "" ); //"EFJet" or "" needed for default config, "SplitJet" for new config + declareProperty ("AcceptAll" , m_acceptAll ); + declareProperty ("CutXIP2D" , m_xcutIP2D = -20 ); + declareProperty ("CutXIP3D" , m_xcutIP3D = -20 ); + declareProperty ("CutXCOMB" , m_xcutCOMB = -20 ); + declareProperty ("CutXCHI2" , m_xcutCHI2 = -20 ); + declareProperty ("CutMV2c20" , m_xcutMV2c20 = -20 ); + declareProperty ("CutMV2c10" , m_xcutMV2c10 = -20 ); + declareProperty ("CutMV2c10_hybrid", m_xcutMV2c10_hybrid = -20 ); + declareProperty ("MethodTag" , m_methodTag = "" ); + declareProperty ("Instance" , m_instance ); + + declareProperty ("UseBeamSpotFlag", m_useBeamSpotFlag = false); + declareProperty ("OverrideBeamSpotValid", m_overRideBeamSpotValid = false); declareMonitoredVariable("Method", m_monitorMethod); declareMonitoredVariable("CutCounter", m_cutCounter); @@ -72,6 +75,8 @@ HLT::ErrorCode TrigBjetHypo::hltInitialize() { ATH_MSG_DEBUG(" JetKey = " << m_jetKey ); if (m_xcutMV2c20 != -20) ATH_MSG_DEBUG( " CutMV2c20 = " << m_xcutMV2c20 ); + if (m_xcutMV2c10 != -20) ATH_MSG_DEBUG( " CutMV2c10 = " << m_xcutMV2c10 ); + if (m_xcutMV2c10_hybrid != -20) ATH_MSG_DEBUG( " CutMV2c10_hybrid = " << m_xcutMV2c10_hybrid ); if (m_xcutCOMB != -20) ATH_MSG_DEBUG( " CutXCOMB = " << m_xcutCOMB ); if (m_xcutCHI2 != -20) ATH_MSG_DEBUG( " CutXCHI2 = " << m_xcutCHI2 ); if (m_xcutIP3D != -20) ATH_MSG_DEBUG( " CutXIP3D = " << m_xcutIP3D ); @@ -116,7 +121,7 @@ HLT::ErrorCode TrigBjetHypo::hltExecute(const HLT::TriggerElement* outputTE, boo beamSpotStatus = ((beamSpotBitMap & 0x4) == 0x4); if (beamSpotStatus) beamSpotStatus = ((beamSpotBitMap & 0x3) == 0x3); - if (!beamSpotStatus) { + if (!beamSpotStatus && !m_overRideBeamSpotValid) { m_cutCounter=0; pass = false; @@ -149,7 +154,6 @@ HLT::ErrorCode TrigBjetHypo::hltExecute(const HLT::TriggerElement* outputTE, boo // Retrieve xAOD b-jet object const xAOD::BTaggingContainer* trigBTaggingContainer=0; - if((getFeature(outputTE, trigBTaggingContainer, "HLTBjetFex") != HLT::OK) && trigBTaggingContainer) { if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Failed to get BTaggingContainer" << endmsg; @@ -157,13 +161,13 @@ HLT::ErrorCode TrigBjetHypo::hltExecute(const HLT::TriggerElement* outputTE, boo } if(msgLvl() <= MSG::DEBUG && trigBTaggingContainer != 0) { ATH_MSG_DEBUG( "Got BTaggingContainer with " << trigBTaggingContainer->size() << " BTagging object" ); - } - if(trigBTaggingContainer != 0 && trigBTaggingContainer->size() > 1) { + } + if(trigBTaggingContainer && trigBTaggingContainer != 0 && trigBTaggingContainer->size() > 1) { if(msgLvl() <= MSG::ERROR) msg() << MSG::ERROR << "More than one BTagging object to analyse: this should never happen" << endmsg; return HLT::NAV_ERROR; } - if(trigBTaggingContainer->size() == 0) { + if(!trigBTaggingContainer) { if(msgLvl() <= MSG::ERROR) msg() << MSG::ERROR << "No BTagging object to analyse: this should never happen" << endmsg; return HLT::NAV_ERROR; @@ -190,14 +194,55 @@ HLT::ErrorCode TrigBjetHypo::hltExecute(const HLT::TriggerElement* outputTE, boo if(x>m_xcutMV2c20) { //HLT::markPassing(bitsEF, (*trigBTagging), trigBTaggingContainer); xBits->markPassing((*trigBTagging),trigBTaggingContainer,true); - if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Passed " << endmsg; + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Passed " << endmsg; result = true; } else { if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Failed " << endmsg; } } + } + else if (m_methodTag == "MV2c10") { + + for ( ; trigBTagging != trigBTaggingEnd; trigBTagging++) { + + double x = (*trigBTagging)->auxdata<double>("MV2c10_discriminant"); + + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << "MV2c10 x = " << x; + if(x>m_xcutMV2c10) { + //HLT::markPassing(bitsEF, (*trigBTagging), trigBTaggingContainer); + xBits->markPassing((*trigBTagging),trigBTaggingContainer,true); + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Passed " << endmsg; + result = true; + } + else { + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Failed " << endmsg; + } + } } + // Temporary use mv2c00 for hybrid tuning + // else if (m_methodTag == "MV2c10_hybrid") { + else if (m_methodTag == "MV2c00") { + + for ( ; trigBTagging != trigBTaggingEnd; trigBTagging++) { + + // Temporary use mv2c00 for hybrid tuning + // double x = (*trigBTagging)->auxdata<double>("MV2c10_hybrid_discriminant"); + double x = (*trigBTagging)->auxdata<double>("MV2c00_discriminant"); + + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << "MV2c10_hybrid x = " << x; + if(x>m_xcutMV2c10_hybrid) { + //HLT::markPassing(bitsEF, (*trigBTagging), trigBTaggingContainer); + xBits->markPassing((*trigBTagging),trigBTaggingContainer,true); + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Passed " << endmsg; + result = true; + } + else { + if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << " ==> Failed " << endmsg; + } + } + + } else if (m_methodTag == "COMB") { for ( ; trigBTagging != trigBTaggingEnd; trigBTagging++) { double w=((*trigBTagging)->IP3D_pb()/(*trigBTagging)->IP3D_pu()) * ((*trigBTagging)->SV1_pb()/(*trigBTagging)->SV1_pu()); @@ -278,7 +323,7 @@ HLT::ErrorCode TrigBjetHypo::hltExecute(const HLT::TriggerElement* outputTE, boo //if (attachBits(outputTE, bitsEF, "EFBjets") != HLT::OK) { // msg() << MSG::ERROR << "Problem attaching TrigPassBits for b-jets" << endmsg; //} - if(attachFeature(outputTE, xBits.release(),"passbits") != HLT::OK) + if(attachFeature(outputTE, xBits.release(),"passbits") != HLT::OK) ATH_MSG_ERROR("Could not store TrigPassBits! "); ATH_MSG_DEBUG( "TrigPassBits was saved" ); diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypoAllTE.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypoAllTE.cxx new file mode 100644 index 0000000000000000000000000000000000000000..5301420e8b67638873e441f6106fb6a59a92af01 --- /dev/null +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBjetHypoAllTE.cxx @@ -0,0 +1,462 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +// ************************************************ +// +// NAME: TrigBjetHypoAllTE.cxx +// PACKAGE: Trigger/TrigHypothesis/TrigBjetHypo +// +// AUTHORS: John Alison johnda@uchicago.edu +// +// ************************************************ + +#include "TrigBjetHypo/TrigBjetHypoAllTE.h" + +#include "InDetBeamSpotService/IBeamCondSvc.h" + +#include "xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingContainer.h" +#include "xAODBTagging/BTaggingAuxContainer.h" +#include "xAODBase/IParticleContainer.h" + +#include "xAODJet/Jet.h" +#include "xAODJet/JetContainer.h" + +using std::vector; + + +TrigBjetHypoAllTE::TrigBjetHypoAllTE(const std::string& name, ISvcLocator* pSvcLocator) : + HLT::AllTEAlgo(name, pSvcLocator) +{ + declareProperty("BTaggingKey", m_btaggingKey = ""); + declareProperty ("UseBeamSpotFlag", m_useBeamSpotFlag = false); + declareProperty ("OverrideBeamSpotValid", m_overRideBeamSpotValid = false); + declareProperty ("Tagger", m_tagger = "MV2c10_discriminant"); + + declareProperty("EtThresholds", m_EtThresholds ); + declareProperty("BTagMin", m_BTagMin ); + declareProperty("BTagMax", m_BTagMax ); + declareProperty("Multiplicities", m_Multiplicities ); + + declareProperty("EtThresholdsOR", m_EtThresholdsOR ); + declareProperty("BTagMinOR", m_BTagMinOR ); + declareProperty("BTagMaxOR", m_BTagMaxOR ); + declareProperty("MultiplicitiesOR", m_MultiplicitiesOR ); + + declareMonitoredVariable("CutCode", m_cutCode); + declareMonitoredVariable("BSCode", m_BSCode); + declareMonitoredVariable("nInputJets", m_nInputJets); +} + + +// +// Destruction +// +TrigBjetHypoAllTE::~TrigBjetHypoAllTE() {} + + +// +// hltInitialize +// +HLT::ErrorCode TrigBjetHypoAllTE::hltInitialize() { + + if (msgLvl() <= MSG::INFO) msg() << MSG::INFO << "Initializing TrigBjetHypoAllTE" << endmsg; + + // + // declareProperty overview + // + ATH_MSG_DEBUG( "declareProperty review:" ); + ATH_MSG_DEBUG( " BTaggingKey = " << m_btaggingKey ); + + // + // Configure the AND requrements + // + + unsigned int nRequirementsAND = m_EtThresholds.size(); + + if(nRequirementsAND != m_BTagMin.size()){ + msg() << MSG::ERROR << "Et and btagging requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + if(nRequirementsAND != m_BTagMax.size()){ + msg() << MSG::ERROR << "Et and max btagging requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + if(nRequirementsAND != m_Multiplicities.size()){ + msg() << MSG::ERROR << "Et and multiplicities requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + for(unsigned int iReq = 0; iReq < nRequirementsAND; ++iReq){ + m_triggerReqsAND.push_back(triggerRequirement(m_EtThresholds.at(iReq), m_BTagMin.at(iReq), m_BTagMax.at(iReq), m_Multiplicities.at(iReq))); + } + + + // + // Configure the OR + // + unsigned int nRequirementsOR = m_EtThresholdsOR.size(); + + if(nRequirementsOR != m_BTagMinOR.size()){ + msg() << MSG::ERROR << "Et and btagging OR requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + if(nRequirementsOR != m_BTagMaxOR.size()){ + msg() << MSG::ERROR << "Et and max btagging OR requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + if(nRequirementsOR != m_MultiplicitiesOR.size()){ + msg() << MSG::ERROR << "Et and multiplicities OR requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + for(unsigned int iOR = 0 ; iOR < nRequirementsOR; ++iOR){ + unsigned int nSubRequirement = m_EtThresholdsOR.at(iOR).size(); + + if(nSubRequirement != m_BTagMinOR.at(iOR).size()){ + msg() << MSG::ERROR << "Et and btagging OR sub requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + if(nSubRequirement != m_BTagMaxOR.at(iOR).size()){ + msg() << MSG::ERROR << "Et and max btagging OR sub requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + if(nSubRequirement != m_MultiplicitiesOR.at(iOR).size()){ + msg() << MSG::ERROR << "Et and multiplicities OR sub requirement have different sizes! Please Fix" << endmsg; + return HLT::ERROR; + } + + m_triggerReqsOR.push_back(vector<triggerRequirement>()); + if (msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << "TrigBjetHypoAllTE::" << name() << " or Requirements "; + for(unsigned int iSub = 0 ; iSub < nSubRequirement; ++iSub){ + m_triggerReqsOR.back().push_back(triggerRequirement(m_EtThresholdsOR .at(iOR).at(iSub), + m_BTagMinOR .at(iOR).at(iSub), + m_BTagMaxOR .at(iOR).at(iSub), + m_MultiplicitiesOR.at(iOR).at(iSub))); + if (msgLvl() <= MSG::DEBUG) + msg() << MSG::DEBUG << "\t (" + << m_EtThresholdsOR.at(iOR).at(iSub) + << " " << m_BTagMinOR.at(iOR).at(iSub) + << " " << m_BTagMaxOR.at(iOR).at(iSub) + << " " << int(m_MultiplicitiesOR.at(iOR).at(iSub) ) + << ")"; + } + + if (msgLvl() <= MSG::DEBUG) + msg() << MSG::DEBUG << endmsg; + } + + + + return HLT::OK; +} + + +// +// hltExecute +// +HLT::ErrorCode TrigBjetHypoAllTE::hltExecute(std::vector<std::vector<HLT::TriggerElement*> >& inputTE, unsigned int output) { + + ATH_MSG_DEBUG( "Executing TrigBjetHypoAllTE" ); + + beforeExecMonitors().ignore(); + + // + // Init to invalid numbers (These should all be set to != -1 later) + // + m_cutCode = -1; + m_BSCode = -1; + m_nInputJets = -1; + + bool pass = false; + + // + // Retrieve beamspot information + // + if (m_useBeamSpotFlag) { + + IBeamCondSvc* iBeamCondSvc; + StatusCode sc = service("BeamCondSvc", iBeamCondSvc); + + if (sc.isFailure() || iBeamCondSvc == 0) { + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Could not retrieve Beam Conditions Service. " << endmsg; + m_BSCode = 3; + } else { + + int beamSpotStatus = 0; + int beamSpotBitMap = iBeamCondSvc->beamStatus(); + + beamSpotStatus = ((beamSpotBitMap & 0x4) == 0x4); + if (beamSpotStatus) beamSpotStatus = ((beamSpotBitMap & 0x3) == 0x3); + + if (!beamSpotStatus){ + if (!m_overRideBeamSpotValid) { + m_BSCode = 1; + m_cutCode = 2; + pass = false; + return HLT::OK; + } else{ + m_BSCode = 2; + } + }else{ + m_BSCode = 0; + } + + } + } else { + m_BSCode = 4; + } + + ATH_MSG_DEBUG( "Number of input TEs is " << inputTE.size() ); + + + if (inputTE.size() < 1) { + msg() << MSG::WARNING << "Number of input TEs is " << inputTE.size() << " and not 1. Configuration problem." << endmsg; + afterExecMonitors().ignore(); + m_cutCode = 3; + return HLT::ErrorCode(HLT::Action::ABORT_CHAIN, HLT::Reason::MISSING_FEATURE); + } + + if (inputTE.size() > 1) { + msg() << MSG::WARNING << "Too many TEs passed as input. Number of input TEs is " << inputTE.size() << " and not 1. Configuration problem." << endmsg; + afterExecMonitors().ignore(); + m_cutCode = 4; + return HLT::ErrorCode(HLT::Action::ABORT_CHAIN, HLT::Reason::MISSING_FEATURE); + } + + + // + // Retrieve the BTagging container + // + std::vector<HLT::TriggerElement*>& btaggingTEs = inputTE.at(0); + ATH_MSG_DEBUG( " btaggingTE.size() " << btaggingTEs.size() ); + + if (btaggingTEs.size() == 0) { + msg() << MSG::WARNING << "Got an empty inputTE (btagging)" << endmsg; + afterExecMonitors().ignore(); + m_cutCode = 5; + return HLT::MISSING_FEATURE; + } + + + // + // Do the multiplicity requrements + // + clearCounters(); + + // + // Loop on input btagged jets + // + for(HLT::TriggerElement* btagTE : btaggingTEs){ + + const xAOD::BTagging* btagInfo = getBTaggingPtr(btagTE); + if (!btagInfo) { + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Failed to retrieve features (btagging)" << endmsg; + m_cutCode = 6; + return HLT::MISSING_FEATURE; + } + + const xAOD::Jet* jet = getJetPtr(btagInfo); + if(!jet) { + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Missing feature (jet)." << endmsg; + m_cutCode = 7; + return HLT::MISSING_FEATURE; + } + + // + // Get pt and btagging weight + // + double btagWeight = btagInfo->auxdata<double>(m_tagger); + double btagEt = jet->p4().Et(); + + // + // Increment counters + // + for(triggerRequirement& trigReq: m_triggerReqsAND){ + trigReq.countJet(btagEt, btagWeight); + } + + for(vector<triggerRequirement>& ORReq: m_triggerReqsOR){ + for(triggerRequirement& subORReq: ORReq){ + subORReq.countJet(btagEt, btagWeight); + } + } + + // + // Check if event passes after each jet + // If so, pass trigger and move on + // + if(eventPassesTrigger()){ + pass = true; + break; + } + + } + + if (pass) { + ATH_MSG_DEBUG( "Accepting the event" ); + m_cutCode = 1; + } else { + ATH_MSG_DEBUG( "Rejecting the event" ); + m_cutCode = 0; + } + + + // + // Setting the output TE + // + HLT::TEVec allTEs; + allTEs.reserve(btaggingTEs.size()); + for(HLT::TriggerElement* btagTE : btaggingTEs){ + allTEs.push_back(btagTE); + } + + // + // monitoring + // + m_nInputJets = btaggingTEs.size(); + + HLT::TriggerElement* outputTE = config()->getNavigation()->addNode(allTEs, output); + outputTE->setActiveState(false); + + if (pass==true){ + outputTE->setActiveState(true); + } + + afterExecMonitors().ignore(); + + return HLT::OK; +} + +// +// Check event decision +// +bool TrigBjetHypoAllTE::eventPassesTrigger(){ + bool passAND = true; + for(triggerRequirement& trigReq: m_triggerReqsAND){ + if(!trigReq.pass()) + passAND = false; + } + + bool passOR = false; + if(!m_triggerReqsOR.size()){ + passOR = true; + }else{ + for(vector<triggerRequirement>& ORReq: m_triggerReqsOR){ + bool passThisOR = true; + for(triggerRequirement& subORReq: ORReq){ + if(!subORReq.pass()) + passThisOR = false; + } + if(passThisOR) passOR = true; + } + } + + return passAND && passOR; +} + +// +// Clear counters +// +void TrigBjetHypoAllTE::clearCounters(){ + + for(triggerRequirement& trigReq: m_triggerReqsAND){ + trigReq.m_count = 0; + } + + for(vector<triggerRequirement>& ORReq: m_triggerReqsOR){ + for(triggerRequirement& subORReq: ORReq){ + subORReq.m_count = 0; + } + } + +} + +// +// hltFinalize +// +HLT::ErrorCode TrigBjetHypoAllTE::hltFinalize() { + + msg() << MSG::INFO << "Finalizing TrigBjetHypoAllTE" << endmsg; + + return HLT::OK; +} + + +// +// hltEndEvent +// +HLT::ErrorCode TrigBjetHypoAllTE::hltEndEvent() { + + if ( !AllTEAlgo::hltEndEvent() ) return false; + AllTEAlgo::hltEndEvent(); + + return true; +} + + + +// +// Retrieve the btagging info +// +const xAOD::BTagging* TrigBjetHypoAllTE::getBTaggingPtr(HLT::TriggerElement* btagTE) { + + const xAOD::BTaggingContainer* bTaggingContainer=0; + HLT::ErrorCode statusBTagging = getFeature(btagTE, bTaggingContainer, m_btaggingKey); + + if (statusBTagging != HLT::OK) { + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Failed to retrieve features (btagging)" << endmsg; + return nullptr; + } + + if(bTaggingContainer==0) { + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Missing feature (btagging)." << endmsg; + return nullptr; + } + + if(bTaggingContainer->size() != 1) { + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Error btagging container size " << bTaggingContainer->size() << endmsg; + return nullptr; + } + + return bTaggingContainer->at(0); +} + +// +// Retrieve the jet info +// +const xAOD::Jet* TrigBjetHypoAllTE::getJetPtr(const xAOD::BTagging* btagInfo) { + + std::vector< ElementLink< xAOD::IParticleContainer > > matchedJets = btagInfo->auxdata< std::vector< ElementLink< xAOD::IParticleContainer > > >("BTagBtagToJetAssociator"); + + if(matchedJets.size() != 1){ + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Missing feature (jet element link) size=" << matchedJets.size() << endmsg; + return nullptr; + } + + const xAOD::IParticleContainer* jetCol = matchedJets.at(0).getStorableObjectPointer(); + if(jetCol->size() != 1){ + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Missing feature (IParticleContainer) size=" << jetCol->size() << endmsg; + return nullptr; + } + + const xAOD::JetContainer* jets = dynamic_cast<const xAOD::JetContainer*>(jetCol); + if(!jets){ + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Missing feature (jetContainer) size=" << jets->size() << endmsg; + return nullptr; + } + + if(jets->size() != 1){ + if (msgLvl() <= MSG::WARNING) msg() << MSG::WARNING << "Missing feature (jets) size=" << jets->size() << endmsg; + return nullptr; + } + + return jets->at(0); +} diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx index ad20c97a5d39feda8234e13884477bb5f560c684..025f39bc5bb5a5b95d769915c9a2c5a98d1b9b87 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx @@ -22,7 +22,7 @@ #include "xAODBase/IParticle.h" #include "xAODJet/Jet.h" -#include "xAODJet/JetContainer.h" + #include "xAODJet/JetContainer.h" #include "xAODTracking/TrackParticleContainer.h" @@ -68,9 +68,15 @@ TrigBtagFex::TrigBtagFex(const std::string& name, ISvcLocator* pSvcLocator) : // Run-2 monitoring - declareMonitoredVariable("sv_mass", m_mon_sv_mass, AutoClear); - declareMonitoredVariable("sv_evtx", m_mon_sv_evtx, AutoClear); - declareMonitoredVariable("sv_nvtx", m_mon_sv_nvtx, AutoClear); + declareMonitoredVariable("sv1_mass", m_mon_sv_mass, AutoClear); + declareMonitoredVariable("sv1_evtx", m_mon_sv_evtx, AutoClear); + declareMonitoredVariable("sv1_nvtx", m_mon_sv_nvtx, AutoClear); + declareMonitoredVariable("sv1_ntkv", m_mon_sv_ntkv, AutoClear); + declareMonitoredVariable("sv1_sig3", m_mon_sv_sig3, AutoClear); + declareMonitoredVariable("sv1_Lxy", m_mon_sv_Lxy, AutoClear); + declareMonitoredVariable("sv1_L3d", m_mon_sv_L3d, AutoClear); + declareMonitoredVariable("sv1_dR", m_mon_sv_dR, AutoClear); + declareMonitoredVariable("tag_IP2D", m_mon_tag_IP2D, AutoClear); declareMonitoredVariable("tag_IP3D", m_mon_tag_IP3D, AutoClear); @@ -78,7 +84,27 @@ TrigBtagFex::TrigBtagFex(const std::string& name, ISvcLocator* pSvcLocator) : declareMonitoredVariable("tag_IP3DSV1", m_mon_tag_IP3DSV1, AutoClear); declareMonitoredVariable("tag_MV2c00", m_mon_tag_MV2c00, AutoClear); declareMonitoredVariable("tag_MV2c10", m_mon_tag_MV2c10, AutoClear); + declareMonitoredVariable("tag_MV2c10_hybrid", m_mon_tag_MV2c10_hybrid, AutoClear); declareMonitoredVariable("tag_MV2c20", m_mon_tag_MV2c20, AutoClear); + declareMonitoredVariable("tag_IP2_c", m_mon_tag_IP2_c, AutoClear); + declareMonitoredVariable("tag_IP2_cu", m_mon_tag_IP2_cu, AutoClear); + declareMonitoredVariable("tag_IP3_c", m_mon_tag_IP3_c, AutoClear); + declareMonitoredVariable("tag_IP3_cu", m_mon_tag_IP3_cu, AutoClear); + + //MV2 taggers variables + declareMonitoredVariable("jf_n2tv", m_mon_jf_n2tv, AutoClear); + declareMonitoredVariable("jf_ntrkv", m_mon_jf_ntrkv, AutoClear); + declareMonitoredVariable("jf_nvtx", m_mon_jf_nvtx, AutoClear); + declareMonitoredVariable("jf_nvtx1t", m_mon_jf_nvtx1t, AutoClear); + declareMonitoredVariable("jf_mass", m_mon_jf_mass, AutoClear); + declareMonitoredVariable("jf_efrc", m_mon_jf_efrc, AutoClear); + declareMonitoredVariable("jf_dR", m_mon_jf_dR, AutoClear); + declareMonitoredVariable("jf_sig3", m_mon_jf_sig3, AutoClear); + + declareMonitoredVariable("jet_pt", m_mon_jet_pt, AutoClear); + declareMonitoredVariable("jet_eta", m_mon_jet_eta, AutoClear); + declareMonitoredVariable("sv_bool", m_mon_sv_bool, AutoClear); + declareMonitoredVariable("jf_bool", m_mon_jf_bool, AutoClear); } @@ -277,26 +303,126 @@ HLT::ErrorCode TrigBtagFex::hltExecute(const HLT::TriggerElement* inputTE, HLT:: } // Fill monitoring variables - trigBTagging->variable<float>("SV1", "masssvx", m_mon_sv_mass); - trigBTagging->variable<float>("SV1", "efracsvx", m_mon_sv_evtx); - trigBTagging->variable<int> ("SV1", "N2Tpair", m_mon_sv_nvtx); + float sv_check; + float sv_mass_check; + + sv_mass_check = 0.0 ; + + trigBTagging->variable<float>("SV1", "masssvx", sv_mass_check); + + if(sv_mass_check == -1 ) { m_mon_sv_bool = 0;} + else if(sv_mass_check == 0 ) { m_mon_sv_bool = 1;} + else{m_mon_sv_bool = 2; } + + sv_check = trigBTagging->auxdata<float>("SV1_Lxy"); + + if( sv_check != -100.0 ) + { + trigBTagging->variable<float>("SV1", "masssvx", m_mon_sv_mass); + trigBTagging->variable<float>("SV1", "efracsvx", m_mon_sv_evtx); + trigBTagging->variable<int> ("SV1", "N2Tpair", m_mon_sv_nvtx); + trigBTagging->variable<int> ("SV1", "NGTinSvx", m_mon_sv_ntkv); + trigBTagging->variable<float>("SV1", "normdist", m_mon_sv_sig3); + if(m_mon_sv_sig3 > 200) m_mon_sv_sig3 = 200; + m_mon_sv_Lxy = trigBTagging->auxdata<float>("SV1_Lxy"); + if(m_mon_sv_Lxy > 100) m_mon_sv_Lxy = 100; + m_mon_sv_L3d = trigBTagging->auxdata<float>("SV1_L3d"); + if(m_mon_sv_L3d > 100) m_mon_sv_L3d = 100; + m_mon_sv_dR = trigBTagging->auxdata<float>("SV1_deltaR"); + if(m_mon_sv_dR > 1) m_mon_sv_dR = 1; + m_mon_tag_SV1 = trigBTagging->SV1_loglikelihoodratio(); + } + else + { + m_mon_sv_mass= -999; + m_mon_sv_evtx= -999; + m_mon_sv_nvtx= -999; + m_mon_sv_ntkv= -999; + m_mon_sv_Lxy= -999; + m_mon_sv_L3d= -999; + m_mon_sv_sig3= -999; + m_mon_sv_dR= -999; + m_mon_tag_SV1= -999; + } //set default values for jets that SV is not found + + /// @brief JetFitter : Delta eta between jet and momentum sum of all tracks associated with displaced vertices reconstructed by JetFitter + float m_mon_jf_deta; + /// @brief JetFitter : Delta phi between jet and momentum sum of all tracks associated with displaced vertices reconstructed by JetFitter + float m_mon_jf_dphi; + float jf_check; + + //Check JetFitter algorithm + m_mon_jf_deta = -10.; + m_mon_jf_dphi = -10.; + trigBTagging->variable<float> ("JetFitter", "deltaeta", m_mon_jf_deta); + trigBTagging->variable<float> ("JetFitter", "deltaphi", m_mon_jf_dphi); + jf_check = std::hypot( m_mon_jf_deta,m_mon_jf_dphi); + if( jf_check > 14 ){ jf_check = -1. ; } + + if(jf_check == -1 ) { m_mon_jf_bool = 0;} + else{ m_mon_jf_bool = 1;} + + if( jf_check != -1 ) + { + trigBTagging->variable<int> ("JetFitter", "N2Tpair", m_mon_jf_n2tv); + if(m_mon_jf_n2tv > 20) m_mon_jf_n2tv = 20; + trigBTagging->variable<int> ("JetFitter", "nTracksAtVtx", m_mon_jf_ntrkv); + trigBTagging->variable<int> ("JetFitter", "nVTX", m_mon_jf_nvtx); + trigBTagging->variable<int> ("JetFitter", "nSingleTracks", m_mon_jf_nvtx1t); + trigBTagging->variable<float> ("JetFitter", "mass", m_mon_jf_mass); + if(m_mon_jf_mass > 9000) m_mon_jf_mass = 9000; + trigBTagging->variable<float> ("JetFitter", "energyFraction", m_mon_jf_efrc); + + m_mon_jf_dR = std::hypot( m_mon_jf_deta,m_mon_jf_dphi); + if( m_mon_jf_dR > 14 ){ m_mon_jf_dR = -1. ; } + trigBTagging->variable<float> ("JetFitter", "significance3d", m_mon_jf_sig3); + } + else + { + m_mon_jf_n2tv= -999; + m_mon_jf_ntrkv= -999; + m_mon_jf_nvtx= -999; + m_mon_jf_nvtx1t= -999; + m_mon_jf_mass= -999; + m_mon_jf_efrc= -999; + m_mon_jf_dR= -999; + m_mon_jf_sig3= -999; + } + + //Check IPxD/MV2 variables m_mon_tag_IP2D = trigBTagging->IP2D_loglikelihoodratio(); m_mon_tag_IP3D = trigBTagging->IP3D_loglikelihoodratio(); - m_mon_tag_SV1 = trigBTagging->SV1_loglikelihoodratio(); m_mon_tag_IP3DSV1 = trigBTagging->SV1plusIP3D_discriminant(); + m_mon_tag_MV2c00 = trigBTagging->auxdata<double>("MV2c00_discriminant"); + m_mon_tag_MV2c10 = trigBTagging->auxdata<double>("MV2c10_discriminant"); + // Temporary use mv2c00 for hybrid tuning + // m_mon_tag_MV2c10_hybrid = trigBTagging->auxdata<double>("MV2c10_hybrid_discriminant"); + m_mon_tag_MV2c10_hybrid = trigBTagging->auxdata<double>("MV2c00_discriminant"); + m_mon_tag_MV2c20 = trigBTagging->auxdata<double>("MV2c20_discriminant"); + if( trigBTagging->IP2D_pc() != 0 && trigBTagging->IP2D_pb() != 0 ) m_mon_tag_IP2_c = log(( trigBTagging->IP2D_pb() )/( trigBTagging->IP2D_pc() )); + else m_mon_tag_IP2_c = -999.; + if( trigBTagging->IP2D_pu() != 0 && trigBTagging->IP2D_pc() != 0 ) m_mon_tag_IP2_cu = log(( trigBTagging->IP2D_pc() )/( trigBTagging->IP2D_pu() )); + else m_mon_tag_IP2_cu = -999.; + if( trigBTagging->IP3D_pc() != 0 && trigBTagging->IP3D_pb() != 0 ) m_mon_tag_IP3_c = log(( trigBTagging->IP3D_pb() )/( trigBTagging->IP3D_pc() )); + else m_mon_tag_IP3_c = -999.; + if( trigBTagging->IP3D_pu() != 0 && trigBTagging->IP3D_pc() != 0 ) m_mon_tag_IP3_cu = log(( trigBTagging->IP3D_pc() )/( trigBTagging->IP3D_pu() )); + else m_mon_tag_IP3_cu = -999.; + + m_mon_jet_pt = jet.pt() ; + m_mon_jet_eta = jet.eta() ; - m_mon_tag_MV2c00 = trigBTagging->auxdata<double>("MV2c00_discriminant"); - m_mon_tag_MV2c10 = trigBTagging->auxdata<double>("MV2c10_discriminant"); - m_mon_tag_MV2c20 = trigBTagging->auxdata<double>("MV2c20_discriminant"); // Dump results ATH_MSG_DEBUG( "IP2D u/b: " << trigBTagging->IP2D_pu() << "/" << trigBTagging->IP2D_pb() << " IP3D u/b: " << trigBTagging->IP3D_pu() << "/" << trigBTagging->IP3D_pb() << " SV1 u/b: " << trigBTagging->SV1_pu() << "/" << trigBTagging->SV1_pb() << " MV2c20 var: " << trigBTagging->auxdata<double>("MV2c20_discriminant") - << " MV2c10 var: " << trigBTagging->auxdata<double>("MV2c10_discriminant") ); - + << " MV2c10 var: " << trigBTagging->auxdata<double>("MV2c10_discriminant") + // Temporary use mv2c00 for hybrid tuning + << " MV2c10_hybrid var: " << trigBTagging->auxdata<double>("MV2c00_discriminant") ); + // << " MV2c10_hybrid var: " << trigBTagging->auxdata<double>("MV2c10_hybrid_discriminant") << endmsg; + // ATTACH FEATURES AND CLEAR TEMPORARY OBJECTS // Create element link from the BTagging to the Jet container diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigGSCFex.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigGSCFex.cxx index 6758665c4d7c3f63ce07b0f5ea85fc051b442f86..f0e090301a5e6d060a99bf2989e07d85058295ae 100644 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigGSCFex.cxx +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigGSCFex.cxx @@ -49,7 +49,11 @@ TrigGSCFex::TrigGSCFex(const std::string& name, ISvcLocator* pSvcLocator) : // Run-2 monitoring - //declareMonitoredVariable("sv_mass", m_mon_sv_mass, AutoClear); + declareMonitoredVariable("gsc_ntrk", m_mon_gsc_ntrk, AutoClear); + declareMonitoredVariable("gsc_width", m_mon_gsc_width, AutoClear); + declareMonitoredVariable("gsc_ptsum", m_mon_gsc_ptsum, AutoClear); + declareMonitoredVariable("gsc_ptdiff", m_mon_gsc_ptdiff, AutoClear); + declareMonitoredVariable("gsc_ptratio", m_mon_gsc_ptratio, AutoClear); } @@ -77,21 +81,15 @@ HLT::ErrorCode TrigGSCFex::hltInitialize() { if(m_setupOfflineTools) { - if(! m_jetGSCCalib_tool.empty()){ + if(m_jetGSCCalib_tool.empty()){ if(m_jetGSCCalib_tool.retrieve().isFailure()) { msg() << MSG::FATAL << "Failed to locate tool " << m_jetGSCCalib_tool << endmsg; return HLT::BAD_JOB_SETUP; + } else + msg() << MSG::INFO << "Retrieved tool " << m_jetGSCCalib_tool << endmsg; + } else if(msgLvl() <= MSG::DEBUG) + ATH_MSG_DEBUG( "No GSCCalibrationTool tool to retrieve" ); - } else { - msg() << MSG::INFO << "Retrieved tool " << m_jetGSCCalib_tool << endmsg; - } - } else { - if(msgLvl() <= MSG::DEBUG) { - msg() << MSG::DEBUG << "No GSCCalibrationTool tool to retrieve" << endmsg; - } - } - } else { - m_jetGSCCalib_tool.disable(); } return HLT::OK; @@ -153,7 +151,7 @@ HLT::ErrorCode TrigGSCFex::hltExecute(const HLT::TriggerElement* inputTE, HLT::T // << " phi: " << jet.p4().Phi() // << " m: " << jet.p4().M() // << std::endl; - // + //std::cout << "primaryVertex z" << primaryVertex->z() << std::endl; // Compute and store GSC moments from precision tracks @@ -211,34 +209,56 @@ HLT::ErrorCode TrigGSCFex::hltExecute(const HLT::TriggerElement* inputTE, HLT::T // EXECUTE OFFLINE TOOLS + // calJet is a pointer to the new, calibrated jet xAOD::Jet* calJet = nullptr; m_jetGSCCalib_tool->calibratedCopy(jet,calJet); - // Now we have a new fully calibrated jet! -//std::cout << "TrigGSCFex: New jet" +// std::cout << "TrigGSCFex: New jet" // << " pt: " << calJet->p4().Pt() // << " eta: " << calJet->p4().Eta() // << " phi: " << calJet->p4().Phi() // << " m: " << calJet->p4().M() // << std::endl; - - + xAOD::JetTrigAuxContainer trigJetTrigAuxContainer; xAOD::JetContainer* jc = new xAOD::JetContainer; jc->setStore(&trigJetTrigAuxContainer); - jc->push_back ( calJet ); + jc->push_back ( new xAOD::Jet(*calJet) ); + delete calJet; + +// std::cout << "TrigGSCFex: New jet back" +// << " pt: " << jc->back()->p4().Pt() +// << " eta: " << jc->back()->p4().Eta() +// << " phi: " << jc->back()->p4().Phi() +// << " m: " << jc->back()->p4().M() +// << std::endl; +// + // do not allow GSC track to give large negative energy corrections + // to jets with only a few tracks + if(jc->back()->p4().Et() < jet.p4().Et()*0.95 && nTrk<= 3){ + float newET = jet.p4().Et()*0.95; + xAOD::JetFourMom_t p4 = jet.jetP4(); + p4.SetPt(sqrt(newET*newET - (jet.m())*(jet.m()))); + jc->back()->setJetP4( p4 ); + } + HLT::ErrorCode hltStatus = attachFeature(outputTE, jc, m_jetOutputKey); if (hltStatus != HLT::OK) { - msg() << MSG::ERROR << "Failed to attach xAOD::JetContainer (" << m_jetOutputKey << ") as feature jet eta, phi " << calJet->eta() << ", " << calJet->phi() << endmsg; + msg() << MSG::ERROR << "Failed to attach xAOD::JetContainer (" << m_jetOutputKey << ") as feature jet eta, phi " << jc->back()->eta() << ", " << jc->back()->phi() << endmsg; return hltStatus; } // Fill monitoring variables - //trigBTagging->variable<float>("SV1", "masssvx", m_mon_sv_mass); - + m_mon_gsc_ntrk = nTrk; + m_mon_gsc_width = width; + m_mon_gsc_ptsum = ptsum; + m_mon_gsc_ptdiff = jet.p4().Pt() - jc->back()->p4().Pt(); + if( jc->back()->p4().Pt() != 0 ) m_mon_gsc_ptratio = ( m_mon_gsc_ptdiff )/( jc->back()->p4().Pt() ) ; + else m_mon_gsc_ptratio = -999.; + return HLT::OK; } diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigJetSplitterAllTE.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigJetSplitterAllTE.cxx index 338f119fe20f3a4747902b6b3ba53fb78e40662d..f85d724d49f77884b60496a6337a3d35775f5d45 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigJetSplitterAllTE.cxx +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigJetSplitterAllTE.cxx @@ -1,11 +1,13 @@ // emacs: this is -*- c++ -*- +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ // // @file TrigJetSplitterAllTE.cxx // // Splits a jet collection into separate TEs // // -// Copyright (C) 2014 M.Sutton (sutt@cern.ch) // // $Id: TrigJetSplitterAllTE.cxx, v0.0 Tue 17 Jun 2014 03:26:44 CEST sutt $ diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/components/TrigBjetHypo_entries.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/components/TrigBjetHypo_entries.cxx index a3e201a4f72e6a8cc75c31df4070e479dfce8fcf..50ae7df66d84d2f9c87f6c5309e60068c2dd712a 100644 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/components/TrigBjetHypo_entries.cxx +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/components/TrigBjetHypo_entries.cxx @@ -1,3 +1,5 @@ +#include "GaudiKernel/DeclareFactoryEntries.h" +#include "TrigBjetHypo/TrigBjetHypoAllTE.h" #include "TrigBjetHypo/TrigBjetHypo.h" #include "TrigBjetHypo/TrigBjetFex.h" #include "TrigBjetHypo/TrigBtagFex.h" @@ -18,6 +20,8 @@ #include "../TrigBtagFexMT.h" #include "../TrigRoiBuilderMT.h" + +DECLARE_COMPONENT( TrigBjetHypoAllTE ) DECLARE_COMPONENT( TrigBjetHypo ) DECLARE_COMPONENT( TrigBjetFex ) DECLARE_COMPONENT( TrigBtagFex ) @@ -37,3 +41,4 @@ DECLARE_COMPONENT( TrigBjetEtHypoTool ) DECLARE_COMPONENT( TrigGSCFexMT ) DECLARE_COMPONENT( TrigBtagFexMT ) DECLARE_COMPONENT( TrigRoiBuilderMT ) + diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2ElectronFexMT.cxx b/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2ElectronFexMT.cxx index ea55f54d1c60f46afb1440587208b1a5e0d86c02..5fd08ee4ea829e6d93c0a8095dd54c4382af676b 100644 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2ElectronFexMT.cxx +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2ElectronFexMT.cxx @@ -108,7 +108,7 @@ StatusCode TrigL2ElectronFexMT::execute() { std::make_unique<xAOD::TrigEMClusterAuxContainer>()) ); ATH_MSG_DEBUG( "Made WriteHandle " << m_outputElectronsKey ); - ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>()->proxy()->name() ); + ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>().proxy()->name() ); auto roiCollection = SG::makeHandle(m_roiCollectionKey, ctx); diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2PhotonFexMT.cxx b/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2PhotonFexMT.cxx index cced6a9addf433eb96ae65402adf0dfdaf355a6b..737099e4303d43722fadc91429a395c6e7d7169c 100755 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2PhotonFexMT.cxx +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/src/TrigL2PhotonFexMT.cxx @@ -60,7 +60,7 @@ StatusCode TrigL2PhotonFexMT::execute() std::make_unique<xAOD::TrigEMClusterAuxContainer>()) ); ATH_MSG_DEBUG( "Made WriteHandle " << m_outputPhotonsKey ); - ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>()->proxy()->name() ); + ATH_MSG_INFO( name() << " running with store " << getContext().getExtension<Atlas::ExtendedEventContext>().proxy()->name() ); auto roiCollection = SG::makeHandle(m_roiCollectionKey, ctx); diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonCaloTagHypo.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonCaloTagHypo.h index 2582af1d933dfa692a356ae28b712541e5a7e8e9..aaf9e70b6a46f8908b8cbc5499f90cc6c0303b6b 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonCaloTagHypo.h +++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonCaloTagHypo.h @@ -31,9 +31,16 @@ private: float m_lhCut; bool m_doTight; int m_maxMissedCells; - + float m_cbthresh; std::string m_ctTrackContName; + std::vector<float> m_tmp_eta; + std::vector<float> m_tmp_phi; + std::vector<float> m_tmp_etaCT; + std::vector<float> m_tmp_phiCT; + float getdphi(float phi1, float phi2); + + }; #endif diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFCombinerHypo.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFCombinerHypo.h index 56bf3adb8848725b72ab99d2096d6b1db73eabfb..2d172559cc106236c7bdf52fbfd5fbffcb9f8c93 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFCombinerHypo.h +++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFCombinerHypo.h @@ -7,6 +7,7 @@ #include <string> #include "TrigInterfaces/HypoAlgo.h" +#include "LumiBlockComps/ILuminosityTool.h" class TriggerElement; @@ -27,12 +28,15 @@ class TrigMuonEFCombinerHypo: public HLT::HypoAlgo { std::vector<float> m_ptThresholds; BooleanProperty m_acceptAll; BooleanProperty m_rejectCBmuons; + ToolHandle<ILuminosityTool> m_lumiTool; // Other members: std::vector<float>::size_type m_bins; std::vector<float> m_fex_pt; std::vector<float> m_fex_eta; std::vector<float> m_fex_phi; + float m_fex_rate; + float m_fex_bcid; }; #endif diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFExtrapolatorHypo.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFExtrapolatorHypo.h index 203e0e8b98a3bb582f3e26aa95b06f5c7f6c91ea..4509bad5b601a02053adba1604ccfcb76caf2641 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFExtrapolatorHypo.h +++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFExtrapolatorHypo.h @@ -27,6 +27,7 @@ class TrigMuonEFExtrapolatorHypo: public HLT::HypoAlgo { std::vector<float> m_ptBins; std::vector<float> m_ptThresholds; BooleanProperty m_acceptAll; + BooleanProperty m_msonlyCut; // Other members: StoreGateSvc* m_storeGate; diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFTrackIsolationMultiHypo.h b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFTrackIsolationMultiHypo.h new file mode 100644 index 0000000000000000000000000000000000000000..56d34096a495d98c89e76290bcccd35d49b22971 --- /dev/null +++ b/Trigger/TrigHypothesis/TrigMuonHypo/TrigMuonHypo/TrigMuonEFTrackIsolationMultiHypo.h @@ -0,0 +1,66 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef TRIG_TRIGMUONEFTRACKISOLATIONMULTIHYPO_H +#define TRIG_TRIGMUONEFTRACKISOLATIONMULTIHYPO_H + +#include <string> +#include <vector> +#include <deque> +// include base class +#include "TrigInterfaces/HypoAlgo.h" + +class StoreGateSvc; +class TriggerElement; + +/** + * \brief Hypothesis class for EF muon track isolation. + * \author Marcus Matthias Morgenstern (marcus.matthias.morgenstern@cern.ch) + * \details This class applies cuts on the variables calculated + * by the EF muon track isolation algorithm and checks that multiple muons fulfil both isolation and pT criteria.\n + * The cuts can be applied to the sum pT in 0.2 cone, 0.3 cone + * or both. + */ +class TrigMuonEFTrackIsolationMultiHypo: public HLT::HypoAlgo { + enum { MaxNumberTools = 20 }; +public: + TrigMuonEFTrackIsolationMultiHypo(const std::string & name, ISvcLocator* pSvcLocator); + ~TrigMuonEFTrackIsolationMultiHypo(); + + HLT::ErrorCode hltInitialize(); + HLT::ErrorCode hltExecute(const HLT::TriggerElement* outputTE, bool& pass); + HLT::ErrorCode hltFinalize(); + +private: + + // Properties: + + /// should we just accept all events? + BooleanProperty m_acceptAll; + + /// cut on the pt cone 0.2 variable + FloatProperty m_ptcone02_cut; + + /// cut on the pt cone 0.3 variable + FloatProperty m_ptcone03_cut; + + /// cut on absolute or sumpt/pt? + BooleanProperty m_abscut; + + /// use offline or online isolation variables? + BooleanProperty m_useVarIso; + + /// only consider combined muons for isolation? + BooleanProperty m_requireCombined; + + /// monitor the variables we cut on + std::vector<float> m_fex_ptcone02; + std::vector<float> m_fex_ptcone03; + + std::vector<float> m_ptThresholds; + + bool checkThresholds(std::deque<float>&); +}; + +#endif //TRIG_TRIGMUONEFTRACKISOLATIONMULTIHYPO_H diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoConfig.py b/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoConfig.py index 6326d5e1fb4d56986cc0b81c8426b610428c793f..4d1527b859cddef32b29078dc00332fd5d622cda 100755 --- a/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoConfig.py +++ b/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoConfig.py @@ -40,8 +40,10 @@ trigMuonEFSAThresholds = { '50GeV_barrelOnly' : [ [0,1.05,1.5,2.0,9.9], [ 45.0,1000.0,1000.0,1000.0]], '60GeV' : [ [0,1.05,1.5,2.0,9.9], [ 54.0, 54.0, 54.0, 54.0] ], '60GeV_barrelOnly' : [ [0,1.05,1.5,2.0,9.9], [ 54.0,1000.0,1000.0,1000.0]], + '60GeV_msonlyCut' : [ [0,1.05,1.5,2.0,9.9], [ 54.0, 54.0, 54.0, 54.0] ], '70GeV' : [ [0,1.05,1.5,2.0,9.9], [ 63.0, 63.0, 63.0, 63.0] ], '80GeV' : [ [0,1.05,1.5,2.0,9.9], [ 72.0, 72.0, 72.0, 72.0] ], + '80GeV_msonlyCut' : [ [0,1.05,1.5,2.0,9.9], [ 72.0, 72.0, 72.0, 72.0] ], '100GeV' : [ [0,1.05,1.5,2.0,9.9], [ 90.0, 90.0, 90.0, 90.0] ], } @@ -795,6 +797,9 @@ class TrigMuonEFExtrapolatorHypoConfig(TrigMuonEFExtrapolatorHypo) : threshold = args[1] + if "msonlyCut" in threshold: + self.MSonlyCut = True + try: values = trigMuonEFSAThresholds[threshold] self.PtBins = values[0] @@ -916,6 +921,41 @@ class TrigMuonEFCombinerMultiHypoConfig(TrigMuonEFCombinerMultiHypo) : if len(handle.PtThresholds)!=len(handle.PtBins)-nmult: print handle.name," eta bins doesn't match the Pt thresholds!" +class TrigMuonEFSegmentHypoConfig(TrigMuonEFSegmentHypo) : + + __slots__ = [] + + def __new__( cls, *args, **kwargs ): + newargs = ['%s_%s_%s' % (cls.getType(),args[0],args[1])] + list(args) + return super( TrigMuonEFSegmentHypoConfig, cls ).__new__( cls, *newargs, **kwargs ) + + def __init__( self, name, *args, **kwargs ): + super( TrigMuonEFSegmentHypoConfig, self ).__init__( name ) + + threshold = args[1] + + try: + values = efCombinerThresholds[threshold] + self.PtBins = values[0] + self.PtThresholds = [ x * GeV for x in values[1] ] + self.AcceptAll = False + except LookupError: + if (threshold=='passthrough'): + self.PtBins = [-10000.,10000.] + self.PtThresholds = [ -1. * GeV ] + self.AcceptAll = True + else: + raise Exception('TrigMuonEFSegment Hypo Misconfigured: threshold %r not supported' % threshold) + + #validation = TrigMuonEFCombinerHypoValidationMonitoring() + #online = TrigMuonEFCombinerHypoOnlineMonitoring() + + #self.AthenaMonTools = [ validation, online ] + + def setDefaults(cls,handle): + if hasattr(handle,'PtThresholds') and hasattr(handle,'PtBins'): + if len(handle.PtThresholds)!=len(handle.PtBins)-1: + print handle.name," eta bins doesn't match the Pt thresholds!" class TrigMuonEFExtrapolatorMultiHypoConfig(TrigMuonEFExtrapolatorMultiHypo) : @@ -1272,7 +1312,18 @@ trigMuonEFTrkIsoThresholds = { 'RelEFOnlyVarLooseWide' : [-1.0 , 0.2 ], 'RelEFOnlyVarMediumWide' : [-1.0 , 0.12 ], # 'RelEFOnlyVarTightWide' : [-1.0 , 0.08 ] #MC15C - 'RelEFOnlyVarTightWide' : [-1.0 , 0.07 ] #ivarmedium + 'RelEFOnlyVarTightWide' : [-1.0 , 0.07 ], #ivarmedium + 'RelEFOnlyVarTighterWide' : [-1.0 , 0.06 ], #ivartight + 'RelEFOnlyVarVeryTightWide' : [-1.0 , 0.04 ] #ivarverytight + } + + + +trigMuonEFCaloIsoThresholds = { + + 'Rel' : [ 0.3, 0.3, 0.3 ], + 'AbsCalo' : [ 5200.0, 4800.0, 4000.0], + } @@ -1340,6 +1391,65 @@ class TrigMuonEFTrackIsolationHypoConfig(TrigMuonEFTrackIsolationHypo) : self.AthenaMonTools = [ validation, online ] +""" +Class for hypothesis cuts on EF track isolation algorithm. +arg[0] = Muon +arg[1] = working point +See trigMuonEFTrkIsoThresholds for available working points +Put passthrough in arg[1] for passthrough +""" + +class TrigMuonEFTrackIsolationMultiHypoConfig(TrigMuonEFTrackIsolationMultiHypo) : + + __slots__ = [] + + def __new__( cls, *args, **kwargs ): + newargs = ['%s_%s_%s' % (cls.getType(),args[0],args[1])] + list(args) + return super( TrigMuonEFTrackIsolationMultiHypoConfig, cls ).__new__( cls, *newargs, **kwargs ) + + def __init__( self, name, *args, **kwargs ): + super( TrigMuonEFTrackIsolationMultiHypoConfig, self ).__init__( name ) + + try: + pt_thresholds = map(lambda t: t * 1000., + map(float, + map(lambda s: s.replace("GeV",""), args[2]))) + cuts = trigMuonEFTrkIsoThresholds[ args[1] ] + ptcone02 = cuts[0] + ptcone03 = cuts[1] + + self.PtCone02Cut = ptcone02 + self.PtCone03Cut = ptcone03 + self.AcceptAll = False + self.PtThresholds = pt_thresholds + if 'MS' in args[1]: + self.RequireCombinedMuon = False + else: + self.RequireCombinedMuon = True + + if 'Rel' in args[1] : + self.DoAbsCut = False + else : + self.DoAbsCut = True + if 'Var' in args[1] : + self.useVarIso = True + else : + self.useVarIso = False + except LookupError: + if(args[1]=='passthrough') : + print 'Setting passthrough' + self.AcceptAll = True + else: + print 'args[1] = ', args[1] + raise Exception('TrigMuonEFTrackIsolation Hypo Misconfigured') + + + validation = TrigMuonEFTrackIsolationMultiHypoValidationMonitoring() + online = TrigMuonEFTrackIsolationMultiHypoOnlineMonitoring() + + self.AthenaMonTools = [ validation, online ] + + """ Class for hypothesis cuts on EF calo isolation algorithm. arg[0] = Muon @@ -1550,6 +1660,12 @@ class TrigMuonCaloTagHypoConfig(TrigMuonCaloTagHypo) : self.UseLH = False self.TightCaloTag = True self.MaxMissingCells = 3 + import itertools as it + for threshold in list(it.islice(args,3,None)) : + values = efCombinerThresholds[threshold] + self.CombinedMuonThreshold = values[1][0] + + class TrigMuonIDTrackMultiHypoConfig(TrigMuonIDTrackMultiHypo) : diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoMonitoring.py b/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoMonitoring.py index e1a7b448291b8d24a8a0b6466d19fe53bef79f09..e57ff45a35ec38183690a54ac03589df35b65090 100755 --- a/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoMonitoring.py +++ b/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoMonitoring.py @@ -388,6 +388,12 @@ class TrigMuonEFCombinerHypoValidationMonitoring(TrigGenericMonitoringToolConfig xbins=100, xmin=-3.2, xmax=3.2) ] self.Histograms += [ defineHistogram('Phi', type='TH1F', title="Phi reconstruction from #TrigMuonEFCombinerHypo; Phi", xbins=100, xmin=-3.15, xmax=3.15) ] + self.Histograms += [ defineHistogram('BCID', type='TH1F', title="BCID from TrigMuonEFCombinerHypo; BCID", + xbins=3564, xmin=0, xmax=3563) ] + self.Histograms += [ defineHistogram('Rate', type='TH1F', title="Rate from TrigMuonEFCombinerHypo; Rate (Hz)", + xbins=100, xmin=0, xmax=500) ] + self.Histograms += [ defineHistogram('BCID, Rate', type='TProfile', title="Rate vs BCID from TrigMuonEFCombinerHypo; BCID; Rate (Hz)", + xbins=3564, xmin=0, xmax=3563) ] class TrigMuonEFCombinerHypoOnlineMonitoring(TrigGenericMonitoringToolConfig): def __init__ (self, name="TrigMuonEFCombinerHypoOnlineMonitoring"): @@ -396,6 +402,13 @@ class TrigMuonEFCombinerHypoOnlineMonitoring(TrigGenericMonitoringToolConfig): self.Histograms = [ defineHistogram('Pt', type='TH1F', title="P_{T} reconstruction from #TrigMuonEFCombinerHypo; P_{T} (GeV)", xbins=200, xmin=-100, xmax=100) ] + self.Histograms += [ defineHistogram('BCID', type='TH1F', title="BCID from TrigMuonEFCombinerHypo; BCID", + xbins=3564, xmin=0, xmax=3563) ] + self.Histograms += [ defineHistogram('Rate', type='TH1F', title="Rate from TrigMuonEFCombinerHypo; Rate (Hz)", + xbins=100, xmin=0, xmax=500) ] + self.Histograms += [ defineHistogram('BCID, Rate', type='TProfile', title="Rate vs BCID from TrigMuonEFCombinerHypo; BCID; Rate (Hz)", + xbins=3564, xmin=0, xmax=3563) ] + @@ -600,6 +613,28 @@ class TrigMuonEFTrackIsolationHypoValidationMonitoring(TrigGenericMonitoringTool self.Histograms += [ defineHistogram('PtCone03', type='TH1F', title="Sum pT in 0.3 cone #TrigMuonEFTrackIsolationHypo; P_{T} (GeV)", xbins=50, xmin=0.0, xmax=25.0) ] +class TrigMuonEFTrackIsolationMultiHypoOnlineMonitoring(TrigGenericMonitoringToolConfig): + def __init__ (self, name="TrigMuonEFTrackIsolationMultiHypoOnlineMonitoring"): + super(TrigMuonEFTrackIsolationMultiHypoOnlineMonitoring, self).__init__(name) + self.defineTarget("Online") + + self.Histograms = [ defineHistogram('PtCone02', type='TH1F', title="Sum pT in 0.2 cone #TrigMuonEFTrackIsolationMultiHypo; Sum p_{T} [GeV]", + xbins=50, xmin=0.0, xmax=25.0) ] + self.Histograms += [ defineHistogram('PtCone03', type='TH1F', title="Sum pT in 0.3 cone #TrigMuonEFTrackIsolationMultiHypo; Sum p_{T} [GeV]", + xbins=50, xmin=0.0, xmax=25.0) ] + pass + + +class TrigMuonEFTrackIsolationMultiHypoValidationMonitoring(TrigGenericMonitoringToolConfig): + def __init__ (self, name="TrigMuonEFTrackIsolationMultiHypoValidationMonitoring"): + super(TrigMuonEFTrackIsolationMultiHypoValidationMonitoring, self).__init__(name) + self.defineTarget("Validation") + + self.Histograms = [ defineHistogram('PtCone02', type='TH1F', title="Sum pT in 0.2 cone #TrigMuonEFTrackIsolationMultiHypo; P_{T} (GeV)", + xbins=50, xmin=0.0, xmax=25.0) ] + self.Histograms += [ defineHistogram('PtCone03', type='TH1F', title="Sum pT in 0.3 cone #TrigMuonEFTrackIsolationMultiHypo; P_{T} (GeV)", + xbins=50, xmin=0.0, xmax=25.0) ] + class TrigMuonEFCombinerDiMuonMassHypoOnlineMonitoring(TrigGenericMonitoringToolConfig): def __init__ (self, name="TrigMuonEFCombinerDiMuonMassHypoOnlineMonitoring"): super(TrigMuonEFCombinerDiMuonMassHypoOnlineMonitoring, self).__init__(name) diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/MuisoHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/MuisoHypo.cxx index 1eca9c5f06af70b8dc3b4808d978fb3fe55e9df7..5ce65c6ec6b5e25ad5451336bd9518ca0c7a89c6 100755 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/MuisoHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/MuisoHypo.cxx @@ -84,11 +84,7 @@ HLT::ErrorCode MuisoHypo::hltExecute(const HLT::TriggerElement* outputTE, bool& if (m_acceptAll) { pass = true; - if (msgLvl() <= MSG::DEBUG) { - msg() << MSG::DEBUG - << "Accept property is set: taking all the events" - << endmsg; - } + ATH_MSG_DEBUG("Accept property is set: taking all the events"); return HLT::OK; } @@ -110,8 +106,9 @@ HLT::ErrorCode MuisoHypo::hltExecute(const HLT::TriggerElement* outputTE, bool& // Check that there is only one L2IsoMuon if (vectorOfMuons->size() != 1) { - msg() << MSG::ERROR << "Size of vector is " << vectorOfMuons->size() << endmsg; - return HLT::ErrorCode(HLT::Action::CONTINUE, HLT::Reason::NAV_ERROR); + ATH_MSG_DEBUG("Size of L2Iso muon vector is " << vectorOfMuons->size() << ", so isolation failed"); + pass = false; + return HLT::OK; } // Get first (and only) L2IsoMuon diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonCaloTagHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonCaloTagHypo.cxx index a56889dfb4efaad8642effce7f43fe837d98bf94..cf5ae2d2784a1c337bc032a628af5f4cd4e5dde4 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonCaloTagHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonCaloTagHypo.cxx @@ -19,6 +19,7 @@ TrigMuonCaloTagHypo::TrigMuonCaloTagHypo(const std::string& name, ISvcLocator* p m_lhCut(0.95), m_doTight(true), m_maxMissedCells(1), + m_cbthresh(0), m_ctTrackContName("MuonEFInfo_CaloTagTrackParticles") { declareProperty("AcceptAll", m_acceptAll); @@ -28,6 +29,7 @@ TrigMuonCaloTagHypo::TrigMuonCaloTagHypo(const std::string& name, ISvcLocator* p declareProperty("LHCut", m_lhCut); declareProperty("TightCaloTag", m_doTight); declareProperty("MaxMissingCells", m_maxMissedCells); + declareProperty("CombinedMuonThreshold",m_cbthresh); declareProperty("TrackContainerName", m_ctTrackContName,"MuonEFInfo_CaloTagTrackParticles"); } @@ -69,45 +71,112 @@ HLT::ErrorCode TrigMuonCaloTagHypo::hltExecute(const HLT::TriggerElement* output return HLT::OK; } - //Retrieve tagged track particles - const xAOD::TrackParticleContainer* tpCont(0); + m_tmp_eta.clear(); + m_tmp_phi.clear(); + m_tmp_etaCT.clear(); + m_tmp_phiCT.clear(); - if (getFeature<xAOD::TrackParticleContainer>(outputTE, tpCont, m_ctTrackContName)!= HLT::OK || tpCont==0) { - ATH_MSG_DEBUG("Failed to retrieve xAOD::TrackParticleContainer " << m_ctTrackContName); + // Get muonContainer linked to the outputTE + const xAOD::MuonContainer* muonContainer=0; + if(getFeature(outputTE, muonContainer)!=HLT::OK) { + ATH_MSG_DEBUG("no xAOD::MuonContainer Feature found"); return HLT::MISSING_FEATURE; - } + } else { + if (!muonContainer) { + ATH_MSG_DEBUG("null xAOD::MuonContainer Feature found"); + return HLT::MISSING_FEATURE; + } + ATH_MSG_DEBUG("xAOD::MuonContainer found with size " << muonContainer->size()); + } //Check whether a particle passes the selection unsigned int nPassed = 0; - for(const xAOD::TrackParticle* tp : *tpCont) { - ATH_MSG_DEBUG("Track Particle: pt, eta, phi, ptcut = " << tp->pt() << ", " << tp->eta() << ", " << tp->phi() << ", " << m_ptThresholds[nPassed]); + //first look for combined muons + // loop on the muons within the RoI + for (unsigned int j=0; j< muonContainer->size(); ++j ) { + const xAOD::Muon* muon = muonContainer->at(j); + if (!muon) { + ATH_MSG_DEBUG("No xAOD::Muon found."); + continue; + } else { + ATH_MSG_DEBUG("muon type: "<<muon->muonType()); + if (muon->primaryTrackParticle()) { // was there a muon in this RoI ? + + const xAOD::TrackParticle *tr = muon->trackParticle(xAOD::Muon::CombinedTrackParticle); // get the TrackContainer + if(muon->muonType()!=3){ + if (!tr) { + ATH_MSG_DEBUG("No CombinedTrackParticle found."); + } else { + ATH_MSG_DEBUG("Retrieved CombinedTrackParticle with abs pt "<< (*tr).pt()/CLHEP::GeV << "GeV. Charge=" << tr->charge()<<" eta, phi: "<<(*tr).eta()<<" "<<(*tr).phi()); + + // check if muon passes threshold + if (fabs(tr->pt()) > m_cbthresh){ + m_tmp_eta.push_back(tr->eta()); + m_tmp_phi.push_back(tr->phi()); + + } + } + } + + + + + + + + //calo tag muons + if(muon->muonType()==3){ + const xAOD::TrackParticle* tp = muon->primaryTrackParticle(); + ATH_MSG_DEBUG("Track Particle: pt, eta, phi, ptcut = " << tp->pt() << ", " << tp->eta() << ", " << tp->phi() << ", " << m_ptThresholds[nPassed]); - if (tp->pt() < m_ptThresholds[nPassed]) continue; - if (fabs(tp->eta()) > m_etaMax) continue; + if (tp->pt() < m_ptThresholds[nPassed]) continue; + if (fabs(tp->eta()) > m_etaMax) continue; - if (m_doLH) { - auto lh = tp->auxdata<double>("CaloTagLH"); - ATH_MSG_DEBUG("Track Particle: lh, lhcut = " << ", LH: " << lh << ", cut: " << m_lhCut); - if (lh < m_lhCut) continue; - } - else { - auto calotag = tp->auxdata<unsigned short>("CaloTag"); - ATH_MSG_DEBUG("Track Particle: ct = " << calotag ); - if (m_doTight){ - if (calotag < (4 - m_maxMissedCells)*10) continue; - }else{ - if (calotag < (4 - m_maxMissedCells)) continue; + if (m_doLH) { + auto lh = tp->auxdata<double>("CaloTagLH"); + ATH_MSG_DEBUG("Track Particle: lh, lhcut = " << ", LH: " << lh << ", cut: " << m_lhCut); + if (lh < m_lhCut) continue; + } + else { + auto calotag = tp->auxdata<unsigned short>("CaloTag"); + ATH_MSG_DEBUG("Track Particle: ct = " << calotag ); + if (m_doTight){ + if (calotag < (4 - m_maxMissedCells)*10) continue; + }else{ + if (calotag < (4 - m_maxMissedCells)) continue; + } + } + + m_tmp_etaCT.push_back(tp->eta()); + m_tmp_phiCT.push_back(tp->phi()); + + ++nPassed; + } } } - - ++nPassed; - ATH_MSG_DEBUG("Muon passed"); - //Check if we've found all required muons - if (nPassed >= m_ptThresholds.size()) break; + } + + //Check that calo tag and combined muons are not the same! + float deta,dphi=10; + float mindR=1.0; + float deltaR=1.0; + pass=false; + for(unsigned int j=0; j<m_tmp_etaCT.size(); j++){ + mindR=1.0; + for(unsigned int i=0; i<m_tmp_eta.size(); i++){ + deta = fabs(m_tmp_eta[i]-m_tmp_etaCT[j]); + dphi = getdphi(m_tmp_phi[i],m_tmp_phiCT[j]); + deltaR=deta*deta+dphi*dphi; + + if(deltaR<mindR){ + mindR=deltaR; + } + } + if(mindR<0.001 && nPassed>0) nPassed=nPassed-1; } - pass = (nPassed >= m_ptThresholds.size()); - ATH_MSG_DEBUG("Found muons: " << nPassed << ", passed = " << pass); + if(nPassed >= m_ptThresholds.size()) pass=true; + ATH_MSG_DEBUG("Found muons: " << nPassed << ", mindR(calotag,cb) "<<mindR<<", passed = " << pass); return HLT::OK; } @@ -118,3 +187,10 @@ HLT::ErrorCode TrigMuonCaloTagHypo::hltFinalize() return HLT::OK; } + +float TrigMuonCaloTagHypo::getdphi(float phi1, float phi2){ + float dphi = phi1-phi2; + if(dphi > TMath::Pi()) dphi -= TMath::TwoPi(); + if(dphi < -1*TMath::Pi()) dphi += TMath::TwoPi(); + return fabs(dphi); +} diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerHypo.cxx index a35ff2bd6db3fde97f0c10b4de1ba8b19c0934fd..dd66440e93bbecc8746aa736832f3e880bf9618b 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerHypo.cxx @@ -6,12 +6,15 @@ #include "xAODMuon/MuonContainer.h" #include "CLHEP/Units/SystemOfUnits.h" +#include "xAODEventInfo/EventInfo.h" class ISvcLocator; TrigMuonEFCombinerHypo::TrigMuonEFCombinerHypo(const std::string & name, ISvcLocator* pSvcLocator): - HLT::HypoAlgo(name, pSvcLocator){ - declareProperty("AcceptAll", m_acceptAll=true); + HLT::HypoAlgo(name, pSvcLocator), + m_lumiTool("LuminosityTool/LuminosityTool") +{ + declareProperty("AcceptAll", m_acceptAll=true); declareProperty("RejectCBmuons", m_rejectCBmuons=false); std::vector<float> def_bins; def_bins.push_back(0); @@ -20,9 +23,12 @@ TrigMuonEFCombinerHypo::TrigMuonEFCombinerHypo(const std::string & name, ISvcLoc def_thrs.push_back(0.*CLHEP::GeV); declareProperty("PtBins", m_ptBins=def_bins); declareProperty("PtThresholds", m_ptThresholds=def_thrs); + declareProperty("LumiTool", m_lumiTool); declareMonitoredStdContainer("Pt", m_fex_pt); declareMonitoredStdContainer("Eta", m_fex_eta); declareMonitoredStdContainer("Phi", m_fex_phi); + declareMonitoredVariable("BCID", m_fex_bcid); + declareMonitoredVariable("Rate", m_fex_rate); m_bins = 0; } @@ -32,29 +38,28 @@ TrigMuonEFCombinerHypo::~TrigMuonEFCombinerHypo(){ HLT::ErrorCode TrigMuonEFCombinerHypo::hltInitialize(){ - if(m_acceptAll) { - msg() << MSG::INFO - << "Accepting all the events with not cut!" - << endmsg; - } else { - m_bins = m_ptBins.size() - 1; - if (m_bins != m_ptThresholds.size()) { - msg() << MSG::INFO << "bad thresholds setup .... exiting!" << endmsg; - return HLT::BAD_JOB_SETUP; - } - for (std::vector<float>::size_type i=0; i<m_bins;++i) { - msg() << MSG::INFO - << "bin " << m_ptBins[i] << " - " << m_ptBins[i+1] - << " with Pt Threshold of " << (m_ptThresholds[i])/CLHEP::GeV - << " CLHEP::GeV" << endmsg; - } - } - - msg() << MSG::INFO - << "Initialization completed successfully" - << endmsg; - - return HLT::OK; + if(m_acceptAll) { + ATH_MSG_INFO("Accepting all the events with not cut!"); + } else { + m_bins = m_ptBins.size() - 1; + if (m_bins != m_ptThresholds.size()) { + ATH_MSG_INFO("bad thresholds setup .... exiting!"); + return HLT::BAD_JOB_SETUP; + } + for (std::vector<float>::size_type i=0; i<m_bins;++i) { + ATH_MSG_INFO("bin " << m_ptBins[i] << " - " << m_ptBins[i+1] + << " with Pt Threshold of " << (m_ptThresholds[i])/CLHEP::GeV + << " CLHEP::GeV"); + } + } + if(m_lumiTool.retrieve().isFailure()){ + ATH_MSG_WARNING("Unable to retrieve luminosity tool"); + } + else{ + ATH_MSG_DEBUG("Sucessfully retrieved luminosty tool"); + } + ATH_MSG_INFO("Initialization completed successfully"); + return HLT::OK; } @@ -73,6 +78,8 @@ HLT::ErrorCode TrigMuonEFCombinerHypo::hltExecute(const HLT::TriggerElement* out m_fex_pt.clear(); m_fex_eta.clear(); m_fex_phi.clear(); + m_fex_rate=-1; + m_fex_bcid=-1; if(m_acceptAll) { pass = true; @@ -150,5 +157,27 @@ HLT::ErrorCode TrigMuonEFCombinerHypo::hltExecute(const HLT::TriggerElement* out }//loop on muons pass = result; + + //Add some per bcid monitoring of rates to see if there are effects from RF detuning + const xAOD::EventInfo* pEvent(0); + if(store()->retrieve(pEvent).isFailure()){ + ATH_MSG_ERROR("Cannot find xAODEventInfo object"); + return HLT::ERROR; + } + + double crosssection=1.0; + //cross sections are ~ constant vs luminosity - taken from run 311481 (and are approximate + // we only care how much the rates differ between bcids, so this should be enough). + if(m_ptThresholds[0]/CLHEP::GeV>3.5 && m_ptThresholds[0]/CLHEP::GeV<4.0) crosssection=65.; + if(m_ptThresholds[0]/CLHEP::GeV>5.5 && m_ptThresholds[0]/CLHEP::GeV<6.0) crosssection=55.; + if(m_ptThresholds[0]/CLHEP::GeV>13.0 && m_ptThresholds[0]/CLHEP::GeV<14.0) crosssection=45.; + if(m_ptThresholds[0]/CLHEP::GeV>25.0 && m_ptThresholds[0]/CLHEP::GeV<26.0) crosssection=30.; + if(pass==true){ + m_fex_bcid = pEvent->bcid(); + + if(m_lumiTool){ + m_fex_rate = m_lumiTool->lbLuminosityPerBCID()*crosssection; + } + } return HLT::OK; } diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerMultiHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerMultiHypo.cxx index 984c0eb9aab4be928735900e38e481e5c829764a..5d31d880acd527bdcde4fadef075cef4c0386733 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerMultiHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFCombinerMultiHypo.cxx @@ -38,7 +38,6 @@ TrigMuonEFCombinerMultiHypo::TrigMuonEFCombinerMultiHypo(const std::string & nam m_bins = 0; m_mult = 0; m_storeGate=0; - } TrigMuonEFCombinerMultiHypo::~TrigMuonEFCombinerMultiHypo(){ @@ -87,8 +86,8 @@ HLT::ErrorCode TrigMuonEFCombinerMultiHypo::hltInitialize(){ return HLT::BAD_JOB_SETUP; } - msg() << MSG::INFO << "DoNscan: "<<m_nscan<<endmsg; + ATH_MSG_INFO("DoNscan: "<<m_nscan); } msg() << MSG::INFO diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorHypo.cxx index 1b24a88c052aa7d7da4568ba1bdce237e3fc935e..bfdadbcf22528564356b0f6da8cf6863829742e7 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorHypo.cxx @@ -17,6 +17,7 @@ class ISvcLocator; TrigMuonEFExtrapolatorHypo::TrigMuonEFExtrapolatorHypo(const std::string & name, ISvcLocator* pSvcLocator): HLT::HypoAlgo(name, pSvcLocator){ declareProperty("AcceptAll", m_acceptAll=true); + declareProperty("MSonlyCut", m_msonlyCut=false); std::vector<float> def_bins; def_bins.push_back(0); def_bins.push_back(9.9); @@ -40,36 +41,37 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltInitialize(){ if(m_acceptAll) { - msg() << MSG::INFO - << "Accepting all the events with not cut!" - << endmsg; + ATH_MSG_INFO("Accepting all the events with not cut!"); } else { m_bins = m_ptBins.size() - 1; if (m_bins != m_ptThresholds.size()) { - msg() << MSG::INFO << "bad thresholds setup .... exiting!" << endmsg; + ATH_MSG_INFO("bad thresholds setup .... exiting!"); return HLT::BAD_JOB_SETUP; // msg() << MSG::INFO // << "current hypo implementation is dummy" << endmsg; } for (std::vector<float>::size_type i=0; i<m_bins;++i) { - msg() << MSG::INFO - << "bin " << m_ptBins[i] << " - " << m_ptBins[i+1] - << " with Pt Threshold of " << (m_ptThresholds[i])/CLHEP::GeV - << " GeV" << endmsg; + ATH_MSG_INFO("bin " << m_ptBins[i] << " - " << m_ptBins[i+1] + << " with Pt Threshold of " << (m_ptThresholds[i])/CLHEP::GeV + << " CLHEP::GeV"); } } - msg() << MSG::INFO - << "Initialization completed successfully" - << endmsg; + if(m_msonlyCut) { + if(msgLvl() <= MSG::DEBUG) { + ATH_MSG_DEBUG("Apply GoodPrecisonLayers cut in MS-only triggers"); + } + } + + ATH_MSG_INFO("Initialization completed successfully"); return HLT::OK; } HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltFinalize() { - msg() << MSG::INFO << "in finalize()" << endmsg; + ATH_MSG_INFO("in finalize()"); return HLT::OK; } @@ -79,7 +81,8 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* m_storeGate = store(); - if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << "in execute()" << endmsg; + if(msgLvl() <= MSG::DEBUG) + ATH_MSG_DEBUG("in execute()"); //resetting the monitoring variables m_fex_pt.clear(); @@ -88,11 +91,7 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* if(m_acceptAll) { pass = true; - if(msgLvl() <= MSG::DEBUG) { - msg() << MSG::DEBUG - << "Accept property is set: taking all the events" - << endmsg; - } + ATH_MSG_DEBUG("Accept property is set: taking all the events"); return HLT::OK; } @@ -102,7 +101,7 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* bool debug = msgLvl() <= MSG::DEBUG; // Some debug output: - if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << "outputTE->ID(): " << outputTE->getId() << endmsg; + if(msgLvl() <= MSG::DEBUG) ATH_MSG_DEBUG("outputTE->ID(): " << outputTE->getId()); // will do hypo cuts here @@ -110,14 +109,14 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* const xAOD::MuonContainer* muonContainer(0); if(getFeature(outputTE, muonContainer)!=HLT::OK) { - if (debug) msg() << MSG::DEBUG << "no xAOD::MuonContainer Feature found" << endmsg; + if (debug) ATH_MSG_DEBUG("no xAOD::MuonContainer Feature found"); return HLT::MISSING_FEATURE; } else { if (!muonContainer) { - if (debug) msg() << MSG::DEBUG << "null xAOD::MuonContainer Feature found" << endmsg; + if (debug) ATH_MSG_DEBUG("null xAOD::MuonContainer Feature found"); return HLT::MISSING_FEATURE; } - if (debug) msg() << MSG::DEBUG << "vector of xAOD::MuonContainer found with size " << muonContainer->size() << endmsg; + if (debug) ATH_MSG_DEBUG("vector of xAOD::MuonContainer found with size " << muonContainer->size()); } for (unsigned int i=0; i<muonContainer->size(); i++){ @@ -126,7 +125,7 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* const xAOD::Muon* muon = muonContainer->at(i); if (!muon) { - if (debug) msg() << MSG::DEBUG << "No xAOD::Muon found." << endmsg; + if (debug) ATH_MSG_DEBUG("No xAOD::Muon found."); continue; } else { @@ -138,19 +137,27 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* if (!tr) { - if (debug) msg() << MSG::DEBUG << "No ExtrapolatedMuonSpectrometerTrackParticle found." << endmsg; + if (debug) ATH_MSG_DEBUG("No ExtrapolatedMuonSpectrometerTrackParticle found."); continue; } else { - if (debug) msg() << MSG::DEBUG - << "Retrieved ExtrapolatedMuonSpectrometerTrack track with abs pt " - << (*tr).pt()/CLHEP::GeV << " GeV " << endmsg; - + if (debug) + ATH_MSG_DEBUG("Retrieved ExtrapolatedMuonSpectrometerTrack track with abs pt " + << (*tr).pt()/CLHEP::GeV << " GeV"); + m_fex_pt.push_back(tr->pt()/CLHEP::GeV); float eta = tr->eta(); m_fex_eta.push_back(eta); m_fex_phi.push_back(tr->phi()); float absEta = fabs(eta); + if (m_msonlyCut) { + uint8_t nGoodPrcLayers(0); + if (!muon->summaryValue(nGoodPrcLayers, xAOD::numberOfGoodPrecisionLayers)){ + if (debug) ATH_MSG_DEBUG("No numberOfGoodPrecisionLayers variable foud."); + continue; + } + if(absEta > 1.05 && nGoodPrcLayers < 3) continue; + } float threshold = 0; for (std::vector<float>::size_type k=0; k<m_bins; ++k) { if (absEta > m_ptBins[k] && absEta <= m_ptBins[k+1]) threshold = m_ptThresholds[k]; @@ -158,10 +165,11 @@ HLT::ErrorCode TrigMuonEFExtrapolatorHypo::hltExecute(const HLT::TriggerElement* if (fabs(tr->pt())/CLHEP::GeV > (threshold/CLHEP::GeV)){ result = true; } - if(debug) msg() << MSG::DEBUG << " REGTEST muon pt is " << tr->pt()/CLHEP::GeV << " GeV " + if(debug) + ATH_MSG_DEBUG(" REGTEST muon pt is " << tr->pt()/CLHEP::GeV << " GeV " << " with Charge " << tr->charge() << " and threshold cut is " << threshold/CLHEP::GeV << " GeV" - << " so hypothesis is " << (result?"true":"false") << endmsg; + << " so hypothesis is " << (result?"true":"false")); } } diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorMultiHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorMultiHypo.cxx index 1bbd0e50708f3395497737a4030dc913394cb0bc..1fd0c633fc0875f8eefc845a446d6f8b338e488b 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorMultiHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFExtrapolatorMultiHypo.cxx @@ -86,7 +86,7 @@ HLT::ErrorCode TrigMuonEFExtrapolatorMultiHypo::hltInitialize(){ return HLT::BAD_JOB_SETUP; } - msg() << MSG::INFO << "DoNscan: "<<m_nscan<<endmsg; + ATH_MSG_INFO("DoNscan: "<<m_nscan); } diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFSegmentHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFSegmentHypo.cxx index 494f6b0c4560f8e057e3620a24c93122003a5081..04fbe6da7d5e5c0d8adf6020a7dbf1d629fec125 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFSegmentHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFSegmentHypo.cxx @@ -62,13 +62,13 @@ HLT::ErrorCode TrigMuonEFSegmentHypo::hltFinalize() HLT::ErrorCode TrigMuonEFSegmentHypo::hltExecute(const HLT::TriggerElement* outputTE, bool& pass){ + ATH_MSG_DEBUG("in execute()"); //resetting the monitoring variables m_fex_pt.clear(); m_fex_eta.clear(); m_fex_phi.clear(); - if(m_acceptAll) { pass = true; ATH_MSG_DEBUG("Accept property is set: taking all the events"); @@ -91,18 +91,14 @@ HLT::ErrorCode TrigMuonEFSegmentHypo::hltExecute(const HLT::TriggerElement* outp if(debug) ATH_MSG_DEBUG("Found MuonContainer, n(muons) = " << muonContainer->size()); // loop on the muons within the RoI - unsigned int j=0; for(auto muon : *muonContainer) { - - ATH_MSG_DEBUG("Looking at muon " << j++ ); const xAOD::Muon::MuonType muontype = muon->muonType(); ATH_MSG_DEBUG("Muon type " << (int)muontype << " is seg: " << (muontype == xAOD::Muon::MuonType::SegmentTagged)); - if(muontype == xAOD::Muon::MuonType::Combined || muontype == xAOD::Muon::MuonType::SegmentTagged ) { // combined or segment tagged muon - + if(muontype == xAOD::Muon::MuonType::SegmentTagged ) { //check latest changes for combined takking // apparently match chi2 not stored yet? //float matchchi2(-1); //muon->parameter(matchchi2, xAOD::Muon::msInnerMatchChi2); - if (debug) ATH_MSG_DEBUG("Retrieved muon with pt " << muon->pt()/CLHEP::GeV << " GeV."); //Match chi2 = " << matchchi2 << endmsg; + if (debug) ATH_MSG_DEBUG("Retrieved muon with pt " << muon->pt()/CLHEP::GeV << " GeV."); //Match chi2 = " << matchchi2 << endreq; m_fex_pt.push_back(muon->pt()/CLHEP::GeV); const float eta = muon->eta(); @@ -128,10 +124,9 @@ HLT::ErrorCode TrigMuonEFSegmentHypo::hltExecute(const HLT::TriggerElement* outp } } if(debug) ATH_MSG_DEBUG(" REGTEST muon pt is " << muon->pt()/CLHEP::GeV << " CLHEP::GeV " - //<< " with Charge " << muon->Charge() - << " and threshold cut is " << threshold/CLHEP::GeV << " CLHEP::GeV" + << " and threshold cut is " << threshold/CLHEP::GeV << " CLHEP::GeV" << " so hypothesis is " << (hypo_ok?"true":"false")); - }//combined or segment tagged muon + } else{ if(m_rejectCBmuons){ result = true; diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationHypo.cxx index f49287dd867d3ae04444a2702e89ef5f2aec54b8..09d26332ed05c32a533b1df13ea05d848c27852e 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationHypo.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationHypo.cxx @@ -43,31 +43,24 @@ TrigMuonEFTrackIsolationHypo::~TrigMuonEFTrackIsolationHypo() { HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltInitialize(){ if(m_acceptAll) { - msg() << MSG::INFO - << "Accepting all the events with not cut!" - << endmsg; + ATH_MSG_INFO("Accepting all the events with not cut!"); } else { if(m_ptcone02_cut < 0.0 && m_ptcone03_cut < 0.0) { - msg() << MSG::FATAL - << "Configured to apply cuts, but not cut was specified" << endmsg; + ATH_MSG_FATAL("Configured to apply cuts, but not cut was specified"); return HLT::BAD_JOB_SETUP; } if(m_ptcone02_cut > 0.0) { if(m_abscut) { - msg() << MSG::INFO - << "Requiring sum pT in 0.2 cone < " << m_ptcone02_cut.value() << " MeV" << endmsg; + ATH_MSG_INFO("Requiring sum pT in 0.2 cone < " << m_ptcone02_cut.value() << " MeV"); } else { - msg() << MSG::INFO - << "Requiring sum pT in 0.2 cone / muon pT < " << m_ptcone02_cut.value() << endmsg; + ATH_MSG_INFO("Requiring sum pT in 0.2 cone / muon pT < " << m_ptcone02_cut.value()); }//relative cut } if(m_ptcone03_cut > 0.0) { if(m_abscut) { - msg() << MSG::INFO - << "Requiring sum pT in 0.3 cone < " << m_ptcone03_cut.value() << " MeV" << endmsg; + ATH_MSG_INFO("Requiring sum pT in 0.3 cone < " << m_ptcone03_cut.value() << " MeV"); } else { - msg() << MSG::INFO - << "Requiring sum pT in 0.3 cone / muon pT < " << m_ptcone03_cut.value() << endmsg; + ATH_MSG_INFO("Requiring sum pT in 0.3 cone / muon pT < " << m_ptcone03_cut.value()); }//relative cut }//cut on 0.3 cone } @@ -91,15 +84,14 @@ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltFinalize() */ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltExecute(const HLT::TriggerElement* outputTE, bool& pass) { - if(msgLvl() <= MSG::DEBUG) msg() << MSG::DEBUG << "in execute()" << endmsg; + if(msgLvl() <= MSG::DEBUG) ATH_MSG_DEBUG("in execute()"); pass = false; // fail by default if(m_acceptAll) { pass = true; if(msgLvl() <= MSG::DEBUG) { - msg() << MSG::DEBUG - << "Accept property is set: taking all the events" << endmsg; + ATH_MSG_DEBUG("Accept property is set: taking all the events"); } return HLT::OK; }//acceptAll @@ -107,12 +99,12 @@ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltExecute(const HLT::TriggerElemen const bool debug = msgLvl() <= MSG::DEBUG; // Some debug output: - if(debug) msg() << MSG::DEBUG << "outputTE->ID(): " << outputTE->getId() << endmsg; + if(debug) ATH_MSG_DEBUG("outputTE->ID(): " << outputTE->getId()); // Get the muon container from the outputTE const xAOD::MuonContainer* muonContainer(0); if(getFeature(outputTE, muonContainer)!=HLT::OK || muonContainer==0) { - if (debug) msg() << MSG::DEBUG << "no MuonContainer Feature found" << endmsg; + if (debug) ATH_MSG_DEBUG("no MuonContainer Feature found"); return HLT::MISSING_FEATURE; } @@ -121,13 +113,12 @@ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltExecute(const HLT::TriggerElemen // result of the hypo bool result = false; - // loop over objects (muons) in the container for(auto muon : *muonContainer) { const xAOD::Muon::MuonType muontype = muon->muonType(); - if(m_requireCombined && muontype != xAOD::Muon::MuonType::Combined ) continue; - else if(muontype != xAOD::Muon::MuonType::MuonStandAlone && muontype != xAOD::Muon::MuonType::Combined) continue; + if(m_requireCombined && muontype != xAOD::Muon::MuonType::Combined && muontype != xAOD::Muon::MuonType::SegmentTagged ) continue; + else if(muontype != xAOD::Muon::MuonType::MuonStandAlone && muontype != xAOD::Muon::MuonType::Combined && muontype != xAOD::Muon::MuonType::SegmentTagged) continue; float ptcone20(-1), ptcone30(-1); bool res = false; @@ -168,9 +159,7 @@ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltExecute(const HLT::TriggerElemen } if(debug) { - msg(MSG::DEBUG) << "Muon with pT cone 0.2 = " << ptcone20 - << ", pT cone 0.3 = " << ptcone30 - << " so result for this muon is " << (goodmu?"true":"false") << endmsg; + ATH_MSG_DEBUG("Muon with pT cone 0.2 = " << ptcone20 << ", pT cone 0.3 = " << ptcone30 << " so result for this muon is " << (goodmu?"true":"false")); } }//absolute cut else { //relative cut @@ -187,9 +176,7 @@ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltExecute(const HLT::TriggerElemen } if(debug) { - msg(MSG::DEBUG) << "Muon with pT cone 0.2 / pt = " << ptcone20/mupt - << ", pT cone 0.3 / pt = " << ptcone30/mupt - << " so result for this muon is " << (goodmu?"true":"false") << endmsg; + ATH_MSG_DEBUG("Muon with pT cone 0.2 / pt = " << ptcone20/mupt << ", pT cone 0.3 / pt = " << ptcone30/mupt << " so result for this muon is " << (goodmu?"true":"false")); } }//relative cut @@ -201,15 +188,14 @@ HLT::ErrorCode TrigMuonEFTrackIsolationHypo::hltExecute(const HLT::TriggerElemen }//muon passed }//loop over isolation objects - if(debug) { - msg(MSG::DEBUG) << "Algo result = " << (result?"true":"false") << endmsg; - } + if(debug) + ATH_MSG_DEBUG("Algo result = " << (result?"true":"false")); pass = result; - + // store TrigPassBits result if ( attachFeature(outputTE, xBits.release(),"passbits") != HLT::OK ) { - msg() << MSG::ERROR << "Could not store TrigPassBits! " << endmsg; + ATH_MSG_ERROR("Could not store TrigPassBits! "); } return HLT::OK; diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationMultiHypo.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationMultiHypo.cxx new file mode 100644 index 0000000000000000000000000000000000000000..a4b20c99241eaa095b2e269c538afe90a00895c5 --- /dev/null +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/TrigMuonEFTrackIsolationMultiHypo.cxx @@ -0,0 +1,211 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#include <algorithm> +#include "TrigMuonHypo/TrigMuonEFTrackIsolationMultiHypo.h" + +#include "xAODMuon/MuonContainer.h" + +#include "xAODTrigger/TrigPassBits.h" + +class ISvcLocator; + +/** + * Constructor. + * Declare variables to get from job options and + * the monitored variables. + */ +TrigMuonEFTrackIsolationMultiHypo::TrigMuonEFTrackIsolationMultiHypo(const std::string & name, ISvcLocator* pSvcLocator): + HLT::HypoAlgo(name, pSvcLocator){ + + declareProperty("AcceptAll", m_acceptAll=true); + declareProperty("DoAbsCut", m_abscut=true); //true for absolute cuts, false for sumpt/pt + declareProperty("useVarIso", m_useVarIso=false); //true for offline isolation variables, false for online + declareProperty("RequireCombinedMuon", m_requireCombined=true); // true unless doing ms-only iso + declareProperty("PtCone02Cut",m_ptcone02_cut=-1.0); //convention is < 0 means don't cut + declareProperty("PtCone03Cut",m_ptcone03_cut=-1.0); //convention is < 0 means don't cut + declareProperty("PtThresholds",m_ptThresholds); //convention is < 0 means don't cut + + declareMonitoredStdContainer("PtCone02", m_fex_ptcone02, IMonitoredAlgo::AutoClear); + declareMonitoredStdContainer("PtCone03", m_fex_ptcone03, IMonitoredAlgo::AutoClear); +} + +/** + * Destructor. + */ +TrigMuonEFTrackIsolationMultiHypo::~TrigMuonEFTrackIsolationMultiHypo() {} + +/** + * Initialize the algorithm. + * Here we print out the cut values. + */ +HLT::ErrorCode TrigMuonEFTrackIsolationMultiHypo::hltInitialize(){ + + if(m_acceptAll) { + ATH_MSG_INFO("Accepting all the events with not cut!"); + } else { + if(m_ptcone02_cut < 0.0 && m_ptcone03_cut < 0.0) { + ATH_MSG_FATAL("Configured to apply cuts, but not cut was specified"); + return HLT::BAD_JOB_SETUP; + } + if(m_ptcone02_cut > 0.0) { + if(m_abscut) { + ATH_MSG_INFO("Requiring sum pT in 0.2 cone < " << m_ptcone02_cut.value() << " MeV"); + } else { + ATH_MSG_INFO("Requiring sum pT in 0.2 cone / muon pT < " << m_ptcone02_cut.value()); + }//relative cut + } + if(m_ptcone03_cut > 0.0) { + if(m_abscut) { + ATH_MSG_INFO("Requiring sum pT in 0.3 cone < " << m_ptcone03_cut.value() << " MeV"); + } else { + ATH_MSG_INFO("Requiring sum pT in 0.3 cone / muon pT < " << m_ptcone03_cut.value()); + }//relative cut + }//cut on 0.3 cone + } + + + return HLT::OK; +} + +/** + * Finalize the algorithm - nothing to do here yet. + */ +HLT::ErrorCode TrigMuonEFTrackIsolationMultiHypo::hltFinalize() +{ + return HLT::OK; +} + +/** + * Execute the algorithm. + * Here we apply the cuts to the muon(s). + * The hypo passes if at least one muon passes the cuts. + */ +HLT::ErrorCode TrigMuonEFTrackIsolationMultiHypo::hltExecute(const HLT::TriggerElement* outputTE, bool& pass) { + + if(msgLvl() <= MSG::DEBUG) ATH_MSG_DEBUG("in execute()"); + + pass = false; // fail by default + + if(m_acceptAll) { + pass = true; + if(msgLvl() <= MSG::DEBUG) { + ATH_MSG_DEBUG("Accept property is set: taking all the events"); + } + return HLT::OK; + }//acceptAll + + const bool debug = msgLvl() <= MSG::DEBUG; + + // Some debug output: + if(debug) ATH_MSG_DEBUG("outputTE->ID(): " << outputTE->getId()); + + // Get the muon container from the outputTE + const xAOD::MuonContainer* muonContainer(0); + if(getFeature(outputTE, muonContainer)!=HLT::OK || muonContainer==0) { + if (debug) ATH_MSG_DEBUG("no MuonContainer Feature found"); + return HLT::MISSING_FEATURE; + } + + // make pass bits object to store the result per muon + std::unique_ptr<xAOD::TrigPassBits> xBits = xAOD::makeTrigPassBits<xAOD::MuonContainer>(muonContainer); + std::deque<float> passedPts; + for(auto muon : *muonContainer) { + + const xAOD::Muon::MuonType muontype = muon->muonType(); + if(m_requireCombined && muontype != xAOD::Muon::MuonType::Combined && muontype != xAOD::Muon::MuonType::SegmentTagged ) continue; + else if(muontype != xAOD::Muon::MuonType::MuonStandAlone && muontype != xAOD::Muon::MuonType::Combined && muontype != xAOD::Muon::MuonType::SegmentTagged) continue; + + float ptcone20(-1), ptcone30(-1); + bool res = false; + if(m_useVarIso){ + res = muon->isolation(ptcone20, xAOD::Iso::IsolationType::ptvarcone20); + if(!res) + ATH_MSG_WARNING("Problem accessing ptvarcone20, " << ptcone20); + } + else{ + res = muon->isolation(ptcone20, xAOD::Iso::IsolationType::ptcone20); + if(!res) + ATH_MSG_WARNING("Problem accessing ptcone20, " << ptcone20); + } + if(m_useVarIso){ + res = muon->isolation(ptcone30, xAOD::Iso::IsolationType::ptvarcone30); + if(!res) + ATH_MSG_WARNING("Problem accessing ptvarcone30, " << ptcone30); + } + else{ + res = muon->isolation(ptcone30, xAOD::Iso::IsolationType::ptcone30); + if(!res) + ATH_MSG_WARNING("Problem accessing ptcone30, " << ptcone30); + } + + // monitoring + m_fex_ptcone02.push_back(ptcone20/1000.0); + m_fex_ptcone03.push_back(ptcone30/1000.0); + + bool goodmu=true; + + //absolute cut + if(m_abscut) { + if(m_ptcone02_cut > 0.0) { + if( ptcone20 >= m_ptcone02_cut ) goodmu=false; + } + if(m_ptcone03_cut > 0.0) { + if( ptcone30 >= m_ptcone03_cut ) + goodmu=false; + } + + if(debug) { + ATH_MSG_DEBUG("Muon with pT cone 0.2 = " << ptcone20 << ", pT cone 0.3 = " << ptcone30 << " so result for this muon is " << (goodmu?"true":"false")); + } + }//absolute cut + else { //relative cut + + const double mupt=muon->pt(); + ATH_MSG_DEBUG("Muon with pT " << mupt); + + // now we can make the cut(s) + if(m_ptcone02_cut > 0.0) { + if( ptcone20/mupt >= m_ptcone02_cut ) goodmu=false; + } + if(m_ptcone03_cut > 0.0) { + if( ptcone30/mupt >= m_ptcone03_cut ) goodmu=false; + } + + if(debug) { + ATH_MSG_DEBUG("Muon with pT cone 0.2 / pt = " << ptcone20/mupt << ", pT cone 0.3 / pt = " << ptcone30/mupt << " so result for this muon is " << (goodmu?"true":"false")); + } + + }//relative cut + + + if(goodmu) { + passedPts.push_back(muon->pt()); + xBits->markPassing(muon, muonContainer,true); // set bit for this muon in TrigPassBits mask + }//muon passed + }//loop over isolation objects + + pass = checkThresholds(passedPts); + if(debug) { + ATH_MSG_DEBUG("Algo result = " << (pass?"true":"false")); + } + + // store TrigPassBits result + if ( attachFeature(outputTE, xBits.release(),"passbits") != HLT::OK ) { + ATH_MSG_ERROR("Could not store TrigPassBits! "); + } + + return HLT::OK; +}//hltExecute + +bool TrigMuonEFTrackIsolationMultiHypo::checkThresholds(std::deque<float>& passedPts){ + if(passedPts.size() < m_ptThresholds.size()) + return false; + std::sort(passedPts.begin(), passedPts.end(), std::greater<>()); + for(size_t i = 0; i < m_ptThresholds.size(); ++i){ + if(passedPts.at(i) < m_ptThresholds.at(i)) + return false; + } + return true; +} diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/src/components/TrigMuonHypo_entries.cxx b/Trigger/TrigHypothesis/TrigMuonHypo/src/components/TrigMuonHypo_entries.cxx index 0013e9f1e62f1ba8c3dd217f9e692c921e91a51c..f8e7abb472df74ef597c0c1e0b0ae6e79c68511c 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypo/src/components/TrigMuonHypo_entries.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypo/src/components/TrigMuonHypo_entries.cxx @@ -22,6 +22,7 @@ #include "TrigMuonHypo/TrigMuonEFCombinerHypo.h" #include "TrigMuonHypo/TrigMuonEFCombinerMultiHypo.h" #include "TrigMuonHypo/TrigMuonEFSegmentHypo.h" +#include "TrigMuonHypo/TrigMuonEFTrackIsolationMultiHypo.h" #include "TrigMuonHypo/TrigMuonEFTrackIsolationHypo.h" #include "TrigMuonHypo/TrigMuonEFTrackIsolationHypoAlg.h" #include "TrigMuonHypo/TrigMuonEFTrackIsolationHypoTool.h" @@ -69,6 +70,7 @@ DECLARE_COMPONENT( TrigMuonEFExtrapolatorMultiHypo ) DECLARE_COMPONENT( TrigMuonEFCombinerHypo ) DECLARE_COMPONENT( TrigMuonEFCombinerMultiHypo ) DECLARE_COMPONENT( TrigMuonEFSegmentHypo ) +DECLARE_COMPONENT( TrigMuonEFTrackIsolationMultiHypo ) DECLARE_COMPONENT( TrigMuonEFTrackIsolationHypo ) DECLARE_COMPONENT( TrigMuonEFTrackIsolationHypoAlg ) DECLARE_COMPONENT( TrigMuonEFTrackIsolationHypoTool ) @@ -91,4 +93,3 @@ DECLARE_COMPONENT( TrigMuonEFCombinerHypoAlg ) DECLARE_COMPONENT( TrigMuonEFCombinerHypoTool ) DECLARE_COMPONENT( TrigMuonCaloTagHypo ) DECLARE_COMPONENT( TrigMuonIDTrackMultiHypo ) - diff --git a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/HLTBjetMonTool.cxx b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/HLTBjetMonTool.cxx index e1be1ca2ce3e8ef9800771f4d165e4dacc9fafb6..2bae8b937c36bd8b73405c1607abdfa2a58fc612 100755 --- a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/HLTBjetMonTool.cxx +++ b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/HLTBjetMonTool.cxx @@ -236,7 +236,6 @@ StatusCode HLTBjetMonTool::book(){ ATH_MSG_INFO(" Chain Name sizes - Bjet: " << size_TriggerChainBjet << " MuJet: " << size_TriggerChainMujet ); if ( (size_TriggerChainBjet+size_TriggerChainMujet) <= 0) { ATH_MSG_INFO( " No trigger chain is configured for this run ==> Stop monitoring " ); - // Not really a failure return StatusCode::FAILURE; } for (int i =0; i<size_TriggerChainBjet; i++){ @@ -759,6 +758,7 @@ StatusCode HLTBjetMonTool::book(){ // Temporary work-around to retrieve online PV for FTK chains suggested by John Baines 2017/09/12 // Dummy vertices not treated here for the moment + /* if (FTKchain) { const xAOD::VertexContainer * onlinepvFTK = 0; if ( evtStore()->contains<xAOD::VertexContainer>("HLT_xAOD__VertexContainer_PrimVertexFTK") ) { @@ -778,7 +778,8 @@ StatusCode HLTBjetMonTool::book(){ } // not onlinepvFTK->empty() } // if contains } // FTK chain - + */ + Trig::FeatureContainer fc = m_trigDec->features(trigItem); const std::vector< Trig::Combination >& bjetCombs = fc.getCombinations(); ATH_MSG_DEBUG("RETRIEVED " << bjetCombs.size() << " COMBINATIONS FOR " << trigItem); diff --git a/Trigger/TrigMonitoring/TrigCostMonitor/TrigCostMonitor/TrigCostRun.h b/Trigger/TrigMonitoring/TrigCostMonitor/TrigCostMonitor/TrigCostRun.h index 5fc62a5cbb5b4672fb1eb8a6dc742828f815a686..59808ed621cfadb19f8e604c8893dcb574e252ec 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitor/TrigCostMonitor/TrigCostRun.h +++ b/Trigger/TrigMonitoring/TrigCostMonitor/TrigCostMonitor/TrigCostRun.h @@ -66,7 +66,8 @@ private: ~ReadHLTResult() {} bool ProcessEvent(ServiceHandle<StoreGateSvc> &storeGate, - ToolHandle<HLT::Navigation> &navigation); + ToolHandle<HLT::Navigation> &navigation, + ToolHandle<Trig::ITrigNtTool> &confTool); void PrintInit(); void PrintEvent(); @@ -81,7 +82,13 @@ private: ToolHandle<HLT::Navigation> &navigation); bool ReadConfig(ServiceHandle<StoreGateSvc> &storeGate); - bool ReadEvent (ServiceHandle<StoreGateSvc> &storeGate); + bool ReadConfigDB(ServiceHandle<StoreGateSvc> &storeGate, + std::set<const TrigMonEvent*> trigMonEvents, + ToolHandle<Trig::ITrigNtTool> &confTool); + + bool ReadEvent (ServiceHandle<StoreGateSvc> &storeGate, + const bool gotConfigSG, + ToolHandle<Trig::ITrigNtTool> &confTool); MsgStream& log() const { return *msgStream; } @@ -115,6 +122,7 @@ private: unsigned countConfig; // Count all extracted TrigMonConfig unsigned resultPrint; // Count all fully printed results + std::set< std::pair<int,int> > exportedConfigs; // L1 and HLT keys of configurations which have already been exported to D3PD }; @@ -136,7 +144,9 @@ private: ToolHandleArray<Trig::ITrigNtTool> m_tools; ToolHandleArray<Trig::ITrigNtTool> m_toolsSave; - + + ToolHandle<Trig::ITrigNtTool> m_toolConf; //!< To read in TrigConf from the DB at T0 + // Variables ReadHLTResult m_readL2; // Helper class for reading L2 result ReadHLTResult m_readEF; // Helper class for reading EF result diff --git a/Trigger/TrigMonitoring/TrigCostMonitor/python/TrigCostMonitorConfig.py b/Trigger/TrigMonitoring/TrigCostMonitor/python/TrigCostMonitorConfig.py index 5797c027336d4cd39d640986b9ceccf4b4b62acc..5f4d33dbb6a7a2eded71e5b0da01ed603b84db2d 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitor/python/TrigCostMonitorConfig.py +++ b/Trigger/TrigMonitoring/TrigCostMonitor/python/TrigCostMonitorConfig.py @@ -56,7 +56,7 @@ def prepareCostTool(target): tool.monitoringTarget = target tool.purgeCostStream = True # Remove cost stream if no data to save tool.writeAlways = False # This is set to True by postSetupCostForCAF() - tool.writeConfig = True # This should default to false for online (why?) [TODO] put to true for tests + tool.writeConfig = False # Now know why this should be false online, consumes too much bandwidth. Will read from COOL at T0 instead. tool.writeConfigDB = False # If reading from the DB, do we want to save the data? Should not be needed as EBWeight calc is in this package. tool.useConfDb = True # Ask toolConf to fetch online config from DB. Only used currently if running costoForCAF tool.costForCAF = False # This is set to True by postSetupCostForCAF() diff --git a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostRun.cxx b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostRun.cxx index 4bafda3d0e095237bfc5c1fd3f712445cd70ffb2..eb4c3144cf1055370a263d897949106520329a06 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostRun.cxx +++ b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostRun.cxx @@ -36,7 +36,8 @@ TrigCostRun::TrigCostRun(const std::string& name, m_timerSvc("TrigTimerSvc/TrigTimerSvc", name), m_navigation("HLT::Navigation/Navigation", this), m_tools(this), - m_toolsSave(this) + m_toolsSave(this), + m_toolConf("Trig::TrigNtConfTool/TrigNtConfTool", this) { declareProperty("navigation", m_navigation, "Trigger navigation tool"); declareProperty("tools", m_tools, "Tools array"); @@ -92,6 +93,8 @@ StatusCode TrigCostRun::initialize() CHECK(m_toolsSave.retrieve()); ATH_MSG_DEBUG("Retrieved " << m_toolsSave); + CHECK(m_toolConf.retrieve()); + ATH_MSG_DEBUG("Retrieved " << m_toolConf); // // Pass global configuration pointer to sub-tools @@ -180,9 +183,9 @@ StatusCode TrigCostRun::execute() m_navigation->reset(); } - m_readL2.ProcessEvent(evtStore(), m_navigation); - m_readEF.ProcessEvent(evtStore(), m_navigation); - m_readHLT.ProcessEvent(evtStore(), m_navigation); + m_readL2.ProcessEvent(evtStore(), m_navigation, m_toolConf); + m_readEF.ProcessEvent(evtStore(), m_navigation, m_toolConf); + m_readHLT.ProcessEvent(evtStore(), m_navigation, m_toolConf); if(m_printEvent) { m_readL2.PrintEvent(); @@ -342,7 +345,8 @@ TrigCostRun::ReadHLTResult::ReadHLTResult() //----------------------------------------------------------------------------- bool TrigCostRun::ReadHLTResult::ProcessEvent(ServiceHandle<StoreGateSvc> &storeGate, - ToolHandle<HLT::Navigation> &navigation) + ToolHandle<HLT::Navigation> &navigation, + ToolHandle<Trig::ITrigNtTool> &confTool) { // // Process one event: @@ -351,7 +355,8 @@ bool TrigCostRun::ReadHLTResult::ProcessEvent(ServiceHandle<StoreGateSvc> &store // - read TrigMonEvent collection // - read TrigMonConfig collection // - + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "In ProcessEvent" << endmsg; + if (doLevel == false) return false; vecConfig.clear(); @@ -373,8 +378,12 @@ bool TrigCostRun::ReadHLTResult::ProcessEvent(ServiceHandle<StoreGateSvc> &store // // Read events and configs // - ReadConfig(storeGate); - ReadEvent (storeGate); + const bool gotConfigSG = ReadConfig(storeGate); + // If gotConfigSG is false, we will try again to read in from the DB configs for cost mon events stored in this dummy-export-event + + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "gotConfigSG = " << gotConfigSG << endmsg; + + ReadEvent(storeGate, gotConfigSG, confTool); return true; } @@ -522,7 +531,7 @@ bool TrigCostRun::ReadHLTResult::ReadConfig(ServiceHandle<StoreGateSvc> &storeGa // const std::vector<uint32_t> &ids = ptr->getVarId(); if(!std::count(ids.begin(), ids.end(), appId)) { - // FIXME: const_cast changing SG + // FIXME: const_cast changing SG (TimM: 02-11-18, deprecated and not for use in Run3. Hence not fixing) const_cast<TrigMonConfig*>(ptr)->add<TrigConfVar>(TrigConfVar(appName, appId)); if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "Attaching App Name map to Config " << appName << " = " << appId << endmsg; } @@ -546,8 +555,72 @@ bool TrigCostRun::ReadHLTResult::ReadConfig(ServiceHandle<StoreGateSvc> &storeGa } //--------------------------------------------------------------------------------------- -bool TrigCostRun::ReadHLTResult::ReadEvent(ServiceHandle<StoreGateSvc> &storeGate) -{ +bool TrigCostRun::ReadHLTResult::ReadConfigDB(ServiceHandle<StoreGateSvc> &storeGate, + std::set<const TrigMonEvent*> trigMonEvents, + ToolHandle<Trig::ITrigNtTool> &confTool) { + // + // Read in trig config from data base + // If no configuration was exported from P1, then once we know what P1-monitoring-events + // are stored in this dummy-RAW-export event then we can load in these data from the DB. + // We put the config into storegate such that it can be then picked up by later tools & + // the D3PD maker + // + + // Write me to storegate so that I can get picked up by the ntuple tools + TrigMonConfigCollection* trigMonConfigCollection = new TrigMonConfigCollection(); + + // Look at all events in this container event which come from a different LB + for (const TrigMonEvent* trigMonEvent : trigMonEvents) { + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << " Get config for event " << trigMonEvent->getEvent() << " lumi " << trigMonEvent->getLumi() << endmsg; + + TrigMonConfig* trigMonConfig = new TrigMonConfig(); + + // Set the vital stats needed to identify the correct config + trigMonConfig->setEventID(trigMonEvent->getEvent(), + trigMonEvent->getLumi(), + trigMonEvent->getRun(), + trigMonEvent->getSec(), + trigMonEvent->getNanoSec()); + + confTool->SetOption(2); //2 = DBAccess + if (!confTool->Fill(trigMonConfig)) { // false indicates nothing changed + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << " Keys did not change in this LB, no need to update. (SMK:" << trigMonConfig->getMasterKey() << " L1:" << trigMonConfig->getLV1PrescaleKey() << " HLT:" << trigMonConfig->getHLTPrescaleKey() << ")" << endmsg; + delete trigMonConfig; + continue; + } + + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << " Loaded from DB-fetcher SMK:" << trigMonConfig->getMasterKey() << " L1:" << trigMonConfig->getLV1PrescaleKey() << " HLT:" << trigMonConfig->getHLTPrescaleKey() << endmsg; + + // Have we already saved this config? Note this is set in the next fn so we could end up with dupes here (not harmful) + std::pair<int,int> prescaleKeys( trigMonConfig->getLV1PrescaleKey(), trigMonConfig->getHLTPrescaleKey() ); + if ( exportedConfigs.find(prescaleKeys) != exportedConfigs.end() ) { + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << " Already exported for L1 " << trigMonConfig->getLV1PrescaleKey() << " HLT " << trigMonConfig->getHLTPrescaleKey() << endmsg; + delete trigMonConfig; + continue; + } + + // Add to the export list + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << " Adding to SG" << endmsg; + trigMonConfigCollection->push_back(trigMonConfig); + } + + + if(storeGate->record(trigMonConfigCollection, keyConfig).isFailure()) { + log() << MSG::ERROR << "Failed to write TrigMonEventCollection: " << keyConfig << endmsg; + for (TrigMonConfig* trigMonConfig : *trigMonConfigCollection) delete trigMonConfig; + delete trigMonConfigCollection; + return false; + } + + // No that we know it should (must!) be there - try again to read it! + return ReadConfig(storeGate); +} + +//--------------------------------------------------------------------------------------- +bool TrigCostRun::ReadHLTResult::ReadEvent(ServiceHandle<StoreGateSvc> &storeGate, + const bool gotConfigSG, + ToolHandle<Trig::ITrigNtTool> &confTool) { + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "In ReadEvent" << endmsg; if (doLevel == false) return false; @@ -575,16 +648,40 @@ bool TrigCostRun::ReadHLTResult::ReadEvent(ServiceHandle<StoreGateSvc> &storeGat std::vector<std::string> &vars = globalConfig->getVarName(); std::vector<uint32_t> &vals = globalConfig->getVarId(); + // If we did not get config data from the bytestream - fetch it for all the events we have in this carrier "event" + if (!gotConfigSG) { + std::set<uint32_t> lumiBlocks; // Only need one event per LB as a LB must have the same HLT config + std::set<const TrigMonEvent*> eventsToGetConfig; // Set of events we need to see if we have the config loaded for + for(TrigMonEventCollection::const_iterator it = eventCol->begin(); it != eventCol->end(); ++it) { + const TrigMonEvent *ptr = *it; + if(!ptr) continue; + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "Check Conf for event " << ptr->getEvent() << " lumi " << ptr->getLumi() << "? -> "; + + if (lumiBlocks.find(ptr->getLumi()) != lumiBlocks.end()) { + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "No already have an event from lumi " << ptr->getLumi() << endmsg; + continue; + } + + eventsToGetConfig.insert(ptr); + lumiBlocks.insert(ptr->getLumi()); + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "Yes checking this event" << endmsg; + } + // Read in all the configs for these events + ReadConfigDB(storeGate, eventsToGetConfig, confTool); + } + + // Second loop - read events for(TrigMonEventCollection::const_iterator it = eventCol->begin(); it != eventCol->end(); ++it) { const TrigMonEvent *ptr = *it; if(!ptr) continue; + if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "Extracting Cost Data for event " << ptr->getEvent() << endmsg; // Add my HLT node - // FIXME: const_cast changing SG + // FIXME: const_cast changing SG (TimM: 02-11-18, deprecated and not for use in Run3. Hence not fixing) const_cast<TrigMonEvent*>(ptr)->addWord(appId); //Backward compatability if(fill_size) { - // FIXME: const_cast changing SG + // FIXME: const_cast changing SG (TimM: 02-11-18, deprecated and not for use in Run3. Hence not fixing) const_cast<TrigMonEvent*>(ptr)->addVar(Trig::kEventBufferSize, float(eventCol->size())); fill_size = false; } @@ -614,7 +711,7 @@ bool TrigCostRun::ReadHLTResult::ReadEvent(ServiceHandle<StoreGateSvc> &storeGat log() << MSG::INFO << "Reading lumi length" << endmsg; m_readLumiBlock.updateLumiBlocks( ptr->getRun() ); } - // FIXME: const-cast changing SG + // FIXME: const-cast changing SG (TimM: 02-11-18, deprecated and not for use in Run3. Hence not fixing) const_cast<TrigMonEvent*>(ptr)->addVar(Trig::kEventLumiBlockLength, m_readLumiBlock.getLumiBlockLength(ptr->getLumi())); // 43 is lumi block length if(outputLevel <= MSG::DEBUG) log() << MSG::DEBUG << "Decorating Event:" << ptr->getEvent() << " LB:"<< ptr->getLumi()<<" with LB Length " << m_readLumiBlock.getLumiBlockLength( ptr->getLumi()) << endmsg; std::string msg = m_readLumiBlock.infos(); diff --git a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostTool.cxx b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostTool.cxx index bbe0e5f43a002ec2f3f010ff4b9c76935b097d7f..3c0df3534548a7c9ca3bf23fdef1070fe064e594 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostTool.cxx +++ b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigCostTool.cxx @@ -654,8 +654,8 @@ void TrigCostTool::ProcessConfig(xAOD::EventInfo* info) bool writeConfig = true; if (m_writeAlways == true) writeConfig = true; // First check WriteAlways flag - else if (m_writeConfig == false) writeConfig = false; // Next comes WriteConfig flag. This is normally true. else if (m_costForCAF == true) writeConfig = true; // If offline, then we don't have any other preconditions + else if (m_writeConfig == false) writeConfig = false; // Next comes WriteConfig flag. In 2017 this will be false online else if (m_obeyCostChainPS == true && m_costChainPS > 0) writeConfig = true; // Online, we normally only write out if we are in stable beams else if (m_obeyCostChainPS == true && m_costChainPS <= 0) writeConfig = false; diff --git a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtConfTool.cxx b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtConfTool.cxx index b650c10f1e70b5bfc47cd6f9169d4131dc7568e5..ed424e1312687292d4362b9e25774f75f0fc25ea 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtConfTool.cxx +++ b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtConfTool.cxx @@ -444,12 +444,11 @@ bool Trig::TrigNtConfTool::ReadFromDB(TrigMonConfig &confg, unsigned run, unsign { // Do we need to update? (note that if we do, this also sets m_currentKey) - if (GetKeysChangedFromDB(run, lumi) == false) { - return false; // Nothing to do - } - + const bool getChanged = GetKeysChangedFromDB(run, lumi); confg.setTriggerKeys(m_currentKey.getSMK(), m_currentKey.getLV1_PS(), m_currentKey.getHLT_PS()); + if (getChanged == false) return false; // Nothing to do + std::stringstream ss1, ss2, ss3; ss1 << m_currentKey.getSMK(); ss1 >> m_triggerMenuSetup; diff --git a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtEBWeightTool.cxx b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtEBWeightTool.cxx index 260f11dc7136bbef469962a336e1622e14122953..2936f67b88104cd49c3b0d4d3fe582ba8d43791c 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtEBWeightTool.cxx +++ b/Trigger/TrigMonitoring/TrigCostMonitor/src/TrigNtEBWeightTool.cxx @@ -101,7 +101,7 @@ bool Trig::TrigNtEBWeightTool::Fill(TrigMonConfig *config) m_chainEnabled[EBEnum] = true; // Start off assuming enabled // Get the L1 chain - // This depends on the _original_ menu. So for all data12, it will be L2_ even if reprocessed. + // This depends on the origional_ menu. So for all data12, it will be L2_ even if reprocessed. // Loop over all chains std::string EBChain = EBTriggerNameHLT[EB]; @@ -295,7 +295,7 @@ bool Trig::TrigNtEBWeightTool::Fill(TrigMonEvent &event) //if (L1Name.find("RD0") != std::string::npos || L1Name.find("RD1") != std::string::npos) continue; // Get if this L1 item *could* have passed the event. unless it's a random streamer then it must be after veto - //if ( _costData_L1.getIsL1PassedBeforePrescale( _L1Name ) == kFALSE ) continue; + //if ( costData_L1.getIsL1PassedBeforePrescale( L1Name ) == kFALSE ) continue; Int_t passedL1Raw = 0; for (unsigned i = 0; i < eventL1Items.size(); ++i) { if (eventL1Items.at(i).getCtpId() != L1CPTID) continue; diff --git a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/AlgorithmIdentifier.h b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/AlgorithmIdentifier.h new file mode 100644 index 0000000000000000000000000000000000000000..83114bc7913c09744fd6cc0c985a2890d9627c53 --- /dev/null +++ b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/AlgorithmIdentifier.h @@ -0,0 +1,54 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef TRIGCOSTMONITORMT_TRIGCOSTALGORITHMIDENTIFIER_H +#define TRIGCOSTMONITORMT_TRIGCOSTALGORITHMIDENTIFIER_H 1 + +#include <functional> +#include <string> + +/** + * @class AlgorithmIdentifier + * @brief Small structure to hold an algorithm's name and store, plus some details on its EventView. + */ +struct AlgorithmIdentifier { + AlgorithmIdentifier(const std::string& caller, const std::string& storeName, const int16_t viewID = -1) : + m_caller(caller), + m_store(storeName), + m_viewID(viewID), + m_hash(std::hash<std::string>{}(m_caller + m_store)) + {} + + const std::string m_caller; //!< Name of the algorithm + const std::string m_store; //!< Name of the algorithm's store. '0_StoreGateSvc_Impl' for main store. + const int16_t m_viewID; //!< If within an event view, then the ViewID. -1 if the main store. + const size_t m_hash; //!< Hash of algorithm + store. Event-unique quantity. +}; + +/** + * @class AlgorithmIdentifierHashCompare + * @brief Static hash and equal members as required by tbb::concurrent_hash_map + */ +struct AlgorithmIdentifierHashCompare { + /** + * @brief Hash function for AlgorithmIdentifier to assign bucket in hash map + * @param[in] ai AlgorithmIdentifier to calculate hash for + * @returns Cached std::hash<std::string> of algorithm name combined with algorithm store + */ + static size_t hash(const AlgorithmIdentifier& ai) { + return ai.m_hash; + } + + /** + * @brief Equality function for AlgorithmIdentifier to check for uniqueness within hash bucket + * @param[in] x First AlgorithmIdentifier to check equality of + * @param[in] y Second AlgorithmIdentifier to check equality of + * @returns True if both the algorithm name and algorithm store strings are identical + */ + static bool equal(const AlgorithmIdentifier& x, const AlgorithmIdentifier& y) { + return (x.m_caller == y.m_caller && x.m_store == y.m_store); + } +}; + +#endif // TRIGCOSTMONITORMT_TRIGCOSTALGORITHMIDENTIFIER_H diff --git a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.h b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.h index 7f10826cc5e1c10815fa07306080ea62b2ce0037..81a9e4f0e573e4a18b13c78d3e6c056f813798dd 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.h +++ b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.h @@ -8,68 +8,25 @@ #include <tbb/concurrent_hash_map.h> #include <tbb/concurrent_vector.h> +#include "AlgorithmIdentifier.h" + #include "TrigTimeAlgs/TrigTimeStamp.h" #include "GaudiKernel/EventContext.h" #include "AthViews/View.h" - /** - * @class TrigCostDataStore - * @brief Thread safe and multi-slot hash-map to cache TrigTimeStamp objects during event execution - * - * The TrigTimeStamp objects are later used to construct a trigger cost summary for the event. - * Data are partitioned based on the slot of the event context and both the name and store of the - * audited algorithm, these three pieces of data uniquely identify an algorithm execution. - */ +/** + * @class TrigCostDataStore + * @brief Thread safe and multi-slot hash-map to cache PAYLOAD objects/primitives during event execution + * + * The TrigTimeStamp objects are later used to construct a trigger cost summary for the event. + * Data are partitioned based on the slot of the event context and both the name and store of the + * audited algorithm, these three pieces of data uniquely identify an algorithm execution. + */ +template<typename PAYLOAD> class TrigCostDataStore { public: - /** - * @class AlgorithmIdentifier - * @brief Small structure to hold an algorithm's name and store, plus some details on its EventView. - */ - struct AlgorithmIdentifier { - AlgorithmIdentifier(const std::string& caller, const std::string& storeName, const int16_t viewID = -1) : - m_caller(caller), - m_store(storeName), - m_viewID(viewID), - m_hash(std::hash<std::string>{}(m_caller + m_store)) - {} - - const std::string m_caller; //!< Name of the algorithm - const std::string m_store; //!< Name of the algorithm's store. '0_StoreGateSvc_Impl' for main store. - const int16_t m_viewID; //!< If within an event view, then the ViewID. -1 if the main store. - const size_t m_hash; //!< Hash of algorithm + store. Event-unique quantity. - }; - - /** - * @class AlgorithmIdentifierHashCompare - * @brief Static hash and equal members as required by tbb::concurrent_hash_map - */ - struct AlgorithmIdentifierHashCompare { - /** - * @brief Hash function for AlgorithmIdentifier to assign bucket in hash map - * @param[in] ai AlgorithmIdentifier to calculate hash for - * @returns Cached std::hash<std::string> of algorithm name combined with algorithm store - */ - static size_t hash(const AlgorithmIdentifier& ai) { - return ai.m_hash; - } - - /** - * @brief Equality function for AlgorithmIdentifier to check for uniqueness within hash bucket - * @param[in] x First AlgorithmIdentifier to check equality of - * @param[in] y Second AlgorithmIdentifier to check equality of - * @returns True if both the algorithm name and algorithm store strings are identical - */ - static bool equal(const AlgorithmIdentifier& x, const AlgorithmIdentifier& y) { - return (x.m_caller == y.m_caller && x.m_store == y.m_store); - } - }; - - typedef tbb::concurrent_hash_map< AlgorithmIdentifier, TrigTimeStamp, AlgorithmIdentifierHashCompare> AITimerMapTBB; - typedef std::vector< AITimerMapTBB > VectorAITimerMapTBB; - /** * @brief Default constructor */ @@ -94,7 +51,7 @@ class TrigCostDataStore { * @param[in] payload The payload to record * @returns Success unless and out-of-range slot, then Failure */ - StatusCode insert(const EventContext& context, const std::string& caller, MsgStream& msg, const TrigTimeStamp& payload); + StatusCode insert(const EventContext& context, const std::string& caller, MsgStream& msg, const PAYLOAD& payload); /** * @brief Retrieve a payload from the map given an algorithm name and event context @@ -104,7 +61,7 @@ class TrigCostDataStore { * @param[out] payload Reference to payload to return * @returns Success if the payload was located, else Failure */ - StatusCode retrieve(const EventContext& context, const std::string& caller, MsgStream& msg, TrigTimeStamp& payload) const; + StatusCode retrieve(const EventContext& context, const std::string& caller, MsgStream& msg, PAYLOAD& payload) const; /** * @brief Retrieve a payload from the map given an algorithm name and store name. Note, this overrides the store in the context @@ -115,7 +72,7 @@ class TrigCostDataStore { * @param[out] payload Reference to payload to return * @returns Success if the payload was located, else Failure */ - StatusCode retrieve(const EventContext& context, const std::string& storeName, const std::string& caller, MsgStream& msg, TrigTimeStamp& payload) const; + StatusCode retrieve(const EventContext& context, const std::string& storeName, const std::string& caller, MsgStream& msg, PAYLOAD& payload) const; /** * @brief Retrieve a payload from the map given an AlgorithmIdentifier @@ -125,7 +82,7 @@ class TrigCostDataStore { * @param[out] payload Reference to payload to return * @returns Success if the payload was located, else Failure */ - StatusCode retrieve(const EventContext& context, const AlgorithmIdentifier& ai, MsgStream& msg, TrigTimeStamp& payload) const; + StatusCode retrieve(const EventContext& context, const AlgorithmIdentifier& ai, MsgStream& msg, PAYLOAD& payload) const; /** * @brief Clears all data stored in an event slot @@ -143,7 +100,9 @@ class TrigCostDataStore { * @param[out] end Return of iterator to end of map * @returns Success if the slot is populated, else Failure */ - StatusCode getIterators(const EventContext& context, MsgStream& msg, AITimerMapTBB::const_iterator& begin, AITimerMapTBB::const_iterator& end); + StatusCode getIterators(const EventContext& context, MsgStream& msg, + typename tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>::const_iterator& begin, + typename tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>::const_iterator& end); private: @@ -155,8 +114,10 @@ class TrigCostDataStore { */ StatusCode checkSlot(const size_t slot, MsgStream& msg) const; - VectorAITimerMapTBB m_store; //!< Underlying thread-safe data store for all slots: vector< hashmap< AlgorithmIdentifier, payload > > + std::vector< tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare> > m_store; //!< Underlying thread-safe data store for all slots: vector< hashmap< AlgorithmIdentifier, payload > > }; +#include "TrigCostDataStore.icc" + #endif // TRIGCOSTMONITORMT_TRIGCOSTDATASTORE_H diff --git a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.cxx b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.icc similarity index 55% rename from Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.cxx rename to Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.icc index 5e6e1bcd457cec2ace578dfe562d58277b83e640..0fc6c26ba54187b817bf9a1af923cf128d16b1d5 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.cxx +++ b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostDataStore.icc @@ -3,29 +3,29 @@ */ #include "AthenaKernel/ExtendedEventContext.h" - #include "AthenaBaseComps/AthCheckMacros.h" -#include "TrigCostDataStore.h" - ///////////////////////////////////////////////////////////////////////////// -StatusCode TrigCostDataStore::initialize(size_t nSlots) { - m_store.resize( nSlots, AITimerMapTBB() ); +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::initialize(size_t nSlots) { + m_store.resize( nSlots, tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>() ); return StatusCode::SUCCESS; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::insert(const EventContext& context, const std::string& caller, MsgStream& msg, const TrigTimeStamp& payload) { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::insert(const EventContext& context, const std::string& caller, MsgStream& msg, const PAYLOAD& payload) { ATH_CHECK( checkSlot(context.slot(), msg) ); - const IProxyDict* proxy = context.getExtension<Atlas::ExtendedEventContext>()->proxy(); + const IProxyDict* proxy = context.getExtension<Atlas::ExtendedEventContext>().proxy(); if (proxy == nullptr) return StatusCode::FAILURE; const SG::View* view = dynamic_cast<const SG::View*>(proxy); const int16_t viewID = (view == nullptr ? -1 : view->viewID()); const AlgorithmIdentifier ai(caller, proxy->name(), viewID); - AITimerMapTBB& mapReference = m_store.at( context.slot() ); - AITimerMapTBB::accessor a; + // tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>& + auto& mapReference = m_store.at( context.slot() ); + typename tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>::accessor a; if (mapReference.insert(a, std::move(ai))) { // Obtains lock on the key value 'name' until 'a' goes out of scope or calls release() a->second = payload; @@ -37,16 +37,18 @@ StatusCode TrigCostDataStore::insert(const EventContext& context, const std::str // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::retrieve(const EventContext& context, const std::string& caller, MsgStream& msg, TrigTimeStamp& payload) const { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::retrieve(const EventContext& context, const std::string& caller, MsgStream& msg, PAYLOAD& payload) const { // Use proxy from given context to get the store (the name of the IProxyDict) - const IProxyDict* proxy = context.getExtension<Atlas::ExtendedEventContext>()->proxy(); + const IProxyDict* proxy = context.getExtension<Atlas::ExtendedEventContext>().proxy(); if (proxy == nullptr) return StatusCode::FAILURE; return retrieve(context, proxy->name(), caller, msg, payload); } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::retrieve(const EventContext& context, const std::string& storeName, const std::string& caller, MsgStream& msg, TrigTimeStamp& payload) const { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::retrieve(const EventContext& context, const std::string& storeName, const std::string& caller, MsgStream& msg, PAYLOAD& payload) const { // Bundle supplied store name & caller into an AlgorithmIdentifier, rather than using the store from the context const AlgorithmIdentifier ai(caller, storeName); return retrieve(context, ai, msg, payload); @@ -54,10 +56,12 @@ StatusCode TrigCostDataStore::retrieve(const EventContext& context, const std::s // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::retrieve(const EventContext& context, const AlgorithmIdentifier& ai, MsgStream& msg, TrigTimeStamp& payload) const { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::retrieve(const EventContext& context, const AlgorithmIdentifier& ai, MsgStream& msg, PAYLOAD& payload) const { ATH_CHECK( checkSlot(context.slot(), msg) ); - const AITimerMapTBB& mapReference = m_store.at( context.slot() ); - AITimerMapTBB::const_accessor ca; // Does not lock other const_accessor + // const tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>& + const auto& mapReference = m_store.at( context.slot() ); + typename tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>::const_accessor ca; // Does not lock other const_accessor if (!mapReference.find(ca, ai)) { if (msg.level() <= MSG::DEBUG) { msg << MSG::DEBUG << "Cannot access key caller:'" << ai.m_caller << "' store:'" << ai.m_store << "' from the the TrigCostDataStore" << endmsg; @@ -71,9 +75,10 @@ StatusCode TrigCostDataStore::retrieve(const EventContext& context, const Algori // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::clear(const EventContext& context, MsgStream& msg) { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::clear(const EventContext& context, MsgStream& msg) { ATH_CHECK( checkSlot(context.slot(), msg) ); - AITimerMapTBB& mapReference = m_store.at( context.slot() ); + tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>& mapReference = m_store.at( context.slot() ); mapReference.clear(); if (msg.level() <= MSG::DEBUG) msg << MSG::DEBUG << "Clearing slot " << context.slot() << endmsg; return StatusCode::SUCCESS; @@ -81,9 +86,12 @@ StatusCode TrigCostDataStore::clear(const EventContext& context, MsgStream& msg) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::getIterators(const EventContext& context, MsgStream& msg, AITimerMapTBB::const_iterator& begin, AITimerMapTBB::const_iterator& end) { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::getIterators(const EventContext& context, MsgStream& msg, + typename tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>::const_iterator& begin, + typename tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>::const_iterator& end) { ATH_CHECK( checkSlot(context.slot(), msg) ); - const AITimerMapTBB& mapReference = m_store.at( context.slot() ); + const tbb::concurrent_hash_map< AlgorithmIdentifier, PAYLOAD, AlgorithmIdentifierHashCompare>& mapReference = m_store.at( context.slot() ); begin = mapReference.begin(); end = mapReference.end(); return StatusCode::SUCCESS; @@ -91,7 +99,8 @@ StatusCode TrigCostDataStore::getIterators(const EventContext& context, MsgStrea // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -StatusCode TrigCostDataStore::checkSlot(const size_t slot, MsgStream& msg) const { +template<typename PAYLOAD> +StatusCode TrigCostDataStore<PAYLOAD>::checkSlot(const size_t slot, MsgStream& msg) const { if (m_store.size() <= slot) { msg << MSG::FATAL << "Requesting slot " << slot << " but we only reserved for " << m_store.size() << " slots. Make sure setSlots() was called." << endmsg; return StatusCode::FAILURE; diff --git a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.cxx b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.cxx index 3caeec0d0bfa26d967f29d9e430392e3837d868f..8a4ab637e7281e17ee377b37a73cda8d33269f01 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.cxx +++ b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.cxx @@ -12,7 +12,8 @@ TrigCostMTSvc::TrigCostMTSvc(const std::string& name, ISvcLocator* pSvcLocator) base_class(name, pSvcLocator), // base_class = AthService m_eventMonitored(), m_algStartTimes(), -m_algStopTimes() +m_algStopTimes(), +m_algThreadID() { ATH_MSG_DEBUG("TrigCostMTSvc regular constructor"); } @@ -20,6 +21,7 @@ m_algStopTimes() // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * TrigCostMTSvc::~TrigCostMTSvc() { + // delete[] m_eventMonitored; ATH_MSG_DEBUG("TrigCostMTSvc destructor()"); } @@ -29,9 +31,11 @@ TrigCostMTSvc::~TrigCostMTSvc() { StatusCode TrigCostMTSvc::initialize() { ATH_MSG_DEBUG("TrigCostMTSvc initialize()"); ATH_MSG_INFO(m_eventSlots); - m_eventMonitored.resize( m_eventSlots, 0 ); + // We cannot have a vector here as atomics are not movable nor copyable. Unique heap arrays are supported by C++ + m_eventMonitored = std::make_unique< std::atomic<bool>[] >( m_eventSlots ); ATH_CHECK(m_algStartTimes.initialize(m_eventSlots)); ATH_CHECK(m_algStopTimes.initialize(m_eventSlots)); + ATH_CHECK(m_algThreadID.initialize(m_eventSlots)); return StatusCode::SUCCESS; } @@ -39,11 +43,13 @@ StatusCode TrigCostMTSvc::initialize() { StatusCode TrigCostMTSvc::startEvent(const EventContext& context, const bool enableMonitoring) { const bool monitoredEvent = (enableMonitoring || m_monitorAll); - m_eventMonitored.at( context.slot() ) = monitoredEvent; + ATH_CHECK(checkSlot(context)); + m_eventMonitored[ context.slot() ] = monitoredEvent; if (monitoredEvent) { // Empty transient thread-safe stores in preparation for recording this event's cost data ATH_CHECK(m_algStartTimes.clear(context, msg())); ATH_CHECK(m_algStopTimes.clear(context, msg())); + ATH_CHECK(m_algThreadID.clear(context, msg())); } return StatusCode::SUCCESS; } @@ -51,17 +57,20 @@ StatusCode TrigCostMTSvc::startEvent(const EventContext& context, const bool ena // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * StatusCode TrigCostMTSvc::processAlg(const EventContext& context, const std::string& caller, const AuditType type) { + ATH_CHECK(checkSlot(context)); if (!isMonitoredEvent(context)) return StatusCode::SUCCESS; if (type == AuditType::Before) { ATH_CHECK( m_algStartTimes.insert(context, caller, msg(), TrigTimeStamp()) ); - ATH_MSG_DEBUG("Caller '" << caller << "', '" << context.getExtension<Atlas::ExtendedEventContext>()->proxy()->name() << "' began"); + ATH_CHECK( m_algThreadID.insert(context, caller, msg(), std::this_thread::get_id()) ); + + ATH_MSG_DEBUG("Caller '" << caller << "', '" << context.getExtension<Atlas::ExtendedEventContext>().proxy()->name() << "' began"); } else if (type == AuditType::After) { ATH_CHECK( m_algStopTimes.insert(context, caller, msg(), TrigTimeStamp()) ); - ATH_MSG_DEBUG("Caller '" << caller << "', '" << context.getExtension<Atlas::ExtendedEventContext>()->proxy()->name() << "' ended"); + ATH_MSG_DEBUG("Caller '" << caller << "', '" << context.getExtension<Atlas::ExtendedEventContext>().proxy()->name() << "' ended"); } @@ -74,15 +83,16 @@ StatusCode TrigCostMTSvc::endEvent(const EventContext& context, SG::WriteHandle< if (!isMonitoredEvent(context)) return StatusCode::SUCCESS; // Reset eventMonitored flag - m_eventMonitored.at( context.slot() ) = 0; + ATH_CHECK(checkSlot(context)); + m_eventMonitored[ context.slot() ] = false; // Read payloads. Write to persistent format - TrigCostDataStore::AITimerMapTBB::const_iterator beginIt; - TrigCostDataStore::AITimerMapTBB::const_iterator endIt; + tbb::concurrent_hash_map< AlgorithmIdentifier, TrigTimeStamp, AlgorithmIdentifierHashCompare>::const_iterator beginIt; + tbb::concurrent_hash_map< AlgorithmIdentifier, TrigTimeStamp, AlgorithmIdentifierHashCompare>::const_iterator endIt; ATH_CHECK(m_algStartTimes.getIterators(context, msg(), beginIt, endIt)); - for (TrigCostDataStore::AITimerMapTBB::const_iterator it = beginIt; it != endIt; ++it) { - const TrigCostDataStore::AlgorithmIdentifier& ai = it->first; + for (tbb::concurrent_hash_map< AlgorithmIdentifier, TrigTimeStamp, AlgorithmIdentifierHashCompare>::const_iterator it = beginIt; it != endIt; ++it) { + const AlgorithmIdentifier& ai = it->first; const TrigTimeStamp& startTime = it->second; // Can we find the end time for this alg? Skip if not TrigTimeStamp stopTime; @@ -90,6 +100,11 @@ StatusCode TrigCostMTSvc::endEvent(const EventContext& context, SG::WriteHandle< ATH_MSG_DEBUG("No end time for '" << ai.m_caller << "', '" << ai.m_store << "'"); continue; } + std::thread::id threadID; + if (m_algThreadID.retrieve(context, ai, msg(), threadID).isFailure()) { + ATH_MSG_WARNING("Did not get thread ID for '" << ai.m_caller << "', '" << ai.m_store << "'"); + // Not fatal + } // Make a new TrigComposite to persist monitoring payload for this alg xAOD::TrigComposite* tc = new xAOD::TrigComposite(); @@ -101,12 +116,13 @@ StatusCode TrigCostMTSvc::endEvent(const EventContext& context, SG::WriteHandle< result &= tc->setDetail("store", ai.m_store); result &= tc->setDetail("view", ai.m_viewID); - std::pair<uint32_t,uint32_t> startTimePair = startTime.secondsAndMillisecondsSinceEpoch(); - std::pair<uint32_t,uint32_t> stopTimePair = stopTime.secondsAndMillisecondsSinceEpoch(); + result &= tc->setDetail("threadID", static_cast<uint32_t>( std::hash< std::thread::id >()(threadID) )); + std::pair<uint32_t,uint32_t> startTimePair = startTime.secondsAndMicrosecondsSinceEpoch(); + std::pair<uint32_t,uint32_t> stopTimePair = stopTime.secondsAndMicrosecondsSinceEpoch(); result &= tc->setDetail("startTimeSeconds", startTimePair.first); - result &= tc->setDetail("startTimeMilliseconds", startTimePair.second); + result &= tc->setDetail("startTimeMicroseconds", startTimePair.second); result &= tc->setDetail("stopTimeSeconds", stopTimePair.first); - result &= tc->setDetail("stopTimeMilliseconds", stopTimePair.second); + result &= tc->setDetail("stopTimeMicroseconds", stopTimePair.second); if (!result) ATH_MSG_WARNING("Failed to append one or more details to trigger cost TC"); } @@ -116,10 +132,11 @@ StatusCode TrigCostMTSvc::endEvent(const EventContext& context, SG::WriteHandle< ATH_MSG_INFO("Algorithm:'" << tc->name() << "'"); ATH_MSG_INFO(" Store:'" << tc->getDetail<std::string>("store") << "'"); ATH_MSG_INFO(" View ID:" << tc->getDetail<int>("view")); + ATH_MSG_INFO(" Thread ID Hash:" << tc->getDetail<uint32_t>("threadID") ); ATH_MSG_INFO(" Start Time Seconds:" << tc->getDetail<uint32_t>("startTimeSeconds") << " s"); - ATH_MSG_INFO(" Start Time Milliseconds:" << tc->getDetail<uint32_t>("startTimeMilliseconds") << " ms"); + ATH_MSG_INFO(" Start Time Microseconds:" << tc->getDetail<uint32_t>("startTimeMicroseconds") << " mu s"); ATH_MSG_INFO(" Stop Time Seconds:" << tc->getDetail<uint32_t>("stopTimeSeconds") << " s"); - ATH_MSG_INFO(" Stop Time Milliseconds:" << tc->getDetail<uint32_t>("stopTimeMilliseconds") << " ms"); + ATH_MSG_INFO(" Stop Time Microseconds:" << tc->getDetail<uint32_t>("stopTimeMicroseconds") << " mu s"); } } @@ -128,8 +145,18 @@ StatusCode TrigCostMTSvc::endEvent(const EventContext& context, SG::WriteHandle< // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +StatusCode TrigCostMTSvc::checkSlot(const EventContext& context) const { + if (context.slot() >= m_eventSlots) { + ATH_MSG_FATAL("Job is using more event slots (" << context.slot() << ") than we configured for, m_eventSlots = " << m_eventSlots); + return StatusCode::FAILURE; + } + return StatusCode::SUCCESS; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + bool TrigCostMTSvc::isMonitoredEvent(const EventContext& context) const { - return m_eventMonitored.at( context.slot() ); + return m_eventMonitored[ context.slot() ]; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * diff --git a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.h b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.h index f18e9fa1f7ccb0a63780cd48b0b76c9022b7e732..e4f6b755e4a3876cbffd0c3d362d9cb441be69a8 100644 --- a/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.h +++ b/Trigger/TrigMonitoring/TrigCostMonitorMT/src/TrigCostMTSvc.h @@ -5,6 +5,8 @@ #ifndef TRIGCOSTMONITORMT_TRIGCOSTMTSVC_H #define TRIGCOSTMONITORMT_TRIGCOSTMTSVC_H +#include <atomic> + #include "GaudiKernel/ToolHandle.h" #include "AthenaBaseComps/AthService.h" #include "TrigTimeAlgs/TrigTimeStamp.h" @@ -69,9 +71,9 @@ class TrigCostMTSvc : public extends <AthService, ITrigCostMTSvc> { private: - Gaudi::Property<bool> m_monitorAll{this, "MonitorAll", true, "Monitor every HLT event, e.g. for offline validation."}; - Gaudi::Property<bool> m_printTimes{this, "PrintTimes", true, "Sends per-algorithm timing to MSG::INFO."}; - Gaudi::Property<int> m_eventSlots{this, "EventSlots", 0, "Number of concurrent processing slots."}; + Gaudi::Property<bool> m_monitorAll{this, "MonitorAll", true, "Monitor every HLT event, e.g. for offline validation."}; + Gaudi::Property<bool> m_printTimes{this, "PrintTimes", true, "Sends per-algorithm timing to MSG::INFO."}; + Gaudi::Property<unsigned> m_eventSlots{this, "EventSlots", 0, "Number of concurrent processing slots."}; /** * @return If the event is flagged as being monitored. Allows for a quick return if not @@ -79,10 +81,19 @@ class TrigCostMTSvc : public extends <AthService, ITrigCostMTSvc> { */ bool isMonitoredEvent(const EventContext& context) const; - std::vector<uint8_t> m_eventMonitored; //!< Used to cache if the event in a given slot is being monitored. Storing bool in one byte vector. + /** + * Sanity check that the job is respecting the number of slots which were declared at config time + * @return Success if the m_eventMonitored array is range, Failure if access request would overflow + * @param[in] context The event context + */ + StatusCode checkSlot(const EventContext& context) const; + + + std::unique_ptr< std::atomic<bool>[] > m_eventMonitored; //!< Used to cache if the event in a given slot is being monitored. - TrigCostDataStore m_algStartTimes; //!< Thread-safe store of algorithm start times. - TrigCostDataStore m_algStopTimes; //!< Thread-safe store of algorithm stop times. + TrigCostDataStore<TrigTimeStamp> m_algStartTimes; //!< Thread-safe store of algorithm start times. + TrigCostDataStore<TrigTimeStamp> m_algStopTimes; //!< Thread-safe store of algorithm stop times. + TrigCostDataStore<std::thread::id> m_algThreadID; //!< Thread-safe store of algorithm's thread ID hash. }; diff --git a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasMonTool.cxx b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasMonTool.cxx index 79fc10203746821959884fdbb87802592c960302..5a3d48fbf445b97ebacb064dbf14f9377ebe4d03 100755 --- a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasMonTool.cxx +++ b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasMonTool.cxx @@ -324,7 +324,7 @@ unsigned HLTMinBiasMonTool::receiveIsPassedCondition(unsigned internalIsPassedCo #ifdef ManagedMonitorToolBase_Uses_API_201401 StatusCode HLTMinBiasMonTool::book() #else -StatusCode HLTMinBiasMonTool::book(bool newEventsBlock, bool newLumiBlock, bool newRun) + StatusCode HLTMinBiasMonTool::book(bool newEventsBlock, bool newLumiBlock, bool /*newRun*/) #endif { // -------------------------------------------------------- NEW AUTOMATIC WAY TO COPE WITH THINGS---------------------- @@ -524,7 +524,7 @@ void HLTMinBiasMonTool::bookHistogramsForItem(const std::string &item, unsigned fixXaxis(th2f); addHistogram(th2f); - th2f = new TH2F("TimeOnline", "Online MBTS Time;Channel ID;MBTS Time [ns]", 32, 0, 32, 100, -100, 100); + th2f = new TH2F("TimeOnlinePerChannel", "Online MBTS Time;Channel ID;MBTS Time [ns]", 32, 0, 32, 100, -100, 100); fixXaxis(th2f); addHistogram(th2f); @@ -532,7 +532,7 @@ void HLTMinBiasMonTool::bookHistogramsForItem(const std::string &item, unsigned fixXaxis(th2f); addHistogram(th2f); - th2f = new TH2F("EnergyOnline", "Online MBTS energy;Channel ID;MBTS Energy [pC]", 32, 0, 32, 100,-2, 2); + th2f = new TH2F("EnergyOnlinePerChannel", "Online MBTS energy;Channel ID;MBTS Energy [pC]", 32, 0, 32, 100,-2, 2); fixXaxis(th2f); addHistogram(th2f); @@ -1554,7 +1554,7 @@ StatusCode HLTMinBiasMonTool::fillMbtsInfo(const std::string& /*item*/) // Online distributions const char* cell_name = (m_moduleLabel[k]).data(); hist("OccupancyOnline")->Fill(cell_name, 1.0); - hist2("TimeOnline")->Fill(cell_name, mbtsHitTimes.at(k), 1.0); + hist2("TimeOnlinePerChannel")->Fill(cell_name, mbtsHitTimes.at(k), 1.0); } //The time-dependent bitmask is produced for the case @@ -1565,7 +1565,7 @@ StatusCode HLTMinBiasMonTool::fillMbtsInfo(const std::string& /*item*/) // Online distributions const char* cell_name = (m_moduleLabel[k]).data(); - hist2("EnergyOnline")->Fill(cell_name, mbtsHitEnergies.at(k), 1.0); + hist2("EnergyOnlinePerChannel")->Fill(cell_name, mbtsHitEnergies.at(k), 1.0); } timeWord &= triggerWord; @@ -2038,7 +2038,7 @@ int HLTMinBiasMonTool::error_bit(bool a, bool b) { #ifdef ManagedMonitorToolBase_Uses_API_201401 StatusCode HLTMinBiasMonTool::proc() #else -StatusCode HLTMinBiasMonTool::proc(bool endOfEventsBlock, bool endOfLumiBlock, bool endOfRun) + StatusCode HLTMinBiasMonTool::proc(bool endOfEventsBlock, bool endOfLumiBlock, bool /*endOfRun*/) #endif { StatusCode sc = StatusCode::SUCCESS; diff --git a/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.cxx b/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.cxx index 78d72cd18070447f1db4bb03a879dd3bc8224c1f..ecf8882c31b9f8ee1084b65822c2b2d1065e59a0 100755 --- a/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.cxx +++ b/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include <iostream> @@ -165,32 +165,30 @@ HBASE* TrigGenericMonitoringTool<M,P>::create( const HistogramDef& def, Types&&. } -template<class M, class P> template<class H> +template<class M, class P> template<class H> TH1* TrigGenericMonitoringTool<M,P>::create1D( TH1*& histo, const HistogramDef& def ) { histo = create<H,TH1>(def, def.xbins, def.xmin, def.xmax); return histo; } -template<class M, class P> template<class H> -TH1* TrigGenericMonitoringTool<M,P>::createProfile( TProfile*& histo, const HistogramDef& def ) -{ - TH1* h = create<H,TH1>(def, def.xbins, def.xmin, def.xmax, def.ymin, def.ymax); +template<class M, class P> template<class H> +TH1* TrigGenericMonitoringTool<M,P>::createProfile( TProfile*& histo, const HistogramDef& def ) { + TH1* h = create<H,TH1>( def, def.xbins, def.xmin, def.xmax, def.ymin, def.ymax ); histo = dynamic_cast<TProfile*>(h); - return h; + return histo; } -template<class M, class P> template<class H> -TH1* TrigGenericMonitoringTool<M,P>::create2D( TH2*& histo, const HistogramDef& def ) -{ - histo = create<H,TH2>(def, def.xbins, def.xmin, def.xmax, def.ybins, def.ymin, def.ymax); +template<class M, class P> template<class H> +TH1* TrigGenericMonitoringTool<M,P>::create2D( TH2*& histo, const HistogramDef& def ) { + histo = create<H,TH2>( def, def.xbins, def.xmin, def.xmax, def.ybins, def.ymin, def.ymax ); return histo; } -template<class M, class P> template<class H> -TH1* TrigGenericMonitoringTool<M,P>::create2DProfile( TProfile2D*& histo, const HistogramDef& def ) +template<class M, class P> template<class H> +TH1* TrigGenericMonitoringTool<M,P>::create2DProfile( TProfile2D*& histo, const HistogramDef& def ) { - TH1* h = create<H,TH2>(def, def.xbins, def.xmin, def.xmax, + TH1* h = create<H,TH2>(def, def.xbins, def.xmin, def.xmax, def.ybins, def.ymin, def.ymax, def.zmin, def.zmax); histo = dynamic_cast<TProfile2D*>(h); return histo; @@ -214,9 +212,10 @@ StatusCode TrigGenericMonitoringTool<M,P>::createFiller(const HistogramDef& def) else if (def.type == "TH1I") histo = create1D<TH1I>(histo1D, def); - else if (def.type == "TProfile") + else if (def.type == "TProfile") { histo = createProfile<TProfile>(histoProfile, def); - + } + //create 2D else if (def.type == "TH2F") histo = create2D<TH2F>(histo2D, def ); @@ -227,12 +226,13 @@ StatusCode TrigGenericMonitoringTool<M,P>::createFiller(const HistogramDef& def) else if (def.type == "TH2I") histo = create2D<TH2I>(histo2D, def); - else if (def.type == "TProfile2D") + else if (def.type == "TProfile2D"){ histo = create2DProfile<TProfile2D>(histo2DProfile, def); + } if (histo == 0 ) { ATH_MSG_WARNING("Can not create yet histogram of type: " << def.type); - ATH_MSG_WARNING("Try one of: TH1[F,D,I], TH2[F,D,I], TProfile, TProfile2D"); + ATH_MSG_WARNING("Try one of: TH1F,TH1D,TH1I,TH2F,TH2D,TH2I, TProfile, TProfile2D"); return StatusCode::FAILURE; } diff --git a/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.h b/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.h index 2b07e97bc56b4a652757683ce9ecb3e52e1ecb8d..6a905fc31acaae95fb2bc43af66c1e6b2c9c0ed0 100755 --- a/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.h +++ b/Trigger/TrigMonitoring/TrigMonitorBase/src/TrigGenericMonitoringTool.h @@ -1,7 +1,7 @@ // -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #ifndef TRIGMONITORBASE_TRIGGENERICMONITORINGTOOL_H @@ -292,7 +292,7 @@ private: P m_variable1{0}; P m_variable2{0}; P m_variable3{0}; - }; + }; StatusCode createFiller(const HistogramDef& def); //!< creates filler and adds to the list of active fillers @@ -318,9 +318,9 @@ private: TH1* create1D( TH1*& histo, const HistogramDef& def ); template<class H> TH1* createProfile( TProfile*& histo, const HistogramDef& def ); - template<class H> + template<class H> TH1* create2D( TH2*& histo, const HistogramDef& def ); - template<class H> + template<class H> TH1* create2DProfile( TProfile2D*& histo, const HistogramDef& def ); }; diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/TrigMuonMonitoring/HLTMuonMonTool.h b/Trigger/TrigMonitoring/TrigMuonMonitoring/TrigMuonMonitoring/HLTMuonMonTool.h index f9796a8f4544c278afdf2c26375fbf3689a1030f..2fcc03b219f906eb50ba3125ec22c49084d347cb 100755 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/TrigMuonMonitoring/HLTMuonMonTool.h +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/TrigMuonMonitoring/HLTMuonMonTool.h @@ -49,7 +49,7 @@ class HLTMuonMonTool : public IHLTMonTool std::vector<std::string> getESbits(); bool isPassedES(std::vector<std::string>&, std::string&); - //==public functions for muFast + //==public functions for L2MuonSA //==public functions for muComb @@ -71,7 +71,7 @@ class HLTMuonMonTool : public IHLTMonTool Trig::ExpertMethods* m_ExpertMethods; //init() for each HLT Algorithm - StatusCode initMuFastDQA(); + StatusCode initL2MuonSADQA(); StatusCode initMuCombDQA(); StatusCode initMuIsoDQA(); StatusCode initTileMuDQA(); @@ -100,7 +100,7 @@ class HLTMuonMonTool : public IHLTMonTool StatusCode bookChainDQA_MSonly(const std::string& chainName ); StatusCode bookChainDQA_standard(const std::string& chainName ); StatusCode bookChainDQA_generic(const std::string& chainName, bool isdIsoOffline); - StatusCode bookMuFastDQA(); + StatusCode bookL2MuonSADQA(); StatusCode bookMuCombDQA(); StatusCode bookMuIsoDQA(); StatusCode bookTileMuDQA(); @@ -114,7 +114,7 @@ class HLTMuonMonTool : public IHLTMonTool StatusCode fillChainDQA_MSonly(const std::string& chainName, const std::string & histcName); StatusCode fillChainDQA_standard(const std::string& chainName, const std::string & histcName); StatusCode fillChainDQA_generic(const std::string& chainName, const std::string & histcName, bool isIsolOffline); - StatusCode fillMuFastDQA(); + StatusCode fillL2MuonSADQA(); StatusCode fillMuCombDQA(); StatusCode fillMuIsoDQA(); StatusCode fillTileMuDQA(); @@ -129,18 +129,23 @@ class HLTMuonMonTool : public IHLTMonTool StatusCode procChainDQA_standard( const std::string& chainName ); StatusCode procChainDQA_generic( const std::string& chainName ); StatusCode procChainDQA_HighPt(); - StatusCode procMuFastDQA(); + StatusCode procL2MuonSADQA(); StatusCode procMuCombDQA(); StatusCode procMuIsoDQA(); StatusCode procTileMuDQA(); StatusCode procMuonEFDQA(); StatusCode procMuGirlDQA(); StatusCode procMuZTPDQA(); + + //sub functions in each HLT algorithm + StatusCode fillEFSingleChainHistos(const std::vector<std::string> & triggerlist); + // private functions float getPtThresTrigMuonEFSA(const int thres, const float eta); float getPtThresTrigMuonEFCB(const int thres, const float eta); HLTMuonMonTool::ptThresEtaRegion getEtaRegion(const float eta); + const HLT::TriggerElement* getDirectSuccessorHypoTEForL2(const HLT::TriggerElement *te, std::string step, std::string chainname); //private parameters/functions for common @@ -181,7 +186,9 @@ class HLTMuonMonTool : public IHLTMonTool std::vector<std::string> m_chainsMI; // added tomoe std::vector<std::string> m_chainsGeneric; // added YY 21 Feb 2012 std::vector<std::string> m_chainsEFFS; + std::vector<std::string> m_chainsLowpt; bool m_HI_pp_mode; + std::vector<std::string> m_histChainGeneric; std::vector<std::string> m_histChainEFiso; std::vector<std::string> m_histChainMSonly; @@ -198,6 +205,24 @@ class HLTMuonMonTool : public IHLTMonTool std::map<std::string, std::string> m_lowerChains; std::map<std::string, int> m_thresh; std::map<std::string, std::string> m_chainsEF_L2_map; // add by Yuan + + bool m_access_hypoTE; + //Hypo names for L2 standalone muons + std::vector<std::string> m_hyposMSonly_L2SA; + std::vector<std::string> m_hyposGeneric_L2SA; + std::vector<std::string> m_hyposEFiso_L2SA; + std::vector<std::string> m_hyposSupport_L2SA; + std::vector<std::string> m_hyposEFFS_L2SA; + std::vector<std::string> m_hyposLowpt_L2SA; + std::map<std::string,std::string> m_hypomapL2SA; + //Hypo names for L2 combined muons + std::vector<std::string> m_hyposMSonly_L2CB; + std::vector<std::string> m_hyposGeneric_L2CB; + std::vector<std::string> m_hyposEFiso_L2CB; + std::vector<std::string> m_hyposSupport_L2CB; + std::vector<std::string> m_hyposEFFS_L2CB; + std::vector<std::string> m_hyposLowpt_L2CB; + std::map<std::string,std::string> m_hypomapL2CB; // YY ES chain name - obsolete 21/01/11 std::vector<std::string> m_ESchain; @@ -235,7 +260,7 @@ class HLTMuonMonTool : public IHLTMonTool // add by Yuan TRandom3 m_random3; - //private parameters/functions for muFast + //private parameters/functions for L2MuonSA double calc_dR(double,double,double,double); double calc_dphi(double,double); bool checkOfflineSAdR(); @@ -344,7 +369,7 @@ class HLTMuonMonTool : public IHLTMonTool //private parameters/functions for MuGirl //histogram vectors - std::vector<TH1F *> m_HistoVectorMuonmuFast; + std::vector<TH1F *> m_HistoVectorMuonL2MuonSA; std::vector<TH1F *> m_HistoVectorMuonmuComb; std::vector<TH1F *> m_HistoVectorMuonTileMu; std::vector<TH1F *> m_HistoVectorMuonmuIso; @@ -366,10 +391,10 @@ class HLTMuonMonTool : public IHLTMonTool // ToolHandle<Rec::IMuonCombinedSelectorTool> m_muonSelectorTool; // removed for the moment // YY added: - enum ieffStdAlgo { iMuFast = 0, iMuComb = 1, iEFCB = 2, iMuGirl = 3 }; + enum ieffStdAlgo { iL2MuonSA = 0, iMuComb = 1, iEFCB = 2, iMuGirl = 3 }; enum ieffMSAlgo { iEFSA = 1 }; - float m_fMuFast, m_fMuComb, m_fEFCB, m_fMuGirl; + float m_fL2MuonSA, m_fMuComb, m_fEFCB, m_fMuGirl; float m_fEFSA; int m_iSTDL, m_iSTDH; diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py index 9fef4d15240280c4d9d6aedd601ba0915e619cd1..02ccbf29dbcbad01eeab58a872b3194e63efadc1 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py @@ -23,3 +23,60 @@ monitoring_muonEFFS_pp = ['HLT_mu24_mu8noL1'] monitoring_muon_Support = ['HLT_mu6_idperf','HLT_mu20_idperf'] monitoring_muon_Support_HI = ['HLT_noalg_L1MU4','HLT_noalg_L1MU6'] monitoring_muon_Support_pp = ['HLT_mu6_idperf','HLT_mu6_idperf'] + +monitoring_muonLowpt = ["HLT_mu14"] + + + +### TE name of the hypos for the L2 +#L2 standalone +monitoring_muonNonIso_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20'] +monitoring_muonNonIso_HI_L2SAHypo = ['HLT_mu15_L1MU10','L2_mu_SAhyp_Muon6GeV_v15a_MU10']#8TeV +monitoring_muonNonIso_pp_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20'] + +monitoring_muonIso_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20'] +monitoring_muonIso_HI_L2SAHypo = [''] +monitoring_muonIso_pp_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20'] + +monitoring_MSonly_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20'] +monitoring_MSonly_HI_L2SAHypo = ['HLT_mu15_msonly'] +monitoring_MSonly_pp_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20'] + +monitoring_muonEFFS_L2SAHypo = [''] +monitoring_muonEFFS_HI_L2SAHypo = [''] +monitoring_muonEFFS_pp_L2SAHypo = [''] + +monitoring_muon_Support_L2SAHypo = ['L2_mu_hypo1','L2_mu_SAhyp_Muon6GeV_v15a_MU20'] +monitoring_muon_Support_HI_L2SAHypo = ['HLT_noalg_L1MU4','HLT_noalg_L1MU6'] +monitoring_muon_Support_pp_L2SAHypo = ['L2_mu_hypo1','L2_mu_SAhyp_Muon6GeV_v15a_MU20'] + +monitoring_muonLowpt_L2SAHypo = ["L2_mu_SAhyp_Muon6GeV_v15a_MU10"] +monitoring_muonLowpt_HI_L2SAHypo = ["L2_mu_SAhyp_Muon6GeV_v15a_MU10"] +monitoring_muonLowpt_pp_L2SAHypo = ["L2_mu_SAhyp_Muon6GeV_v15a_MU10"] + +#L2 combined +monitoring_muonNonIso_L2CBHypo = ['L2_mucombhyp_mu22_MU20'] +monitoring_muonNonIso_HI_L2CBHypo = ['HLT_mu15_L1MU10','L2_mucombhyp_mu14_MU10']#8TeV +monitoring_muonNonIso_pp_L2CBHypo = ['L2_mucombhyp_mu22_MU20'] + +monitoring_muonIso_L2CBHypo = ['L2_mucombhyp_mu22_MU20'] +monitoring_muonIso_HI_L2CBHypo = [''] +monitoring_muonIso_pp_L2CBHypo = ['L2_mucombhyp_mu22_MU20'] + +monitoring_MSonly_L2CBHypo = [''] +monitoring_MSonly_HI_L2CBHypo = [''] +monitoring_MSonly_pp_L2CBHypo = [''] + +monitoring_muonEFFS_L2CBHypo = [''] +monitoring_muonEFFS_HI_L2CBHypo = [''] +monitoring_muonEFFS_pp_L2CBHypo = [''] + +monitoring_muon_Support_L2CBHypo = ['L2_mucombhyp_mu6idperf_MU6','L2_mucombhyp_mu20idperf_MU20'] +monitoring_muon_Support_HI_L2CBHypo = ['HLT_noalg_L1MU4','HLT_noalg_L1MU6'] +monitoring_muon_Support_pp_L2CBHypo = ['L2_mucombhyp_mu6idperf_MU6','L2_mucombhyp_mu20idperf_MU20'] + +monitoring_muonLowpt_L2CBHypo = ["L2_mucombhyp_mu14_MU10"] +monitoring_muonLowpt_HI_L2CBHypo = ["L2_mucombhyp_mu14_MU10"] +monitoring_muonLowpt_pp_L2CBHypo = ["L2_mucombhyp_mu14_MU10"] + + diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitoringConfig.py b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitoringConfig.py index 70bb0374615e83a38d124dab6e2c384ce8b2a990..466a340b741a4434bc94e6c483624850af3408dc 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitoringConfig.py +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitoringConfig.py @@ -1,4 +1,6 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +import TrigMuonMonitoring.TrigMuonMonitCategory as muon + def TrigMuonMonitoringTool(): from TrigMuonMonitoring.MuZTPChains import GetMuZTPChains @@ -6,19 +8,20 @@ def TrigMuonMonitoringTool(): from TrigHLTMonitoring.HLTMonTriggerList import hltmonList # access to central tool HLTMuonMon = HLTMuonMonTool(name = 'HLTMuonMon', histoPathBase = "/Trigger/HLT", - ZTPPtCone30RelCut = 0.1) + ZTPPtCone30RelCut = 0.5) HLTMuonMon.monitoring_muonNonIso = hltmonList.monitoring_muonNonIso HLTMuonMon.monitoring_muonIso = hltmonList.monitoring_muonIso HLTMuonMon.monitoring_MSonly = hltmonList.monitoring_MSonly HLTMuonMon.monitoring_muonEFFS = hltmonList.monitoring_muonEFFS + HLTMuonMon.monitoring_muonLowpt = hltmonList.monitoring_muonLowpt HLTMuonMon.monitoring_muon_Support = hltmonList.monitoring_muon_Support + setL2HypoTENames( HLTMuonMon, hltmonList) from RecExConfig.RecFlags import rec from AthenaCommon.BeamFlags import jobproperties if rec.doHeavyIon == True or rec.doHIP == True: HLTMuonMon.HI_pp_mode = False else: HLTMuonMon.HI_pp_mode = True - from TrigBunchCrossingTool.BunchCrossingTool import BunchCrossingTool HLTMuonMon.BCTool = BunchCrossingTool() from AthenaCommon.AppMgr import ToolSvc @@ -27,3 +30,66 @@ def TrigMuonMonitoringTool(): return list + +def setL2HypoTENames( HLTMuonMon, hltmonList): + + #default + HLTMuonMon.monitoring_muonNonIso_L2SAHypo = muon.monitoring_muonNonIso_L2SAHypo + HLTMuonMon.monitoring_muonIso_L2SAHypo = muon.monitoring_muonIso_L2SAHypo + HLTMuonMon.monitoring_MSonly_L2SAHypo = muon.monitoring_MSonly_L2SAHypo + HLTMuonMon.monitoring_muonEFFS_L2SAHypo = muon.monitoring_muonEFFS_L2SAHypo + HLTMuonMon.monitoring_muonLowpt_L2SAHypo = muon.monitoring_muonLowpt_L2SAHypo + HLTMuonMon.monitoring_muon_Support_L2SAHypo = muon.monitoring_muon_Support_L2SAHypo + + HLTMuonMon.monitoring_muonNonIso_L2CBHypo = muon.monitoring_muonNonIso_L2CBHypo + HLTMuonMon.monitoring_muonIso_L2CBHypo = muon.monitoring_muonIso_L2CBHypo + HLTMuonMon.monitoring_MSonly_L2CBHypo = muon.monitoring_MSonly_L2CBHypo + HLTMuonMon.monitoring_muonEFFS_L2CBHypo = muon.monitoring_muonEFFS_L2CBHypo + HLTMuonMon.monitoring_muonLowpt_L2CBHypo = muon.monitoring_muonLowpt_L2CBHypo + HLTMuonMon.monitoring_muon_Support_L2CBHypo = muon.monitoring_muon_Support_L2CBHypo + + if hltmonList._get_monitoring_mode_success == False: + # what should be done in this case? + #print "HLTMonTriggerList: Error getting monitoring mode, default monitoring lists will be used." + pass + + + elif hltmonList.pp_mode == True: + HLTMuonMon.monitoring_muonNonIso_L2SAHypo = muon.monitoring_muonNonIso_pp_L2SAHypo + HLTMuonMon.monitoring_muonIso_L2SAHypo = muon.monitoring_muonIso_pp_L2SAHypo + HLTMuonMon.monitoring_MSonly_L2SAHypo = muon.monitoring_MSonly_pp_L2SAHypo + HLTMuonMon.monitoring_muonEFFS_L2SAHypo = muon.monitoring_muonEFFS_pp_L2SAHypo + HLTMuonMon.monitoring_muonLowpt_L2SAHypo = muon.monitoring_muonLowpt_pp_L2SAHypo + HLTMuonMon.monitoring_muon_Support_L2SAHypo = muon.monitoring_muon_Support_pp_L2SAHypo + + HLTMuonMon.monitoring_muonNonIso_L2CBHypo = muon.monitoring_muonNonIso_pp_L2CBHypo + HLTMuonMon.monitoring_muonIso_L2CBHypo = muon.monitoring_muonIso_pp_L2CBHypo + HLTMuonMon.monitoring_MSonly_L2CBHypo = muon.monitoring_MSonly_pp_L2CBHypo + HLTMuonMon.monitoring_muonEFFS_L2CBHypo = muon.monitoring_muonEFFS_pp_L2CBHypo + HLTMuonMon.monitoring_muonLowpt_L2CBHypo = muon.monitoring_muonLowpt_pp_L2CBHypo + HLTMuonMon.monitoring_muon_Support_L2CBHypo = muon.monitoring_muon_Support_pp_L2CBHypo + + + elif hltmonList.HI_mode == True: + HLTMuonMon.monitoring_muonNonIso_L2SAHypo = muon.monitoring_muonNonIso_HI_L2SAHypo + HLTMuonMon.monitoring_muonIso_L2SAHypo = muon.monitoring_muonIso_HI_L2SAHypo + HLTMuonMon.monitoring_MSonly_L2SAHypo = muon.monitoring_MSonly_HI_L2SAHypo + HLTMuonMon.monitoring_muonEFFS_L2SAHypo = muon.monitoring_muonEFFS_HI_L2SAHypo + HLTMuonMon.monitoring_muonLowpt_L2SAHypo = muon.monitoring_muonLowpt_HI_L2SAHypo + HLTMuonMon.monitoring_muon_Support_L2SAHypo = muon.monitoring_muon_Support_HI_L2SAHypo + + HLTMuonMon.monitoring_muonNonIso_L2CBHypo = muon.monitoring_muonNonIso_HI_L2CBHypo + HLTMuonMon.monitoring_muonIso_L2CBHypo = muon.monitoring_muonIso_HI_L2CBHypo + HLTMuonMon.monitoring_MSonly_L2CBHypo = muon.monitoring_MSonly_HI_L2CBHypo + HLTMuonMon.monitoring_muonEFFS_L2CBHypo = muon.monitoring_muonEFFS_HI_L2CBHypo + HLTMuonMon.monitoring_muonLowpt_L2CBHypo = muon.monitoring_muonLowpt_HI_L2CBHypo + HLTMuonMon.monitoring_muon_Support_L2CBHypo = muon.monitoring_muon_Support_HI_L2CBHypo + + + + + + + + + diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/CommonMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/CommonMon.cxx index 94dd6f133a2ba2c6e6bbf807f7224a8725969cd4..371a504575c020ef74c899b8095bf4bb4173730f 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/CommonMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/CommonMon.cxx @@ -94,11 +94,11 @@ using namespace std; template <class T> class my_sort{ - public: - // bool operator() (std::pair<float, int>& i, std::pair<float, int>& j) { - bool operator() (const T& i,const T& j) const { - return (i.first > j.first); - } +public: + // bool operator() (std::pair<float, int>& i, std::pair<float, int>& j) { + bool operator() (const T& i,const T& j) const { + return (i.first > j.first); + } }; @@ -112,12 +112,12 @@ StatusCode HLTMuonMonTool::bookCommonDQA() ATH_MSG_INFO("start booking Common histograms for newRun"); addHistogram( new TH1F("HI_PP_Flag", "HI_PP_Flag",4,0,4), m_histdir); - addHistogram( new TH1F("Monitoring_Chain", "Monitoring_Chain",20,0,20), m_histdir); + addHistogram( new TH1F("Monitoring_Chain", "Monitoring_Chain",15,0,15), m_histdir); addHistogram( new TH1F("Common_Counter", "Event Counter", 30, 0., 30.), m_histdir ); hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(EVENT+1,"Event"); - hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUFAST+1,"muFast"); - hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUFASTFOUND+1,"muFast found"); - hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUFASTDFOUND+1,"muFast D found"); + hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUFAST+1,"L2MuonSA"); + hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUFASTFOUND+1,"L2MuonSA found"); + hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUFASTDFOUND+1,"L2MuonSA D found"); hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUCOMB+1,"muComb"); hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUCOMBFOUND+1,"muComb found"); hist("Common_Counter", m_histdir)->GetXaxis()->SetBinLabel(MUISO+1,"muIso"); @@ -262,12 +262,11 @@ StatusCode HLTMuonMonTool::bookCommonDQA() float phi_range = CLHEP::pi; addHistogram( new TH2F( name.c_str(), nameaxis.c_str(), - eta_nbins, -eta_range, eta_range, phi_bins, -phi_range, phi_range), m_histdirdist2d); + eta_nbins, -eta_range, eta_range, phi_bins, -phi_range, phi_range), m_histdirdist2d); hist2(name, m_histdirdist2d)->Sumw2(); ATH_MSG_INFO("finished booking Common histograms for newRun"); - } //else if( newLumiBlockFlag() ){ } @@ -298,7 +297,7 @@ StatusCode HLTMuonMonTool::bookChainDQA() } - // YY adding Generic monitoring (using only TDT information for muFast, muComb and an EF algorithm) + // YY adding Generic monitoring (using only TDT information for L2MuonSA, muComb and an EF algorithm) for (it = m_histChainGeneric.begin(); it != m_histChainGeneric.end(); it++) { StatusCode sc = bookChainDQA_generic(*it,false); if (sc.isFailure()) { @@ -338,9 +337,9 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) // const int lopt_nbins = 32 + 27 + 16 + 25 + 20; int tmp_bin = 0; if(!m_HI_pp_mode){ - tmp_bin = 32 + 27 + 16; + tmp_bin = 32 + 27 + 16; }else{ - tmp_bin = 32 + 27 + 16 + 25 + 20; + tmp_bin = 32 + 27 + 16 + 25 + 20; } const int lopt_nbins = tmp_bin; float lopt_bins[150]; @@ -391,10 +390,10 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) //for( int bin = 1 ; bin <= 26 ; bin++) pt_bins[bin+32+27+16] = 32.*0.25 + 27.*0.33 + 16.*0.50 + float(bin)*1.00; /* - const float pt_min = 0; - const float pt_max = 50; - const int pt_nbins = 100; - */ + const float pt_min = 0; + const float pt_max = 50; + const int pt_nbins = 100; + */ const float dr_min = 0.0; const float dr_max = 1.0; const int dr_nbins = 100; @@ -404,7 +403,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) int phi_bins = 96; float phi_range = CLHEP::pi; - std::string monalg[3]={"_MuFast", "_MuonEFMS", "_MuonEFSA"}; + std::string monalg[3]={"_L2MuonSA", "_MuonEFMS", "_MuonEFSA"}; std::string bestr[2] = {"_Barrel", "_Endcap"}; @@ -428,7 +427,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), pt_nbins, pt_bins), m_histdireffnumdenom ); hist(name, m_histdireffnumdenom)->Sumw2(); - name = chainName + m_triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; + name = chainName + m_triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; nameaxis = name + "; Muid CB pT (GeV); Events"; addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), pt_nbins, pt_bins), m_histdireffnumdenom ); hist(name, m_histdireffnumdenom)->Sumw2(); @@ -459,7 +458,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), pt_nbins, pt_bins), m_histdireffnumdenom ); hist(name, m_histdireffnumdenom)->Sumw2(); - // Barrel/endcap (YY 27.05.10) - Monitoring MuFast, MuonEFSA wrt offline + // Barrel/endcap (YY 27.05.10) - Monitoring L2MuonSA, MuonEFSA wrt offline for (int be = 0; be < 2; be++) { name = chainName + "_Turn_On_Curve_wrt_MuidSA" + bestr[be] + "_Denominator"; nameaxis = name + "; Muid SA pT (GeV); Events"; @@ -471,7 +470,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) chainName = cName; pt_bins = lopt_bins; - std::string wrtalg[3]={"_L1", "_MuFast", "_MuFast"}; + std::string wrtalg[3]={"_L1", "_L2MuonSA", "_L2MuonSA"}; // wrt upstream for(int alg=0; alg<3;alg++){ @@ -543,8 +542,6 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) hist(name, m_histdireff)->Sumw2(); } - // Barrel/endcap (YY 27.05.10) - Monitoring MuFast, MuonEFSA wrt upstream / offline - // monalg[3]={"_MuFast", "_MuonEFMS", "_MuonEFSA"}; -> select {0, 2} if (0 == alg || 2 == alg) { for (int ihpt = 0; ihpt < 2; ihpt++) { // reserving also high-pt and MSb histograms for wrt offline // remove hpt histograms (Li Yuan 27.02.13) @@ -591,19 +588,19 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) name = chainName + monalg[alg] + "_etaphi_wrt_MuidCB"; nameaxis = name + "; #eta; #phi"; addHistogram( new TH2F( name.c_str(), nameaxis.c_str(), - eta_nbins, -eta_range, eta_range, phi_bins, -phi_range, phi_range), m_histdirdist2d); + eta_nbins, -eta_range, eta_range, phi_bins, -phi_range, phi_range), m_histdirdist2d); hist2(name, m_histdirdist2d)->Sumw2(); // coarse histograms name = chainName + monalg[alg] + "_etaphi_coarse_wrt_MuidCB"; nameaxis = name + "; #eta; #phi"; addHistogram( new TH2F( name.c_str(), nameaxis.c_str(), - s_eta_cnbins, m_bins_eta, s_phi_cnbins, m_bins_phi), m_histdirdist2d); + s_eta_cnbins, m_bins_eta, s_phi_cnbins, m_bins_phi), m_histdirdist2d); hist2(name, m_histdirdist2d)->Sumw2(); name = chainName + monalg[alg] + "_etaphi_coarse1d_wrt_MuidCB"; nameaxis = name + "; (i_bin#phi * N_#eta + i_bin#eta); Number of events / area"; addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), - s_eta_cnbins * s_phi_cnbins, 0., (Double_t)(s_eta_cnbins * s_eta_cnbins)), m_histdirdist2d); + s_eta_cnbins * s_phi_cnbins, 0., (Double_t)(s_eta_cnbins * s_eta_cnbins)), m_histdirdist2d); hist(name, m_histdirdist2d)->Sumw2(); if( alg==2 )continue; @@ -625,20 +622,20 @@ StatusCode HLTMuonMonTool::bookChainDQA_MSonly(const std::string& cName ) } addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 2, -0.5, 0.5+m_fEFSA), m_histdireff); TH1 *h = hist(name, m_histdireff); - h->GetXaxis()->SetBinLabel(iMuFast+1, "MuFast"); + h->GetXaxis()->SetBinLabel(iL2MuonSA+1, "L2MuonSA"); h->GetXaxis()->SetBinLabel(iEFSA+1, "EF SA"); } // High-pt 3-bin summary: name = chainName + "_highpt3bins_effwrtL1"; - nameaxis = name + "; pt bins; efficiency"; + nameaxis = name + "; pt bins; Efficiency"; addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 2, -0.5, 1.5), m_histdireff); TH1 *h = hist(name, m_histdireff); if(!m_HI_pp_mode){ h->GetXaxis()->SetBinLabel(1, "12-20 GeV Z T&P"); h->GetXaxis()->SetBinLabel(2, "20-25 GeV Z T&P"); }else{ - h->GetXaxis()->SetBinLabel(1, "50-100 GeV Z T&P"); + h->GetXaxis()->SetBinLabel(1, "60-100 GeV Z T&P"); h->GetXaxis()->SetBinLabel(2, "100-500 GeV Z T&P"); } ATH_MSG_DEBUG("end bookChainDQA_MSonly for chain=" << chainName ); @@ -805,15 +802,15 @@ StatusCode HLTMuonMonTool::bookChainDQA_standard(const std::string& cName ) // FS trigger efficiency summary for barrel and endcap name = chainName + "_EFplateau_wrtOffline"; - nameaxis = name + "; region; efficiency"; + nameaxis = name + "; Region; Efficiency"; addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 2, -0.5, 1.5), m_histdireff); h = hist(name, m_histdireff); if(!m_HI_pp_mode){ - h->GetXaxis()->SetBinLabel(1, "Barrel 4-25 GeV"); - h->GetXaxis()->SetBinLabel(2, "Endcap 4-25 GeV"); + h->GetXaxis()->SetBinLabel(1, "Barrel 4-25 GeV"); + h->GetXaxis()->SetBinLabel(2, "Endcap 4-25 GeV"); }else{ - h->GetXaxis()->SetBinLabel(1, "Barrel 10-100 GeV"); - h->GetXaxis()->SetBinLabel(2, "Endcap 10-100 GeV"); + h->GetXaxis()->SetBinLabel(1, "Barrel 25-100 GeV"); + h->GetXaxis()->SetBinLabel(2, "Endcap 25-100 GeV"); } // not requiring one muon match with the pre_trigger ROI, only check the efficiency vs subleading pT muon name = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Denominator"; @@ -925,7 +922,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i else if( bin <= 32+27+16+25+20 ) boundary += 2.5; lopt_bins[bin] = boundary; } - //std:: cout << " bin " << bin << " " << lopt_bins[bin] << std::endl; + //std:: cout << " bin " << bin << " " << lopt_bins[bin] << std::endl; } float pt_bins[150]; @@ -954,10 +951,10 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i /* - const float pt_min = 0; - const float pt_max = 50; - const int pt_nbins = 100; - */ + const float pt_min = 0; + const float pt_max = 50; + const int pt_nbins = 100; + */ const float dr_min = 0.0; const float dr_max = 1.0; @@ -968,7 +965,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i int phi_bins = 96; float phi_range = CLHEP::pi; - std::string monalg[3]={"_MuFast", "_MuComb", "_EFmuon"}; + std::string monalg[3]={"_L2MuonSA", "_MuComb", "_EFmuon"}; std::string bestr[2] = {"_Barrel", "_Endcap"}; @@ -992,7 +989,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), pt_nbins, pt_bins), m_histdireffnumdenom ); hist(name, m_histdireffnumdenom)->Sumw2(); - name = chainName + m_triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; + name = chainName + m_triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; nameaxis = name + "; Muid CB pT (GeV); Events"; addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), pt_nbins, pt_bins), m_histdireffnumdenom ); hist(name, m_histdireffnumdenom)->Sumw2(); @@ -1034,7 +1031,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), pt_nbins, pt_bins), m_histdireffnumdenom ); hist(name, m_histdireffnumdenom)->Sumw2(); - // Barrel/endcap (YY 20.05.10) - Monitoring MuFast, MuComb, MuonEFCB wrt offline + // Barrel/endcap (YY 20.05.10) - Monitoring L2MuonSA, MuComb, MuonEFCB wrt offline for (int be = 0; be < 2; be++) { name = chainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; nameaxis = name + "; Muid CB pT (GeV); Events"; @@ -1043,7 +1040,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i } } - std::string wrtalg[3] = {"_L1", "_MuFast", "_MuComb"}; + std::string wrtalg[3] = {"_L1", "_L2MuonSA", "_MuComb"}; for (int alg = 0; alg < 3; alg++) { @@ -1138,9 +1135,7 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i } - - - // Barrel/endcap (YY 20.05.10) - Monitoring MuFast, MuComb, MuonEFCB wrt upstream / offline + // Barrel/endcap (YY 20.05.10) - Monitoring L2MuonSA, MuComb, MuonEFCB wrt upstream / offline for (int ihpt = 0; ihpt < 3; ihpt++) { // reserving also high-pt and MSb histograms for wrt upstream //trigger not-aware = wrt offline if (ihpt == 0) { @@ -1199,18 +1194,18 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i name = chainName + monalg[alg] + "_etaphi_wrt_MuidCB"; nameaxis = name + "; #eta; #phi"; addHistogram( new TH2F( name.c_str(), nameaxis.c_str(), - eta_nbins, -eta_range, eta_range, phi_bins, -phi_range, phi_range), m_histdirdist2d); + eta_nbins, -eta_range, eta_range, phi_bins, -phi_range, phi_range), m_histdirdist2d); hist2(name, m_histdirdist2d)->Sumw2(); name = chainName + monalg[alg] + "_etaphi_coarse_wrt_MuidCB"; nameaxis = name + "; #eta; #phi"; addHistogram( new TH2F( name.c_str(), nameaxis.c_str(), - s_eta_cnbins, m_bins_eta, s_phi_cnbins, m_bins_phi), m_histdirdist2d); + s_eta_cnbins, m_bins_eta, s_phi_cnbins, m_bins_phi), m_histdirdist2d); hist2(name, m_histdirdist2d)->Sumw2(); name = chainName + monalg[alg] + "_etaphi_coarse1d_wrt_MuidCB"; nameaxis = name + "; (i_bin#phi * N_#eta + i_bin#eta); Number of events / area"; addHistogram( new TH1F( name.c_str(), nameaxis.c_str(), - s_eta_cnbins * s_phi_cnbins, 0., (Double_t)(s_eta_cnbins * s_eta_cnbins)), m_histdirdist2d); + s_eta_cnbins * s_phi_cnbins, 0., (Double_t)(s_eta_cnbins * s_eta_cnbins)), m_histdirdist2d); hist(name, m_histdirdist2d)->Sumw2(); // YY: 1D eta-phi histogram added for mufast @@ -1265,11 +1260,11 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i if( !m_HI_pp_mode ){ nameaxis = name + "; Algorithm ; Express efficiency 15-25GeV"; }else{ - nameaxis = name + "; Algorithm ; Express efficiency 40-100GeV"; + nameaxis = name + "; Algorithm ; Express efficiency 60-100GeV"; } addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 3, -0.5, 0.5+m_fEFCB), m_histdireff); // for generic TH1 *h = hist(name, m_histdireff); - h->GetXaxis()->SetBinLabel(iMuFast+1, "MuFast"); + h->GetXaxis()->SetBinLabel(iL2MuonSA+1, "L2MuonSA"); h->GetXaxis()->SetBinLabel(iMuComb+1, "MuComb"); h->GetXaxis()->SetBinLabel(iEFCB+1, "EF algorithm"); // for generic // h->GetXaxis()->SetBinLabel(iMuGirl+1, "MuGirl"); @@ -1278,27 +1273,27 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i // High-pt 3-bin summary: always 2bins now if (!isIsoOffline) { name = chainName + "_highpt3bins_effwrtL1"; - nameaxis = name + "; pt bins; efficiency"; + nameaxis = name + "; pt bins; Efficiency"; addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 2, -0.5, 1.5), m_histdireff); TH1 *h = hist(name, m_histdireff); if(!m_HI_pp_mode){ h->GetXaxis()->SetBinLabel(1, "12-20 GeV Jpsi T&P"); h->GetXaxis()->SetBinLabel(2, "20-25 GeV Jpsi T&P"); }else{ - h->GetXaxis()->SetBinLabel(1, "50-100 GeV Z T&P"); + h->GetXaxis()->SetBinLabel(1, "60-100 GeV Z T&P"); h->GetXaxis()->SetBinLabel(2, "100-500 GeV Z T&P"); } } else { name = chainName + "_highpt3bins_effwrtL1"; - nameaxis = name + "; pt bins; efficiency"; + nameaxis = name + "; pt bins; Efficiency"; addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 2, -0.5, 1.5), m_histdireff); TH1 *h = hist(name, m_histdireff); if( !m_HI_pp_mode ){ h->GetXaxis()->SetBinLabel(1, "12-20 GeV Jpsi T&P"); h->GetXaxis()->SetBinLabel(2, "20-25 GeV Jpsi T&P"); }else{ - h->GetXaxis()->SetBinLabel(1, "30-50 GeV Z T&P"); - h->GetXaxis()->SetBinLabel(2, "50-100 GeV Z T&P"); + h->GetXaxis()->SetBinLabel(1, "60-100 GeV Z T&P"); + h->GetXaxis()->SetBinLabel(2, "100-500 GeV Z T&P"); } } @@ -1308,3331 +1303,3326 @@ StatusCode HLTMuonMonTool::bookChainDQA_generic(const std::string& cName, bool i addHistogram(new TH1F (name.c_str(), nameaxis.c_str(), 2, -0.5, 1.5), m_histdireff); TH1 *h = hist(name, m_histdireff); if( !m_HI_pp_mode ){ - h->GetXaxis()->SetBinLabel(1, "Barrel 12-20 GeV Jpsi T&P"); - h->GetXaxis()->SetBinLabel(2, "Endcap 12-20 GeV Jpsi T&P"); + h->GetXaxis()->SetBinLabel(1, "Barrel 12-20 GeV Jpsi T&P"); + h->GetXaxis()->SetBinLabel(2, "Endcap 12-20 GeV Jpsi T&P"); }else{ - h->GetXaxis()->SetBinLabel(1, "Barrel 30-100 GeV Z T&P"); - h->GetXaxis()->SetBinLabel(2, "Endcap 30-100 GeV Z T&P"); + h->GetXaxis()->SetBinLabel(1, "Barrel 60-100 GeV Z T&P"); + h->GetXaxis()->SetBinLabel(2, "Endcap 60-100 GeV Z T&P"); } ATH_MSG_DEBUG("end bookChainDQA_standard for chain=" << chainName ); - } + } //else if( newLumiBlockFlag() ){ } return StatusCode::SUCCESS; - } +} - StatusCode HLTMuonMonTool::fillCommonDQA() - { - using namespace Trig; +StatusCode HLTMuonMonTool::fillCommonDQA() +{ + using namespace Trig; - static int errcnt = 0; + static int errcnt = 0; - ATH_MSG_DEBUG(" fillCommonDQA"); + ATH_MSG_DEBUG(" fillCommonDQA"); - m_lumiblock = -1; - m_event = -1; - for(int i=0; i <= INDMBIAS; i++) { - m_passed[i] = false; - } + m_lumiblock = -1; + m_event = -1; + for(int i=0; i <= INDMBIAS; i++) { + m_passed[i] = false; + } - // YY: get ES vector: moved from fillChainDQA to here - m_esvect.clear(); - if (0 == errcnt) { - m_esvect = getESbits(); - if (m_esvect.front() == m_nullstr) { - if (errcnt < 1) { - // if (errcnt < 1000) { - ATH_MSG_INFO("Failed to get ES bits"); - errcnt++; - } - // Do not return: continue processing - } + // YY: get ES vector: moved from fillChainDQA to here + m_esvect.clear(); + if (0 == errcnt) { + m_esvect = getESbits(); + if (m_esvect.front() == m_nullstr) { + if (errcnt < 1) { + // if (errcnt < 1000) { + ATH_MSG_INFO("Failed to get ES bits"); + errcnt++; } + // Do not return: continue processing + } + } + //get Event Info + const DataHandle<EventInfo> evt; + StatusCode sc = evtStore()->retrieve(evt); + if ( sc.isFailure() ) { + ATH_MSG_ERROR(" Cannot retrieve EventInfo "); + hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); + return StatusCode::FAILURE; + } - //get Event Info - const DataHandle<EventInfo> evt; - StatusCode sc = evtStore()->retrieve(evt); - if ( sc.isFailure() ) { - ATH_MSG_ERROR(" Cannot retrieve EventInfo "); - hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); - return StatusCode::FAILURE; - } - - if( !evt.isValid() ){ - ATH_MSG_FATAL(" Could not find event"); - hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); - return StatusCode::FAILURE; - } + if( !evt.isValid() ){ + ATH_MSG_FATAL(" Could not find event"); + hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); + return StatusCode::FAILURE; + } - const EventID* evtid = evt->event_ID(); + const EventID* evtid = evt->event_ID(); - if(! evtid ){ - ATH_MSG_FATAL(" no evtid object"); - hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); - return StatusCode::FAILURE; - } + if(! evtid ){ + ATH_MSG_FATAL(" no evtid object"); + hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); + return StatusCode::FAILURE; + } - m_lumiblock = evtid->lumi_block() ; - m_event = evtid->event_number() ; + m_lumiblock = evtid->lumi_block() ; + m_event = evtid->event_number() ; - hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); + hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); - //Trigger aware - for( std::map<std::string, std::string>::iterator it=m_ztpmap.begin(); it != m_ztpmap.end() ; it++ ){ - ATH_MSG_DEBUG( it->first ); + //Trigger aware + for( std::map<std::string, std::string>::iterator it=m_ztpmap.begin(); it != m_ztpmap.end() ; it++ ){ + ATH_MSG_DEBUG( it->first ); - if( getTDT()->isPassed( (it->first) ) ){ - //ATH_MSG_FATAL(" pass" << *it ); - std::string name = "Number_Of_"+ it->second + "_Passed_Events" ; - hist( name, m_histdirrate )->Fill( m_lumiblock ); + if( getTDT()->isPassed( (it->first) ) ){ + //ATH_MSG_FATAL(" pass" << *it ); + std::string name = "Number_Of_"+ it->second + "_Passed_Events" ; + hist( name, m_histdirrate )->Fill( m_lumiblock ); - name = it->second + "_Triggers_Rate" ; - hist( name, m_histdirrate )->Fill( m_lumiblock, 1/120. ); + name = it->second + "_Triggers_Rate" ; + hist( name, m_histdirrate )->Fill( m_lumiblock, 1/120. ); - } - //cosmic - if( getTDT()->isPassed( (it->first + "_cosmic") ) ){ - //ATH_MSG_FATAL(" pass" << *it <<"_cosmic"); - std::string name = "Number_Of_"+ it->second + "_Passed_Events" ; - hist( name, m_histdirrate )->Fill( m_lumiblock ); + } + //cosmic + if( getTDT()->isPassed( (it->first + "_cosmic") ) ){ + //ATH_MSG_FATAL(" pass" << *it <<"_cosmic"); + std::string name = "Number_Of_"+ it->second + "_Passed_Events" ; + hist( name, m_histdirrate )->Fill( m_lumiblock ); - } - }//chains + } + }//chains - //Express stream trigger bits: YY 21.01.11 - // updated for real config: 15.02.11 - std::vector<std::string> vs_ESstd; - if( !m_HI_pp_mode ){ - vs_ESstd.push_back("HLT_noalg_L1MU4"); - vs_ESstd.push_back("HLT_noalg_L1MU6"); - vs_ESstd.push_back("HLT_noalg_L1MU10"); - //vs_ESstd.push_back("HLT_noalg_L1MU11"); - }else{ - vs_ESstd.push_back("HLT_mu26_ivarmedium"); // increasing stat for muZTP, which requests now ES bits - } - // vs_ESstd.push_back("HLT_mu18i4_tight"); // for test - // vs_ESstd.push_back("HLT_mu22_medium"); // for test + //Express stream trigger bits: YY 21.01.11 + // updated for real config: 15.02.11 + std::vector<std::string> vs_ESstd; + if( !m_HI_pp_mode ){ + vs_ESstd.push_back("HLT_noalg_L1MU4"); + vs_ESstd.push_back("HLT_noalg_L1MU6"); + vs_ESstd.push_back("HLT_noalg_L1MU10"); + //vs_ESstd.push_back("HLT_noalg_L1MU11"); + }else{ + vs_ESstd.push_back("HLT_mu26_ivarmedium"); // increasing stat for muZTP, which requests now ES bits + } + // vs_ESstd.push_back("HLT_mu18i4_tight"); // for test + // vs_ESstd.push_back("HLT_mu22_medium"); // for test - std::vector<std::string> vs_ESnoniso; - vs_ESnoniso.push_back("HLT_mu14"); // for EnhancedBias - vs_ESnoniso.push_back("HLT_mu26"); - vs_ESnoniso.push_back("HLT_mu24"); + std::vector<std::string> vs_ESnoniso; + vs_ESnoniso.push_back("HLT_mu14"); // for EnhancedBias + vs_ESnoniso.push_back("HLT_mu26"); + vs_ESnoniso.push_back("HLT_mu24"); - std::vector<std::string> vs_EStag; - //vs_EStag.push_back("HLT_mu24_muCombTag_NoEF_tight"); // pp v4 - vs_EStag.push_back("HLT_mu20_idperf"); // pp v5 - vs_EStag.push_back("HLT_mu6_idperf"); - - std::vector<std::string> vs_ESid; - //vs_ESid.push_back("HLT_mu18_IDTrkNoCut_tight"); // pp v4 - //vs_ESid.push_back("HLT_mu22_IDTrkNoCut_tight"); - vs_ESid.push_back("HLT_mu20_idperf"); // pp v5 - vs_ESid.push_back("HLT_mu6_idperf"); - - // independent chains for L1 monitor - std::vector<std::string> vs_ESindep; - vs_ESindep.push_back("HLT_e24vh_medium1"); - vs_ESindep.push_back("HLT_e24vh_medium1_IDTrkNoCut"); - - vs_ESindep.push_back("HLT_tau20_medium1"); - vs_ESindep.push_back("HLT_tau29_IDTrkNoCut"); - - vs_ESindep.push_back("HLT_j35_a4tchad"); - vs_ESindep.push_back("HLT_j180_a4tchad"); - vs_ESindep.push_back("HLT_b55_NoCut_j55_a4tchad"); - - vs_ESindep.push_back("HLT_xe30"); - vs_ESindep.push_back("HLT_xe80"); - vs_ESindep.push_back("HLT_te1200"); - - // for HI: three ES streams - names to be checked again - std::vector<std::string> vs_ESHIL1; - vs_ESHIL1.push_back("HLT_L1MU0_NoAlg"); - vs_ESHIL1.push_back("HLT_L1MU4_NoAlg"); - std::vector<std::string> vs_ESHIid; - vs_ESHIid.push_back("HLT_mu4_MSonly_L1TE50"); - vs_ESHIid.push_back("HLT_mu4_IDTrkNoCut"); - vs_ESHIid.push_back("HLT_mu4T_IDTrkNoCut"); - std::vector<std::string> vs_ESHIindep; - // vs_ESHIindep.push_back("HLT_j15_a2hi_EFFS_L1ZDC"); - vs_ESHIindep.push_back("HLT_j20_a2hi_EFFS_L1ZDC"); - vs_ESHIindep.push_back("HLT_j75_a2hi_EFFS_L1ZDC"); - vs_ESHIindep.push_back("HLT_L1EM16_NoAlg"); - vs_ESHIindep.push_back("HLT_g10_loose"); - vs_ESHIindep.push_back("HLT_2g5_loose"); + std::vector<std::string> vs_EStag; + //vs_EStag.push_back("HLT_mu24_muCombTag_NoEF_tight"); // pp v4 + vs_EStag.push_back("HLT_mu20_idperf"); // pp v5 + vs_EStag.push_back("HLT_mu6_idperf"); + + std::vector<std::string> vs_ESid; + //vs_ESid.push_back("HLT_mu18_IDTrkNoCut_tight"); // pp v4 + //vs_ESid.push_back("HLT_mu22_IDTrkNoCut_tight"); + vs_ESid.push_back("HLT_mu20_idperf"); // pp v5 + vs_ESid.push_back("HLT_mu6_idperf"); + + // independent chains for L1 monitor + std::vector<std::string> vs_ESindep; + vs_ESindep.push_back("HLT_e24vh_medium1"); + vs_ESindep.push_back("HLT_e24vh_medium1_IDTrkNoCut"); + + vs_ESindep.push_back("HLT_tau20_medium1"); + vs_ESindep.push_back("HLT_tau29_IDTrkNoCut"); + + vs_ESindep.push_back("HLT_j35_a4tchad"); + vs_ESindep.push_back("HLT_j180_a4tchad"); + vs_ESindep.push_back("HLT_b55_NoCut_j55_a4tchad"); + + vs_ESindep.push_back("HLT_xe30"); + vs_ESindep.push_back("HLT_xe80"); + vs_ESindep.push_back("HLT_te1200"); + + // for HI: three ES streams - names to be checked again + std::vector<std::string> vs_ESHIL1; + vs_ESHIL1.push_back("HLT_L1MU0_NoAlg"); + vs_ESHIL1.push_back("HLT_L1MU4_NoAlg"); + std::vector<std::string> vs_ESHIid; + vs_ESHIid.push_back("HLT_mu4_MSonly_L1TE50"); + vs_ESHIid.push_back("HLT_mu4_IDTrkNoCut"); + vs_ESHIid.push_back("HLT_mu4T_IDTrkNoCut"); + std::vector<std::string> vs_ESHIindep; + // vs_ESHIindep.push_back("HLT_j15_a2hi_EFFS_L1ZDC"); + vs_ESHIindep.push_back("HLT_j20_a2hi_EFFS_L1ZDC"); + vs_ESHIindep.push_back("HLT_j75_a2hi_EFFS_L1ZDC"); + vs_ESHIindep.push_back("HLT_L1EM16_NoAlg"); + vs_ESHIindep.push_back("HLT_g10_loose"); + vs_ESHIindep.push_back("HLT_2g5_loose"); + + for (int i = 0; i <= m_maxESbr; i++) { + m_passedES[i] = false; + } - for (int i = 0; i <= m_maxESbr; i++) { - m_passedES[i] = false; + if (m_requestESchains) { + std::vector<std::string>::iterator itrES; + // if (0 == errcnt) { // fill eschains bit only when we have no error on getting ES bit //attention + for (itrES = vs_ESstd.begin(); itrES != vs_ESstd.end(); itrES++) { + // if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention + if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain + m_passedES[ESSTD] = true; + ATH_MSG_DEBUG("----- CommonDQA: ESstd " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_ESnoniso.begin(); itrES != vs_ESnoniso.end(); itrES++) { + if (getTDT()->isPassed(*itrES)) { + m_passedESNONISO = true; + ATH_MSG_DEBUG("----- CommonDQA: ESnoniso " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_EStag.begin(); itrES != vs_EStag.end(); itrES++) { + //if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention + if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain + m_passedES[ESTAG] = true; + ATH_MSG_DEBUG("----- CommonDQA: EStag " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_ESid.begin(); itrES != vs_ESid.end(); itrES++) { + //if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention + if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain + m_passedES[ESID] = true; + ATH_MSG_DEBUG("----- CommonDQA: ESid " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_ESindep.begin(); itrES != vs_ESindep.end(); itrES++) { + //if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention + if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain + m_passedES[ESINDEP] = true; + ATH_MSG_DEBUG("----- CommonDQA: ESindep " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_ESHIL1.begin(); itrES != vs_ESHIL1.end(); itrES++) { + if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain + m_passedES[ESHIL1] = true; + ATH_MSG_DEBUG("----- CommonDQA: ESHIL1 " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_ESHIid.begin(); itrES != vs_ESHIid.end(); itrES++) { + if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain + m_passedES[ESHIID] = true; + ATH_MSG_DEBUG("----- CommonDQA: ESHid " << *itrES << " and EF " << *itrES << " passed"); + } + } + for (itrES = vs_ESHIindep.begin(); itrES != vs_ESHIindep.end(); itrES++) { + if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain + m_passedES[ESHIINDEP] = true; + ATH_MSG_DEBUG("----- CommonDQA: ESHIindep " << *itrES << " and EF " << *itrES << " passed"); } + } + // } + } else { + // enabling just standard-chain histogram only + m_passedES[ESSTD] = true; + } - if (m_requestESchains) { - std::vector<std::string>::iterator itrES; - // if (0 == errcnt) { // fill eschains bit only when we have no error on getting ES bit //attention - for (itrES = vs_ESstd.begin(); itrES != vs_ESstd.end(); itrES++) { - // if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention - if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain - m_passedES[ESSTD] = true; - ATH_MSG_DEBUG("----- CommonDQA: ESstd " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_ESnoniso.begin(); itrES != vs_ESnoniso.end(); itrES++) { - if (getTDT()->isPassed(*itrES)) { - m_passedESNONISO = true; - ATH_MSG_DEBUG("----- CommonDQA: ESnoniso " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_EStag.begin(); itrES != vs_EStag.end(); itrES++) { - //if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention - if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain - m_passedES[ESTAG] = true; - ATH_MSG_DEBUG("----- CommonDQA: EStag " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_ESid.begin(); itrES != vs_ESid.end(); itrES++) { - //if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention - if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain - m_passedES[ESID] = true; - ATH_MSG_DEBUG("----- CommonDQA: ESid " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_ESindep.begin(); itrES != vs_ESindep.end(); itrES++) { - //if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain //attention - if (getTDT()->isPassed(*itrES)) { // YY modified: no request on lower chain - m_passedES[ESINDEP] = true; - ATH_MSG_DEBUG("----- CommonDQA: ESindep " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_ESHIL1.begin(); itrES != vs_ESHIL1.end(); itrES++) { - if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain - m_passedES[ESHIL1] = true; - ATH_MSG_DEBUG("----- CommonDQA: ESHIL1 " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_ESHIid.begin(); itrES != vs_ESHIid.end(); itrES++) { - if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain - m_passedES[ESHIID] = true; - ATH_MSG_DEBUG("----- CommonDQA: ESHid " << *itrES << " and EF " << *itrES << " passed"); - } - } - for (itrES = vs_ESHIindep.begin(); itrES != vs_ESHIindep.end(); itrES++) { - if (isPassedES(m_esvect, *itrES)) { // YY modified: no request on lower chain - m_passedES[ESHIINDEP] = true; - ATH_MSG_DEBUG("----- CommonDQA: ESHIindep " << *itrES << " and EF " << *itrES << " passed"); - } - } - // } - } else { - // enabling just standard-chain histogram only - m_passedES[ESSTD] = true; - } + //measure trigger overlap + fillTriggerOverlap(); - //measure trigger overlap - fillTriggerOverlap(); + //new check L1 flag + sc = fillL1MuRoI(); + if ( sc.isFailure() ) { + ATH_MSG_ERROR(" Cannot retrieve MuonRoIInfo "); + return StatusCode::FAILURE; + } - //new check L1 flag - sc = fillL1MuRoI(); - if ( sc.isFailure() ) { - ATH_MSG_ERROR(" Cannot retrieve MuonRoIInfo "); - return StatusCode::FAILURE; - } + return StatusCode::SUCCESS; +} - return StatusCode::SUCCESS; - } +StatusCode HLTMuonMonTool::fillChainDQA() +{ - StatusCode HLTMuonMonTool::fillChainDQA() - { + ATH_MSG_DEBUG("fillChainDQA"); - ATH_MSG_DEBUG("fillChainDQA"); + StatusCode retval = StatusCode::SUCCESS; + // YY: 25.05.10 to clear m_checked: + retval.getCode(); - StatusCode retval = StatusCode::SUCCESS; - // YY: 25.05.10 to clear m_checked: - retval.getCode(); + // getting ES vector moved to CommonDQA - // getting ES vector moved to CommonDQA + for (int i=0; i < (int)m_allESchain.size() ; i++ ){ + //if ( isPassedES( m_esvect, m_allESchain[i] ) ) hist("Number_Of_ES_Triggers", m_histdir)->Fill(i); + if ( getTDT()->isPassed(m_allESchain[i]) ) hist("Number_Of_ES_Triggers", m_histdir)->Fill(i); + } - for (int i=0; i < (int)m_allESchain.size() ; i++ ){ - //if ( isPassedES( m_esvect, m_allESchain[i] ) ) hist("Number_Of_ES_Triggers", m_histdir)->Fill(i); - if ( getTDT()->isPassed(m_allESchain[i]) ) hist("Number_Of_ES_Triggers", m_histdir)->Fill(i); - } + std::vector<std::string>::const_iterator it; - std::vector<std::string>::const_iterator it; + if( !checkOfflineSAdR() || !checkOfflineCBdR() ) return retval; - if( !checkOfflineSAdR() || !checkOfflineCBdR() ) return retval; + int itr; + for(it=m_chainsMSonly.begin(), itr=0; it != m_chainsMSonly.end() ; it++, itr++ ){ + StatusCode sc = fillChainDQA_MSonly(*it, m_histChainMSonly[itr]); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("fillChainDQA_MSonly failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } - int itr; - for(it=m_chainsMSonly.begin(), itr=0; it != m_chainsMSonly.end() ; it++, itr++ ){ - StatusCode sc = fillChainDQA_MSonly(*it, m_histChainMSonly[itr]); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("fillChainDQA_MSonly failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } - } + for(it=m_chainsEFFS.begin(), itr=0; it != m_chainsEFFS.end() ; it++, itr++ ){ + if(itr > 0) continue; + StatusCode sc = fillChainDQA_standard(*it, m_histChainEFFS[0]); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("fillChainDQA_standard failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } + for(it=m_chainsGeneric.begin(), itr=0; it != m_chainsGeneric.end() ; it++,itr++ ){ + StatusCode sc = fillChainDQA_generic(*it, m_histChainGeneric[itr], false); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("fillChainDQA_generic failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } - for(it=m_chainsEFFS.begin(), itr=0; it != m_chainsEFFS.end() ; it++, itr++ ){ - if(itr > 0) continue; - StatusCode sc = fillChainDQA_standard(*it, m_histChainEFFS[0]); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("fillChainDQA_standard failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } - } + for(it=m_chainsEFiso.begin(), itr=0; it != m_chainsEFiso.end() ; it++, itr++ ){ + StatusCode sc = fillChainDQA_generic(*it, m_histChainEFiso[itr], true); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("fillChainDQA_generic failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } - for(it=m_chainsGeneric.begin(), itr=0; it != m_chainsGeneric.end() ; it++,itr++ ){ - StatusCode sc = fillChainDQA_generic(*it, m_histChainGeneric[itr], false); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("fillChainDQA_generic failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } - } + return retval; +} - for(it=m_chainsEFiso.begin(), itr=0; it != m_chainsEFiso.end() ; it++, itr++ ){ - StatusCode sc = fillChainDQA_generic(*it, m_histChainEFiso[itr], true); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("fillChainDQA_generic failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } - } +HLTMuonMonTool::ptThresEtaRegion HLTMuonMonTool::getEtaRegion(const float eta) +{ + if ( fabs(eta) < 1.05 ) { return BRL; } + else if( fabs(eta) < 1.5 ) { return EC1; } + else if( fabs(eta) < 2.0 ) { return EC2; } + else if( fabs(eta) < 2.5 ) { return EC3; } + return EC3; +} - return retval; - } +float HLTMuonMonTool::getPtThresTrigMuonEFCB(const int thres, const float eta) +{ + float pt_thres = -1; + static int errcount = 0; - HLTMuonMonTool::ptThresEtaRegion HLTMuonMonTool::getEtaRegion(const float eta) - { - if ( fabs(eta) < 1.05 ) { return BRL; } - else if( fabs(eta) < 1.5 ) { return EC1; } - else if( fabs(eta) < 2.0 ) { return EC2; } - else if( fabs(eta) < 2.5 ) { return EC3; } - return EC3; - } + ptThresEtaRegion etaRegion = getEtaRegion(eta); - float HLTMuonMonTool::getPtThresTrigMuonEFCB(const int thres, const float eta) - { - float pt_thres = -1; - static int errcount = 0; + if( thres == 40 ) { + if ( etaRegion==BRL ) { pt_thres = 38.76; } + else if( etaRegion==EC1 ) { pt_thres = 38.54; } + else if( etaRegion==EC2 ) { pt_thres = 38.38; } + else { pt_thres = 38.31; } + } + else if( thres == 20 ) { + if ( etaRegion==BRL ) { pt_thres = 19.47; } + else if( etaRegion==EC1 ) { pt_thres = 19.33; } + else if( etaRegion==EC2 ) { pt_thres = 19.30; } + else { pt_thres = 19.22; } + } + else if( thres == 15 ) { + if ( etaRegion==BRL ) { pt_thres = 14.63; } + else if( etaRegion==EC1 ) { pt_thres = 14.49; } + else if( etaRegion==EC2 ) { pt_thres = 14.42; } + else { pt_thres = 14.38; } + } + else if( thres == 13 ) { + if ( etaRegion==BRL ) { pt_thres = 12.67; } + else if( etaRegion==EC1 ) { pt_thres = 12.55; } + else if( etaRegion==EC2 ) { pt_thres = 12.49; } + else { pt_thres = 12.46; } + } + else if( thres == 10 ) { + if ( etaRegion==BRL ) { pt_thres = 9.77; } + else if( etaRegion==EC1 ) { pt_thres = 9.67; } + else if( etaRegion==EC2 ) { pt_thres = 9.62; } + else { pt_thres = 9.57; } + } + else if( thres == 6 ) { + if ( etaRegion==BRL ) { pt_thres = 5.88; } + else if( etaRegion==EC1 ) { pt_thres = 5.81; } + else if( etaRegion==EC2 ) { pt_thres = 5.78; } + else { pt_thres = 5.76; } + } + else { + if( thres != 4 ) { + if (errcount < 1) { + ATH_MSG_INFO("CB: not proper thres=" << thres); + errcount++; + } + pt_thres = 100.0; // threshold 100 GeV = efficiency 0%, which can be visible from histograms. + } else { + if ( etaRegion==BRL ) { pt_thres = 3.93; } + else if( etaRegion==EC1 ) { pt_thres = 3.91; } + else if( etaRegion==EC2 ) { pt_thres = 3.88; } + else { pt_thres = 3.88; } + } + } - ptThresEtaRegion etaRegion = getEtaRegion(eta); - if( thres == 40 ) { - if ( etaRegion==BRL ) { pt_thres = 38.76; } - else if( etaRegion==EC1 ) { pt_thres = 38.54; } - else if( etaRegion==EC2 ) { pt_thres = 38.38; } - else { pt_thres = 38.31; } - } - else if( thres == 20 ) { - if ( etaRegion==BRL ) { pt_thres = 19.47; } - else if( etaRegion==EC1 ) { pt_thres = 19.33; } - else if( etaRegion==EC2 ) { pt_thres = 19.30; } - else { pt_thres = 19.22; } - } - else if( thres == 15 ) { - if ( etaRegion==BRL ) { pt_thres = 14.63; } - else if( etaRegion==EC1 ) { pt_thres = 14.49; } - else if( etaRegion==EC2 ) { pt_thres = 14.42; } - else { pt_thres = 14.38; } - } - else if( thres == 13 ) { - if ( etaRegion==BRL ) { pt_thres = 12.67; } - else if( etaRegion==EC1 ) { pt_thres = 12.55; } - else if( etaRegion==EC2 ) { pt_thres = 12.49; } - else { pt_thres = 12.46; } - } - else if( thres == 10 ) { - if ( etaRegion==BRL ) { pt_thres = 9.77; } - else if( etaRegion==EC1 ) { pt_thres = 9.67; } - else if( etaRegion==EC2 ) { pt_thres = 9.62; } - else { pt_thres = 9.57; } - } - else if( thres == 6 ) { - if ( etaRegion==BRL ) { pt_thres = 5.88; } - else if( etaRegion==EC1 ) { pt_thres = 5.81; } - else if( etaRegion==EC2 ) { pt_thres = 5.78; } - else { pt_thres = 5.76; } - } - else { - if( thres != 4 ) { - if (errcount < 1) { - ATH_MSG_INFO("CB: not proper thres=" << thres); - errcount++; - } - pt_thres = 100.0; // threshold 100 GeV = efficiency 0%, which can be visible from histograms. - } else { - if ( etaRegion==BRL ) { pt_thres = 3.93; } - else if( etaRegion==EC1 ) { pt_thres = 3.91; } - else if( etaRegion==EC2 ) { pt_thres = 3.88; } - else { pt_thres = 3.88; } - } - } + return pt_thres; +} +float HLTMuonMonTool::getPtThresTrigMuonEFSA(const int thres, const float eta) +{ + float pt_thres = -1; + static int errcount = 0; - return pt_thres; - } + ptThresEtaRegion etaRegion = getEtaRegion(eta); - float HLTMuonMonTool::getPtThresTrigMuonEFSA(const int thres, const float eta) - { - float pt_thres = -1; - static int errcount = 0; + // YY 6.10.2010 threshold for 30, 50 and 70 GeV added, they are now correct + if( thres == 40 ) { + if ( etaRegion==BRL ) { pt_thres = 31.5; } + else if( etaRegion==EC1 ) { pt_thres = 30.0; } + else if( etaRegion==EC2 ) { pt_thres = 28.5; } + else { pt_thres = 32.5; } + } + else if( thres == 70 ) { + if ( etaRegion==BRL ) { pt_thres = 63.0; } + else if( etaRegion==EC1 ) { pt_thres = 63.0; } + else if( etaRegion==EC2 ) { pt_thres = 63.0; } + else { pt_thres = 63.0; } + } + else if( thres == 60 ) { + if ( etaRegion==BRL ) { pt_thres = 54.0; } + else if( etaRegion==EC1 ) { pt_thres = 54.0; } + else if( etaRegion==EC2 ) { pt_thres = 54.0; } + else { pt_thres = 54.0; } + } + else if( thres == 50 ) { + if ( etaRegion==BRL ) { pt_thres = 45.0; } + else if( etaRegion==EC1 ) { pt_thres = 45.0; } + else if( etaRegion==EC2 ) { pt_thres = 45.0; } + else { pt_thres = 45.0; } + } + else if( thres == 30 ) { + if ( etaRegion==BRL ) { pt_thres = 25.0; } + else if( etaRegion==EC1 ) { pt_thres = 24.5; } + else if( etaRegion==EC2 ) { pt_thres = 23.0; } + else { pt_thres = 26.0; } + } + else if( thres == 22 ) { + if ( etaRegion==BRL ) { pt_thres = 19.1; } + else if( etaRegion==EC1 ) { pt_thres = 20.0; } + else if( etaRegion==EC2 ) { pt_thres = 18.4; } + else { pt_thres = 19.6; } + } + else if( thres == 20 ) { + if ( etaRegion==BRL ) { pt_thres = 17.5; } + else if( etaRegion==EC1 ) { pt_thres = 18.5; } + else if( etaRegion==EC2 ) { pt_thres = 17.0; } + else { pt_thres = 18.0; } + } + else if( thres == 15 ) { + if ( etaRegion==BRL ) { pt_thres = 13.0; } + else if( etaRegion==EC1 ) { pt_thres = 14.0; } + else if( etaRegion==EC2 ) { pt_thres = 13.0; } + else { pt_thres = 14.0; } + } + else if( thres == 13 ) { + if ( etaRegion==BRL ) { pt_thres = 11.4; } + else if( etaRegion==EC1 ) { pt_thres = 12.0; } + else if( etaRegion==EC2 ) { pt_thres = 11.1; } + else { pt_thres = 12.0; } + } + else if( thres == 10 ) { + if ( etaRegion==BRL ) { pt_thres = 8.9; } + else if( etaRegion==EC1 ) { pt_thres = 9.0; } + else if( etaRegion==EC2 ) { pt_thres = 8.4; } + else { pt_thres = 9.2; } + } + else if( thres == 6 ) { + if ( etaRegion==BRL ) { pt_thres = 5.4; } + else if( etaRegion==EC1 ) { pt_thres = 4.5; } + else if( etaRegion==EC2 ) { pt_thres = 4.9; } + else { pt_thres = 5.3; } + } + else { + if( thres != 4 ) { + if (errcount < 1) { + ATH_MSG_INFO("SA: not proper thres=" << thres); + errcount++; + } + pt_thres = 100.0; // threshold 100 GeV = efficiency 0%, which can be visible from histograms. + } else { + if ( etaRegion==BRL ) { pt_thres = 3.0; } + else if( etaRegion==EC1 ) { pt_thres = 2.5; } + else if( etaRegion==EC2 ) { pt_thres = 2.5; } + else { pt_thres = 2.5; } + } + } - ptThresEtaRegion etaRegion = getEtaRegion(eta); + // - // YY 6.10.2010 threshold for 30, 50 and 70 GeV added, they are now correct - if( thres == 40 ) { - if ( etaRegion==BRL ) { pt_thres = 31.5; } - else if( etaRegion==EC1 ) { pt_thres = 30.0; } - else if( etaRegion==EC2 ) { pt_thres = 28.5; } - else { pt_thres = 32.5; } - } - else if( thres == 70 ) { - if ( etaRegion==BRL ) { pt_thres = 63.0; } - else if( etaRegion==EC1 ) { pt_thres = 63.0; } - else if( etaRegion==EC2 ) { pt_thres = 63.0; } - else { pt_thres = 63.0; } - } - else if( thres == 60 ) { - if ( etaRegion==BRL ) { pt_thres = 54.0; } - else if( etaRegion==EC1 ) { pt_thres = 54.0; } - else if( etaRegion==EC2 ) { pt_thres = 54.0; } - else { pt_thres = 54.0; } - } - else if( thres == 50 ) { - if ( etaRegion==BRL ) { pt_thres = 45.0; } - else if( etaRegion==EC1 ) { pt_thres = 45.0; } - else if( etaRegion==EC2 ) { pt_thres = 45.0; } - else { pt_thres = 45.0; } - } - else if( thres == 30 ) { - if ( etaRegion==BRL ) { pt_thres = 25.0; } - else if( etaRegion==EC1 ) { pt_thres = 24.5; } - else if( etaRegion==EC2 ) { pt_thres = 23.0; } - else { pt_thres = 26.0; } - } - else if( thres == 22 ) { - if ( etaRegion==BRL ) { pt_thres = 19.1; } - else if( etaRegion==EC1 ) { pt_thres = 20.0; } - else if( etaRegion==EC2 ) { pt_thres = 18.4; } - else { pt_thres = 19.6; } - } - else if( thres == 20 ) { - if ( etaRegion==BRL ) { pt_thres = 17.5; } - else if( etaRegion==EC1 ) { pt_thres = 18.5; } - else if( etaRegion==EC2 ) { pt_thres = 17.0; } - else { pt_thres = 18.0; } - } - else if( thres == 15 ) { - if ( etaRegion==BRL ) { pt_thres = 13.0; } - else if( etaRegion==EC1 ) { pt_thres = 14.0; } - else if( etaRegion==EC2 ) { pt_thres = 13.0; } - else { pt_thres = 14.0; } - } - else if( thres == 13 ) { - if ( etaRegion==BRL ) { pt_thres = 11.4; } - else if( etaRegion==EC1 ) { pt_thres = 12.0; } - else if( etaRegion==EC2 ) { pt_thres = 11.1; } - else { pt_thres = 12.0; } - } - else if( thres == 10 ) { - if ( etaRegion==BRL ) { pt_thres = 8.9; } - else if( etaRegion==EC1 ) { pt_thres = 9.0; } - else if( etaRegion==EC2 ) { pt_thres = 8.4; } - else { pt_thres = 9.2; } - } - else if( thres == 6 ) { - if ( etaRegion==BRL ) { pt_thres = 5.4; } - else if( etaRegion==EC1 ) { pt_thres = 4.5; } - else if( etaRegion==EC2 ) { pt_thres = 4.9; } - else { pt_thres = 5.3; } - } - else { - if( thres != 4 ) { - if (errcount < 1) { - ATH_MSG_INFO("SA: not proper thres=" << thres); - errcount++; - } - pt_thres = 100.0; // threshold 100 GeV = efficiency 0%, which can be visible from histograms. - } else { - if ( etaRegion==BRL ) { pt_thres = 3.0; } - else if( etaRegion==EC1 ) { pt_thres = 2.5; } - else if( etaRegion==EC2 ) { pt_thres = 2.5; } - else { pt_thres = 2.5; } - } - } + return pt_thres; +} + +StatusCode HLTMuonMonTool::fillChainDQA_MSonly(const std::string& chainName, const std::string & histcName) +{ + ATH_MSG_DEBUG("----- fillChainDQA_MSonly: chain=" << chainName << " ----- histchain=" << histcName); + + using namespace Trig; + bool isBarrelChain = false; + bool isTighterChain = false; + //int nnn = chainName.find("MSonly_barrel"); + int nnn = chainName.find("0eta105_msonly"); // run2 name changed + if (nnn > 0) { + isBarrelChain = true; + } + nnn = chainName.find("MSonly_tighter"); + if (nnn > 0) { + isTighterChain = true; + } - // + // 19.07.10 enabling request for lower chain + //bool EF_lower_passed = getTDT()->isPassed( m_lowerChains[chainName] ); + bool EF_lower_passed = true; - return pt_thres; - } + StatusCode retval = StatusCode::SUCCESS; + // YY: 25.05.10 to clear m_checked: + retval.getCode(); - StatusCode HLTMuonMonTool::fillChainDQA_MSonly(const std::string& chainName, const std::string & histcName) - { - ATH_MSG_DEBUG("----- fillChainDQA_MSonly: chain=" << chainName << " ----- histchain=" << histcName); - - using namespace Trig; - bool isBarrelChain = false; - bool isTighterChain = false; - //int nnn = chainName.find("MSonly_barrel"); - int nnn = chainName.find("0eta105_msonly"); // run2 name changed - if (nnn > 0) { - isBarrelChain = true; - } - nnn = chainName.find("MSonly_tighter"); - if (nnn > 0) { - isTighterChain = true; - } + FeatureContainer fHLT = getTDT()->features(chainName,TrigDefs::alsoDeactivateTEs); - // 19.07.10 enabling request for lower chain - //bool EF_lower_passed = getTDT()->isPassed( m_lowerChains[chainName] ); - bool EF_lower_passed = true; + std::vector<Combination> combsHLT = fHLT.getCombinations(); + ATH_MSG_DEBUG("nr combsHLT=" << combsHLT.size()); + for(std::vector<Combination>::const_iterator it=combsHLT.begin(); it!=combsHLT.end(); it++) { + ATH_MSG_DEBUG("..." << *it ); + } - StatusCode retval = StatusCode::SUCCESS; - // YY: 25.05.10 to clear m_checked: - retval.getCode(); + const float DR_CUT = 0.2; // 2012 - FeatureContainer fHLT = getTDT()->features(chainName,TrigDefs::alsoDeactivateTEs); + std::string name; + int thresh = m_thresh[chainName]; + std::string bestr[2] = {"_Barrel", "_Endcap"}; - std::vector<Combination> combsHLT = fHLT.getCombinations(); - ATH_MSG_DEBUG("nr combsHLT=" << combsHLT.size()); - for(std::vector<Combination>::const_iterator it=combsHLT.begin(); it!=combsHLT.end(); it++) { - ATH_MSG_DEBUG("..." << *it ); - } + // loop on each SA probe - const float DR_CUT = 0.2; // 2012 + for(int i_rec=0; i_rec<(int)m_RecMuonSA_pt.size(); i_rec++) { - std::string name; - int thresh = m_thresh[chainName]; + // YY added - remove SA-only tracks from efficiency numerator/denominator + /* ATH_MSG_INFO("HLTMuonMon: fillChainDQA_MSonly: " << i_rec << "-th muon, comb flag " + << m_RecMuonSA_hasCB[i_rec] << " pt " << m_RecMuonSA_pt[i_rec]); */ + if (!m_RecMuonSA_isGoodCB[i_rec]) { + ATH_MSG_DEBUG("HLTMuonMon: fillChainDQA_MSonly: not a good combined muon" << i_rec); + continue; //for LS1, remove requirements on Hits and impact parameter, attention + } - std::string bestr[2] = {"_Barrel", "_Endcap"}; + float rec_eta = m_RecMuonSA_eta[i_rec]; + float rec_phi = m_RecMuonSA_phi[i_rec]; + float rec_pt = m_RecMuonSA_pt[i_rec]; + ATH_MSG_DEBUG("++ i_rec=" << i_rec); + ATH_MSG_DEBUG("rec: eta/phi/pt=" << rec_eta << " / " << rec_phi << " / " << rec_pt); + // if( rec_pt > 50. ) rec_pt = 50.; + // if( rec_pt > 100. ) rec_pt = 100.; + + // index for Barrel/Endcap + int iBarrelSA = (fabs(rec_eta) < 1.05) ? 0 : 1; + int iTighterSA = (fabs(rec_eta) < 2.0) ? 0 : 1; + if (0 != iBarrelSA && isBarrelChain) { + ATH_MSG_DEBUG( chainName << " is barrel-only, returns since the matching muon is in the endcap "); + continue; // exiting the outer-most "for" loop + } + if (0 != iTighterSA && isTighterChain) { + ATH_MSG_DEBUG( chainName << " is for eta < 2.0, returns since the matching muon is in forward area "); + continue; // exiting the outer-most "for" loop + } - // loop on each SA probe + if (EF_lower_passed) { + name = histcName + "_Turn_On_Curve_wrt_MuidSA_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); - for(int i_rec=0; i_rec<(int)m_RecMuonSA_pt.size(); i_rec++) { + // Barrel/Endcap (YY 27.05.10) Denominator for "wrtOffline" + name = histcName + "_Turn_On_Curve_wrt_MuidSA" + bestr[iBarrelSA] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } - // YY added - remove SA-only tracks from efficiency numerator/denominator - /* ATH_MSG_INFO("HLTMuonMon: fillChainDQA_MSonly: " << i_rec << "-th muon, comb flag " - << m_RecMuonSA_hasCB[i_rec] << " pt " << m_RecMuonSA_pt[i_rec]); */ - if (!m_RecMuonSA_isGoodCB[i_rec]) { - ATH_MSG_DEBUG("HLTMuonMon: fillChainDQA_MSonly: not a good combined muon" << i_rec); - continue; //for LS1, remove requirements on Hits and impact parameter, attention - } - float rec_eta = m_RecMuonSA_eta[i_rec]; - float rec_phi = m_RecMuonSA_phi[i_rec]; - float rec_pt = m_RecMuonSA_pt[i_rec]; - ATH_MSG_DEBUG("++ i_rec=" << i_rec); - ATH_MSG_DEBUG("rec: eta/phi/pt=" << rec_eta << " / " << rec_phi << " / " << rec_pt); - // if( rec_pt > 50. ) rec_pt = 50.; - // if( rec_pt > 100. ) rec_pt = 100.; - - // index for Barrel/Endcap - int iBarrelSA = (fabs(rec_eta) < 1.05) ? 0 : 1; - int iTighterSA = (fabs(rec_eta) < 2.0) ? 0 : 1; - - if (0 != iBarrelSA && isBarrelChain) { - ATH_MSG_DEBUG( chainName << " is barrel-only, returns since the matching muon is in the endcap "); - continue; // exiting the outer-most "for" loop - } - if (0 != iTighterSA && isTighterChain) { - ATH_MSG_DEBUG( chainName << " is for eta < 2.0, returns since the matching muon is in forward area "); - continue; // exiting the outer-most "for" loop - } + // if (ES_lower_passed) + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = histcName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // New Barrel/endcap for ES L1 + name = histcName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA" + bestr[iBarrelSA] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } - if (EF_lower_passed) { - name = histcName + "_Turn_On_Curve_wrt_MuidSA_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); + float dr_min_l2 = 9999; + int id_min_l2 = -1; + std::string monalg = "_MuFast"; + std::string wrtalg = "_L1"; - // Barrel/Endcap (YY 27.05.10) Denominator for "wrtOffline" - name = histcName + "_Turn_On_Curve_wrt_MuidSA" + bestr[iBarrelSA] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } + for(int iL2=0; iL2<(int)combsHLT.size(); iL2++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); + retval = StatusCode::RECOVERABLE; + } + else { + float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + name = histcName + "_deltaR_btw_L1_MuidSA_For" + monalg; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(dr); + if( dr < dr_min_l2 ) { + dr_min_l2 = dr; + id_min_l2 = iL2; + } + } + } + // L2 L2MuonSA + if( dr_min_l2 < DR_CUT && id_min_l2 != -1 ) { + if (EF_lower_passed) { + ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); + name = histcName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // Barrel/Endcap + name = histcName + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelSA] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + // if (ES_lower_passed) + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; + if (m_passedES[i]) { + ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); + name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // Barrel/Endcap for L1 : monalg = L2MuonSA, wrtalg = L1 + name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelSA] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + bool mf_active = false; + std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = combsHLT[id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); + if( mf.size() == 1 ) { + mf_active = mf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(mf[0].te(), "L2MuonSA", chainName); + if(hypo){ + mf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << mf_active); + } + } + } + // + if( mf_active ) { + // float mf_pt = mf[0].cptr()->pt(); + const xAOD::L2StandAloneMuonContainer* mf_cont = mf[0]; + + float mf_eta = mf_cont->at(0)->eta(); + float mf_phi = mf_cont->at(0)->phi(); + + if (EF_lower_passed) { + name = histcName + monalg + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // Barrel/Endcap + name = histcName + monalg + bestr[iBarrelSA] + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // 2D coverage hist + name = histcName + monalg + "_etaphi_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); + name = histcName + monalg + "_etaphi_coarse_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); + } - // if (ES_lower_passed) - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = histcName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - // New Barrel/endcap for ES L1 - name = histcName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA" + bestr[iBarrelSA] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } + // if (ES_lower_passed) + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + } + } - // L2 muFast - float dr_min_l2 = 9999; - int id_min_l2 = -1; - std::string monalg = "_MuFast"; - std::string wrtalg = "_L1"; - - for(int iL2=0; iL2<(int)combsHLT.size(); iL2++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); - retval = StatusCode::RECOVERABLE; - } - else { - float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - name = histcName + "_deltaR_btw_L1_MuidSA_For" + monalg; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(dr); - if( dr < dr_min_l2 ) { - dr_min_l2 = dr; - id_min_l2 = iL2; - } - } - } - // if( dr_min_l2 < DR_CUT && (EF_lower_passed || ES_lower_passed)) - if( dr_min_l2 < DR_CUT && id_min_l2 != -1 ) { - if (EF_lower_passed) { - ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); - name = histcName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // Barrel/Endcap - name = histcName + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelSA] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - // if (ES_lower_passed) - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - if (m_passedES[i]) { - ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); - name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - // Barrel/Endcap for L1 : monalg = MuFast, wrtalg = L1 - name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelSA] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // EF TrigMuonEF SA + float dr_min_ef = 9999; + int id_min_ef = -1; + int last_step = -1; + monalg = "_MuonEFMS"; + wrtalg = "_L2MuonSA"; + std::string monalg2 = "_MuonEFSA"; + const HLT::Chain* chainDetail = m_ExpertMethods->getChainDetails( chainName); + + const TrigConf::HLTChain* configChain = 0; + if (chainDetail) { + configChain = chainDetail->getConfigChain(); + //lastStep = chainDetail->getChainStep(); + } + std::vector<const HLT::TriggerElement*>::const_iterator p_te1; + std::vector<TrigConf::HLTTriggerElement*>::const_iterator p_te2; + std::vector<TrigConf::HLTSignature*>::const_iterator p_sig; + std::vector<TrigConf::HLTSignature*> dummylist; + std::vector<TrigConf::HLTSignature*>& siglist = dummylist; + + if (configChain) siglist = configChain->signatureList(); + + for(int iEF=0; iEF<(int)combsHLT.size(); iEF++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + ATH_MSG_DEBUG("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName << " RoI # " << initRois.size()); + if( initRois.size() != 1 ) { + // ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); + ATH_MSG_DEBUG("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); + dr_min_ef = -1.0; // No RoI = Full scan trigger: fill efficiency nevertheless + // retval = StatusCode::RECOVERABLE; + } + else { + float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + name = histcName + "_deltaR_btw_L1_MuidSA_For" + monalg; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(dr); + if( dr < dr_min_ef ) { + dr_min_ef = dr; + id_min_ef = iEF; + last_step = 0; + + //get last step + //loop over TE + const std::vector<const HLT::TriggerElement*>& tes = combsHLT[iEF].tes(); + for (p_te1=tes.begin(); p_te1!=tes.end(); ++p_te1) { + bool s = false; + + //loop over signature list + for (p_sig=siglist.begin(); p_sig!=siglist.end(); ++p_sig) { + vector<TrigConf::HLTTriggerElement*>& tes2 = (*p_sig)->outputTEs(); + for (p_te2=tes2.begin(); p_te2!=tes2.end(); ++p_te2) { + if ( (*p_te1)->getId() == + TrigConf::HLTUtils::string2hash( (*p_te2)->name(), "TE")) { + s = true; + break; } } - - // - bool mf_active = false; - std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = combsHLT[id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); - if( mf.size() == 1 ) { - mf_active = mf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); + if (s) { + if ( (int) (*p_sig)->signature_counter() > last_step) + last_step = (int) (*p_sig)->signature_counter(); + break; } - if( mf_active ) { - // float mf_pt = mf[0].cptr()->pt(); - const xAOD::L2StandAloneMuonContainer* mf_cont = mf[0]; - - float mf_eta = mf_cont->at(0)->eta(); - float mf_phi = mf_cont->at(0)->phi(); - - if (EF_lower_passed) { - name = histcName + monalg + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // Barrel/Endcap - name = histcName + monalg + bestr[iBarrelSA] + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // 2D coverage hist - name = histcName + monalg + "_etaphi_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); - name = histcName + monalg + "_etaphi_coarse_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); + } + } + } + } + } + // if( dr_min_ef < DR_CUT && (EF_lower_passed || ES_lower_passed)) + if( dr_min_ef < DR_CUT && id_min_ef>=0 ) { // 20.11.11: now it also means that the ROI is not found, which is indicated as dr being negative + // but this condition is not fulfilled if EF feature does not exist in this event + ATH_MSG_DEBUG("EF: dRmin=" << dr_min_ef); + + if (EF_lower_passed) { + name = histcName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + name = histcName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // Barrel/Endcap + name = histcName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelSA] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + // if (ES_lower_passed) + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + name = histcName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + // + float ef_ms_pt = 0.; + float ef_ms_eta = 0.; + float ef_sa_pt = 0.; + float ef_sa_eta = 0.; + + // YY added: + float ef_ms_phi = 0.; + float ef_sa_phi = 0.; + + // Check if EF feature matches to offline object for full-scan triggers + bool ef_ms_match = false; + bool ef_sa_match = false; + float ms_min_dltr = 9999.; + float sa_min_dltr = 9999.; + int id_min_msef = -1; + int id_min_saef = -1; + bool ef_active = false; + + if (dr_min_ef >= 0.) { + ef_ms_match = true; // YY for full-scan coding + ef_sa_match = true; // YY for full-scan coding + + + ef_active = combsHLT[id_min_ef].active(); + ATH_MSG_DEBUG("...comb active=" << ef_active ); //i + std::vector< Feature<xAOD::MuonContainer> > ef = combsHLT[id_min_ef].get<xAOD::MuonContainer>("MuonEFInfo",TrigDefs::alsoDeactivateTEs); + ATH_MSG_DEBUG("...ef size=" << ef.size() ); //i + if( ef.size() == 1 ) { + + ATH_MSG_DEBUG("...EFInfo: label/active=" << getTEName(*ef[0].te()) << " / " << ef[0].te()->getActiveState()); + + std::vector<Feature<xAOD::MuonContainer> >::const_iterator fIt = ef.begin(); + for ( ; fIt != ef.end() ; ++fIt) { + const xAOD::MuonContainer* ef_cont = (*fIt); + if (ef_cont) { + ATH_MSG_DEBUG(" ef_contContainter size:"<<ef_cont->size()); + + xAOD::MuonContainer::const_iterator iCont = ef_cont->begin(); + for(; iCont != ef_cont->end(); iCont++) { + const xAOD::TrackParticle *ef_ms_trk; + ef_ms_trk = (*iCont)->trackParticle(xAOD::Muon::TrackParticleType::MuonSpectrometerTrackParticle); + + ef_ms_pt = (*iCont)->pt(); + ef_ms_eta = (*iCont)->eta(); + ef_ms_phi = (*iCont)->phi(); // YY + + if( ef_ms_trk ){ + if( ef_ms_trk->pt() <= 0.){ + ef_ms_pt = -1.; + ef_ms_eta = 0.; + ef_ms_phi = 0.; // YY + }else if( ef_ms_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ + ef_ms_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; + ef_ms_eta = ef_ms_trk->eta(); + ef_ms_phi = ef_ms_trk->phi(); // YY + } + ATH_MSG_DEBUG(" MS eta/pt=" << ef_ms_eta << " / " << ef_ms_pt/CLHEP::GeV ); + ATH_MSG_DEBUG("MS track found for last_step " << last_step); //i + }else{ + ATH_MSG_DEBUG("No MS track found for last_step " << last_step); } - // if (ES_lower_passed) - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); + ef_sa_pt = (*iCont)->pt(); + ef_sa_eta = (*iCont)->eta(); + ef_sa_phi = (*iCont)->phi(); // YY + if( (*iCont)->muonType()!=xAOD::Muon::MuonStandAlone && (*iCont)->muonType()!=xAOD::Muon::Combined){ + ef_sa_pt = -1.; + ef_sa_eta = 0.; + ef_sa_phi = 0.; // YY + }else if( ef_ms_trk){ + if( ef_sa_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ + ef_sa_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; + ef_sa_eta = ef_ms_trk->eta(); + ef_sa_phi = ef_ms_trk->phi(); // YY } + ATH_MSG_DEBUG("SA track found for last_step " << last_step); //i + }else{ + ATH_MSG_DEBUG("No SA track found for last_step " << last_step); //i } + ATH_MSG_DEBUG(" SA eta/pt=" << ef_sa_eta << " / " << ef_sa_pt/CLHEP::GeV ); } } + } + } + } else { // full-scan chain + + for(int iEF=0; iEF<(int)combsHLT.size(); iEF++) { + ATH_MSG_DEBUG("...comb active=" << ef_active ); //i + if (id_min_ef < 0) continue; + std::vector< Feature<xAOD::MuonContainer> > ef = combsHLT[id_min_ef].get<xAOD::MuonContainer>("MuonEFInfo",TrigDefs::alsoDeactivateTEs); + ATH_MSG_DEBUG("...ef size=" << ef.size() ); //i + if( ef.size() == 1 ) { + float dltr; + ATH_MSG_DEBUG("...EFInfo: label/active=" << getTEName(*ef[0].te()) << " / " << ef[0].te()->getActiveState()); //i + + std::vector<Feature<xAOD::MuonContainer> >::const_iterator fIt = ef.begin(); + for ( ; fIt != ef.end() ; ++fIt) { + const xAOD::MuonContainer* ef_cont = (*fIt); + if (ef_cont) { + ATH_MSG_DEBUG(" FS ef_contContainter size:"<<ef_cont->size()); + + xAOD::MuonContainer::const_iterator iCont = ef_cont->begin(); + for(; iCont != ef_cont->end(); iCont++) { + const xAOD::TrackParticle *ef_ms_trk; + ef_ms_trk = (*iCont)->trackParticle(xAOD::Muon::TrackParticleType::MuonSpectrometerTrackParticle); + + ef_ms_pt = (*iCont)->pt(); + ef_ms_eta = (*iCont)->eta(); + ef_ms_phi = (*iCont)->phi(); // YY + if( ef_ms_trk ){ + if( ef_ms_trk->pt() <= 0.){ + ef_ms_pt = -1.; + ef_ms_eta = 0.; + ef_ms_phi = 0.; // YY + }else if( ef_ms_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ + ef_ms_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; + float ef_ms_eta_tmp = ef_ms_trk->eta(); + float ef_ms_phi_tmp = ef_ms_trk->phi(); // YY + dltr = CalculateDeltaR(rec_eta, rec_phi, ef_ms_eta_tmp, ef_ms_phi_tmp); + if (dltr < ms_min_dltr) { + ms_min_dltr = dltr; + id_min_msef = iEF; + ef_ms_eta = ef_ms_eta_tmp; + ef_ms_phi = ef_ms_phi_tmp; + } + } + ATH_MSG_DEBUG("FS MS eta/pt=" << ef_ms_eta << " / " << ef_ms_pt/CLHEP::GeV ); //i + ATH_MSG_DEBUG("MS track found for last_step " << last_step); //i + }else{ + ATH_MSG_DEBUG("No MS track found for last_step " << last_step); //i + } - // EF TrigMuonEF SA - float dr_min_ef = 9999; - int id_min_ef = -1; - int last_step = -1; - monalg = "_MuonEFMS"; - wrtalg = "_MuFast"; - std::string monalg2 = "_MuonEFSA"; - - - const HLT::Chain* chainDetail = m_ExpertMethods->getChainDetails( chainName); - const TrigConf::HLTChain* configChain = 0; - if (chainDetail) { - configChain = chainDetail->getConfigChain(); - //lastStep = chainDetail->getChainStep(); - } - std::vector<const HLT::TriggerElement*>::const_iterator p_te1; - std::vector<TrigConf::HLTTriggerElement*>::const_iterator p_te2; - std::vector<TrigConf::HLTSignature*>::const_iterator p_sig; - std::vector<TrigConf::HLTSignature*> dummylist; - std::vector<TrigConf::HLTSignature*>& siglist = dummylist; - - if (configChain) siglist = configChain->signatureList(); - - for(int iEF=0; iEF<(int)combsHLT.size(); iEF++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - ATH_MSG_DEBUG("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName << " RoI # " << initRois.size()); - if( initRois.size() != 1 ) { - // ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); - ATH_MSG_DEBUG("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); - dr_min_ef = -1.0; // No RoI = Full scan trigger: fill efficiency nevertheless - // retval = StatusCode::RECOVERABLE; - } - else { - float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - name = histcName + "_deltaR_btw_L1_MuidSA_For" + monalg; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(dr); - if( dr < dr_min_ef ) { - dr_min_ef = dr; - id_min_ef = iEF; - last_step = 0; - - //get last step - //loop over TE - const std::vector<const HLT::TriggerElement*>& tes = combsHLT[iEF].tes(); - for (p_te1=tes.begin(); p_te1!=tes.end(); ++p_te1) { - bool s = false; - - //loop over signature list - for (p_sig=siglist.begin(); p_sig!=siglist.end(); ++p_sig) { - vector<TrigConf::HLTTriggerElement*>& tes2 = (*p_sig)->outputTEs(); - for (p_te2=tes2.begin(); p_te2!=tes2.end(); ++p_te2) { - if ( (*p_te1)->getId() == - TrigConf::HLTUtils::string2hash( (*p_te2)->name(), "TE")) { - s = true; - break; - } - } - if (s) { - if ( (int) (*p_sig)->signature_counter() > last_step) - last_step = (int) (*p_sig)->signature_counter(); - break; - } + ef_sa_pt = (*iCont)->pt(); + ef_sa_eta = (*iCont)->eta(); + ef_sa_phi = (*iCont)->phi(); // YY + if( (*iCont)->muonType()!=xAOD::Muon::MuonStandAlone && (*iCont)->muonType()!=xAOD::Muon::Combined){ + ef_sa_pt = -1.; + ef_sa_eta = 0.; + ef_sa_phi = 0.; // YY + }else if( ef_ms_trk){ + if( ef_sa_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ + ef_sa_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; + float ef_sa_eta_tmp = ef_ms_trk->eta(); + float ef_sa_phi_tmp = ef_ms_trk->phi(); // YY + dltr = CalculateDeltaR(rec_eta, rec_phi, ef_sa_eta_tmp, ef_sa_phi_tmp); + if (dltr < sa_min_dltr) { + sa_min_dltr = dltr; + id_min_saef = iEF; + ef_sa_eta = ef_sa_eta_tmp; + ef_sa_phi = ef_sa_phi_tmp; + } } + ATH_MSG_DEBUG("FS SA eta/pt=" << ef_sa_eta << " / " << ef_sa_pt/CLHEP::GeV ); + ATH_MSG_DEBUG("SA track found for last_step " << last_step); //i + }else{ + ATH_MSG_DEBUG("No SA track found for last_step " << last_step); //i } } } } + } + } // loop over MSonly EF TEs + if (ms_min_dltr < DR_CUT) { + ef_ms_match = true; + ATH_MSG_DEBUG("MS Delta R, flag " << ms_min_dltr << " " << id_min_msef); //i + } + if (sa_min_dltr < DR_CUT) { + ef_sa_match = true; + if (id_min_saef < 0) { + ATH_MSG_WARNING("inconsistency in SA matching"); + } else { + ef_active = combsHLT[id_min_saef].active(); + ATH_MSG_DEBUG("SA Delta R, flag " << sa_min_dltr << " " << id_min_saef); //i + } + } + } + //MS pt/eta checks + if( ef_ms_match && ef_ms_pt > getPtThresTrigMuonEFSA(thresh, ef_ms_eta) ){ // matching required only for full-scan chains + if (EF_lower_passed) { + ATH_MSG_DEBUG("MSonly MS passed last step " << last_step ); + name = histcName + monalg + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // 2D coverage hist + name = histcName + monalg + "_etaphi_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(ef_ms_eta, ef_ms_phi); + name = histcName + monalg + "_etaphi_coarse_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(ef_ms_eta, ef_ms_phi); + } + // if (ES_lower_passed) + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; + if (m_passedES[i]) { + ATH_MSG_DEBUG("MSonly MS passed last step " << last_step ); + name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + } - // if( dr_min_ef < DR_CUT && (EF_lower_passed || ES_lower_passed)) - if( dr_min_ef < DR_CUT && id_min_ef>=0 ) { // 20.11.11: now it also means that the ROI is not found, which is indicated as dr being negative - // but this condition is not fulfilled if EF feature does not exist in this event - ATH_MSG_DEBUG("EF: dRmin=" << dr_min_ef); + //SA pt/eta checks + //if( ef_ms_pt > getPtThresTrigMuonEFSA(thresh, ef_ms_eta) && + // ef_sa_pt > getPtThresTrigMuonEFSA(thresh, ef_sa_eta) ) + if( ef_sa_match && ef_active ) { // matching required only for full-scan triggers + if (EF_lower_passed) { + ATH_MSG_DEBUG("MSonly last step " << last_step ); + name = histcName + monalg2 + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // Barrel/Endcap + name = histcName + monalg2 + bestr[iBarrelSA] + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // 2D coverage hist + name = histcName + monalg2 + "_etaphi_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(ef_sa_eta, ef_sa_phi); + name = histcName + monalg2 + "_etaphi_coarse_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(ef_sa_eta, ef_sa_phi); + } + // if (ES_lower_passed) + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; + if (m_passedES[i]) { + ATH_MSG_DEBUG("MSonly last step " << last_step ); + name = histcName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + }else{ + ATH_MSG_DEBUG("MSonly not active last step " << last_step ); + } + } - if (EF_lower_passed) { - name = histcName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } // end of SA loop - name = histcName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // - // Barrel/Endcap - name = histcName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelSA] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - // if (ES_lower_passed) - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - name = histcName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - // - float ef_ms_pt = 0.; - float ef_ms_eta = 0.; - float ef_sa_pt = 0.; - float ef_sa_eta = 0.; - - // YY added: - float ef_ms_phi = 0.; - float ef_sa_phi = 0.; - - // Check if EF feature matches to offline object for full-scan triggers - bool ef_ms_match = false; - bool ef_sa_match = false; - float ms_min_dltr = 9999.; - float sa_min_dltr = 9999.; - int id_min_msef = -1; - int id_min_saef = -1; - bool ef_active = false; - - if (dr_min_ef >= 0.) { - ef_ms_match = true; // YY for full-scan coding - ef_sa_match = true; // YY for full-scan coding - - - ef_active = combsHLT[id_min_ef].active(); - ATH_MSG_DEBUG("...comb active=" << ef_active ); //i - std::vector< Feature<xAOD::MuonContainer> > ef = combsHLT[id_min_ef].get<xAOD::MuonContainer>("MuonEFInfo",TrigDefs::alsoDeactivateTEs); - ATH_MSG_DEBUG("...ef size=" << ef.size() ); //i - if( ef.size() == 1 ) { - - ATH_MSG_DEBUG("...EFInfo: label/active=" << getTEName(*ef[0].te()) << " / " << ef[0].te()->getActiveState()); - - std::vector<Feature<xAOD::MuonContainer> >::const_iterator fIt = ef.begin(); - for ( ; fIt != ef.end() ; ++fIt) { - const xAOD::MuonContainer* ef_cont = (*fIt); - if (ef_cont) { - ATH_MSG_DEBUG(" ef_contContainter size:"<<ef_cont->size()); - - xAOD::MuonContainer::const_iterator iCont = ef_cont->begin(); - for(; iCont != ef_cont->end(); iCont++) { - const xAOD::TrackParticle *ef_ms_trk; - ef_ms_trk = (*iCont)->trackParticle(xAOD::Muon::TrackParticleType::MuonSpectrometerTrackParticle); - - ef_ms_pt = (*iCont)->pt(); - ef_ms_eta = (*iCont)->eta(); - ef_ms_phi = (*iCont)->phi(); // YY - if( ef_ms_trk ){ - if( ef_ms_trk->pt() <= 0.){ - ef_ms_pt = -1.; - ef_ms_eta = 0.; - ef_ms_phi = 0.; // YY - }else if( ef_ms_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ - ef_ms_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; - ef_ms_eta = ef_ms_trk->eta(); - ef_ms_phi = ef_ms_trk->phi(); // YY - } - ATH_MSG_DEBUG(" MS eta/pt=" << ef_ms_eta << " / " << ef_ms_pt/CLHEP::GeV ); - ATH_MSG_DEBUG("MS track found for last_step " << last_step); //i - }else{ - ATH_MSG_DEBUG("No MS track found for last_step " << last_step); - } - - ef_sa_pt = (*iCont)->pt(); - ef_sa_eta = (*iCont)->eta(); - ef_sa_phi = (*iCont)->phi(); // YY - if( (*iCont)->muonType()!=xAOD::Muon::MuonStandAlone && (*iCont)->muonType()!=xAOD::Muon::Combined){ - ef_sa_pt = -1.; - ef_sa_eta = 0.; - ef_sa_phi = 0.; // YY - }else if( ef_ms_trk){ - if( ef_sa_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ - ef_sa_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; - ef_sa_eta = ef_ms_trk->eta(); - ef_sa_phi = ef_ms_trk->phi(); // YY - } - ATH_MSG_DEBUG("SA track found for last_step " << last_step); //i - }else{ - ATH_MSG_DEBUG("No SA track found for last_step " << last_step); //i - } - ATH_MSG_DEBUG(" SA eta/pt=" << ef_sa_eta << " / " << ef_sa_pt/CLHEP::GeV ); - } - } - } - } - } else { // full-scan chain - - for(int iEF=0; iEF<(int)combsHLT.size(); iEF++) { - ATH_MSG_DEBUG("...comb active=" << ef_active ); //i - if (id_min_ef < 0) continue; - std::vector< Feature<xAOD::MuonContainer> > ef = combsHLT[id_min_ef].get<xAOD::MuonContainer>("MuonEFInfo",TrigDefs::alsoDeactivateTEs); - ATH_MSG_DEBUG("...ef size=" << ef.size() ); //i - if( ef.size() == 1 ) { - float dltr; - ATH_MSG_DEBUG("...EFInfo: label/active=" << getTEName(*ef[0].te()) << " / " << ef[0].te()->getActiveState()); //i - - std::vector<Feature<xAOD::MuonContainer> >::const_iterator fIt = ef.begin(); - for ( ; fIt != ef.end() ; ++fIt) { - const xAOD::MuonContainer* ef_cont = (*fIt); - if (ef_cont) { - ATH_MSG_DEBUG(" FS ef_contContainter size:"<<ef_cont->size()); - - xAOD::MuonContainer::const_iterator iCont = ef_cont->begin(); - for(; iCont != ef_cont->end(); iCont++) { - const xAOD::TrackParticle *ef_ms_trk; - ef_ms_trk = (*iCont)->trackParticle(xAOD::Muon::TrackParticleType::MuonSpectrometerTrackParticle); - - ef_ms_pt = (*iCont)->pt(); - ef_ms_eta = (*iCont)->eta(); - ef_ms_phi = (*iCont)->phi(); // YY - if( ef_ms_trk ){ - if( ef_ms_trk->pt() <= 0.){ - ef_ms_pt = -1.; - ef_ms_eta = 0.; - ef_ms_phi = 0.; // YY - }else if( ef_ms_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ - ef_ms_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; - float ef_ms_eta_tmp = ef_ms_trk->eta(); - float ef_ms_phi_tmp = ef_ms_trk->phi(); // YY - dltr = CalculateDeltaR(rec_eta, rec_phi, ef_ms_eta_tmp, ef_ms_phi_tmp); - if (dltr < ms_min_dltr) { - ms_min_dltr = dltr; - id_min_msef = iEF; - ef_ms_eta = ef_ms_eta_tmp; - ef_ms_phi = ef_ms_phi_tmp; - } - } - ATH_MSG_DEBUG("FS MS eta/pt=" << ef_ms_eta << " / " << ef_ms_pt/CLHEP::GeV ); //i - ATH_MSG_DEBUG("MS track found for last_step " << last_step); //i - }else{ - ATH_MSG_DEBUG("No MS track found for last_step " << last_step); //i - } - - ef_sa_pt = (*iCont)->pt(); - ef_sa_eta = (*iCont)->eta(); - ef_sa_phi = (*iCont)->phi(); // YY - if( (*iCont)->muonType()!=xAOD::Muon::MuonStandAlone && (*iCont)->muonType()!=xAOD::Muon::Combined){ - ef_sa_pt = -1.; - ef_sa_eta = 0.; - ef_sa_phi = 0.; // YY - }else if( ef_ms_trk){ - if( ef_sa_pt < fabs(ef_ms_trk->pt()) / CLHEP::GeV ){ - ef_sa_pt = fabs(ef_ms_trk->pt()) / CLHEP::GeV; - float ef_sa_eta_tmp = ef_ms_trk->eta(); - float ef_sa_phi_tmp = ef_ms_trk->phi(); // YY - dltr = CalculateDeltaR(rec_eta, rec_phi, ef_sa_eta_tmp, ef_sa_phi_tmp); - if (dltr < sa_min_dltr) { - sa_min_dltr = dltr; - id_min_saef = iEF; - ef_sa_eta = ef_sa_eta_tmp; - ef_sa_phi = ef_sa_phi_tmp; - } - } - ATH_MSG_DEBUG("FS SA eta/pt=" << ef_sa_eta << " / " << ef_sa_pt/CLHEP::GeV ); - ATH_MSG_DEBUG("SA track found for last_step " << last_step); //i - }else{ - ATH_MSG_DEBUG("No SA track found for last_step " << last_step); //i - } - } - } - } - } - } // loop over MSonly EF TEs - if (ms_min_dltr < DR_CUT) { - ef_ms_match = true; - ATH_MSG_DEBUG("MS Delta R, flag " << ms_min_dltr << " " << id_min_msef); //i - } - if (sa_min_dltr < DR_CUT) { - ef_sa_match = true; - if (id_min_saef < 0) { - ATH_MSG_WARNING("inconsistency in SA matching"); - } else { - ef_active = combsHLT[id_min_saef].active(); - ATH_MSG_DEBUG("SA Delta R, flag " << sa_min_dltr << " " << id_min_saef); //i - } - } - } + return retval; +} +StatusCode HLTMuonMonTool::fillChainDQA_standard(const std::string& chainName, const std::string & histcName) +{ + ATH_MSG_DEBUG("----- fillChainDQA_standard: chain=" << chainName << " histname=" <<histcName<< " -----"); - //MS pt/eta checks - if( ef_ms_match && ef_ms_pt > getPtThresTrigMuonEFSA(thresh, ef_ms_eta) ){ // matching required only for full-scan chains - if (EF_lower_passed) { - ATH_MSG_DEBUG("MSonly MS passed last step " << last_step ); - name = histcName + monalg + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - // 2D coverage hist - name = histcName + monalg + "_etaphi_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(ef_ms_eta, ef_ms_phi); - name = histcName + monalg + "_etaphi_coarse_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(ef_ms_eta, ef_ms_phi); - } - // if (ES_lower_passed) - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - if (m_passedES[i]) { - ATH_MSG_DEBUG("MSonly MS passed last step " << last_step ); - name = histcName + m_triggerES[i] + monalg + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - } + using namespace Trig; - //SA pt/eta checks - //if( ef_ms_pt > getPtThresTrigMuonEFSA(thresh, ef_ms_eta) && - // ef_sa_pt > getPtThresTrigMuonEFSA(thresh, ef_sa_eta) ) - if( ef_sa_match && ef_active ) { // matching required only for full-scan triggers - if (EF_lower_passed) { - ATH_MSG_DEBUG("MSonly last step " << last_step ); - name = histcName + monalg2 + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // Barrel/Endcap - name = histcName + monalg2 + bestr[iBarrelSA] + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // 2D coverage hist - name = histcName + monalg2 + "_etaphi_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(ef_sa_eta, ef_sa_phi); - name = histcName + monalg2 + "_etaphi_coarse_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(ef_sa_eta, ef_sa_phi); - } - // if (ES_lower_passed) - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - if (m_passedES[i]) { - ATH_MSG_DEBUG("MSonly last step " << last_step ); - name = histcName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - }else{ - ATH_MSG_DEBUG("MSonly not active last step " << last_step ); - } - } + const float DR_CUT = 0.2; // 2012 - } // end of SA loop + //*****************************************// + // add by Yuan // + std::string bestr[2] = {"_Barrel", "_Endcap"}; + std::vector<std::pair<float, int> > RecMuonCB_pt_index; + if(RecMuonCB_pt_index.size()!=0)RecMuonCB_pt_index.clear(); - // + StatusCode sc; + StoreGateSvc* p_detStore; + std::string tag; - return retval; - } + //Set pointer on DetectorStore + sc = service("DetectorStore", p_detStore); + if ( sc.isFailure() ) { + ATH_MSG_FATAL( "DetectorStore service not found !" ) ; + return StatusCode::FAILURE; + } + ATH_MSG_DEBUG( "Found DetectorStore ") ; + + const TagInfo* tagInfo = 0; + sc = p_detStore->retrieve( tagInfo ); + if (sc.isFailure()) { + ATH_MSG_WARNING("Could not get TagInfo"); + return StatusCode::RECOVERABLE; + } else { + tagInfo->findTag("triggerStreamOfFile",tag); + } - StatusCode HLTMuonMonTool::fillChainDQA_standard(const std::string& chainName, const std::string & histcName) - { - ATH_MSG_DEBUG("----- fillChainDQA_standard: chain=" << chainName << " histname=" <<histcName<< " -----"); + if(chainName.find("noL1")!= string::npos){ + if(m_RecMuonCB_pt.size()<=1) return StatusCode::SUCCESS; + m_esvect.clear(); + m_esvect = getESbits(); + std::vector<std::string>::iterator it; + for (it = m_esvect.begin(); it != m_esvect.end(); it++) ATH_MSG_DEBUG("----- express stream trigger :" << *it << " -----"); + + for(int i_rec=0; i_rec<(int)m_RecMuonCB_pt.size(); i_rec++) { // start the loop on muon + if (!m_RecMuonCB_isGoodCB[i_rec]) { + ATH_MSG_DEBUG("HLTMuonMon: fillChainDQA_Standard: not a good combined muon" << i_rec); + continue; + } + float rec_pt = m_RecMuonCB_pt[i_rec]; + RecMuonCB_pt_index.push_back(std::make_pair(rec_pt,i_rec)); + } // end the loop on muon + if(RecMuonCB_pt_index.size()<=1) return StatusCode::SUCCESS; + std::sort(RecMuonCB_pt_index.begin(),RecMuonCB_pt_index.end(),my_sort<std::pair<float, int> >()); // sorted the muon pt + if(!m_HI_pp_mode){ + if(RecMuonCB_pt_index[0].first < 4 || RecMuonCB_pt_index[1].first < 1) return StatusCode::SUCCESS; + }else{ + if(RecMuonCB_pt_index[0].first < 18 || RecMuonCB_pt_index[1].first < 3) return StatusCode::SUCCESS; + } + int mu1_index = RecMuonCB_pt_index[0].second; + int mu2_index = RecMuonCB_pt_index[1].second; + + std::string EF_pre_trigger= m_FS_pre_trigger; + std::string EF_pre_trigger_second= m_FS_pre_trigger_second; + + if( tag == "express" && !m_passedES[ESSTD]) return StatusCode::SUCCESS; + if(getTDT()->isPassed(EF_pre_trigger.c_str())!=1 && getTDT()->isPassed(EF_pre_trigger_second.c_str())!=1) return StatusCode::SUCCESS; + std::string name = histcName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[mu2_index]); + std::string EF_FS_trigger = chainName; + if(getTDT()->isPassed(EF_FS_trigger.c_str())){ + name = histcName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[mu2_index]); + } - using namespace Trig; + int match_L2_RoI[2]; + int match_L2_RoI_activate[2]; + int match_EF_RoI[2]; + int match_EF_RoI_activate[2]; + for(int i = 0; i<2; i++){ + match_L2_RoI[i] = 0; + match_L2_RoI_activate[i] = 0; + match_EF_RoI[i] = 0; + match_EF_RoI_activate[i] = 0; + } - const float DR_CUT = 0.2; // 2012 - //*****************************************// - // add by Yuan // - std::string bestr[2] = {"_Barrel", "_Endcap"}; - std::vector<std::pair<float, int> > RecMuonCB_pt_index; - if(RecMuonCB_pt_index.size()!=0)RecMuonCB_pt_index.clear(); + //************* check the first pre trigger mu18it_tight *******************// + FeatureContainer my_fHLT = getTDT()->features(m_FS_pre_trigger,TrigDefs::alsoDeactivateTEs); - StatusCode sc; - StoreGateSvc* p_detStore; - std::string tag; + std::vector<Combination> my_combsHLT = my_fHLT.getCombinations(); - //Set pointer on DetectorStore - sc = service("DetectorStore", p_detStore); - if ( sc.isFailure() ) { - ATH_MSG_FATAL( "DetectorStore service not found !" ) ; - return StatusCode::FAILURE; + // to match with the initial ROI at L2 + for(int n_mu = 0; n_mu <2;n_mu ++){ + int mu_index; + if(n_mu == 0) mu_index = mu1_index; + else if(n_mu == 1) mu_index = mu2_index; + float my_dr_min_l2 = 9999; + int my_id_min_l2 = -1; + for(int iL2=0; iL2<(int)my_combsHLT.size(); iL2++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); + } + else { + float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + if( dr < my_dr_min_l2 ) { + my_dr_min_l2 = dr; + my_id_min_l2 = iL2; } - ATH_MSG_DEBUG( "Found DetectorStore ") ; - - const TagInfo* tagInfo = 0; - sc = p_detStore->retrieve( tagInfo ); - if (sc.isFailure()) { - ATH_MSG_WARNING("Could not get TagInfo"); - return StatusCode::RECOVERABLE; - } else { - tagInfo->findTag("triggerStreamOfFile",tag); + } + } + if( my_dr_min_l2 < DR_CUT && my_id_min_l2 != -1) { + + match_L2_RoI[n_mu] = 1; + // check the muon fire mu24_tight ROI or not L2MuonSA + bool mf_active = false; + std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = my_combsHLT[my_id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); + if( mf.size() == 1 ) { + mf_active = mf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(mf[0].te(), "L2MuonSA", chainName); + if(hypo){ + mf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << mf_active); + } } - - if(chainName.find("noL1")!= string::npos){ - if(m_RecMuonCB_pt.size()<=1) return StatusCode::SUCCESS; - m_esvect.clear(); - m_esvect = getESbits(); - std::vector<std::string>::iterator it; - for (it = m_esvect.begin(); it != m_esvect.end(); it++) ATH_MSG_DEBUG("----- express stream trigger :" << *it << " -----"); - - for(int i_rec=0; i_rec<(int)m_RecMuonCB_pt.size(); i_rec++) { // start the loop on muon - if (!m_RecMuonCB_isGoodCB[i_rec]) { - ATH_MSG_DEBUG("HLTMuonMon: fillChainDQA_Standard: not a good combined muon" << i_rec); - continue; - } - float rec_pt = m_RecMuonCB_pt[i_rec]; - RecMuonCB_pt_index.push_back(std::make_pair(rec_pt,i_rec)); - } // end the loop on muon - if(RecMuonCB_pt_index.size()<=1) return StatusCode::SUCCESS; - - std::sort(RecMuonCB_pt_index.begin(),RecMuonCB_pt_index.end(),my_sort<std::pair<float, int> >()); // sorted the muon pt - if(!m_HI_pp_mode){ - if(RecMuonCB_pt_index[0].first < 4 || RecMuonCB_pt_index[1].first < 1) return StatusCode::SUCCESS; - }else{ - if(RecMuonCB_pt_index[0].first < 18 || RecMuonCB_pt_index[1].first < 3) return StatusCode::SUCCESS; + } + //if(!mf_active)return StatusCode::SUCCESS; + + bool combMf_active = false; + std::vector< Feature<xAOD::L2CombinedMuonContainer> > combMf = my_combsHLT[my_id_min_l2].get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); + if( combMf.size() == 1 ) { + combMf_active = combMf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...combMF: label/active=" << getTEName(*combMf[0].te()) << " / " << combMf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(mf[0].te(), "L2muComb", chainName); + if(hypo){ + combMf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << combMf_active); } - int mu1_index = RecMuonCB_pt_index[0].second; - int mu2_index = RecMuonCB_pt_index[1].second; - - std::string EF_pre_trigger= m_FS_pre_trigger; - std::string EF_pre_trigger_second= m_FS_pre_trigger_second; + } + } + //if(!combMf_active)return StatusCode::SUCCESS; + if(mf_active && combMf_active)match_L2_RoI_activate[n_mu] = 1; - if( tag == "express" && !m_passedES[ESSTD]) return StatusCode::SUCCESS; - if(getTDT()->isPassed(EF_pre_trigger.c_str())!=1 && getTDT()->isPassed(EF_pre_trigger_second.c_str())!=1) return StatusCode::SUCCESS; - std::string name = histcName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[mu2_index]); - std::string EF_FS_trigger = chainName; - if(getTDT()->isPassed(EF_FS_trigger.c_str())){ - name = histcName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[mu2_index]); - } + } - int match_L2_RoI[2]; - int match_L2_RoI_activate[2]; - int match_EF_RoI[2]; - int match_EF_RoI_activate[2]; - for(int i = 0; i<2; i++){ - match_L2_RoI[i] = 0; - match_L2_RoI_activate[i] = 0; - match_EF_RoI[i] = 0; - match_EF_RoI_activate[i] = 0; - } + float my_dr_min_ef = 9999; + int my_id_min_ef = -1; + // to match with the initial ROI at EF + for(int iEF=0; iEF<(int)my_combsHLT.size(); iEF++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); + } + else { + float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + if( dr < my_dr_min_ef ) { + my_dr_min_ef = dr; + my_id_min_ef = iEF; + } + } + } + if(my_dr_min_ef < DR_CUT){ + match_EF_RoI[n_mu] = 1; + bool ef_active = (my_combsHLT[my_id_min_ef]).active(); + //if(!ef_active) return StatusCode::SUCCESS; + if(ef_active) match_EF_RoI_activate[n_mu] = 1; + } - //************* check the first pre trigger mu18it_tight *******************// - FeatureContainer my_fHLT = getTDT()->features(m_FS_pre_trigger,TrigDefs::alsoDeactivateTEs); + } - std::vector<Combination> my_combsHLT = my_fHLT.getCombinations(); + //************* check the second pre trigger mu24i_tight *******************// + FeatureContainer my_fHLT_mu24_imedium = getTDT()->features(m_FS_pre_trigger_second,TrigDefs::alsoDeactivateTEs); + + std::vector<Combination> my_combsHLT_mu24_imedium= my_fHLT_mu24_imedium.getCombinations(); + + // to match with the initial ROI at L2 + for(int n_mu = 0; n_mu <2;n_mu ++){ + int mu_index; + if(n_mu == 0) mu_index = mu1_index; + else if(n_mu == 1) mu_index = mu2_index; + float my_dr_min_l2 = 9999; + int my_id_min_l2 = -1; + for(int iL2=0; iL2<(int)my_combsHLT_mu24_imedium.size(); iL2++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT_mu24_imedium[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); + } + else { + float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + if( dr < my_dr_min_l2 ) { + my_dr_min_l2 = dr; + my_id_min_l2 = iL2; + } + } + } + if( my_dr_min_l2 < DR_CUT && my_id_min_l2 != -1 ) { + + match_L2_RoI[n_mu] = 1; + // check the muon fire mu24_tight ROI or not L2MuonSA + bool mf_active = false; + std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = my_combsHLT_mu24_imedium[my_id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); + if( mf.size() == 1 ) { + mf_active = mf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(mf[0].te(), "L2MuonSA", chainName); + if(hypo){ + mf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << mf_active); + } + } + } + //if(!mf_active)return StatusCode::SUCCESS; + + bool combMf_active = false; + std::vector< Feature<xAOD::L2CombinedMuonContainer> > combMf = my_combsHLT_mu24_imedium[my_id_min_l2].get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); + if( combMf.size() == 1 ) { + combMf_active = combMf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...combMF: label/active=" << getTEName(*combMf[0].te()) << " / " << combMf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(combMf[0].te(), "L2muComb", chainName); + if(hypo){ + combMf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << combMf_active); + } + } + } + //if(!combMf_active)return StatusCode::SUCCESS; + if(mf_active && combMf_active)match_L2_RoI_activate[n_mu] = 1; - // to match with the initial ROI at L2 - for(int n_mu = 0; n_mu <2;n_mu ++){ - int mu_index; - if(n_mu == 0) mu_index = mu1_index; - else if(n_mu == 1) mu_index = mu2_index; - float my_dr_min_l2 = 9999; - int my_id_min_l2 = -1; - for(int iL2=0; iL2<(int)my_combsHLT.size(); iL2++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); - } - else { - float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - if( dr < my_dr_min_l2 ) { - my_dr_min_l2 = dr; - my_id_min_l2 = iL2; - } - } - } - if( my_dr_min_l2 < DR_CUT && my_id_min_l2 != -1) { + } - match_L2_RoI[n_mu] = 1; - // check the muon fire mu24_tight ROI or not MuFast - bool mf_active = false; - std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = my_combsHLT[my_id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); - if( mf.size() == 1 ) { - mf_active = mf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); - } - //if(!mf_active)return StatusCode::SUCCESS; + float my_dr_min_ef = 9999; + int my_id_min_ef = -1; - bool combMf_active = false; - std::vector< Feature<xAOD::L2CombinedMuonContainer> > combMf = my_combsHLT[my_id_min_l2].get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); - if( combMf.size() == 1 ) { - combMf_active = combMf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...combMF: label/active=" << getTEName(*combMf[0].te()) << " / " << combMf_active); - } - //if(!combMf_active)return StatusCode::SUCCESS; - if(mf_active && combMf_active)match_L2_RoI_activate[n_mu] = 1; + for(int iEF=0; iEF<(int)my_combsHLT_mu24_imedium.size(); iEF++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT_mu24_imedium[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); + } + else { + float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + if( dr < my_dr_min_ef ) { + my_dr_min_ef = dr; + my_id_min_ef = iEF; + } + } + } + if(my_dr_min_ef < DR_CUT && my_id_min_ef >= 0){ + match_EF_RoI[n_mu] = 1; + bool ef_active = (my_combsHLT_mu24_imedium[my_id_min_ef]).active(); + //if(!ef_active) return StatusCode::SUCCESS; + if(ef_active) match_EF_RoI_activate[n_mu] = 1; + } + } - } - float my_dr_min_ef = 9999; - int my_id_min_ef = -1; - // to match with the initial ROI at EF + // now make a random number for tag muon // + int tag_muon_index = -1; + int probe_muon_index = -1; + bool probe_muon_pass = false; + + int matched_tag_muon_index = -1; + int matched_probe_muon_index = -1; + bool matched_probe_muon_pass = false; + + m_random3.SetSeed(m_event); + double random_number = m_random3.Gaus(0,1); + ATH_MSG_DEBUG(" the random number: "<<random_number); + // to match with the initial ROI at EF + if(random_number > 0) { /// if the random number greater than 0, check the leading muon first + if(match_L2_RoI_activate[0] && match_EF_RoI_activate[0]){ // tag leading muon + tag_muon_index = mu1_index; + probe_muon_index = mu2_index; + probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); + + if(match_L2_RoI[1] && match_EF_RoI[1]) { + matched_tag_muon_index = mu1_index; + matched_probe_muon_index = mu2_index; + matched_probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); + } + }else if(match_L2_RoI_activate[1] && match_EF_RoI_activate[1]){ // tag subleading muon + tag_muon_index = mu2_index; + probe_muon_index = mu1_index; + probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); + + if(match_L2_RoI[0] && match_EF_RoI[0]) { + matched_tag_muon_index = mu2_index; + matched_probe_muon_index = mu1_index; + matched_probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); + } + } + }else { /// else if the random number smaller than 0, check the subleading muon first + if(match_L2_RoI_activate[1] && match_EF_RoI_activate[1]){ // tag subleading muon + tag_muon_index = mu2_index; + probe_muon_index = mu1_index; + probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); + + if(match_L2_RoI[0] && match_EF_RoI[0]) { + matched_tag_muon_index = mu2_index; + matched_probe_muon_index = mu1_index; + matched_probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); + } + } else if(match_L2_RoI_activate[0] && match_EF_RoI_activate[0]){ // tag leading muon + tag_muon_index = mu1_index; + probe_muon_index = mu2_index; + probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); + + if(match_L2_RoI[1] && match_EF_RoI[1]) { + matched_tag_muon_index = mu1_index; + matched_probe_muon_index = mu2_index; + matched_probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); + } - for(int iEF=0; iEF<(int)my_combsHLT.size(); iEF++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); - } - else { - float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - if( dr < my_dr_min_ef ) { - my_dr_min_ef = dr; - my_id_min_ef = iEF; - } - } - } - if(my_dr_min_ef < DR_CUT){ - match_EF_RoI[n_mu] = 1; - bool ef_active = (my_combsHLT[my_id_min_ef]).active(); - //if(!ef_active) return StatusCode::SUCCESS; - if(ef_active) match_EF_RoI_activate[n_mu] = 1; - } + } + } + const DataHandle<EventInfo> evt; + sc = evtStore()->retrieve(evt); + if ( sc.isFailure() ) { + ATH_MSG_ERROR(" Cannot retrieve EventInfo "); + return StatusCode::FAILURE; + } + float mean_mu = evt->averageInteractionsPerCrossing(); + // start to dump the probe muon information // + if(tag_muon_index > -1){ + ATH_MSG_DEBUG(" ####### found tag muon ######### "); + // index for Barrel/Endcap + int probe_iBarrelCB = (fabs(m_RecMuonCB_eta[probe_muon_index]) < 1.05) ? 0 : 1; + + // for the Full Scan efficiency // + std::string name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + + name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[probe_iBarrelCB] + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + + if(mean_mu <= 15){ + name = histcName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + } else if(mean_mu <= 20){ + name = histcName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + } else { + name = histcName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + } + if(getTDT()->isPassed(EF_FS_trigger.c_str())){ + name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + + name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[probe_iBarrelCB] + "_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + + if(mean_mu <= 15){ + name = histcName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + } else if(mean_mu <= 20){ + name = histcName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + } else { + name = histcName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + } - } + } - //************* check the second pre trigger mu24i_tight *******************// - FeatureContainer my_fHLT_mu24_imedium = getTDT()->features(m_FS_pre_trigger_second,TrigDefs::alsoDeactivateTEs); - - std::vector<Combination> my_combsHLT_mu24_imedium= my_fHLT_mu24_imedium.getCombinations(); - - // to match with the initial ROI at L2 - for(int n_mu = 0; n_mu <2;n_mu ++){ - int mu_index; - if(n_mu == 0) mu_index = mu1_index; - else if(n_mu == 1) mu_index = mu2_index; - float my_dr_min_l2 = 9999; - int my_id_min_l2 = -1; - for(int iL2=0; iL2<(int)my_combsHLT_mu24_imedium.size(); iL2++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT_mu24_imedium[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); - } - else { - float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - if( dr < my_dr_min_l2 ) { - my_dr_min_l2 = dr; - my_id_min_l2 = iL2; - } - } - } + // for the preselection trigger efficiency // + std::string denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Denominator"; + hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + std::string nomin = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Numerator"; + if(probe_muon_pass) { + hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + // swap the tag and probe muons // + hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[tag_muon_index]); + hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[tag_muon_index]); + } - if( my_dr_min_l2 < DR_CUT && my_id_min_l2 != -1 ) { + if(matched_tag_muon_index > -1){ + denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Denominator"; + hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_probe_muon_index]); + nomin = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Numerator"; + if(matched_probe_muon_pass){ + hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_probe_muon_index]); + // swap the tag and probe muons // + hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_tag_muon_index]); + hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_tag_muon_index]); - match_L2_RoI[n_mu] = 1; - // check the muon fire mu24_tight ROI or not MuFast - bool mf_active = false; - std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = my_combsHLT_mu24_imedium[my_id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); - if( mf.size() == 1 ) { - mf_active = mf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); - } - //if(!mf_active)return StatusCode::SUCCESS; + } + } + } - bool combMf_active = false; - std::vector< Feature<xAOD::L2CombinedMuonContainer> > combMf = my_combsHLT_mu24_imedium[my_id_min_l2].get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); - if( combMf.size() == 1 ) { - combMf_active = combMf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...combMF: label/active=" << getTEName(*combMf[0].te()) << " / " << combMf_active); - } - //if(!combMf_active)return StatusCode::SUCCESS; - if(mf_active && combMf_active)match_L2_RoI_activate[n_mu] = 1; + } + //*****************************************// + return StatusCode::SUCCESS; - } +} - float my_dr_min_ef = 9999; - int my_id_min_ef = -1; - // to match with the initial ROI at EF +StatusCode HLTMuonMonTool::fillChainDQA_generic(const std::string& chainName, const std::string& HistchainName, bool isIsolOffline) +{ + ATH_MSG_DEBUG("----- fillChainDQA_generic: chain=" << chainName << " histChain: "<<HistchainName); - for(int iEF=0; iEF<(int)my_combsHLT_mu24_imedium.size(); iEF++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = my_combsHLT_mu24_imedium[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); - } - else { - float dr = calc_dR(m_RecMuonCB_eta[mu_index],m_RecMuonCB_phi[mu_index],initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - if( dr < my_dr_min_ef ) { - my_dr_min_ef = dr; - my_id_min_ef = iEF; - } - } - } - if(my_dr_min_ef < DR_CUT && my_id_min_ef >= 0){ - match_EF_RoI[n_mu] = 1; - bool ef_active = (my_combsHLT_mu24_imedium[my_id_min_ef]).active(); - //if(!ef_active) return StatusCode::SUCCESS; - if(ef_active) match_EF_RoI_activate[n_mu] = 1; - } + using namespace Trig; - } + bool EF_lower_passed = true; + bool MS_lower_passed = false; + std::vector<std::string>::iterator it; + for (it = m_MSchain.begin(); it != m_MSchain.end(); it++) { + if (getTDT()->isPassed(*it)) { + MS_lower_passed = true; + } + } + StatusCode retval = StatusCode::SUCCESS; + // YY: 25.05.10 to clear m_checked: + retval.getCode(); - // now make a random number for tag muon // - int tag_muon_index = -1; - int probe_muon_index = -1; - bool probe_muon_pass = false; - - int matched_tag_muon_index = -1; - int matched_probe_muon_index = -1; - bool matched_probe_muon_pass = false; - - m_random3.SetSeed(m_event); - double random_number = m_random3.Gaus(0,1); - ATH_MSG_DEBUG(" the random number: "<<random_number); - if(random_number > 0) { /// if the random number greater than 0, check the leading muon first - if(match_L2_RoI_activate[0] && match_EF_RoI_activate[0]){ // tag leading muon - tag_muon_index = mu1_index; - probe_muon_index = mu2_index; - probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); - - if(match_L2_RoI[1] && match_EF_RoI[1]) { - matched_tag_muon_index = mu1_index; - matched_probe_muon_index = mu2_index; - matched_probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); - } - }else if(match_L2_RoI_activate[1] && match_EF_RoI_activate[1]){ // tag subleading muon - tag_muon_index = mu2_index; - probe_muon_index = mu1_index; - probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); - - if(match_L2_RoI[0] && match_EF_RoI[0]) { - matched_tag_muon_index = mu2_index; - matched_probe_muon_index = mu1_index; - matched_probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); - } - } - }else { /// else if the random number smaller than 0, check the subleading muon first - if(match_L2_RoI_activate[1] && match_EF_RoI_activate[1]){ // tag subleading muon - tag_muon_index = mu2_index; - probe_muon_index = mu1_index; - probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); - - if(match_L2_RoI[0] && match_EF_RoI[0]) { - matched_tag_muon_index = mu2_index; - matched_probe_muon_index = mu1_index; - matched_probe_muon_pass = (match_L2_RoI_activate[0] && match_EF_RoI_activate[0]); - } - } else if(match_L2_RoI_activate[0] && match_EF_RoI_activate[0]){ // tag leading muon - tag_muon_index = mu1_index; - probe_muon_index = mu2_index; - probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); - - if(match_L2_RoI[1] && match_EF_RoI[1]) { - matched_tag_muon_index = mu1_index; - matched_probe_muon_index = mu2_index; - matched_probe_muon_pass = (match_L2_RoI_activate[1] && match_EF_RoI_activate[1]); - } - } - } + FeatureContainer fHLT = getTDT()->features(chainName,TrigDefs::alsoDeactivateTEs); - const DataHandle<EventInfo> evt; - sc = evtStore()->retrieve(evt); - if ( sc.isFailure() ) { - ATH_MSG_ERROR(" Cannot retrieve EventInfo "); - return StatusCode::FAILURE; - } - float mean_mu = evt->averageInteractionsPerCrossing(); - - // start to dump the probe muon information // - if(tag_muon_index > -1){ - ATH_MSG_DEBUG(" ####### found tag muon ######### "); - // index for Barrel/Endcap - int probe_iBarrelCB = (fabs(m_RecMuonCB_eta[probe_muon_index]) < 1.05) ? 0 : 1; - - // for the Full Scan efficiency // - std::string name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - - name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[probe_iBarrelCB] + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - - if(mean_mu <= 15){ - name = histcName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - } else if(mean_mu <= 20){ - name = histcName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - } else { - name = histcName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - } + std::vector<Combination> combsHLT = fHLT.getCombinations(); + ATH_MSG_DEBUG("nr combsHLT=" << combsHLT.size()); + for(std::vector<Combination>::const_iterator it=combsHLT.begin(); it!=combsHLT.end(); it++) { + ATH_MSG_DEBUG("..." << *it ); + } - if(getTDT()->isPassed(EF_FS_trigger.c_str())){ - name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + const float DR_CUT = 0.2; // YY 2012 setting - name = histcName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[probe_iBarrelCB] + "_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); + std::string name; + std::string bestr[2] = {"_Barrel", "_Endcap"}; - if(mean_mu <= 15){ - name = histcName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - } else if(mean_mu <= 20){ - name = histcName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - } else { - name = histcName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - } + // loop on each CB probe - } + //float isolThresh = (isIsolOffline ? 0.1 : 0.5); + //float isolThresh = 0.5; //looser isolation in run2 + float isolThresh = (isIsolOffline ? 0.06 : 0.5); // tighter isolation in run2 - // for the preselection trigger efficiency // - std::string denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Denominator"; - hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - std::string nomin = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Numerator"; - if(probe_muon_pass) { - hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[probe_muon_index]); - // swap the tag and probe muons // - hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[tag_muon_index]); - hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[tag_muon_index]); - } + for(int i_rec=0; i_rec<(int)m_RecMuonCB_pt.size(); i_rec++) { - if(matched_tag_muon_index > -1){ - denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Denominator"; - hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_probe_muon_index]); - nomin = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Numerator"; - if(matched_probe_muon_pass){ - hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_probe_muon_index]); - // swap the tag and probe muons // - hist(denom, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_tag_muon_index]); - hist(nomin, m_histdireffnumdenom)->Fill(m_RecMuonCB_pt[matched_tag_muon_index]); + if (!m_RecMuonCB_isGoodCB[i_rec]) { + ATH_MSG_DEBUG("HLTMuonMon: fillChainDQA_Standard: not a good combined muon" << i_rec); + continue; // for LS1, remove cuts on Hits and impact parameter, uncomment for collision. + } - } - } - } + float rec_eta = m_RecMuonCB_eta[i_rec]; + float rec_phi = m_RecMuonCB_phi[i_rec]; + float rec_pt = m_RecMuonCB_pt[i_rec]; + float rec_ptcone30 = m_RecMuonCB_ptcone30[i_rec]; - } - //*****************************************// - return StatusCode::SUCCESS; + // if ((rec_ptcone40*0.001) / rec_pt > 0.5) continue; // tomoe added 09/06/2011 + // if ((rec_ptcone40*0.001) / rec_pt > isolThresh) continue; // tomoe added 09/06/2011 + if ((rec_ptcone30*0.001) / rec_pt > isolThresh) continue; // use cone30 in run2 - } + ATH_MSG_DEBUG("++ i_rec=" << i_rec); + //ATH_MSG_INFO("rec: eta/phi/pt=" << rec_eta << " / " << rec_phi << " / " << rec_pt); + ATH_MSG_DEBUG("rec: eta/phi/pt=" << rec_eta << " / " << rec_phi << " / " << rec_pt); + // if( rec_pt > 50. ) rec_pt = 50.; + // if( rec_pt > 100. ) rec_pt = 100.; + // index for Barrel/Endcap + int iBarrelCB = (fabs(rec_eta) < 1.05) ? 0 : 1; - StatusCode HLTMuonMonTool::fillChainDQA_generic(const std::string& chainName, const std::string& HistchainName, bool isIsolOffline) - { - ATH_MSG_DEBUG("----- fillChainDQA_generic: chain=" << chainName << " histChain: "<<HistchainName); + if (EF_lower_passed) { + name = HistchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + // Barrel/Endcap (YY 20.05.10) Denominator for "wrtOffline" + name = HistchainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[iBarrelCB] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[iBarrelCB] + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } - using namespace Trig; + // if (ES_lower_passed) {} + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + name = HistchainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + if(!m_CB_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = HistchainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // New Barrel/endcap for ES L1 + name = HistchainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB" + bestr[iBarrelCB] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } - bool EF_lower_passed = true; - bool MS_lower_passed = false; - std::vector<std::string>::iterator it; - for (it = m_MSchain.begin(); it != m_MSchain.end(); it++) { - if (getTDT()->isPassed(*it)) { - MS_lower_passed = true; - } + // L2 L2MuonSA and muComb + float dr_min_l2 = 9999; + int id_min_l2 = -1; + std::string monalg = "_L2MuonSA"; + std::string monalg2 = "_MuComb"; + std::string wrtalg = "_L1"; + std::string wrtalg2 = "_L2MuonSA"; + for(int iL2=0; iL2<(int)combsHLT.size(); iL2++) { + //std::vector< Feature<TrigRoiDescriptor> > initRois = fHLT.get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + ATH_MSG_DEBUG("TrigRoiDescriptorCollection size: "<<initRois.size()); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); + retval = StatusCode::RECOVERABLE; + } + else { + float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + name = HistchainName + "_deltaR_btw_L1_MuidCB_For" + monalg; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(dr); + if( dr < dr_min_l2 ) { + dr_min_l2 = dr; + id_min_l2 = iL2; + } + } + } + if( dr_min_l2 < DR_CUT && id_min_l2 != -1) { + if (EF_lower_passed) { + ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); + name = HistchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + // Barrel/Endcap + name = HistchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + // if (ES_lower_passed) {} + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_CB_mon_ESbr[i])continue; + ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); + if (m_passedES[i]) { + name = HistchainName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + // Barrel/Endcap for L1 : monalg = L2MuonSA, wrtalg = L1 + name = HistchainName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + // === L2MuonSA === + bool mf_active = false; + std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = combsHLT[id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); + + ATH_MSG_DEBUG(" L2MuonSA container size: "<< mf.size()); + if( mf.size() == 1 ) { + mf_active = mf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2( mf[0].te(), "L2MuonSA", chainName); + if(hypo){ + mf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << mf_active); } - - StatusCode retval = StatusCode::SUCCESS; - // YY: 25.05.10 to clear m_checked: - retval.getCode(); + } + } - FeatureContainer fHLT = getTDT()->features(chainName,TrigDefs::alsoDeactivateTEs); + if( mf_active ) { + const xAOD::L2StandAloneMuonContainer* mf_cont = mf[0]; + float mf_pt = mf_cont->at(0)->pt(); + float mf_eta = mf_cont->at(0)->eta(); + float mf_phi = mf_cont->at(0)->phi(); - std::vector<Combination> combsHLT = fHLT.getCombinations(); - ATH_MSG_DEBUG("nr combsHLT=" << combsHLT.size()); - for(std::vector<Combination>::const_iterator it=combsHLT.begin(); it!=combsHLT.end(); it++) { - ATH_MSG_DEBUG("..." << *it ); + if (EF_lower_passed) { // if EF_lower_passed is always true, it is a catch-all branch. + name = HistchainName + monalg + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed ) { + name = HistchainName + m_MSchainName + monalg + "_Turn_On_Curve_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); } + // Barrel/Endcap + name = HistchainName + monalg + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } - const float DR_CUT = 0.2; // YY 2012 setting - - std::string name; - std::string bestr[2] = {"_Barrel", "_Endcap"}; + // 2D coverage hist + ATH_MSG_DEBUG ( "Offline/L2MuonSA pt" << rec_pt << ", " << mf_pt ); + ATH_MSG_DEBUG ( "Offline/L2MuonSA eta" << rec_eta << ", " << mf_eta ); + ATH_MSG_DEBUG ( "Offline/L2MuonSA phi" << rec_phi << ", " << mf_phi ); + name = HistchainName + monalg + "_etaphi_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); + name = HistchainName + monalg + "_etaphi_coarse_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); + // 1D covarage: L2MuonSA only + name = HistchainName + monalg + "_eta_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(mf_eta); + name = HistchainName + monalg + "_phi_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(mf_phi); + } - // loop on each CB probe + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_CB_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = HistchainName + m_triggerES[i] + monalg + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + } + // === MuComb === + bool combMf_active = false; + if( mf_active ) { + if (EF_lower_passed) { + name = HistchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + // Barrel/Endcap + name = HistchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + bestr[iBarrelCB] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + bestr[iBarrelCB] + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } + // if (ES_lower_passed) {} + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_CB_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = HistchainName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } - //float isolThresh = (isIsolOffline ? 0.1 : 0.5); - float isolThresh = (isIsolOffline ? 0.06 : 0.5); // tighter isolation in run2 + // - for(int i_rec=0; i_rec<(int)m_RecMuonCB_pt.size(); i_rec++) { + std::vector< Feature<xAOD::L2CombinedMuonContainer> > combMf = combsHLT[id_min_l2].get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); - if (!m_RecMuonCB_isGoodCB[i_rec]) { - ATH_MSG_DEBUG("HLTMuonMon: fillChainDQA_Standard: not a good combined muon" << i_rec); - continue; // for LS1, remove cuts on Hits and impact parameter, uncomment for collision. + if( combMf.size() == 1 ) { + combMf_active = combMf[0].te()->getActiveState(); + ATH_MSG_DEBUG("...combMF: label/active=" << getTEName(*combMf[0].te()) << " / " << combMf_active); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2( combMf[0].te(), "L2muComb", chainName); + if(hypo){ + combMf_active = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*hypo) << " / " << combMf_active); } + } + } - float rec_eta = m_RecMuonCB_eta[i_rec]; - float rec_phi = m_RecMuonCB_phi[i_rec]; - float rec_pt = m_RecMuonCB_pt[i_rec]; - - float rec_ptcone30 = m_RecMuonCB_ptcone30[i_rec]; - // if ((rec_ptcone40*0.001) / rec_pt > 0.5) continue; // tomoe added 09/06/2011 - // if ((rec_ptcone40*0.001) / rec_pt > isolThresh) continue; // tomoe added 09/06/2011 - if ((rec_ptcone30*0.001) / rec_pt > isolThresh) continue; // use cone30 in run2 + if( combMf_active ) { + const xAOD::L2CombinedMuonContainer* combMf_cont = combMf[0]; - ATH_MSG_DEBUG("++ i_rec=" << i_rec); - ATH_MSG_DEBUG("rec: eta/phi/pt=" << rec_eta << " / " << rec_phi << " / " << rec_pt); - // if( rec_pt > 50. ) rec_pt = 50.; - // if( rec_pt > 100. ) rec_pt = 100.; + float combMf_pt = combMf_cont->at(0)->pt(); + float combMf_eta = combMf_cont->at(0)->eta(); + float combMf_phi = combMf_cont->at(0)->phi(); - // index for Barrel/Endcap - int iBarrelCB = (fabs(rec_eta) < 1.05) ? 0 : 1; - if (EF_lower_passed) { - name = HistchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - // Barrel/Endcap (YY 20.05.10) Denominator for "wrtOffline" - name = HistchainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[iBarrelCB] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); + if (EF_lower_passed) { + name = HistchainName + monalg2 + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg2 + "_Turn_On_Curve_Numerator"; hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[iBarrelCB] + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } } - // if (ES_lower_passed) {} - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = HistchainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - // New Barrel/endcap for ES L1 - name = HistchainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB" + bestr[iBarrelCB] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } + // Barrel/Endcap + name = HistchainName + monalg2 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg2 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); } - // L2 muFast and muComb - float dr_min_l2 = 9999; - int id_min_l2 = -1; - std::string monalg = "_MuFast"; - std::string monalg2 = "_MuComb"; - std::string wrtalg = "_L1"; - std::string wrtalg2 = "_MuFast"; - - for(int iL2=0; iL2<(int)combsHLT.size(); iL2++) { - //std::vector< Feature<TrigRoiDescriptor> > initRois = fHLT.get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iL2].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - ATH_MSG_DEBUG("TrigRoiDescriptorCollection size: "<<initRois.size()); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=L2_" << chainName); - retval = StatusCode::RECOVERABLE; - } - else { - float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - name = HistchainName + "_deltaR_btw_L1_MuidCB_For" + monalg; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(dr); - if( dr < dr_min_l2 ) { - dr_min_l2 = dr; - id_min_l2 = iL2; - } - } + // 2D coverage hist + ATH_MSG_DEBUG ( "Offline/muComb pt" << rec_pt << ", " << combMf_pt ); + ATH_MSG_DEBUG ( "Offline/muComb eta" << rec_eta << ", " << combMf_eta ); + ATH_MSG_DEBUG ( "Offline/muComb phi" << rec_phi << ", " << combMf_phi ); + name = HistchainName + monalg2 + "_etaphi_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(combMf_eta, combMf_phi); + name = HistchainName + monalg2 + "_etaphi_coarse_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(combMf_eta, combMf_phi); + } + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_CB_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = HistchainName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); } - if( dr_min_l2 < DR_CUT && id_min_l2 != -1) { - if (EF_lower_passed) { - ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); - name = HistchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - // Barrel/Endcap - name = HistchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - // if (ES_lower_passed) {} - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - ATH_MSG_DEBUG("L2: dRmin=" << dr_min_l2); - if (m_passedES[i]) { - name = HistchainName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - // Barrel/Endcap for L1 : monalg = MuFast, wrtalg = L1 - name = HistchainName + m_triggerES[i] + monalg + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - - // === MuFast === - bool mf_active = false; - std::vector< Feature<xAOD::L2StandAloneMuonContainer> > mf = combsHLT[id_min_l2].get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); - - ATH_MSG_DEBUG(" MuFast container size: "<< mf.size()); - if( mf.size() == 1 ) { - mf_active = mf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...mF: label/active=" << getTEName(*mf[0].te()) << " / " << mf_active); - } - - - if( mf_active ) { - const xAOD::L2StandAloneMuonContainer* mf_cont = mf[0]; - - float mf_pt = mf_cont->at(0)->pt(); - float mf_eta = mf_cont->at(0)->eta(); - float mf_phi = mf_cont->at(0)->phi(); - - if (EF_lower_passed) { // if EF_lower_passed is always true, it is a catch-all branch. - name = HistchainName + monalg + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed ) { - name = HistchainName + m_MSchainName + monalg + "_Turn_On_Curve_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - - // Barrel/Endcap - name = HistchainName + monalg + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - - // 2D coverage hist - ATH_MSG_DEBUG ( "Offline/muFast pt" << rec_pt << ", " << mf_pt ); - ATH_MSG_DEBUG ( "Offline/muFast eta" << rec_eta << ", " << mf_eta ); - ATH_MSG_DEBUG ( "Offline/muFast phi" << rec_phi << ", " << mf_phi ); - name = HistchainName + monalg + "_etaphi_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); - name = HistchainName + monalg + "_etaphi_coarse_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(mf_eta, mf_phi); - // 1D covarage: muFast only - name = HistchainName + monalg + "_eta_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(mf_eta); - name = HistchainName + monalg + "_phi_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(mf_phi); - } - - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = HistchainName + m_triggerES[i] + monalg + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - } - - // === MuComb === - bool combMf_active = false; - if( mf_active ) { - if (EF_lower_passed) { - name = HistchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - // Barrel/Endcap - name = HistchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + bestr[iBarrelCB] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + bestr[iBarrelCB] + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - // if (ES_lower_passed) {} - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = HistchainName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_wrt" + wrtalg2 + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - - // - - std::vector< Feature<xAOD::L2CombinedMuonContainer> > combMf = combsHLT[id_min_l2].get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); - - if( combMf.size() == 1 ) { - combMf_active = combMf[0].te()->getActiveState(); - ATH_MSG_DEBUG("...combMF: label/active=" << getTEName(*combMf[0].te()) << " / " << combMf_active); - } - - - if( combMf_active ) { - const xAOD::L2CombinedMuonContainer* combMf_cont = combMf[0]; - - float combMf_pt = combMf_cont->at(0)->pt(); - float combMf_eta = combMf_cont->at(0)->eta(); - float combMf_phi = combMf_cont->at(0)->phi(); - - - - if (EF_lower_passed) { - name = HistchainName + monalg2 + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg2 + "_Turn_On_Curve_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - - // Barrel/Endcap - name = HistchainName + monalg2 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg2 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - - // 2D coverage hist - ATH_MSG_DEBUG ( "Offline/muComb pt" << rec_pt << ", " << combMf_pt ); - ATH_MSG_DEBUG ( "Offline/muComb eta" << rec_eta << ", " << combMf_eta ); - ATH_MSG_DEBUG ( "Offline/muComb phi" << rec_phi << ", " << combMf_phi ); - name = HistchainName + monalg2 + "_etaphi_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(combMf_eta, combMf_phi); - name = HistchainName + monalg2 + "_etaphi_coarse_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(combMf_eta, combMf_phi); - } - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = HistchainName + m_triggerES[i] + monalg2 + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } + } + } + } + } + // == an EF chain == + float dr_min_ef = 9999; + int id_min_ef = -1; + int last_step = -1; + wrtalg = "_MuComb"; + std::string monalg3 = "_EFmuon"; + + //const HLT::Chain* chainDetail = m_ExpertMethods->getChainDetails("EF_" + chainName); // sept25 + const HLT::Chain* chainDetail = m_ExpertMethods->getChainDetails(chainName); // sept25 + const TrigConf::HLTChain* configChain = 0; + if (chainDetail) { + configChain = chainDetail->getConfigChain(); + //lastStep = chainDetail->getChainStep(); + } + std::vector<const HLT::TriggerElement*>::const_iterator p_te1; + std::vector<TrigConf::HLTTriggerElement*>::const_iterator p_te2; + std::vector<TrigConf::HLTSignature*>::const_iterator p_sig; + std::vector<TrigConf::HLTSignature*> dummylist; + std::vector<TrigConf::HLTSignature*>& siglist = dummylist; + + if (configChain) siglist = configChain->signatureList(); + + for(int iEF=0; iEF<(int)combsHLT.size(); iEF++) { + std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); + if( initRois.size() != 1 ) { + ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); + retval = StatusCode::RECOVERABLE; + } + else { + // check RoI <-> rec matching + float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); + name = HistchainName + "_deltaR_btw_L1_MuidCB_For" + monalg3; // YY changed from monalg -> monalg3 + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(dr); + if( dr < dr_min_ef ) { + dr_min_ef = dr; + id_min_ef = iEF; + last_step = 0; + + //get last step + //loop over TE + const std::vector<const HLT::TriggerElement*>& tes = combsHLT[iEF].tes(); + for (p_te1=tes.begin(); p_te1!=tes.end(); ++p_te1) { + bool s = false; + + //loop over signature list + for (p_sig=siglist.begin(); p_sig!=siglist.end(); ++p_sig) { + vector<TrigConf::HLTTriggerElement*>& tes2 = (*p_sig)->outputTEs(); + for (p_te2=tes2.begin(); p_te2!=tes2.end(); ++p_te2) { + if ( (*p_te1)->getId() == + TrigConf::HLTUtils::string2hash( (*p_te2)->name(), "TE")) { + s = true; + break; } } - } - - // == an EF chain == - float dr_min_ef = 9999; - int id_min_ef = -1; - int last_step = -1; - wrtalg = "_MuComb"; - std::string monalg3 = "_EFmuon"; - - //const HLT::Chain* chainDetail = m_ExpertMethods->getChainDetails("EF_" + chainName); // sept25 - const HLT::Chain* chainDetail = m_ExpertMethods->getChainDetails(chainName); // sept25 - const TrigConf::HLTChain* configChain = 0; - if (chainDetail) { - configChain = chainDetail->getConfigChain(); - //lastStep = chainDetail->getChainStep(); - } - std::vector<const HLT::TriggerElement*>::const_iterator p_te1; - std::vector<TrigConf::HLTTriggerElement*>::const_iterator p_te2; - std::vector<TrigConf::HLTSignature*>::const_iterator p_sig; - std::vector<TrigConf::HLTSignature*> dummylist; - std::vector<TrigConf::HLTSignature*>& siglist = dummylist; - - if (configChain) siglist = configChain->signatureList(); - - for(int iEF=0; iEF<(int)combsHLT.size(); iEF++) { - std::vector< Feature<TrigRoiDescriptor> > initRois = combsHLT[iEF].get<TrigRoiDescriptor>("initialRoI",TrigDefs::alsoDeactivateTEs); - if( initRois.size() != 1 ) { - ATH_MSG_WARNING("nr TrigRoiDescriptor is not 1 for chain=EF_" << chainName); - retval = StatusCode::RECOVERABLE; - } - else { - // check RoI <-> rec matching - float dr = calc_dR(rec_eta,rec_phi,initRois[0].cptr()->eta(),initRois[0].cptr()->phi()); - name = HistchainName + "_deltaR_btw_L1_MuidCB_For" + monalg3; // YY changed from monalg -> monalg3 - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(dr); - if( dr < dr_min_ef ) { - dr_min_ef = dr; - id_min_ef = iEF; - last_step = 0; - - //get last step - //loop over TE - const std::vector<const HLT::TriggerElement*>& tes = combsHLT[iEF].tes(); - for (p_te1=tes.begin(); p_te1!=tes.end(); ++p_te1) { - bool s = false; - - //loop over signature list - for (p_sig=siglist.begin(); p_sig!=siglist.end(); ++p_sig) { - vector<TrigConf::HLTTriggerElement*>& tes2 = (*p_sig)->outputTEs(); - for (p_te2=tes2.begin(); p_te2!=tes2.end(); ++p_te2) { - if ( (*p_te1)->getId() == - TrigConf::HLTUtils::string2hash( (*p_te2)->name(), "TE")) { - s = true; - break; - } - } - if (s) { - if ( (int) (*p_sig)->signature_counter() > last_step) - last_step = (int) (*p_sig)->signature_counter(); - break; - } - } - } - } + if (s) { + if ( (int) (*p_sig)->signature_counter() > last_step) + last_step = (int) (*p_sig)->signature_counter(); + break; } } - if( dr_min_ef < DR_CUT && id_min_ef >= 0) { - ATH_MSG_DEBUG("EF: dRmin=" << dr_min_ef); - - if (EF_lower_passed) { - name = HistchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // Barrel/Endcap - name = HistchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // repeating, with highPT range - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - - // Barrel/Endcap - name = HistchainName + m_MSchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - - } - // if (ES_lower_passed) {} - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - if (m_passedES[i]) { - name = HistchainName + m_triggerES[i] + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - } - - float ef_cb_pt = 0.; - float ef_cb_eta = 0.; - float ef_cb_phi = 0.; - int ef_cb_mtype = 0; - float tmp_ef_cb_pt = 0.; - float tmp_ef_cb_eta = 0.; - float tmp_ef_cb_phi = 0.; - int tmp_ef_cb_mtype = 0; - - /* bool isPassed_chain = getTDT()->getChainGroup("EF_"+chainName)->isPassed(); */ - bool ef_active = combsHLT[id_min_ef].active(); - ATH_MSG_DEBUG("...comb active=" << ef_active ); - - std::vector< Feature<xAOD::MuonContainer> > efarr[2]; - efarr[0] = fHLT.get<xAOD::MuonContainer>("MuonEFInfo",TrigDefs::alsoDeactivateTEs); - ATH_MSG_DEBUG("...MuonEFInfo size=" << efarr[0].size() ); - efarr[1] = fHLT.get<xAOD::MuonContainer>("eMuonEFInfo",TrigDefs::alsoDeactivateTEs); - ATH_MSG_DEBUG("...eMuonEFInfo size=" << efarr[1].size() ); - float maxdr = 9999.; - for (int ief = 0; ief < 2; ief++) { - if( efarr[ief].size() >= 1 ) { - std::vector< Feature<xAOD::MuonContainer> > ef = efarr[ief]; - - ATH_MSG_DEBUG("...xAOD EFInfo: label/active=" << getTEName(*ef[0].te()) << " / " << ef[0].te()->getActiveState()); - - std::vector<Feature<xAOD::MuonContainer> >::const_iterator fIt = ef.begin(); - for ( ; fIt != ef.end() ; ++fIt) { - const xAOD::MuonContainer* ef_cont = (*fIt); - if (ef_cont) { - ATH_MSG_DEBUG(" CB ef_contContainter size:"<<ef_cont->size()); - - xAOD::MuonContainer::const_iterator iCont = ef_cont->begin(); - for(; iCont != ef_cont->end(); iCont++) { - const xAOD::TrackParticle *ef_cb_trk; - ef_cb_trk = (*iCont)->trackParticle(xAOD::Muon::TrackParticleType::CombinedTrackParticle); - - ef_cb_pt = (*iCont)->pt()/ CLHEP::GeV; - ef_cb_eta = (*iCont)->eta(); - ef_cb_phi = (*iCont)->phi(); - ef_cb_mtype = (*iCont)->muonType(); - if( ef_cb_trk){ - if( ef_cb_trk->pt() == 0.){ - ef_cb_pt = -1.; - ef_cb_eta = 0.; - ef_cb_phi = 0.; // YY - ef_cb_mtype = 0; - }else if( ef_cb_pt < fabs(ef_cb_trk->pt()) / CLHEP::GeV ){ - ef_cb_pt = fabs(ef_cb_trk->pt()) / CLHEP::GeV; - ef_cb_eta = ef_cb_trk->eta(); - ef_cb_phi = ef_cb_trk->phi(); // YY - ef_cb_mtype = (*iCont)->muonType(); - } - ATH_MSG_DEBUG("CB eta/pt=" << ef_cb_eta << " / " << ef_cb_pt/CLHEP::GeV ); - ATH_MSG_DEBUG("CB track found for last_step " << last_step); - }else{ - ATH_MSG_DEBUG("No CB track found for last_step " << last_step); - } - float tmpdr = calc_dR(rec_eta,rec_phi,ef_cb_eta,ef_cb_phi); - if(tmpdr<maxdr){ - maxdr = tmpdr; - tmp_ef_cb_pt = ef_cb_pt ; - tmp_ef_cb_eta = ef_cb_eta ; - tmp_ef_cb_phi = ef_cb_phi ; - tmp_ef_cb_mtype = ef_cb_mtype ; - } - ef_cb_pt = tmp_ef_cb_pt ; - ef_cb_eta = tmp_ef_cb_eta ; - ef_cb_phi = tmp_ef_cb_phi ; - ef_cb_mtype = tmp_ef_cb_mtype ; - - ATH_MSG_DEBUG("CB eta/pt=" << ef_cb_eta << " / " << ef_cb_pt/CLHEP::GeV ); - } - } - } - } - } + } + } + } + } + if( dr_min_ef < DR_CUT && id_min_ef >= 0) { + ATH_MSG_DEBUG("EF: dRmin=" << dr_min_ef); + if (EF_lower_passed) { + name = HistchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // Barrel/Endcap + name = HistchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // repeating, with highPT range + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + + // Barrel/Endcap + name = HistchainName + m_MSchainName + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + bestr[iBarrelCB] + "_Denominator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } - //CB pt/eta checks - if( ef_active ){ - //if( pt_cut ){} - if (EF_lower_passed) { - ATH_MSG_DEBUG("last step " << last_step ); - - name = HistchainName + monalg3 + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg3 + "_Turn_On_Curve_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } - // Barrel/Endcap - name = HistchainName + monalg3 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - if (MS_lower_passed) { - name = HistchainName + m_MSchainName + monalg3 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } + } + // if (ES_lower_passed) {} + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_CB_mon_ESbr[i])continue; + if (m_passedES[i]) { + name = HistchainName + m_triggerES[i] + monalg3 + "_Turn_On_Curve_wrt" + wrtalg + "_Denominator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + } + } - // 2D coverage hist - ATH_MSG_DEBUG( "Offline/EFCB pt" << rec_pt << ", " << ef_cb_pt ); - ATH_MSG_DEBUG( "Offline/EFCB eta" << rec_eta << ", " << ef_cb_eta ); - ATH_MSG_DEBUG( "Offline/EFCB phi" << rec_phi << ", " << ef_cb_phi ); - name = HistchainName + monalg3 + "_etaphi_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(ef_cb_eta, ef_cb_phi); - name = HistchainName + monalg3 + "_etaphi_coarse_wrt_MuidCB"; - hist2(name, m_histdirdist2d)->Fill(ef_cb_eta, ef_cb_phi); - - if (ef_cb_mtype > 0 and ef_cb_mtype <= 3) { - // MuonType-dependent distribution histos, inclusive - name = HistchainName + m_EFAlgName[ef_cb_mtype - 1] + "_pt_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(ef_cb_pt); - name = HistchainName + m_EFAlgName[ef_cb_mtype - 1] + "_eta_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(ef_cb_eta); - name = HistchainName + m_EFAlgName[ef_cb_mtype - 1] + "_phi_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(ef_cb_phi); - name = HistchainName + m_EFAlgName[3] + "_pt_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(ef_cb_pt); - name = HistchainName + m_EFAlgName[3] + "_eta_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(ef_cb_eta); - name = HistchainName + m_EFAlgName[3] + "_phi_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(ef_cb_phi); - } else { - ATH_MSG_DEBUG("ef_cb_mtype " << ef_cb_mtype); + float ef_cb_pt = 0.; + float ef_cb_eta = 0.; + float ef_cb_phi = 0.; + int ef_cb_mtype = 0; + float tmp_ef_cb_pt = 0.; + float tmp_ef_cb_eta = 0.; + float tmp_ef_cb_phi = 0.; + int tmp_ef_cb_mtype = 0; + /* bool isPassed_chain = getTDT()->getChainGroup("EF_"+chainName)->isPassed(); */ + bool ef_active = combsHLT[id_min_ef].active(); + ATH_MSG_DEBUG("...comb active=" << ef_active ); + + std::vector< Feature<xAOD::MuonContainer> > efarr[2]; + efarr[0] = fHLT.get<xAOD::MuonContainer>("MuonEFInfo",TrigDefs::alsoDeactivateTEs); + ATH_MSG_DEBUG("...MuonEFInfo size=" << efarr[0].size() ); + efarr[1] = fHLT.get<xAOD::MuonContainer>("eMuonEFInfo",TrigDefs::alsoDeactivateTEs); + ATH_MSG_DEBUG("...eMuonEFInfo size=" << efarr[1].size() ); + float maxdr = 9999.; + for (int ief = 0; ief < 2; ief++) { + if( efarr[ief].size() >= 1 ) { + std::vector< Feature<xAOD::MuonContainer> > ef = efarr[ief]; + + ATH_MSG_DEBUG("...xAOD EFInfo: label/active=" << getTEName(*ef[0].te()) << " / " << ef[0].te()->getActiveState()); + + std::vector<Feature<xAOD::MuonContainer> >::const_iterator fIt = ef.begin(); + for ( ; fIt != ef.end() ; ++fIt) { + const xAOD::MuonContainer* ef_cont = (*fIt); + if (ef_cont) { + ATH_MSG_DEBUG(" CB ef_contContainter size:"<<ef_cont->size()); + + xAOD::MuonContainer::const_iterator iCont = ef_cont->begin(); + for(; iCont != ef_cont->end(); iCont++) { + const xAOD::TrackParticle *ef_cb_trk; + ef_cb_trk = (*iCont)->trackParticle(xAOD::Muon::TrackParticleType::CombinedTrackParticle); + + ef_cb_pt = (*iCont)->pt()/ CLHEP::GeV; + ef_cb_eta = (*iCont)->eta(); + ef_cb_phi = (*iCont)->phi(); + ef_cb_mtype = (*iCont)->muonType(); + if( ef_cb_trk){ + if( ef_cb_trk->pt() == 0.){ + ef_cb_pt = -1.; + ef_cb_eta = 0.; + ef_cb_phi = 0.; // YY + ef_cb_mtype = 0; + }else if( ef_cb_pt < fabs(ef_cb_trk->pt()) / CLHEP::GeV ){ + ef_cb_pt = fabs(ef_cb_trk->pt()) / CLHEP::GeV; + ef_cb_eta = ef_cb_trk->eta(); + ef_cb_phi = ef_cb_trk->phi(); // YY + ef_cb_mtype = (*iCont)->muonType(); } - - // stat info on MuonType - name = HistchainName + "_EFMuonType_wrt_MuidCB"; - hist(name, m_histdirdist2d)->Fill(float(ef_cb_mtype)); - + ATH_MSG_DEBUG("CB eta/pt=" << ef_cb_eta << " / " << ef_cb_pt/CLHEP::GeV ); + ATH_MSG_DEBUG("CB track found for last_step " << last_step); + }else{ + ATH_MSG_DEBUG("No CB track found for last_step " << last_step); } - - // if (ES_lower_passed) {} - // ES trigger-aware - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - if (m_passedES[i]) { - ATH_MSG_DEBUG("last step " << last_step ); - name = HistchainName + m_triggerES[i] + monalg3 + "_Turn_On_Curve_Numerator"; - ATH_MSG_DEBUG( name << " filling" ); - hist(name, m_histdireffnumdenom)->Fill(rec_pt); - } + float tmpdr = calc_dR(rec_eta,rec_phi,ef_cb_eta,ef_cb_phi); + if(tmpdr<maxdr){ + maxdr = tmpdr; + tmp_ef_cb_pt = ef_cb_pt ; + tmp_ef_cb_eta = ef_cb_eta ; + tmp_ef_cb_phi = ef_cb_phi ; + tmp_ef_cb_mtype = ef_cb_mtype ; } + ef_cb_pt = tmp_ef_cb_pt ; + ef_cb_eta = tmp_ef_cb_eta ; + ef_cb_phi = tmp_ef_cb_phi ; + ef_cb_mtype = tmp_ef_cb_mtype ; - }else{ - ATH_MSG_DEBUG("not active last step " << last_step ); + ATH_MSG_DEBUG("CB eta/pt=" << ef_cb_eta << " / " << ef_cb_pt/CLHEP::GeV ); } - - } - - } // end of CB loop - - // - return retval; + } } - - - - StatusCode HLTMuonMonTool::procChainDQA() - { - ATH_MSG_DEBUG("procChainDQA"); - - StatusCode retval = StatusCode::SUCCESS; - - // YY: 25.05.10 to clear m_checked: - retval.getCode(); - - procTriggerOverlap(); - - std::vector<std::string>::const_iterator it; - for(it=m_histChainMSonly.begin(); it != m_histChainMSonly.end() ; it++ ){ - StatusCode sc = procChainDQA_MSonly(*it); - if(sc.isFailure()) { - ATH_MSG_VERBOSE("procChainDQA_MSonly failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } + } + //CB pt/eta checks + if( ef_active ){ + //if( pt_cut ){} + if (EF_lower_passed) { + ATH_MSG_DEBUG("last step " << last_step ); + + name = HistchainName + monalg3 + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg3 + "_Turn_On_Curve_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); } - - for(it=m_histChainEFFS.begin(); it != m_histChainEFFS.end() ; it++ ){ - StatusCode sc = procChainDQA_standard(*it); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("procChainDQA_standard failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } + // Barrel/Endcap + name = HistchainName + monalg3 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); + if (MS_lower_passed) { + name = HistchainName + m_MSchainName + monalg3 + bestr[iBarrelCB] + "_Turn_On_Curve_Numerator"; + hist(name, m_histdireffnumdenom)->Fill(rec_pt); } - - for(it=m_histChainGeneric.begin(); it != m_histChainGeneric.end() ; it++ ){ - StatusCode sc = procChainDQA_generic(*it); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("procChainDQA_generic failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } + // 2D coverage hist + ATH_MSG_DEBUG( "Offline/EFCB pt" << rec_pt << ", " << ef_cb_pt ); + ATH_MSG_DEBUG( "Offline/EFCB eta" << rec_eta << ", " << ef_cb_eta ); + ATH_MSG_DEBUG( "Offline/EFCB phi" << rec_phi << ", " << ef_cb_phi ); + name = HistchainName + monalg3 + "_etaphi_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(ef_cb_eta, ef_cb_phi); + name = HistchainName + monalg3 + "_etaphi_coarse_wrt_MuidCB"; + hist2(name, m_histdirdist2d)->Fill(ef_cb_eta, ef_cb_phi); + + if (ef_cb_mtype > 0 and ef_cb_mtype <= 3) { + // MuonType-dependent distribution histos, inclusive + name = HistchainName + m_EFAlgName[ef_cb_mtype - 1] + "_pt_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(ef_cb_pt); + name = HistchainName + m_EFAlgName[ef_cb_mtype - 1] + "_eta_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(ef_cb_eta); + name = HistchainName + m_EFAlgName[ef_cb_mtype - 1] + "_phi_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(ef_cb_phi); + name = HistchainName + m_EFAlgName[3] + "_pt_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(ef_cb_pt); + name = HistchainName + m_EFAlgName[3] + "_eta_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(ef_cb_eta); + name = HistchainName + m_EFAlgName[3] + "_phi_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(ef_cb_phi); + } else { + ATH_MSG_DEBUG("ef_cb_mtype " << ef_cb_mtype); } + // stat info on MuonType + name = HistchainName + "_EFMuonType_wrt_MuidCB"; + hist(name, m_histdirdist2d)->Fill(float(ef_cb_mtype)); - for(it=m_histChainEFiso.begin(); it != m_histChainEFiso.end() ; it++ ){ - StatusCode sc = procChainDQA_generic(*it); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("procChainDQA_generic failed for chain=" << *it ); - retval = StatusCode::RECOVERABLE; - } - } - + } - StatusCode sc = procChainDQA_HighPt(); - if (sc.isFailure()) { - ATH_MSG_VERBOSE("procChainDQA_HighPt failed"); - retval = StatusCode::RECOVERABLE; + // if (ES_lower_passed) {} + // ES trigger-aware + for (int i = 0; i <= m_maxESbr; i++) { + name = HistchainName + m_triggerES[i] + monalg3 + "_Turn_On_Curve_Numerator"; + if(!m_CB_mon_ESbr[i])continue; + if (m_passedES[i]) { + ATH_MSG_DEBUG("last step " << last_step ); + name = HistchainName + m_triggerES[i] + monalg3 + "_Turn_On_Curve_Numerator"; + ATH_MSG_DEBUG( name << " filling" ); + hist(name, m_histdireffnumdenom)->Fill(rec_pt); } + } + }else{ + ATH_MSG_DEBUG("not active last step " << last_step ); + } - if(endOfRunFlag()){ - //triggers/event - for(std::map<std::string, std::string>::iterator it=m_ztpmap.begin(); it != m_ztpmap.end() ; it++ ){ - std::string name1 = "Number_Of_"+ it->second + "_Passed_Events" ; - std::string name2 = it->second + "_Triggers_Per_Event" ; + } - //hist( name2, m_histdirrateratio ) -> Divide ( hist(name1, m_histdirrate), hist("Number_Of_Events", m_histdirrate)); + } // end of CB loop - } - } + // + return retval; +} +StatusCode HLTMuonMonTool::procChainDQA() +{ + ATH_MSG_DEBUG("procChainDQA"); - return retval; - } + StatusCode retval = StatusCode::SUCCESS; - StatusCode HLTMuonMonTool::procChainDQA_MSonly(const std::string& chainName ) - { - ATH_MSG_DEBUG("procChainDQA_MSonly"); - - std::string denom; - std::string numer; - std::string effi; - - if( endOfRunFlag() ){ - - std::string monalg[3]={"_MuFast", "_MuonEFMS", "_MuonEFSA"}; - - std::string wrtalg[3]={"_L1", "_MuFast", "_MuFast"}; - std::string bestr[2] = {"_Barrel", "_Endcap"}; - - //wrt SA muon && Upstream trigger - for( int alg = 0 ; alg < 3 ;alg ++ ){ - denom = chainName + "_Turn_On_Curve_wrt_MuidSA_Denominator"; - numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt_MuidSA"; - //hist(effi, m_histdireff)->Divide( hist(numer, m_histdireffnumdenom), hist(denom, m_histdireffnumdenom), 1, 1, "B" ); - // Uncommented by YY 12.04.10 - - if (true) { // all - double sumeff, sumerr; - double sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); - double sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double)sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - int ibin_holx = -1; - if (0 == alg) { - int ibintmp = iMuFast; - ibin_holx = ibintmp; - } else if (2 == alg) { - int ibintmp = iEFSA; - ibin_holx = ibintmp; - } + // YY: 25.05.10 to clear m_checked: + retval.getCode(); - if (ibin_holx >= 0) { - std::string s = chainName + "_highpt_effsummary_by" + m_vectkwd.at(4); - ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); - hist(s, m_histdireff)->SetBinContent(ibin_holx+1, sumeff); - hist(s, m_histdireff)->SetBinError(ibin_holx+1, sumerr); - } - } + procTriggerOverlap(); - denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; - numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; - - // for ES ------------------------------------------------------------------------------------ - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_MS_mon_ESbr[i])continue; - - if (0 == alg) { - // L1 efficiency: new for 2011 HI runs and afterward - // only division once since it is "the zero-th" algorithm - denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA_Denominator"; - numer = chainName + m_triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + "_Denominator"; - effi = chainName + m_triggerES[i] + "_L1" + "_Turn_On_Curve_wrt_MuidSA"; - // Need to implement barrel and endcap ... - for (int be = 0; be < 2; be++) { - denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA" + bestr[be] + "_Denominator"; - numer = chainName + m_triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; - effi = chainName + m_triggerES[i] + "_L1" + bestr[be] + "_Turn_On_Curve_wrt_MuidSA"; - } - } + std::vector<std::string>::const_iterator it; + for(it=m_histChainMSonly.begin(); it != m_histChainMSonly.end() ; it++ ){ + StatusCode sc = procChainDQA_MSonly(*it); + if(sc.isFailure()) { + ATH_MSG_VERBOSE("procChainDQA_MSonly failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } - denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA_Denominator"; - numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt_MuidSA"; - - // MSonly summary: viewed only by EStag sample - if (ESTAG == i || ESINDEP == i) { - double sumeff, sumerr; - double sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); - double sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double)sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - int ibin_holx = -1; - if (0 == alg) { - int tmp_idx = iMuFast; - ibin_holx = tmp_idx; - } else if (2 == alg) { - int tmp_idx = iEFSA; - ibin_holx = tmp_idx; - } + for(it=m_histChainEFFS.begin(); it != m_histChainEFFS.end() ; it++ ){ + StatusCode sc = procChainDQA_standard(*it); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("procChainDQA_standard failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } + for(it=m_histChainGeneric.begin(); it != m_histChainGeneric.end() ; it++ ){ + StatusCode sc = procChainDQA_generic(*it); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("procChainDQA_generic failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } - if (ibin_holx >= 0) { - std::string s = chainName + "_highpt_effsummary_by" + m_triggerES[i]; - ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); - hist(s, m_histdireff)->SetBinContent(ibin_holx+1, sumeff); - hist(s, m_histdireff)->SetBinError(ibin_holx+1, sumerr); - } - } - denom = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; - numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; - } - // for ES : END ------------------------------------------------------------------------------ + for(it=m_histChainEFiso.begin(); it != m_histChainEFiso.end() ; it++ ){ + StatusCode sc = procChainDQA_generic(*it); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("procChainDQA_generic failed for chain=" << *it ); + retval = StatusCode::RECOVERABLE; + } + } - if (0 == alg || 2 == alg) { // Barrel/Endcap - for (int be = 0; be < 2; be++) { - denom = chainName + "_Turn_On_Curve_wrt_MuidSA" + bestr[be] + "_Denominator"; - numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_wrt_MuidSA"; - //hist(effi, m_histdireff)->Divide( hist(numer, m_histdireffnumdenom), hist(denom, m_histdireffnumdenom), 1, 1, "B" ); + StatusCode sc = procChainDQA_HighPt(); + if (sc.isFailure()) { + ATH_MSG_VERBOSE("procChainDQA_HighPt failed"); + retval = StatusCode::RECOVERABLE; + } + if(endOfRunFlag()){ + //triggers/event + for(std::map<std::string, std::string>::iterator it=m_ztpmap.begin(); it != m_ztpmap.end() ; it++ ){ - // Uncommented by YY 12.04.10 + std::string name1 = "Number_Of_"+ it->second + "_Passed_Events" ; + std::string name2 = it->second + "_Triggers_Per_Event" ; - denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be] + "_Denominator"; - numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be]; - //hist(effi, m_histdireff)->Divide( hist(numer, m_histdireffnumdenom), hist(denom, m_histdireffnumdenom), 1, 1, "B" ); + //hist( name2, m_histdirrateratio ) -> Divide ( hist(name1, m_histdirrate), hist("Number_Of_Events", m_histdirrate)); - } - } + } + } - } + return retval; +} - for (int ialg = 0; ialg < 3; ialg++) { - denom = chainName + monalg[ialg] + "_etaphi_coarse_wrt_MuidCB"; - numer = chainName + monalg[ialg] + "_etaphi_coarse1d_wrt_MuidCB"; - // ATH_MSG_INFO("denom " << denom << " numer " << numer); - TH2F *h2d = (TH2F *)hist2(denom, m_histdirdist2d); - TH1F *h1d = (TH1F *)hist(numer, m_histdirdist2d); - refill_2d1d_coarse(h2d, h1d); - } +StatusCode HLTMuonMonTool::procChainDQA_MSonly(const std::string& chainName ) +{ + ATH_MSG_DEBUG("procChainDQA_MSonly"); - } else if( endOfLumiBlockFlag() ){ - } + std::string denom; + std::string numer; + std::string effi; - return StatusCode::SUCCESS; - } + if( endOfRunFlag() ){ - StatusCode HLTMuonMonTool::procChainDQA_standard(const std::string& chainName ) - { - ATH_MSG_DEBUG("procChainDQA_standard"); + std::string monalg[3]={"_L2MuonSA", "_MuonEFMS", "_MuonEFSA"}; + std::string wrtalg[3]={"_L1", "_L2MuonSA", "_L2MuonSA"}; + std::string bestr[2] = {"_Barrel", "_Endcap"}; - std::string denom; - std::string numer; - std::string effi; - - int iSTDL = 39; - int iSTDH = 120; - if(!m_HI_pp_mode){ - iSTDL = 17; - iSTDH = 75; - }else{ - iSTDL = 39; - iSTDH = 120; - } + for( int alg = 0 ; alg < 3 ;alg ++ ){ + denom = chainName + "_Turn_On_Curve_wrt_MuidSA_Denominator"; + numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt_MuidSA"; + //hist(effi, m_histdireff)->Divide( hist(numer, m_histdireffnumdenom), hist(denom, m_histdireffnumdenom), 1, 1, "B" ); + // Uncommented by YY 12.04.10 + + if (true) { // all + double sumeff, sumerr; + double sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); + double sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double)sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + int ibin_holx = -1; + if (0 == alg) { + int ibintmp = iL2MuonSA; + ibin_holx = ibintmp; + } else if (2 == alg) { + int ibintmp = iEFSA; + ibin_holx = ibintmp; + } - if( endOfRunFlag() ){ + if (ibin_holx >= 0) { + std::string s = chainName + "_highpt_effsummary_by" + m_vectkwd.at(4); + ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); + hist(s, m_histdireff)->SetBinContent(ibin_holx+1, sumeff); + hist(s, m_histdireff)->SetBinError(ibin_holx+1, sumerr); + } + } + denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; + numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; + // for ES ------------------------------------------------------------------------------------ + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_MS_mon_ESbr[i])continue; - // add by Yuan : to book the histogram // - if(chainName.find("EFFS")!= string::npos){ + if (0 == alg) { + // L1 efficiency: new for 2011 HI runs and afterward + // only division once since it is "the zero-th" algorithm + denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA_Denominator"; + numer = chainName + m_triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + "_Denominator"; + effi = chainName + m_triggerES[i] + "_L1" + "_Turn_On_Curve_wrt_MuidSA"; + // Need to implement barrel and endcap ... + for (int be = 0; be < 2; be++) { + denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA" + bestr[be] + "_Denominator"; + numer = chainName + m_triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; + effi = chainName + m_triggerES[i] + "_L1" + bestr[be] + "_Turn_On_Curve_wrt_MuidSA"; + } + } - std::string bestr[2] = {"_Barrel", "_Endcap"}; + denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidSA_Denominator"; + numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt_MuidSA"; + + // MSonly summary: viewed only by EStag sample + if (ESTAG == i || ESINDEP == i) { + double sumeff, sumerr; + double sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); + double sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iMSL, m_iMSH); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double)sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + int ibin_holx = -1; + if (0 == alg) { + int tmp_idx = iL2MuonSA; + ibin_holx = tmp_idx; + } else if (2 == alg) { + int tmp_idx = iEFSA; + ibin_holx = tmp_idx; + } - denom = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + if (ibin_holx >= 0) { + std::string s = chainName + "_highpt_effsummary_by" + m_triggerES[i]; + ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); + hist(s, m_histdireff)->SetBinContent(ibin_holx+1, sumeff); + hist(s, m_histdireff)->SetBinError(ibin_holx+1, sumerr); + } + } - numer = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + denom = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; + numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; + } + // for ES : END ------------------------------------------------------------------------------ - effi = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB"; + if (0 == alg || 2 == alg) { // Barrel/Endcap + for (int be = 0; be < 2; be++) { + denom = chainName + "_Turn_On_Curve_wrt_MuidSA" + bestr[be] + "_Denominator"; + numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_wrt_MuidSA"; + //hist(effi, m_histdireff)->Divide( hist(numer, m_histdireffnumdenom), hist(denom, m_histdireffnumdenom), 1, 1, "B" ); - for (int be =0; be<2; be++){ + // Uncommented by YY 12.04.10 - denom = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[be] + "_Denominator"; + denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be] + "_Denominator"; + numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be]; + //hist(effi, m_histdireff)->Divide( hist(numer, m_histdireffnumdenom), hist(denom, m_histdireffnumdenom), 1, 1, "B" ); - numer = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[be] + "_Numerator"; + } + } - effi = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[be]; + } - double sumd, sumn, sumeff, sumerr; - sumn = hist(numer, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); - sumd = hist(denom, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double)sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - std::string s = chainName + "_EFplateau_wrtOffline" ; - ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); - hist(s, m_histdireff)->SetBinContent(be+1, sumeff); - hist(s, m_histdireff)->SetBinError(be+1, sumerr); + for (int ialg = 0; ialg < 3; ialg++) { + denom = chainName + monalg[ialg] + "_etaphi_coarse_wrt_MuidCB"; + numer = chainName + monalg[ialg] + "_etaphi_coarse1d_wrt_MuidCB"; + // ATH_MSG_INFO("denom " << denom << " numer " << numer); + TH2F *h2d = (TH2F *)hist2(denom, m_histdirdist2d); + TH1F *h1d = (TH1F *)hist(numer, m_histdirdist2d); + refill_2d1d_coarse(h2d, h1d); + } + } else if( endOfLumiBlockFlag() ){ + } + return StatusCode::SUCCESS; +} +StatusCode HLTMuonMonTool::procChainDQA_standard(const std::string& chainName ) +{ + ATH_MSG_DEBUG("procChainDQA_standard"); - } + std::string denom; + std::string numer; + std::string effi; + + int iSTDL = 39; + int iSTDH = 120; + if(!m_HI_pp_mode){ + iSTDL = 17; + iSTDH = 75; + }else{ + iSTDL = 75;//25GeV + iSTDH = 120; + } - denom = chainName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + if( endOfRunFlag() ){ + } + // add by Yuan : to book the histogram // + if(chainName.find("EFFS")!= string::npos){ - numer = chainName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + std::string bestr[2] = {"_Barrel", "_Endcap"}; - effi = chainName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB"; + denom = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - denom = chainName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + numer = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - numer = chainName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + effi = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB"; - effi = chainName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB"; + for (int be =0; be<2; be++){ - denom = chainName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + denom = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[be] + "_Denominator"; - numer = chainName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + numer = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[be] + "_Numerator"; - effi = chainName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB"; + effi = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB" + bestr[be]; - std::string mu_range_names[3] = {"_mu0_15", "_mu15_20","_mu20"}; + double sumd, sumn, sumeff, sumerr; + sumn = hist(numer, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); + sumd = hist(denom, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double)sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + std::string s = chainName + "_EFplateau_wrtOffline" ; + ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); + hist(s, m_histdireff)->SetBinContent(be+1, sumeff); + hist(s, m_histdireff)->SetBinError(be+1, sumerr); - for (int mu_range =0; mu_range<3; mu_range++){ - denom = chainName + "_tagEFFSpre" + mu_range_names[mu_range] + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + effi = chainName + "_tagEFFSpre" + "_Turn_On_Curve_wrt_probe_MuidCB"; + } - numer = chainName + "_tagEFFSpre" + mu_range_names[mu_range] + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; + denom = chainName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - effi = chainName + "_tagEFFSpre" + mu_range_names[mu_range] + "_Turn_On_Curve_wrt_probe_MuidCB" ; + numer = chainName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - double sumd, sumn, sumeff, sumerr; - sumn = hist(numer, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); - sumd = hist(denom, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double)sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - std::string s = chainName + "_EFplateau_wrtOffline_mu_dependence" ; - ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); - hist(s, m_histdireff)->SetBinContent(mu_range+1, sumeff); - hist(s, m_histdireff)->SetBinError(mu_range+1, sumerr); + effi = chainName + "_tagEFFSpre_mu0_15" + "_Turn_On_Curve_wrt_probe_MuidCB"; - } + denom = chainName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; + numer = chainName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - denom = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Denominator"; + effi = chainName + "_tagEFFSpre_mu15_20" + "_Turn_On_Curve_wrt_probe_MuidCB"; - numer = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Numerator"; + denom = chainName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - effi = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB"; + numer = chainName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Denominator"; + effi = chainName + "_tagEFFSpre_mu20" + "_Turn_On_Curve_wrt_probe_MuidCB"; - numer = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Numerator"; + std::string mu_range_names[3] = {"_mu0_15", "_mu15_20","_mu20"}; + for (int mu_range =0; mu_range<3; mu_range++){ - effi = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB"; + denom = chainName + "_tagEFFSpre" + mu_range_names[mu_range] + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Denominator"; - denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Denominator"; + numer = chainName + "_tagEFFSpre" + mu_range_names[mu_range] + "_Turn_On_Curve_wrt_probe_MuidCB" + "_Numerator"; - numer = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Numerator"; + effi = chainName + "_tagEFFSpre" + mu_range_names[mu_range] + "_Turn_On_Curve_wrt_probe_MuidCB" ; - effi = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB"; + double sumd, sumn, sumeff, sumerr; + sumn = hist(numer, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); + sumd = hist(denom, m_histdireffnumdenom)->Integral(iSTDL, iSTDH); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double)sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + std::string s = chainName + "_EFplateau_wrtOffline_mu_dependence" ; + ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); + hist(s, m_histdireff)->SetBinContent(mu_range+1, sumeff); + hist(s, m_histdireff)->SetBinError(mu_range+1, sumerr); - denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Denominator"; + } - numer = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Denominator"; - effi = "EFFSpre_dimuonTP_L1_Turn_On_Curve_wrt_probe_MuidCB"; + denom = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Denominator"; + numer = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB" + "_Numerator"; - } + effi = chainName + "_Turn_On_Curve_wrt_subleading_MuidCB"; - } else if( endOfLumiBlockFlag() ){ - } - return StatusCode::SUCCESS; - //*****************************************// - } + denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Denominator"; + numer = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Numerator"; - StatusCode HLTMuonMonTool::procChainDQA_generic(const std::string& chainName ) - { - ATH_MSG_DEBUG("procChainDQA_generic"); - - std::string denom; - std::string numer; - std::string effi; - - if( endOfRunFlag() ){ - std::string monalg[3]={"_MuFast", "_MuComb", "_EFmuon"}; - - std::string wrtalg[3]={"_L1", "_MuFast", "_MuComb"}; - std::string bestr[2] = {"_Barrel", "_Endcap"}; - - //wrt CB muon && Upstream trigger - for( int alg = 0 ; alg < 3 ; alg++ ){ - denom = chainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt_MuidCB"; - - denom = chainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - numer = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt_MuidCB"; - - denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; - numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; - - denom = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; - numer = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; - - // for ES ------------------------------------------------------------------------------------ - for (int i = 0; i <= m_maxESbr; i++) { - if(!m_CB_mon_ESbr[i])continue; - - if (0 == alg) { - // L1 efficiency: new for 2011 HI runs and afterward - // only division once since it is "the zero-th" algorithm - denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - numer = chainName + m_triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + "_Denominator"; - effi = chainName + m_triggerES[i] + "_L1" + "_Turn_On_Curve_wrt_MuidCB"; - // Need to implement barrel and endcap ... - for (int be = 0; be < 2; be++) { - denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; - numer = chainName + m_triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; - effi = chainName + m_triggerES[i] + "_L1" + bestr[be] + "_Turn_On_Curve_wrt_MuidCB"; - - if (ESINDEP == i) { - // integrating over and fill in a summary histogram - double sumeff, sumerr; - double sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); // 30-50 GeV - double sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double)sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - - std::string s = chainName + "_L1plateau_wrtOffline_by_ESindep"; - ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); - hist(s, m_histdireff)->SetBinContent(be+1, sumeff); - hist(s, m_histdireff)->SetBinError(be+1, sumerr); - } - } - } + effi = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB"; - denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt_MuidCB"; - - // Summary ESid and ESindep - if (0 == alg || 1 == alg || 2 == alg) { - // if (ESID == i || ESINDEP == i) { - double sumd, sumn, sumeff, sumerr; - sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); // 40 - 100 GeV - sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double)sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - int ibin_holx = -1; - if (0 == alg) { - ibin_holx = iMuFast; - } else if (1 == alg) { - ibin_holx = iMuComb; - } else if (2 == alg) { - ibin_holx = iEFCB; - } + denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Denominator"; - std::string s = chainName + "_highpt_effsummary_by" + m_triggerES[i]; - ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); - hist(s, m_histdireff)->SetBinContent(ibin_holx+1, sumeff); - hist(s, m_histdireff)->SetBinError(ibin_holx+1, sumerr); - } + numer = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Numerator"; - denom = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; - numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; + effi = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB"; - } - // for ES : END ------------------------------------------------------------------------------ + denom = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_probe_MuidCB_Denominator"; - // Barrel/Endcap - if (0 == alg || 1 == alg || 2 == alg) { - for (int be = 0; be < 2; be++) { - denom = chainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; - numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_wrt_MuidCB"; + numer = "EFFSpre_dimuonTP_Turn_On_Curve_wrt_L1_probe_MuidCB_Denominator"; - } + effi = "EFFSpre_dimuonTP_L1_Turn_On_Curve_wrt_probe_MuidCB"; - for (int be = 0; be < 2; be++) { - denom = chainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; - numer = chainName + m_MSchainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_MSchainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_wrt_MuidCB"; - } + } + return StatusCode::SUCCESS; +//*****************************************// +} - for (int be = 0; be < 2; be++) { - denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be] + "_Denominator"; - numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; - effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be]; - } +StatusCode HLTMuonMonTool::procChainDQA_generic(const std::string& chainName ) +{ + ATH_MSG_DEBUG("procChainDQA_generic"); - for (int be = 0; be < 2; be++) { - denom = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be] + "_Denominator"; - numer = chainName + m_MSchainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; - effi = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be]; - } + std::string denom; + std::string numer; + std::string effi; - } + if( endOfRunFlag() ){ + std::string monalg[3]={"_L2MuonSA", "_MuComb", "_EFmuon"}; - } - for (int ialg = 0; ialg < 3; ialg++) { - denom = chainName + monalg[ialg] + "_etaphi_coarse_wrt_MuidCB"; - numer = chainName + monalg[ialg] + "_etaphi_coarse1d_wrt_MuidCB"; - // ATH_MSG_INFO("denom " << denom << " numer " << numer); - TH2F *h2d = (TH2F *)hist2(denom, m_histdirdist2d); - TH1F *h1d = (TH1F *)hist(numer, m_histdirdist2d); - refill_2d1d_coarse(h2d, h1d); - } - } else if( endOfLumiBlockFlag() ){ - } + std::string wrtalg[3]={"_L1", "_L2MuonSA", "_MuComb"}; + std::string bestr[2] = {"_Barrel", "_Endcap"}; - return StatusCode::SUCCESS; - } + //wrt CB muon && Upstream trigger + for( int alg = 0 ; alg < 3 ; alg++ ){ + denom = chainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt_MuidCB"; + denom = chainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + numer = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt_MuidCB"; - StatusCode HLTMuonMonTool::procChainDQA_HighPt() - { - // YY 2e33 - // std::string charr[4] = {"mu20", "mu20_MG", "mu15i", "mu40_MSonly_barrel"}; - // std::string charr[4] = {"mu22_medium", "mu22_MG_medium", "mu20i_medium", "mu40_MSonly_barrel_medium"}; - // std::string monarr[4] = {"_MuonEFCB", "_MuGirlEF", "_MuonEFCB", "_MuonEFSA"}; - // std::string monL2arr[4] = {"_MuFast", "_MuGirlL2", "_MuIso", "_MuFast"}; - // pp_v4 - - int MAXARR = 0; - std::vector<std::string> charr; - std::vector<std::string> monarr; - std::vector<std::string> monL2arr; - std::vector<bool> isBarrelMon; - std::vector<bool> isMSbMon; - std::vector<bool> monL1; - std::vector<bool> isefIsolation; - for(unsigned int ich = 0; ich < m_chainsGeneric.size(); ich++){ - MAXARR++; - charr.push_back("muChain"+std::to_string(ich+1)); - monarr.push_back("_EFmuon"); - monL2arr.push_back("_MuFast"); - isBarrelMon.push_back(false); - isMSbMon.push_back(true); - monL1.push_back(true); - isefIsolation.push_back(false); - } - for(unsigned int ich = 0; ich < m_chainsEFiso.size(); ich++){ - MAXARR++; - charr.push_back("muChainEFiso"+std::to_string(ich+1)); - monarr.push_back("_EFmuon"); - monL2arr.push_back("_MuFast"); - isBarrelMon.push_back(false); - isMSbMon.push_back(false); - monL1.push_back(true); - isefIsolation.push_back(true); - } - for(unsigned int ich = 0; ich < m_chainsMSonly.size(); ich++){ - MAXARR++; - charr.push_back("muChainMSonly"+std::to_string(ich+1)); - monarr.push_back("_MuonEFSA"); - monL2arr.push_back("_MuFast"); - isBarrelMon.push_back(true); - isMSbMon.push_back(false); - monL1.push_back(false); - isefIsolation.push_back(false); - } + denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; + numer = chainName + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; + denom = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; + numer = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; - // const int MAXARR = 3; - // std::string charr[MAXARR] = {"mu36_tight", "mu24i_tight", "mu50_MSonly_barrel_tight"}; - // std::string monarr[MAXARR] = {"_EFmuon", "_EFmuon", "_MuonEFSA"}; - // std::string monL2arr[MAXARR] = {"_MuFast", "_MuFast", "_MuFast"}; - // bool isBarrelMon[MAXARR] = {false, false, true}; // enable MSonly - // bool isMSbMon[MAXARR] = {true, false, false}; // Skip isol and MSonly - // bool monL1[MAXARR] = {true, true, false}; // Skip MSonly - // bool isefIsolation[MAXARR] = {false, true, false}; // EF isolation add by Yuan - - // YY: dirty fix, should improve by get configuration from Python, but for M4 ... - // if (1) { - // return StatusCode::SUCCESS; - // } - - if (endOfRunFlag()) { - for (int ialg = 0; ialg < MAXARR; ialg++) { - std::string chainName = charr[ialg]; - std::string MoniAlg = monarr[ialg]; - std::string MoniL2Alg = monL2arr[ialg]; - - /* 1. Picking up ztp graph */ - std::string hdirztp = "HLT/MuonMon/MuZTP/" + chainName; - std::string histZtpNum, histZtpDen; - if (!isBarrelMon[ialg]) { - histZtpNum = "muZTP_Pt_4bins_EFfired_" + chainName; - histZtpDen = "muZTP_Pt_4bins_L1fired_" + chainName; - } else { - // make sure you rewrite POSTPROSESSOR !!!!! - histZtpNum = "muZTP_Pt_B_4bins_EFfired_" + chainName; - histZtpDen = "muZTP_Pt_B_4bins_L1fired_" + chainName; - } - if(isefIsolation[ialg]) histZtpNum = "muZTP_Pt_4bins_EFIsofired_" + chainName; // add by Yuan - - /* 2. Filling summary histogram from ZTP values */ - std::string sumhist = chainName + "_highpt3bins_effwrtL1"; - for (int ibin = 2; ibin <= 3; ibin++) { - // at the moment it is not correct if we run the algorithm # 4: mu40_MSonly_barrel . - double sumeff, sumerr; - double sumn = hist(histZtpNum, hdirztp)->Integral(ibin, ibin); - if(isBarrelMon[ialg] || isMSbMon[ialg]) sumn = hist(histZtpNum, hdirztp)->Integral(ibin+1, ibin+1); - double sumd = hist(histZtpDen, hdirztp)->Integral(ibin, ibin); - if(isBarrelMon[ialg] || isMSbMon[ialg]) sumd = hist(histZtpDen, hdirztp)->Integral(ibin+1, ibin+1); - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double) sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - hist(sumhist, m_histdireff)->SetBinContent(ibin-1, sumeff); - hist(sumhist, m_histdireff)->SetBinError(ibin-1, sumerr); - } + + // for ES ------------------------------------------------------------------------------------ + for (int i = 0; i <= m_maxESbr; i++) { + if(!m_CB_mon_ESbr[i])continue; - /* 3. Picking up chainDQ MSonly graph abandoned!!! */ - /* EF efficiency wrt L1, as for the ztp graph = overall HLT efficiency wrt L1: not possible, wrt offline - if (isMSbMon[ialg]) { // skip muIso and MSonly !!! - std::string histChNum = chainName + m_MSchainName + MoniAlg + "_Turn_On_Curve_Numerator"; - // std::string histChDen = chainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; - std::string histChDen = chainName + m_MSchainName + MoniL2Alg + "_Turn_On_Curve_wrt_L1_Denominator"; - - // Integrate 100-300 GeV - double sumeff, sumerr; - double sumn = hist(histChNum, m_histdireffnumdenom)->Integral(21, 28); - double sumd = hist(histChDen, m_histdireffnumdenom)->Integral(21, 28); - if (sumd == 0.) { + if (0 == alg) { + // L1 efficiency: new for 2011 HI runs and afterward + // only division once since it is "the zero-th" algorithm + denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + numer = chainName + m_triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + "_Denominator"; + effi = chainName + m_triggerES[i] + "_L1" + "_Turn_On_Curve_wrt_MuidCB"; + // Need to implement barrel and endcap ... + for (int be = 0; be < 2; be++) { + denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; + numer = chainName + m_triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator"; + effi = chainName + m_triggerES[i] + "_L1" + bestr[be] + "_Turn_On_Curve_wrt_MuidCB"; + + if (ESINDEP == i) { + // integrating over and fill in a summary histogram + double sumeff, sumerr; + double sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); // 30-50 GeV + double sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); + if (sumd == 0.) { sumeff = 0.; sumerr = 0.; - } else { - sumeff = (double)sumn / (double) sumd; + } else { + sumeff = (double)sumn / (double)sumd; sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - hist(sumhist, m_histdireff)->SetBinContent(3, sumeff); - hist(sumhist, m_histdireff)->SetBinError(3, sumerr); - } - */ - - // 4. Fill L1 summary histograms // to be put in the postprocessor!! - if (monL1[ialg]) { // MUST skip muGirl, muIso and MSonly as histograms are not defined!!! - hdirztp = "HLT/MuonMon/MuZTP/" + chainName; - std::string histZtpNumB = "muZTP_Pt_B_L1fired_" + chainName; - std::string histZtpDenB = "muZTP_Pt_B_" + chainName; - std::string histZtpNumE = "muZTP_Pt_EC_L1fired_" + chainName; - std::string histZtpDenE = "muZTP_Pt_EC_" + chainName; - sumhist = chainName + "_highptL1plateau_wrtOffline"; - - double sumeff, sumerr; - double sumn = 0; - double sumd = 0; - if( !m_HI_pp_mode){ - sumn = hist(histZtpNumB, hdirztp)->Integral(13, 25); // 30-50 GeV - sumd = hist(histZtpDenB, hdirztp)->Integral(13, 25); - - }else{ - sumn = hist(histZtpNumB, hdirztp)->Integral(7, 10); // 30-50 GeV - sumd = hist(histZtpDenB, hdirztp)->Integral(7, 10); - } - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double) sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - hist(sumhist, m_histdireff)->SetBinContent(1, sumeff); - hist(sumhist, m_histdireff)->SetBinError(1, sumerr); - - if( !m_HI_pp_mode){ - sumn = hist(histZtpNumB, hdirztp)->Integral(13, 25); // 12-25 GeV - //sumn = hist(histZtpNumB, hdirztp)->Integral(16, 25); // 15-25 GeV - sumn = hist(histZtpDenB, hdirztp)->Integral(13, 25); - //sumn = hist(histZtpDenB, hdirztp)->Integral(16, 25); - }else{ - sumn = hist(histZtpNumE, hdirztp)->Integral(7, 10); - sumd = hist(histZtpDenE, hdirztp)->Integral(7, 10); - } - if (sumd == 0.) { - sumeff = 0.; - sumerr = 0.; - } else { - sumeff = (double)sumn / (double) sumd; - sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; - } - hist(sumhist, m_histdireff)->SetBinContent(2, sumeff); - hist(sumhist, m_histdireff)->SetBinError(2, sumerr); - - } } - } else if (endOfLumiBlockFlag()) { + std::string s = chainName + "_L1plateau_wrtOffline_by_ESindep"; + ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); + hist(s, m_histdireff)->SetBinContent(be+1, sumeff); + hist(s, m_histdireff)->SetBinError(be+1, sumerr); } - return StatusCode::SUCCESS; + } + } + + denom = chainName + m_triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt_MuidCB"; + // Summary ESid and ESindep + if (0 == alg || 1 == alg || 2 == alg) { + // if (ESID == i || ESINDEP == i) { + double sumd, sumn, sumeff, sumerr; + sumn = hist(numer, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); // 40 - 100 GeV + sumd = hist(denom, m_histdireffnumdenom)->Integral(m_iSTDL, m_iSTDH); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double)sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + int ibin_holx = -1; + if (0 == alg) { + ibin_holx = iL2MuonSA; + } else if (1 == alg) { + ibin_holx = iMuComb; + } else if (2 == alg) { + ibin_holx = iEFCB; } + std::string s = chainName + "_highpt_effsummary_by" + m_triggerES[i]; + ATH_MSG_DEBUG("hist summary: " << s << " n: " << sumn << " d: " << sumd << " eff: " << sumeff << " err: " << sumerr); + hist(s, m_histdireff)->SetBinContent(ibin_holx+1, sumeff); + hist(s, m_histdireff)->SetBinError(ibin_holx+1, sumerr); + } - double HLTMuonMonTool::calc_dphi(double phi_i, double phi_j) - { - double dphi = fabs(phi_i - phi_j); - if( dphi > CLHEP::pi ) dphi = CLHEP::pi*2 - dphi; - return dphi; - } + denom = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + "_Denominator"; + numer = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_triggerES[i] + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg]; - double HLTMuonMonTool::calc_dR(double eta_i, double phi_i, double eta_j, double phi_j) - { - double deta = eta_i - eta_j; - double dphi = calc_dphi(phi_i, phi_j); - double dR = pow( (deta*deta + dphi*dphi), 0.5 ); - return dR; - } + } + // for ES : END ------------------------------------------------------------------------------ + + // Barrel/Endcap + if (0 == alg || 1 == alg || 2 == alg) { + for (int be = 0; be < 2; be++) { + denom = chainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; + numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_wrt_MuidCB"; + + } - bool HLTMuonMonTool::checkOfflineSAdR() - { - for(int i_rec1=0; i_rec1<(int)m_RecMuonSA_pt.size(); i_rec1++) { + for (int be = 0; be < 2; be++) { + denom = chainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator"; + numer = chainName + m_MSchainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_MSchainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_wrt_MuidCB"; + } - float eta1 = m_RecMuonSA_eta[i_rec1]; - float phi1 = m_RecMuonSA_phi[i_rec1]; + for (int be = 0; be < 2; be++) { + denom = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be] + "_Denominator"; + numer = chainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; + effi = chainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be]; + } - for(int i_rec2=i_rec1+1; i_rec2<(int)m_RecMuonSA_pt.size(); i_rec2++) { + for (int be = 0; be < 2; be++) { + denom = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be] + "_Denominator"; + numer = chainName + m_MSchainName + monalg[alg] + bestr[be] + "_Turn_On_Curve_Numerator"; + effi = chainName + m_MSchainName + monalg[alg] + "_Turn_On_Curve_wrt" + wrtalg[alg] + bestr[be]; + } - float eta2 = m_RecMuonSA_eta[i_rec2]; - float phi2 = m_RecMuonSA_phi[i_rec2]; + } - float dr = calc_dR(eta1, phi1, eta2, phi2); + } + for (int ialg = 0; ialg < 3; ialg++) { + denom = chainName + monalg[ialg] + "_etaphi_coarse_wrt_MuidCB"; + numer = chainName + monalg[ialg] + "_etaphi_coarse1d_wrt_MuidCB"; + // ATH_MSG_INFO("denom " << denom << " numer " << numer); + TH2F *h2d = (TH2F *)hist2(denom, m_histdirdist2d); + TH1F *h1d = (TH1F *)hist(numer, m_histdirdist2d); + refill_2d1d_coarse(h2d, h1d); + } + } else if(endOfLumiBlockFlag() ){ + } - if(dr < 0.8 ){ - //ATH_MSG_INFO("checkOfflineSAdR:" << dr); - return false; - } - } - } - return true; - } + return StatusCode::SUCCESS; +} +StatusCode HLTMuonMonTool::procChainDQA_HighPt() +{ + // YY 2e33 + // std::string charr[4] = {"mu20", "mu20_MG", "mu15i", "mu40_MSonly_barrel"}; + // std::string charr[4] = {"mu22_medium", "mu22_MG_medium", "mu20i_medium", "mu40_MSonly_barrel_medium"}; + // std::string monarr[4] = {"_MuonEFCB", "_MuGirlEF", "_MuonEFCB", "_MuonEFSA"}; + // std::string monL2arr[4] = {"_L2MuonSA", "_MuGirlL2", "_MuIso", "_L2MuonSA"}; + // pp_v4 + + int MAXARR = 0; + std::vector<std::string> charr; + std::vector<std::string> monarr; + std::vector<std::string> monL2arr; + std::vector<bool> isBarrelMon; + std::vector<bool> isMSbMon; + std::vector<bool> monL1; + std::vector<bool> isefIsolation; + for(unsigned int ich = 0; ich < m_chainsGeneric.size(); ich++){ + MAXARR++; + charr.push_back("muChain"+std::to_string(ich+1)); + monarr.push_back("_EFmuon"); + monL2arr.push_back("_L2MuonSA"); + isBarrelMon.push_back(false); + isMSbMon.push_back(true); + monL1.push_back(true); + isefIsolation.push_back(false); + } + for(unsigned int ich = 0; ich < m_chainsEFiso.size(); ich++){ + MAXARR++; + charr.push_back("muChainEFiso"+std::to_string(ich+1)); + monarr.push_back("_EFmuon"); + monL2arr.push_back("_L2MuonSA"); + isBarrelMon.push_back(false); + isMSbMon.push_back(false); + monL1.push_back(true); + isefIsolation.push_back(true); + } + for(unsigned int ich = 0; ich < m_chainsMSonly.size(); ich++){ + MAXARR++; + charr.push_back("muChainMSonly"+std::to_string(ich+1)); + monarr.push_back("_MuonEFSA"); + monL2arr.push_back("_L2MuonSA"); + isBarrelMon.push_back(true); + isMSbMon.push_back(false); + monL1.push_back(false); + isefIsolation.push_back(false); + } + + // const int MAXARR = 3; + // std::string charr[MAXARR] = {"mu36_tight", "mu24i_tight", "mu50_MSonly_barrel_tight"}; + // std::string monarr[MAXARR] = {"_EFmuon", "_EFmuon", "_MuonEFSA"}; + // std::string monL2arr[MAXARR] = {"_L2MuonSA", "_L2MuonSA", "_L2MuonSA"}; + // bool isBarrelMon[MAXARR] = {false, false, true}; // enable MSonly + // bool isMSbMon[MAXARR] = {true, false, false}; // Skip isol and MSonly + // bool monL1[MAXARR] = {true, true, false}; // Skip MSonly + // bool isefIsolation[MAXARR] = {false, true, false}; // EF isolation add by Yuan + + // YY: dirty fix, should improve by get configuration from Python, but for M4 ... + // if (1) { + // return StatusCode::SUCCESS; + // } + + if (endOfRunFlag()) { + for (int ialg = 0; ialg < MAXARR; ialg++) { + std::string chainName = charr[ialg]; + std::string MoniAlg = monarr[ialg]; + std::string MoniL2Alg = monL2arr[ialg]; + + /* 1. Picking up ztp graph */ + std::string hdirztp = "HLT/MuonMon/MuZTP/" + chainName; + std::string histZtpNum, histZtpDen; + if (!isBarrelMon[ialg]) { + histZtpNum = "muZTP_Pt_4bins_EFfired_" + chainName; + histZtpDen = "muZTP_Pt_4bins_L1fired_" + chainName; + } else { + // make sure you rewrite POSTPROSESSOR !!!!! + histZtpNum = "muZTP_Pt_B_4bins_EFfired_" + chainName; + histZtpDen = "muZTP_Pt_B_4bins_L1fired_" + chainName; + } + if(isefIsolation[ialg]) histZtpNum = "muZTP_Pt_4bins_EFIsofired_" + chainName; // add by Yuan + + /* 2. Filling summary histogram from ZTP values */ + std::string sumhist = chainName + "_highpt3bins_effwrtL1"; + for (int ibin = 2; ibin <= 3; ibin++) { + // at the moment it is not correct if we run the algorithm # 4: mu40_MSonly_barrel . + double sumeff, sumerr; + double sumn = hist(histZtpNum, hdirztp)->Integral(ibin, ibin); + if(isBarrelMon[ialg] || isMSbMon[ialg]) sumn = hist(histZtpNum, hdirztp)->Integral(ibin+1, ibin+1); + double sumd = hist(histZtpDen, hdirztp)->Integral(ibin, ibin); + if(isBarrelMon[ialg] || isMSbMon[ialg]) sumd = hist(histZtpDen, hdirztp)->Integral(ibin+1, ibin+1); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double) sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + hist(sumhist, m_histdireff)->SetBinContent(ibin-1, sumeff); + hist(sumhist, m_histdireff)->SetBinError(ibin-1, sumerr); + } + + /* 3. Picking up chainDQ MSonly graph abandoned!!! */ + /* EF efficiency wrt L1, as for the ztp graph = overall HLT efficiency wrt L1: not possible, wrt offline + if (isMSbMon[ialg]) { // skip muIso and MSonly !!! + std::string histChNum = chainName + m_MSchainName + MoniAlg + "_Turn_On_Curve_Numerator"; + // std::string histChDen = chainName + m_MSchainName + "_Turn_On_Curve_wrt_MuidCB_Denominator"; + std::string histChDen = chainName + m_MSchainName + MoniL2Alg + "_Turn_On_Curve_wrt_L1_Denominator"; + + // Integrate 100-300 GeV + double sumeff, sumerr; + double sumn = hist(histChNum, m_histdireffnumdenom)->Integral(21, 28); + double sumd = hist(histChDen, m_histdireffnumdenom)->Integral(21, 28); + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double) sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + hist(sumhist, m_histdireff)->SetBinContent(3, sumeff); + hist(sumhist, m_histdireff)->SetBinError(3, sumerr); + } + */ + // 4. Fill L1 summary histograms // to be put in the postprocessor!! + if (monL1[ialg]) { // MUST skip muGirl, muIso and MSonly as histograms are not defined!!! + hdirztp = "HLT/MuonMon/MuZTP/" + chainName; + std::string histZtpNumB = "muZTP_Pt_B_L1fired_" + chainName; + std::string histZtpDenB = "muZTP_Pt_B_" + chainName; + std::string histZtpNumE = "muZTP_Pt_EC_L1fired_" + chainName; + std::string histZtpDenE = "muZTP_Pt_EC_" + chainName; + sumhist = chainName + "_highptL1plateau_wrtOffline"; + + double sumeff, sumerr; + double sumn = 0; + double sumd = 0; + if( !m_HI_pp_mode){ + sumn = hist(histZtpNumB, hdirztp)->Integral(13, 25); // 30-50 GeV + sumd = hist(histZtpDenB, hdirztp)->Integral(13, 25); + + }else{ + sumn = hist(histZtpNumB, hdirztp)->Integral(13, 20); // 60-100 GeV + //sumn = hist(histZtpNumB, hdirztp)->Integral(7, 10); // 30-50 GeV + sumd = hist(histZtpDenB, hdirztp)->Integral(13, 20); + //sumd = hist(histZtpDenB, hdirztp)->Integral(7, 10); + } + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double) sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + hist(sumhist, m_histdireff)->SetBinContent(1, sumeff); + hist(sumhist, m_histdireff)->SetBinError(1, sumerr); + + if( !m_HI_pp_mode){ + sumn = hist(histZtpNumB, hdirztp)->Integral(13, 25); // 12-25 GeV + //sumn = hist(histZtpNumB, hdirztp)->Integral(16, 25); // 15-25 GeV + sumn = hist(histZtpDenB, hdirztp)->Integral(13, 25); + //sumn = hist(histZtpDenB, hdirztp)->Integral(16, 25); + }else{ + //sumn = hist(histZtpNumE, hdirztp)->Integral(7, 10); + sumn = hist(histZtpNumE, hdirztp)->Integral(13, 20); + sumd = hist(histZtpDenE, hdirztp)->Integral(13, 20); + //sumd = hist(histZtpDenE, hdirztp)->Integral(7, 10); + } + if (sumd == 0.) { + sumeff = 0.; + sumerr = 0.; + } else { + sumeff = (double)sumn / (double) sumd; + sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd; + } + hist(sumhist, m_histdireff)->SetBinContent(2, sumeff); + hist(sumhist, m_histdireff)->SetBinError(2, sumerr); + + } + } + } + return StatusCode::SUCCESS; +} - bool HLTMuonMonTool::checkOfflineCBdR() - { +double HLTMuonMonTool::calc_dphi(double phi_i, double phi_j) +{ + double dphi = fabs(phi_i - phi_j); + if( dphi > CLHEP::pi ) dphi = CLHEP::pi*2 - dphi; + return dphi; +} - for(int i_rec1=0; i_rec1<(int)m_RecMuonCB_pt.size(); i_rec1++) { +double HLTMuonMonTool::calc_dR(double eta_i, double phi_i, double eta_j, double phi_j) +{ + double deta = eta_i - eta_j; + double dphi = calc_dphi(phi_i, phi_j); + double dR = pow( (deta*deta + dphi*dphi), 0.5 ); + return dR; +} - float eta1 = m_RecMuonCB_eta[i_rec1]; - float phi1 = m_RecMuonCB_phi[i_rec1]; +bool HLTMuonMonTool::checkOfflineSAdR() +{ - for(int i_rec2=i_rec1+1; i_rec2<(int)m_RecMuonCB_pt.size(); i_rec2++) { + for(int i_rec1=0; i_rec1<(int)m_RecMuonSA_pt.size(); i_rec1++) { - float eta2 = m_RecMuonCB_eta[i_rec2]; - float phi2 = m_RecMuonCB_phi[i_rec2]; + float eta1 = m_RecMuonSA_eta[i_rec1]; + float phi1 = m_RecMuonSA_phi[i_rec1]; - float dr = calc_dR(eta1, phi1, eta2, phi2); + for(int i_rec2=i_rec1+1; i_rec2<(int)m_RecMuonSA_pt.size(); i_rec2++) { - if(dr < 0.8 ){ - //ATH_MSG_INFO("checkOfflineCBdR:" << dr); - return false; - } - } - } - return true; - } + float eta2 = m_RecMuonSA_eta[i_rec2]; + float phi2 = m_RecMuonSA_phi[i_rec2]; + float dr = calc_dR(eta1, phi1, eta2, phi2); + if(dr < 0.8 ){ + //ATH_MSG_INFO("checkOfflineSAdR:" << dr); + return false; + } + } + } + return true; +} - StatusCode HLTMuonMonTool::fillRecMuon() - { - ATH_MSG_DEBUG("entering fillRecMuon"); +bool HLTMuonMonTool::checkOfflineCBdR() +{ - int nOFL=0; - int nOFLMS=0; - int nOFLSA=0; - int nOFLCB=0; - int nOFLLPT=0; + for(int i_rec1=0; i_rec1<(int)m_RecMuonCB_pt.size(); i_rec1++) { - m_RecMuonSA_pt.clear(); - m_RecMuonSA_eta.clear(); - m_RecMuonSA_phi.clear(); - m_RecMuonSA_d0.clear(); - m_RecMuonSA_z0.clear(); - m_RecMuonSA_charge.clear(); - m_RecMuonSA_hasCB.clear(); - m_RecMuonSA_isGoodCB.clear(); + float eta1 = m_RecMuonCB_eta[i_rec1]; + float phi1 = m_RecMuonCB_phi[i_rec1]; - m_RecMuonCB_pt.clear(); - m_RecMuonCB_eta.clear(); - m_RecMuonCB_phi.clear(); - m_RecMuonCB_charge.clear(); - m_RecMuonCB_isGoodCB.clear(); - m_RecMuonCB_eloss.clear(); //for muIso - m_RecMuonCB_etcone.clear(); //for muIso - m_RecMuonCB_ptcone.clear(); //for muIso - m_RecMuonCB_ptcone30.clear(); //for muIso tomoe added - m_RecMuonCB_etcone30.clear(); //for muIso tomoe added + for(int i_rec2=i_rec1+1; i_rec2<(int)m_RecMuonCB_pt.size(); i_rec2++) { + float eta2 = m_RecMuonCB_eta[i_rec2]; + float phi2 = m_RecMuonCB_phi[i_rec2]; - //const Analysis::MuonContainer* muonCont; - const xAOD::MuonContainer* muonCont; + float dr = calc_dR(eta1, phi1, eta2, phi2); - std::string muonKey = "Muons"; // MuidMuonCollection + if(dr < 0.8 ){ + return false; + } + } + } + return true; +} - StatusCode sc = evtStore()->retrieve(muonCont, muonKey); - if(sc.isFailure()){ - ATH_MSG_WARNING("Container of muon particle with key " << muonKey << " not found in Store Gate"); - return StatusCode::SUCCESS; - } +StatusCode HLTMuonMonTool::fillRecMuon() +{ + ATH_MSG_DEBUG("entering fillRecMuon"); + + int nOFL=0; + int nOFLMS=0; + int nOFLSA=0; + int nOFLCB=0; + int nOFLLPT=0; + + m_RecMuonSA_pt.clear(); + m_RecMuonSA_eta.clear(); + m_RecMuonSA_phi.clear(); + m_RecMuonSA_d0.clear(); + m_RecMuonSA_z0.clear(); + m_RecMuonSA_charge.clear(); + m_RecMuonSA_hasCB.clear(); + m_RecMuonSA_isGoodCB.clear(); + + m_RecMuonCB_pt.clear(); + m_RecMuonCB_eta.clear(); + m_RecMuonCB_phi.clear(); + m_RecMuonCB_charge.clear(); + m_RecMuonCB_isGoodCB.clear(); + m_RecMuonCB_eloss.clear(); //for muIso + m_RecMuonCB_etcone.clear(); //for muIso + m_RecMuonCB_ptcone.clear(); //for muIso + m_RecMuonCB_ptcone30.clear(); //for muIso tomoe added + m_RecMuonCB_etcone30.clear(); //for muIso tomoe added + + + //const Analysis::MuonContainer* muonCont; + const xAOD::MuonContainer* muonCont; + + std::string muonKey = "Muons"; // MuidMuonCollection + StatusCode sc = m_storeGate->retrieve(muonCont, muonKey); + if(sc.isFailure()){ + ATH_MSG_WARNING("Container of muon particle with key " << muonKey << " not found in Store Gate"); + return StatusCode::SUCCESS; + } - ATH_MSG_DEBUG("Container of muon particle with key " << muonKey << " found in Store Gate with size " << muonCont->size()); + ATH_MSG_DEBUG("Container of muon particle with key " << muonKey << " found in Store Gate with size " << muonCont->size()); - // get vertex - // std::string vxKey = "VxPrimaryCandidate"; // attention - std::string vxKey = "HLT_xAOD__VertexContainer_xPrimVx"; // May change to Offline Vx container key if possible - const xAOD::VertexContainer* vxCont = 0; - sc = evtStore()->retrieve(vxCont, vxKey); - if (sc.isFailure()) { - ATH_MSG_INFO("Container of muon particle with key " << vxKey << " not found in Store Gate"); - return StatusCode::SUCCESS; - } + // get vertex + // std::string vxKey = "VxPrimaryCandidate"; // attention + std::string vxKey = "HLT_xAOD__VertexContainer_xPrimVx"; // May change to Offline Vx container key if possible + const xAOD::VertexContainer* vxCont = 0; + sc = m_storeGate->retrieve(vxCont, vxKey); + if (sc.isFailure()) { + ATH_MSG_INFO("Container of muon particle with key " << vxKey << " not found in Store Gate"); + return StatusCode::SUCCESS; + } - // need to select vertex!!! - xAOD::VertexContainer::const_iterator p; - const xAOD::Vertex* vtx = 0; - for (p = vxCont->begin(); p != vxCont->end(); ++p) { - //reject dummy vertex. - //note1: Trk::NoVtx(=0) means dummy vertex. - //note2: There are mainly Trk::PriVtx(=1) but also there may be - // other type of vertex (like Trk::PileUp(=3)). - // Keep these vertex stored. - if ((*p)->vertexType() == xAOD::VxType::NoVtx) { - continue; - } else { - //vtx = &((*p)->recVertex()); - vtx = (*p); - ATH_MSG_DEBUG("MuonHLTMon: vertex found" << (vtx->position()).x() + // need to select vertex!!! + xAOD::VertexContainer::const_iterator p; + const xAOD::Vertex* vtx = 0; + for (p = vxCont->begin(); p != vxCont->end(); ++p) { + //reject dummy vertex. + //note1: Trk::NoVtx(=0) means dummy vertex. + //note2: There are mainly Trk::PriVtx(=1) but also there may be + // other type of vertex (like Trk::PileUp(=3)). + // Keep these vertex stored. + if ((*p)->vertexType() == xAOD::VxType::NoVtx) { + continue; + } else { + //vtx = &((*p)->recVertex()); + vtx = (*p); + ATH_MSG_DEBUG("MuonHLTMon: vertex found" << (vtx->position()).x() << " " << (vtx->position()).y() << " " << (vtx->position()).z()); - break; - } - } - if (vtx == 0) { - ATH_MSG_DEBUG("MuonHLTMon: no vertex found"); - } + break; + } + } + if (vtx == 0) { + ATH_MSG_DEBUG("MuonHLTMon: no vertex found"); + } - xAOD::MuonContainer::const_iterator muonItr = muonCont->begin(); - xAOD::MuonContainer::const_iterator muonItrE = muonCont->end(); + xAOD::MuonContainer::const_iterator muonItr = muonCont->begin(); + xAOD::MuonContainer::const_iterator muonItrE = muonCont->end(); - // Offline + // Offline - //const float ZERO_LIMIT = 0.0001; + //const float ZERO_LIMIT = 0.0001; - const float SA_PT_CUT = 2.5; // GeV - const float SA_ETA_CUT = 2.4; - const float SA_Z0_CUT = 500; + const float SA_PT_CUT = 2.5; // GeV + const float SA_ETA_CUT = 2.4; + const float SA_Z0_CUT = 500; - const float CB_PT_CUT = 2.5; // GeV - const float CB_ETA_CUT = 2.4; + const float CB_PT_CUT = 2.5; // GeV + const float CB_ETA_CUT = 2.4; - int isCombined=0; - for ( ; muonItr != muonItrE; ++muonItr) { - nOFL++; - float pt = fabs((*muonItr)->pt())/CLHEP::GeV; - ATH_MSG_DEBUG("Muon : " + int isCombined=0; + for ( ; muonItr != muonItrE; ++muonItr) { + nOFL++; + float pt = fabs((*muonItr)->pt())/CLHEP::GeV; + ATH_MSG_DEBUG("Muon : " << " eta = " << (*muonItr)->eta() << " phi = " << (*muonItr)->phi() << " pt = " << fabs((*muonItr)->pt())/CLHEP::GeV << " Standalone = " << ((*muonItr)->muonType()==xAOD::Muon::MuonStandAlone) << " Combined = " << ((*muonItr)->muonType()==xAOD::Muon::Combined) << " Low pt = " << ((*muonItr)->muonType()==xAOD::Muon::SegmentTagged && (*muonItr)->inDetTrackParticleLink()!=0)); - // << " Low pt = " << (*muonItr)->isLowPtReconstructedMuon() ); // method deprecated - - if( (*muonItr)->muonSpectrometerTrackParticleLink().isValid() ){ - ATH_MSG_DEBUG(" count MS muon"); - nOFLMS++; - const xAOD::TrackParticle* ms_trk=0; - ms_trk = *((*muonItr)->muonSpectrometerTrackParticleLink()); - pt = ms_trk->pt() / CLHEP::GeV ; - if( pt > 4 ) - hist("Number_Of_Moore_MS_Muons_4GeV_Cut",m_histdirrate)->Fill(m_lumiblock); - if( pt > 10 ) - hist("Number_Of_Moore_MS_Muons_10GeV_Cut",m_histdirrate)->Fill(m_lumiblock); - } - - if((*muonItr)->muonSpectrometerTrackParticleLink().isValid()){ - if((*muonItr)->muonType()!=xAOD::Muon::MuonStandAlone && (*muonItr)->muonType()!=xAOD::Muon::Combined) continue; - ATH_MSG_DEBUG(" count SA muon"); - nOFLSA++; - const xAOD::TrackParticle* ms_trk=0; - ms_trk = *((*muonItr)->muonSpectrometerTrackParticleLink()); - if(!ms_trk) continue; - //pt = ms_trk->pt() / CLHEP::GeV ; - pt = fabs((*muonItr)->pt())/CLHEP::GeV; // there seem to be bug in MS trk pt, so use rec pt now - if( pt > 4 ) - hist("Number_Of_Moore_SA_Muons_4GeV_Cut",m_histdirrate)->Fill(m_lumiblock); - if( pt > 10 ) - hist("Number_Of_Moore_SA_Muons_10GeV_Cut",m_histdirrate)->Fill(m_lumiblock); - float eta = ms_trk->eta(); - float phi = ms_trk->phi(); - float d0 = 0.; - float z0 = 0.; - float charge = ms_trk->charge(); - const Trk::Perigee& ms_measPerigee = ms_trk->perigeeParameters(); - d0 = ms_measPerigee.parameters()[Trk::d0]; - z0 = ms_measPerigee.parameters()[Trk::z0]; - - // YY: CB, isGoodCB; - bool hasCB = ((*muonItr)->muonType()==xAOD::Muon::Combined); - bool isGoodCB = false; - if (hasCB) { - const xAOD::TrackParticle* comb=0; - comb = *((*muonItr)->combinedTrackParticleLink()); - if (!comb) { - ATH_MSG_INFO("HLTMuonMon: is a combined offline muon but no pointer to TrackParticle"); - } else { - pt = comb->pt()/CLHEP::GeV; - const Trk::Perigee measPerigee = comb->perigeeParameters(); - float d0comb = measPerigee.parameters()[Trk::d0]; - float z0comb = measPerigee.parameters()[Trk::z0]; - uint8_t nPixcomb = 0; - comb->summaryValue(nPixcomb, xAOD::numberOfPixelHits); - uint8_t nSCTcomb = 0; - comb->summaryValue(nSCTcomb, xAOD::numberOfSCTHits); - if (vtx != 0) { - // if (nPixcomb >= 1 && nSCTcomb >= 6 && abs(z0comb - (vtx->position()).z()) < 5. && abs(d0comb) < 1.5) { } // Run 1 requirement - if ((*muonItr)->quality()<= xAOD::Muon::Medium && (*muonItr)->passesIDCuts() && ((*muonItr)->author()==xAOD::Muon::Author::MuidCo || (*muonItr)->author()==xAOD::Muon::Author::STACO)) { - isGoodCB = true; - } - ATH_MSG_DEBUG("HLTMuonMon: SA: good " << isGoodCB << " nPix " << nPixcomb << " nSCT " << nSCTcomb - << " z0 " << z0comb - (vtx->position()).z() << " d0 " << d0comb); - } - } - } - - //if( fabs(d0) > ZERO_LIMIT || fabs(z0) > ZERO_LIMIT ) { // remove extrapolation-failed tracks, current value d0,z0 seem wrong - if( fabs(eta) < SA_ETA_CUT && fabs(pt) > SA_PT_CUT && fabs(z0) < SA_Z0_CUT ) { - m_RecMuonSA_pt.push_back(pt); - m_RecMuonSA_eta.push_back(eta); - m_RecMuonSA_phi.push_back(phi); - m_RecMuonSA_d0.push_back(d0); - m_RecMuonSA_z0.push_back(z0); - m_RecMuonSA_charge.push_back(charge); - m_RecMuonSA_hasCB.push_back(hasCB); - m_RecMuonSA_isGoodCB.push_back(isGoodCB); - ATH_MSG_DEBUG("HLTMuonMon: SA: isgood " << isGoodCB << " pt " << pt); - } - //} - } - - // if((*muonItr)->isLowPtReconstructedMuon()) nOFLLPT++; // YY method deprecated - if ((*muonItr)->muonType()==xAOD::Muon::SegmentTagged && (*muonItr)->inDetTrackParticleLink()!=0) nOFLLPT++; - if((*muonItr)->combinedTrackParticleLink()){ - ATH_MSG_DEBUG(" count CB muon"); - nOFLCB++; - const xAOD::TrackParticle* comb=0; - comb = *((*muonItr)->combinedTrackParticleLink()); - float pt = comb->pt() / CLHEP::GeV ; - if( pt > 4 ) - hist("Number_Of_Muid_Muons_4GeV_Cut",m_histdirrate)->Fill(m_lumiblock); - if( pt > 10 ) - hist("Number_Of_Muid_Muons_10GeV_Cut",m_histdirrate)->Fill(m_lumiblock); - - float eta = comb->eta(); - float phi = comb->phi(); - float charge = comb->charge(); - - bool isGoodCB = false; - const Trk::Perigee measPerigee = comb->perigeeParameters(); - float d0comb = measPerigee.parameters()[Trk::d0]; - float z0comb = measPerigee.parameters()[Trk::z0]; - uint8_t nPixcomb = 0; - comb->summaryValue(nPixcomb, xAOD::numberOfPixelHits); - uint8_t nSCTcomb = 0; - comb->summaryValue(nSCTcomb, xAOD::numberOfSCTHits); - - if (vtx != 0) { - //if (nPixcomb >= 1 && nSCTcomb >= 6 && abs(z0comb - (vtx->position()).z()) < 5. && abs(d0comb) < 1.5) { } // Run 1 requirement - if ((*muonItr)->quality()<= xAOD::Muon::Medium && (*muonItr)->passesIDCuts() && ((*muonItr)->author()==xAOD::Muon::Author::MuidCo || (*muonItr)->author()==xAOD::Muon::Author::STACO)) { - isGoodCB = true; - } - ATH_MSG_DEBUG("HLTMuonMon: CB: good " << isGoodCB << " nPix " << nPixcomb << " nSCT " << nSCTcomb - << " z0 " << z0comb - (vtx->position()).z() << " d0 " << d0comb); - } - - if( fabs(eta) < CB_ETA_CUT && fabs(pt) > CB_PT_CUT ) { - m_RecMuonCB_pt.push_back(pt); - m_RecMuonCB_eta.push_back(eta); - m_RecMuonCB_phi.push_back(phi); - m_RecMuonCB_charge.push_back(charge); - m_RecMuonCB_isGoodCB.push_back(isGoodCB); - ATH_MSG_DEBUG("HLTMuonMon: CB: isgood " << isGoodCB << " pt " << pt); - //m_RecMuonCB_eloss.push_back( (*muonItr)->energyLoss().first ); - m_RecMuonCB_eloss.push_back( (*muonItr)->energyLossType() ); - float ptcone20; - (*muonItr)->isolation(ptcone20, xAOD::Iso::ptcone20); - m_RecMuonCB_ptcone.push_back( ptcone20 ); - float etcone20; - (*muonItr)->isolation(etcone20, xAOD::Iso::etcone20); - m_RecMuonCB_etcone.push_back( etcone20 ); - float etcone30; - (*muonItr)->isolation(etcone30, xAOD::Iso::etcone30); - m_RecMuonCB_etcone30.push_back( etcone30 ); - float ptcone30; - (*muonItr)->isolation(ptcone30, xAOD::Iso::ptcone30); - m_RecMuonCB_ptcone30.push_back( ptcone30 ); - - isCombined++; - } - } - } - - if(nOFL >10) nOFL=10; - if(nOFLMS >10) nOFLMS=10; - if(nOFLSA >10) nOFLSA=10; - if(nOFLLPT >10) nOFLLPT=10; - if(nOFLCB >10) nOFLCB=10; - if(isCombined >10) isCombined=10; - - ATH_MSG_DEBUG(" fill nMuon"); - hist("Offline_Number_Of_Muon", m_histdir )->Fill(nOFL); - hist("Offline_Number_Of_MS_Muon", m_histdir )->Fill(nOFLMS); - hist("Offline_Number_Of_SA_Muon", m_histdir )->Fill(nOFLSA); - hist("Offline_Number_Of_LPT_Muon", m_histdir )->Fill(nOFLLPT); - hist("Offline_Number_Of_CB_Muon", m_histdir )->Fill(nOFLCB); - hist("Offline_Number_Of_Selected_CB_Muon", m_histdir )->Fill(isCombined); - - if(nOFL) hist("Common_Counter", m_histdir )->Fill((float)OFLFOUND); - if(nOFLMS) hist("Common_Counter", m_histdir )->Fill((float)OFLMSFOUND); - if(nOFLSA) hist("Common_Counter", m_histdir )->Fill((float)OFLSAFOUND); - if(nOFLLPT) hist("Common_Counter", m_histdir )->Fill((float)OFLLPTFOUND); - if(nOFLCB) hist("Common_Counter", m_histdir )->Fill((float)OFLCBFOUND); - if(isCombined) hist("Common_Counter", m_histdir )->Fill((float)OFLCBSELFOUND); - - - return StatusCode::SUCCESS; - } + // << " Low pt = " << (*muonItr)->isLowPtReconstructedMuon() ); // method deprecated + if( (*muonItr)->muonSpectrometerTrackParticleLink().isValid() ){ + ATH_MSG_DEBUG(" count MS muon"); + nOFLMS++; + const xAOD::TrackParticle* ms_trk=0; + ms_trk = *((*muonItr)->muonSpectrometerTrackParticleLink()); + pt = ms_trk->pt() / CLHEP::GeV ; + if( pt > 4 ) + hist("Number_Of_Moore_MS_Muons_4GeV_Cut",m_histdirrate)->Fill(m_lumiblock); + if( pt > 10 ) + hist("Number_Of_Moore_MS_Muons_10GeV_Cut",m_histdirrate)->Fill(m_lumiblock); + } - //--------------------------------------------------------------------------------------- - bool HLTMuonMonTool::isPassedES(std::vector<std::string>& vectES, std::string& ESChainName) - { - std::vector<std::string>::iterator it; - for (it = vectES.begin(); it != vectES.end(); it++) { - if (*it == ESChainName) { - return true; - } + if((*muonItr)->muonSpectrometerTrackParticleLink().isValid()){ + if((*muonItr)->muonType()!=xAOD::Muon::MuonStandAlone && (*muonItr)->muonType()!=xAOD::Muon::Combined) continue; + ATH_MSG_DEBUG(" count SA muon"); + nOFLSA++; + const xAOD::TrackParticle* ms_trk=0; + ms_trk = *((*muonItr)->muonSpectrometerTrackParticleLink()); + if(!ms_trk) continue; + //pt = ms_trk->pt() / CLHEP::GeV ; + pt = fabs((*muonItr)->pt())/CLHEP::GeV; // there seem to be bug in MS trk pt, so use rec pt now + if( pt > 4 ) + hist("Number_Of_Moore_SA_Muons_4GeV_Cut",m_histdirrate)->Fill(m_lumiblock); + if( pt > 10 ) + hist("Number_Of_Moore_SA_Muons_10GeV_Cut",m_histdirrate)->Fill(m_lumiblock); + float eta = ms_trk->eta(); + float phi = ms_trk->phi(); + float d0 = 0.; + float z0 = 0.; + float charge = ms_trk->charge(); + const Trk::Perigee& ms_measPerigee = ms_trk->perigeeParameters(); + d0 = ms_measPerigee.parameters()[Trk::d0]; + z0 = ms_measPerigee.parameters()[Trk::z0]; + + // YY: CB, isGoodCB; + bool hasCB = ((*muonItr)->muonType()==xAOD::Muon::Combined); + bool isGoodCB = false; + if (hasCB) { + const xAOD::TrackParticle* comb=0; + comb = *((*muonItr)->combinedTrackParticleLink()); + if (!comb) { + ATH_MSG_INFO("HLTMuonMon: is a combined offline muon but no pointer to TrackParticle"); + } else { + pt = comb->pt()/CLHEP::GeV; + const Trk::Perigee measPerigee = comb->perigeeParameters(); + float d0comb = measPerigee.parameters()[Trk::d0]; + float z0comb = measPerigee.parameters()[Trk::z0]; + uint8_t nPixcomb = 0; + comb->summaryValue(nPixcomb, xAOD::numberOfPixelHits); + uint8_t nSCTcomb = 0; + comb->summaryValue(nSCTcomb, xAOD::numberOfSCTHits); + if (vtx != 0) { + // if (nPixcomb >= 1 && nSCTcomb >= 6 && abs(z0comb - (vtx->position()).z()) < 5. && abs(d0comb) < 1.5) { } // Run 1 requirement + if ((*muonItr)->quality()<= xAOD::Muon::Medium && (*muonItr)->passesIDCuts() && ((*muonItr)->author()==xAOD::Muon::Author::MuidCo || (*muonItr)->author()==xAOD::Muon::Author::STACO)) { + isGoodCB = true; } - return false; + ATH_MSG_DEBUG("HLTMuonMon: SA: good " << isGoodCB << " nPix " << nPixcomb << " nSCT " << nSCTcomb + << " z0 " << z0comb - (vtx->position()).z() << " d0 " << d0comb); } + } + } - //--------------------------------------------------------------------------------------- - std::vector<std::string> HLTMuonMonTool::getESbits() - { - static int errcnt = 0; - - std::vector<std::string> retvect; - retvect.push_back(m_nullstr); - // Uncomment here for release! - /* if (errcnt > 0) { - // 07.03.2011 - // if already error, do nothing but returning null_terminated vector of string - // for saving time in storegate operation - return retvect; - } */ - - // - // Process current event - // - const DataHandle<EventInfo> event_handle; - if(evtStore() -> retrieve(event_handle).isFailure()) { - if (errcnt < 1) { - ATH_MSG_DEBUG("Failed to read EventInfo"); - errcnt++; - } - return retvect; - } - - // - // Print EventInfo and stream tags - // - const TriggerInfo *trig = event_handle->trigger_info(); - if(!trig) { - if (errcnt < 1) { - ATH_MSG_DEBUG("Failed to get TriggerInfo"); - errcnt++; - } - return retvect; - } + //if( fabs(d0) > ZERO_LIMIT || fabs(z0) > ZERO_LIMIT ) { // remove extrapolation-failed tracks, current value d0,z0 seem wrong + if( fabs(eta) < SA_ETA_CUT && fabs(pt) > SA_PT_CUT && fabs(z0) < SA_Z0_CUT ) { + m_RecMuonSA_pt.push_back(pt); + m_RecMuonSA_eta.push_back(eta); + m_RecMuonSA_phi.push_back(phi); + m_RecMuonSA_d0.push_back(d0); + m_RecMuonSA_z0.push_back(z0); + m_RecMuonSA_charge.push_back(charge); + m_RecMuonSA_hasCB.push_back(hasCB); + m_RecMuonSA_isGoodCB.push_back(isGoodCB); + ATH_MSG_DEBUG("HLTMuonMon: SA: isgood " << isGoodCB << " pt " << pt); + } + //} + } + // if((*muonItr)->isLowPtReconstructedMuon()) nOFLLPT++; // YY method deprecated + if ((*muonItr)->muonType()==xAOD::Muon::SegmentTagged && (*muonItr)->inDetTrackParticleLink()!=0) nOFLLPT++; + if((*muonItr)->combinedTrackParticleLink()){ + ATH_MSG_DEBUG(" count CB muon"); + nOFLCB++; + const xAOD::TrackParticle* comb=0; + comb = *((*muonItr)->combinedTrackParticleLink()); + float pt = comb->pt() / CLHEP::GeV ; + if( pt > 4 ) + hist("Number_Of_Muid_Muons_4GeV_Cut",m_histdirrate)->Fill(m_lumiblock); + if( pt > 10 ) + hist("Number_Of_Muid_Muons_10GeV_Cut",m_histdirrate)->Fill(m_lumiblock); + + float eta = comb->eta(); + float phi = comb->phi(); + float charge = comb->charge(); + + bool isGoodCB = false; + const Trk::Perigee measPerigee = comb->perigeeParameters(); + float d0comb = measPerigee.parameters()[Trk::d0]; + float z0comb = measPerigee.parameters()[Trk::z0]; + uint8_t nPixcomb = 0; + comb->summaryValue(nPixcomb, xAOD::numberOfPixelHits); + uint8_t nSCTcomb = 0; + comb->summaryValue(nSCTcomb, xAOD::numberOfSCTHits); + + if (vtx != 0) { + //if (nPixcomb >= 1 && nSCTcomb >= 6 && abs(z0comb - (vtx->position()).z()) < 5. && abs(d0comb) < 1.5) { } // Run 1 requirement + if ((*muonItr)->quality()<= xAOD::Muon::Medium && (*muonItr)->passesIDCuts() && ((*muonItr)->author()==xAOD::Muon::Author::MuidCo || (*muonItr)->author()==xAOD::Muon::Author::STACO)) { + isGoodCB = true; + } + ATH_MSG_DEBUG("HLTMuonMon: CB: good " << isGoodCB << " nPix " << nPixcomb << " nSCT " << nSCTcomb + << " z0 " << z0comb - (vtx->position()).z() << " d0 " << d0comb); + } - const std::vector<TriggerInfo::StreamTag> &streams = trig->streamTags(); + if( fabs(eta) < CB_ETA_CUT && fabs(pt) > CB_PT_CUT ) { + m_RecMuonCB_pt.push_back(pt); + m_RecMuonCB_eta.push_back(eta); + m_RecMuonCB_phi.push_back(phi); + m_RecMuonCB_charge.push_back(charge); + m_RecMuonCB_isGoodCB.push_back(isGoodCB); + ATH_MSG_DEBUG("HLTMuonMon: CB: isgood " << isGoodCB << " pt " << pt); + //m_RecMuonCB_eloss.push_back( (*muonItr)->energyLoss().first ); + m_RecMuonCB_eloss.push_back( (*muonItr)->energyLossType() ); + float ptcone20; + (*muonItr)->isolation(ptcone20, xAOD::Iso::ptcone20); + m_RecMuonCB_ptcone.push_back( ptcone20 ); + float etcone20; + (*muonItr)->isolation(etcone20, xAOD::Iso::etcone20); + m_RecMuonCB_etcone.push_back( etcone20 ); + float etcone30; + (*muonItr)->isolation(etcone30, xAOD::Iso::etcone30); + m_RecMuonCB_etcone30.push_back( etcone30 ); + float ptcone30; + (*muonItr)->isolation(ptcone30, xAOD::Iso::ptcone30); + m_RecMuonCB_ptcone30.push_back( ptcone30 ); + + isCombined++; + } + } + } - bool found_express_stream = false; - for(unsigned i = 0; i < streams.size(); ++i) { - const TriggerInfo::StreamTag &stag = streams.at(i); - if(stag.type() == "express" && stag.name() == "express") { - found_express_stream = true; - break; - } - } + if(nOFL >10) nOFL=10; + if(nOFLMS >10) nOFLMS=10; + if(nOFLSA >10) nOFLSA=10; + if(nOFLLPT >10) nOFLLPT=10; + if(nOFLCB >10) nOFLCB=10; + if(isCombined >10) isCombined=10; + + ATH_MSG_DEBUG(" fill nMuon"); + hist("Offline_Number_Of_Muon", m_histdir )->Fill(nOFL); + hist("Offline_Number_Of_MS_Muon", m_histdir )->Fill(nOFLMS); + hist("Offline_Number_Of_SA_Muon", m_histdir )->Fill(nOFLSA); + hist("Offline_Number_Of_LPT_Muon", m_histdir )->Fill(nOFLLPT); + hist("Offline_Number_Of_CB_Muon", m_histdir )->Fill(nOFLCB); + hist("Offline_Number_Of_Selected_CB_Muon", m_histdir )->Fill(isCombined); + + if(nOFL) hist("Common_Counter", m_histdir )->Fill((float)OFLFOUND); + if(nOFLMS) hist("Common_Counter", m_histdir )->Fill((float)OFLMSFOUND); + if(nOFLSA) hist("Common_Counter", m_histdir )->Fill((float)OFLSAFOUND); + if(nOFLLPT) hist("Common_Counter", m_histdir )->Fill((float)OFLLPTFOUND); + if(nOFLCB) hist("Common_Counter", m_histdir )->Fill((float)OFLCBFOUND); + if(isCombined) hist("Common_Counter", m_histdir )->Fill((float)OFLCBSELFOUND); - if(!found_express_stream) { - if (errcnt < 1) { - ATH_MSG_DEBUG("Failed to find express stream tag"); - errcnt++; - } - return retvect; - } - /* ATH_MSG_INFO (">>>>>>>>>>>>>>>>" - << " run #" << event_handle->event_ID()->run_number() - << " lumi #" << event_handle->event_ID()->lumi_block() - << " event #" << event_handle->event_ID()->event_number() - << " has express stream tag"); */ + return StatusCode::SUCCESS; +} - //const std::string key = "HLT_EXPRESS_OPI_HLT"; - const std::string key = "HLT_TrigOperationalInfoCollection_EXPRESS_OPI_HLT"; +//--------------------------------------------------------------------------------------- +bool HLTMuonMonTool::isPassedES(std::vector<std::string>& vectES, std::string& ESChainName) +{ + std::vector<std::string>::iterator it; + for (it = vectES.begin(); it != vectES.end(); it++) { + if (*it == ESChainName) { + return true; + } + } + return false; +} +//--------------------------------------------------------------------------------------- +std::vector<std::string> HLTMuonMonTool::getESbits() +{ + static int errcnt = 0; + + std::vector<std::string> retvect; + retvect.push_back(m_nullstr); + // Uncomment here for release! + /* if (errcnt > 0) { + // 07.03.2011 + // if already error, do nothing but returning null_terminated vector of string + // for saving time in storegate operation + return retvect; + } */ + + // + // Process current event + // + + const EventInfo* event_handle(nullptr); + if(StatusCode::FAILURE==evtStore() -> retrieve(event_handle)){ + if (errcnt < 1) { + ATH_MSG_DEBUG("Failed to read EventInfo"); + errcnt++; + } + return retvect; + } - if (!evtStore()->contains<TrigOperationalInfoCollection>(key)) { - if (errcnt < 1) { - ATH_MSG_INFO("Missing TrigOperationalInfoCollection with key=" << key); - errcnt++; - } - return retvect; - } + // + // Print EventInfo and stream tags + // + const TriggerInfo *trig = event_handle->trigger_info(); + if(!trig) { + if (errcnt < 1) { + ATH_MSG_DEBUG("Failed to get TriggerInfo"); + errcnt++; + } + return retvect; + } + const std::vector<TriggerInfo::StreamTag> &streams = trig->streamTags(); + + bool found_express_stream = false; + for(unsigned i = 0; i < streams.size(); ++i) { + const TriggerInfo::StreamTag &stag = streams.at(i); + if(stag.type() == "express" && stag.name() == "express") { + found_express_stream = true; + break; + } + } - const TrigOperationalInfoCollection *opi = 0; - if (!evtStore()->retrieve<TrigOperationalInfoCollection>(opi, key).isSuccess()) { - if (errcnt < 1) { - ATH_MSG_INFO("Failed to retreive TrigOperationalInfoCollection with key=" << key); - return retvect; - } - } + if(!found_express_stream) { + if (errcnt < 1) { + ATH_MSG_DEBUG("Failed to find express stream tag"); + errcnt++; + } + return retvect; + } - std::vector<std::string> resvect; - if (opi->begin() == opi->end()) { - if (errcnt < 1) { - ATH_MSG_DEBUG("getESbits: no entry"); - errcnt++; - } - resvect.push_back(m_nullstr); // set the vector that it is empty - } else { + /* ATH_MSG_INFO (">>>>>>>>>>>>>>>>" + << " run #" << event_handle->event_ID()->run_number() + << " lumi #" << event_handle->event_ID()->lumi_block() + << " event #" << event_handle->event_ID()->event_number() + << " has express stream tag"); */ - for(TrigOperationalInfoCollection::const_iterator it = opi->begin(); it != opi->end(); ++it) { - const TrigOperationalInfo *ptr = *it; - if(!ptr) continue; + //const std::string key = "HLT_EXPRESS_OPI_HLT"; + const std::string key = "HLT_TrigOperationalInfoCollection_EXPRESS_OPI_HLT"; - const std::pair<std::vector<std::string>, std::vector<float> > infos = ptr->infos(); - resvect.insert(resvect.end(), infos.first.begin(), infos.first.end()); + if (!m_storeGate->contains<TrigOperationalInfoCollection>(key)) { + if (errcnt < 1) { + ATH_MSG_INFO("Missing TrigOperationalInfoCollection with key=" << key); + errcnt++; + } + return retvect; + } - } - } + const TrigOperationalInfoCollection *opi = 0; + if (!m_storeGate->retrieve<TrigOperationalInfoCollection>(opi, key).isSuccess()) { + if (errcnt < 1) { + ATH_MSG_INFO("Failed to retreive TrigOperationalInfoCollection with key=" << key); + return retvect; + } + } - return resvect; - } + std::vector<std::string> resvect; + if (opi->begin() == opi->end()) { + if (errcnt < 1) { + ATH_MSG_DEBUG("getESbits: no entry"); + errcnt++; + } + resvect.push_back(m_nullstr); // set the vector that it is empty + } else { + for(TrigOperationalInfoCollection::const_iterator it = opi->begin(); it != opi->end(); ++it) { + const TrigOperationalInfo *ptr = *it; + if(!ptr) continue; - void - HLTMuonMonTool::fillTriggerOverlap() - { + const std::pair<std::vector<std::string>, std::vector<float> > infos = ptr->infos(); + resvect.insert(resvect.end(), infos.first.begin(), infos.first.end()); - TH2* h_ol = hist2( "Trigger_Overlap", m_histdir ); - TH2* h_olpt = hist2( "Trigger_Overlap_Including_Passthrough", m_histdir ); + } + } - //Trigger - for(int i=0; i < (int)m_chainsOverlap.size(); i++ ){ + return resvect; +} +void +HLTMuonMonTool::fillTriggerOverlap() +{ - bool t1 = getTDT()->isPassed( m_chainsOverlap[i] ); - bool t1pt = getTDT()->isPassed( m_chainsOverlap[i], TrigDefs::passedThrough ); + TH2* h_ol = hist2( "Trigger_Overlap", m_histdir ); + TH2* h_olpt = hist2( "Trigger_Overlap_Including_Passthrough", m_histdir ); - if( !t1 && !t1pt )continue; + //Trigger + for(int i=0; i < (int)m_chainsOverlap.size(); i++ ){ - for( int j=0; j < (int)m_chainsOverlap.size(); j++ ){ + bool t1 = getTDT()->isPassed( m_chainsOverlap[i] ); + bool t1pt = getTDT()->isPassed( m_chainsOverlap[i], TrigDefs::passedThrough ); - bool t2 = getTDT()->isPassed( m_chainsOverlap[j] ); - bool t2pt = getTDT()->isPassed( m_chainsOverlap[j], TrigDefs::passedThrough ); + if( !t1 && !t1pt )continue; - if( !t2 && !t2pt ) continue; + for( int j=0; j < (int)m_chainsOverlap.size(); j++ ){ - //if both chains are passed or passed through - h_olpt->Fill(i,j); + bool t2 = getTDT()->isPassed( m_chainsOverlap[j] ); + bool t2pt = getTDT()->isPassed( m_chainsOverlap[j], TrigDefs::passedThrough ); - //if both chains are passed - if( t1 && t2 ) h_ol->Fill(i,j); + if( !t2 && !t2pt ) continue; - } - } + //if both chains are passed or passed through + h_olpt->Fill(i,j); - } + //if both chains are passed + if( t1 && t2 ) h_ol->Fill(i,j); - void - HLTMuonMonTool::procTriggerOverlap() - { + } + } +} +void +HLTMuonMonTool::procTriggerOverlap() +{ + TH2* h_ol = hist2( "Trigger_Overlap", m_histdir ); + TH2* h_olpt = hist2( "Trigger_Overlap_Including_Passthrough", m_histdir ); + TH2* h_olf = hist2( "Trigger_Overlap_Fraction", m_histdir ); + TH2* h_olfpt = hist2( "Trigger_Overlap_Fraction_Including_Passthrough", m_histdir ); + //Trigger + for(int i=0; i < (int)m_chainsOverlap.size(); i++ ){ - TH2* h_ol = hist2( "Trigger_Overlap", m_histdir ); - TH2* h_olpt = hist2( "Trigger_Overlap_Including_Passthrough", m_histdir ); + Float_t diag = h_ol->GetBinContent(i+1, i+1); + Float_t diagpt = h_olpt->GetBinContent(i+1, i+1); - TH2* h_olf = hist2( "Trigger_Overlap_Fraction", m_histdir ); - TH2* h_olfpt = hist2( "Trigger_Overlap_Fraction_Including_Passthrough", m_histdir ); + for( int j=0; j < (int)m_chainsOverlap.size(); j++ ){ - //Trigger - for(int i=0; i < (int)m_chainsOverlap.size(); i++ ){ + Float_t offdiag = h_ol->GetBinContent(i+1, j+1); + Float_t offdiagpt = h_olpt->GetBinContent(i+1, j+1); - Float_t diag = h_ol->GetBinContent(i+1, i+1); - Float_t diagpt = h_olpt->GetBinContent(i+1, i+1); + Float_t frac = 0.; + Float_t efrac = 0.; - for( int j=0; j < (int)m_chainsOverlap.size(); j++ ){ + if( diag != 0. ){ + frac = offdiag/diag; + efrac = sqrt(frac*(1.-frac)/diag); + } - Float_t offdiag = h_ol->GetBinContent(i+1, j+1); - Float_t offdiagpt = h_olpt->GetBinContent(i+1, j+1); + Float_t fracpt = 0.; + Float_t efracpt = 0.; - Float_t frac = 0.; - Float_t efrac = 0.; + if( diagpt != 0. ){ + fracpt = offdiagpt/diagpt; + efracpt = sqrt(fracpt*(1.-fracpt)/diagpt); + } - if( diag != 0. ){ - frac = offdiag/diag; - efrac = sqrt(frac*(1.-frac)/diag); - } + h_olf->SetBinContent(i+1,j+1, frac); + h_olf->SetBinError(i+1,j+1, efrac); - Float_t fracpt = 0.; - Float_t efracpt = 0.; + h_olfpt->SetBinContent(i+1,j+1, fracpt); + h_olfpt->SetBinError(i+1,j+1, efracpt); - if( diagpt != 0. ){ - fracpt = offdiagpt/diagpt; - efracpt = sqrt(fracpt*(1.-fracpt)/diagpt); - } + } + } +} - h_olf->SetBinContent(i+1,j+1, frac); - h_olf->SetBinError(i+1,j+1, efrac); - h_olfpt->SetBinContent(i+1,j+1, fracpt); - h_olfpt->SetBinError(i+1,j+1, efracpt); +// +void HLTMuonMonTool::refill_2d1d_coarse(TH2F *h2, TH1F *h1) +{ - } - } - } + for (int ieta = 1; ieta <= s_eta_cnbins; ieta++) { + for (int iphi = 1; iphi <= s_phi_cnbins; iphi++) { + int ibin = (ieta - 1) * s_phi_cnbins + iphi; + // ATH_MSG_INFO("ibin " << ibin << "Histname " << h2->GetName() << " and " << h1->GetName()); + Double_t bincont = h2->GetBinContent(ieta, iphi); + Double_t binerr = h2->GetBinError(ieta, iphi); + Double_t area = (m_bins_eta[ieta] - m_bins_eta[ieta-1])*TMath::Pi()/8.; + bincont = bincont / area; + binerr = binerr / area; + h1->SetBinContent(ibin, bincont); + h1->SetBinError(ibin, binerr); + } + } - // - void HLTMuonMonTool::refill_2d1d_coarse(TH2F *h2, TH1F *h1) - { - - for (int ieta = 1; ieta <= s_eta_cnbins; ieta++) { - for (int iphi = 1; iphi <= s_phi_cnbins; iphi++) { - int ibin = (ieta - 1) * s_phi_cnbins + iphi; - // ATH_MSG_INFO("ibin " << ibin << "Histname " << h2->GetName() << " and " << h1->GetName()); - Double_t bincont = h2->GetBinContent(ieta, iphi); - Double_t binerr = h2->GetBinError(ieta, iphi); - Double_t area = (m_bins_eta[ieta] - m_bins_eta[ieta-1])*TMath::Pi()/8.; - bincont = bincont / area; - binerr = binerr / area; - h1->SetBinContent(ibin, bincont); - h1->SetBinError(ibin, binerr); - } - } +} +// - } - // +float CalculateDeltaR(float off_eta, float off_phi,float on_eta, float on_phi) { - float CalculateDeltaR(float off_eta, float off_phi,float on_eta, float on_phi) { + float deta = off_eta - on_eta; + float dphi = off_phi - on_phi; + float dR=0; + if (dphi > acos(-1.)) dphi -= 2.*acos(-1.); + if (dphi < -acos(-1.)) dphi += 2.*acos(-1.); + dR = sqrt( deta*deta + dphi*dphi ) ; - float deta = off_eta - on_eta; - float dphi = off_phi - on_phi; - float dR=0; - if (dphi > acos(-1.)) dphi -= 2.*acos(-1.); - if (dphi < -acos(-1.)) dphi += 2.*acos(-1.); - dR = sqrt( deta*deta + dphi*dphi ) ; + return dR; +} - return dR; - } +StatusCode HLTMuonMonTool::fillL1MuRoI() +{ + StatusCode sc; - StatusCode HLTMuonMonTool::fillL1MuRoI() - { - StatusCode sc; + const xAOD::MuonRoIContainer* lvl1Roi; - const xAOD::MuonRoIContainer* lvl1Roi; + std::string muonKey = "LVL1MuonRoIs"; // MuidMuonCollection - std::string muonKey = "LVL1MuonRoIs"; // MuidMuonCollection + sc = evtStore()->retrieve(lvl1Roi, muonKey); + if ( sc.isFailure() ) { + ATH_MSG_DEBUG(" Cannot retrieve LVL1 Muon container"); + return StatusCode::FAILURE; + } - sc = evtStore()->retrieve(lvl1Roi, muonKey); - if ( sc.isFailure() ) { - ATH_MSG_DEBUG(" Cannot retrieve LVL1 Muon container"); - return StatusCode::FAILURE; - } + const DataHandle<EventInfo> eventInfo; + sc = evtStore()->retrieve(eventInfo); + if ( sc.isFailure() ) { + ATH_MSG_ERROR(" Cannot retrieve EventInfo "); + hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); + return StatusCode::FAILURE; + } - const DataHandle<EventInfo> eventInfo; - sc = evtStore()->retrieve(eventInfo); - if ( sc.isFailure() ) { - ATH_MSG_ERROR(" Cannot retrieve EventInfo "); - hist("Number_Of_Events", m_histdirrate )->Fill( m_lumiblock ); - return StatusCode::FAILURE; - } - EventID::number_type bcid = eventInfo->event_ID()->bunch_crossing_id(); + EventID::number_type bcid = eventInfo->event_ID()->bunch_crossing_id(); - bool filled = m_bunchTool->isFilled(bcid); - bool unpaired = m_bunchTool->isUnpaired(bcid); + bool filled = m_bunchTool->isFilled(bcid); + bool unpaired = m_bunchTool->isUnpaired(bcid); - xAOD::MuonRoIContainer::const_iterator muItr = lvl1Roi->begin(); - xAOD::MuonRoIContainer::const_iterator muEnd = lvl1Roi->end(); + xAOD::MuonRoIContainer::const_iterator muItr = lvl1Roi->begin(); + xAOD::MuonRoIContainer::const_iterator muEnd = lvl1Roi->end(); - // if (m_bunchTool->isFilled(bcid) && !(m_bunchTool->isUnpaired(bcid))) { + // if (m_bunchTool->isFilled(bcid) && !(m_bunchTool->isUnpaired(bcid))) { - if (m_bunchTool->isFilled(bcid)) { - std::string name = "L1RoI_etaphi"; + if (m_bunchTool->isFilled(bcid)) { + std::string name = "L1RoI_etaphi"; - int nBarrelRoi = 0; - int nEndcapRoi = 0; - int nForwardRoi = 0; - for ( ; muItr != muEnd; ++muItr) { - hist2(name, m_histdirdist2d)->Fill((*muItr)->eta(), (*muItr)->phi()); + int nBarrelRoi = 0; + int nEndcapRoi = 0; + int nForwardRoi = 0; + for ( ; muItr != muEnd; ++muItr) { + hist2(name, m_histdirdist2d)->Fill((*muItr)->eta(), (*muItr)->phi()); - if (!(*muItr)->isVetoed()) { // YY for removing MuCTPI overlap-removed RoIs - if (xAOD::MuonRoI::Barrel == (*muItr)->getSource()) { - nBarrelRoi++; - } else if (xAOD::MuonRoI::Endcap == (*muItr)->getSource()) { - nEndcapRoi++; - } else if (xAOD::MuonRoI::Forward == (*muItr)->getSource()) { - nForwardRoi++; - } - } - } + if (!(*muItr)->isVetoed()) { // YY for removing MuCTPI overlap-removed RoIs + if (xAOD::MuonRoI::Barrel == (*muItr)->getSource()) { + nBarrelRoi++; + } else if (xAOD::MuonRoI::Endcap == (*muItr)->getSource()) { + nEndcapRoi++; + } else if (xAOD::MuonRoI::Forward == (*muItr)->getSource()) { + nForwardRoi++; + } + } + } - bool mub = false; - bool mue = false; - if (getTDT()->isPassedBits("L1_MUB") & TrigDefs::L1_isPassedBeforePrescale) { - mub = true; - } - if (getTDT()->isPassedBits("L1_MUE") & TrigDefs::L1_isPassedBeforePrescale) { - mue = true; - } + bool mub = false; + bool mue = false; + if (getTDT()->isPassedBits("L1_MUB") & TrigDefs::L1_isPassedBeforePrescale) { + mub = true; + } + if (getTDT()->isPassedBits("L1_MUE") & TrigDefs::L1_isPassedBeforePrescale) { + mue = true; + } - ATH_MSG_DEBUG("mu Roi Barrel: " << nBarrelRoi << " Endcap: " << nEndcapRoi << " Forward: " << nForwardRoi); - ATH_MSG_DEBUG("mub: " << mub << " mue: " << mue); + ATH_MSG_DEBUG("mu Roi Barrel: " << nBarrelRoi << " Endcap: " << nEndcapRoi << " Forward: " << nForwardRoi); + ATH_MSG_DEBUG("mub: " << mub << " mue: " << mue); - int nEC_F_Roi = nEndcapRoi + nForwardRoi; + int nEC_F_Roi = nEndcapRoi + nForwardRoi; - name = "L1_MUB_L1_MUE_match_muon_RoIs"; + name = "L1_MUB_L1_MUE_match_muon_RoIs"; - if (mub && nBarrelRoi > 0) { - hist(name, m_histdirrate)->Fill(3.); - } - if (mue && nEC_F_Roi > 0) { - hist(name, m_histdirrate)->Fill(4.); - } - if (!mub && nBarrelRoi == 0) { - hist(name, m_histdirrate)->Fill(1.); - } - if (!mue && nEC_F_Roi == 0) { - hist(name, m_histdirrate)->Fill(2.); - } - if (!mub && nBarrelRoi > 0) { // no L1_MUB hit - hist(name, m_histdirrate)->Fill(5.); - ATH_MSG_DEBUG("L1_MUB: 5"); - ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); - } - if (!mue && nEC_F_Roi > 0) { // no L1_MUE hit - hist(name, m_histdirrate)->Fill(6.); - ATH_MSG_DEBUG("L1_MUE: 6"); - ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); - } - if (mub && nBarrelRoi == 0) { // L1_MUB fired while no RoI - hist(name, m_histdirrate)->Fill(7.); - ATH_MSG_DEBUG("L1_MUB: 7"); - ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); - } - if (mue && nEC_F_Roi == 0) { // L1_MUE fired while no RoI - hist(name, m_histdirrate)->Fill(8.); - ATH_MSG_DEBUG("L1_MUE: 8"); - ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); - } - } + if (mub && nBarrelRoi > 0) { + hist(name, m_histdirrate)->Fill(3.); + } + if (mue && nEC_F_Roi > 0) { + hist(name, m_histdirrate)->Fill(4.); + } + if (!mub && nBarrelRoi == 0) { + hist(name, m_histdirrate)->Fill(1.); + } + if (!mue && nEC_F_Roi == 0) { + hist(name, m_histdirrate)->Fill(2.); + } + if (!mub && nBarrelRoi > 0) { // no L1_MUB hit + hist(name, m_histdirrate)->Fill(5.); + ATH_MSG_DEBUG("L1_MUB: 5"); + ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); + } + if (!mue && nEC_F_Roi > 0) { // no L1_MUE hit + hist(name, m_histdirrate)->Fill(6.); + ATH_MSG_DEBUG("L1_MUE: 6"); + ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); + } + if (mub && nBarrelRoi == 0) { // L1_MUB fired while no RoI + hist(name, m_histdirrate)->Fill(7.); + ATH_MSG_DEBUG("L1_MUB: 7"); + ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); + } + if (mue && nEC_F_Roi == 0) { // L1_MUE fired while no RoI + hist(name, m_histdirrate)->Fill(8.); + ATH_MSG_DEBUG("L1_MUE: 8"); + ATH_MSG_DEBUG("BCID " << bcid << " isFilled " << filled << " isUnpaired " << unpaired); + } + } - return StatusCode::SUCCESS; - } + return StatusCode::SUCCESS; +} diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx index c78f808f240cca69b678c396ac5878765a68c489..3e4e2bd1d7541957ec854c4d84721802e252df8d 100755 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx @@ -37,7 +37,7 @@ using namespace std; /** Constructor, calls base class constructor with parameters * - * several properties are "declared" here, allowing selection + * several properties are "declared" here, allowing selectio * of the filepath for histograms, the first and second plane * numbers to be used, and the timebin. */ @@ -51,7 +51,7 @@ HLTMuonMonTool::HLTMuonMonTool(const std::string & type, m_bunchTool("Trig::TrigConfBunchCrossingTool/BunchCrossingTool") // m_muonSelectorTool("Rec::MuonSelectorTool") // YY added -> removed - //initialization of muFast parameters + //initialization of L2MuonSA parameters //initialization of muComb parameters @@ -74,12 +74,27 @@ HLTMuonMonTool::HLTMuonMonTool(const std::string & type, declareProperty("monitoring_muonIso", m_chainsEFiso); declareProperty("monitoring_MSonly", m_chainsMSonly); declareProperty("monitoring_muonEFFS", m_chainsEFFS); + declareProperty("monitoring_muonLowpt", m_chainsLowpt); declareProperty("monitoring_muon_Support", m_chainSupport); declareProperty("HI_pp_mode", m_HI_pp_mode); - - //construction of muFast parameters + + declareProperty("AccessHypoTEs", m_access_hypoTE=true); + //construction of L2MuonSA parameters + declareProperty("monitoring_muonNonIso_L2SAHypo", m_hyposGeneric_L2SA); + declareProperty("monitoring_muonIso_L2SAHypo", m_hyposEFiso_L2SA); + declareProperty("monitoring_MSonly_L2SAHypo", m_hyposMSonly_L2SA); + declareProperty("monitoring_muonEFFS_L2SAHypo", m_hyposEFFS_L2SA); + declareProperty("monitoring_muonLowpt_L2SAHypo", m_hyposLowpt_L2SA); + declareProperty("monitoring_muon_Support_L2SAHypo", m_hyposSupport_L2SA); //construction of muComb parameters + declareProperty("monitoring_muonNonIso_L2CBHypo", m_hyposGeneric_L2CB); + declareProperty("monitoring_muonIso_L2CBHypo", m_hyposEFiso_L2CB); + declareProperty("monitoring_MSonly_L2CBHypo", m_hyposMSonly_L2CB); + declareProperty("monitoring_muonEFFS_L2CBHypo", m_hyposEFFS_L2CB); + declareProperty("monitoring_muonLowpt_L2CBHypo", m_hyposLowpt_L2CB); + declareProperty("monitoring_muon_Support_L2CBHypo", m_hyposSupport_L2CB); + //construction of muIso parameters @@ -101,7 +116,7 @@ HLTMuonMonTool::HLTMuonMonTool(const std::string & type, m_maxindep = 0; m_maxESbr = 0; m_requestESchains = 0; - m_fMuFast = 0; + m_fL2MuonSA = 0; m_fMuComb = 0; m_fEFCB = 0; m_fMuGirl = 0; @@ -121,7 +136,7 @@ HLTMuonMonTool::~HLTMuonMonTool() ATH_MSG_VERBOSE(" destruction of HLTMuonMonTool"); //destruction of common parameters - //destruction of muFast parameters + //destruction of L2MuonSA parameters //destruction of muComb parameters @@ -146,7 +161,6 @@ StatusCode HLTMuonMonTool::init() ATH_MSG_DEBUG("init being called"); // some switches and flags m_requestESchains = true; - //initialization for common tools StatusCode scAS; @@ -191,6 +205,8 @@ StatusCode HLTMuonMonTool::init() m_histChainGeneric.push_back("muChain"+std::to_string(ich+1)); m_ztp_isomap.insert(std::pair<std::string, int>(m_chainsGeneric[ich], 0)); m_ztpmap.insert(std::pair<std::string, std::string>(m_chainsGeneric[ich], "muChain"+std::to_string(ich+1))); + if(ich<m_hyposGeneric_L2SA.size()) m_hypomapL2SA[m_chainsGeneric[ich]] = m_hyposGeneric_L2SA[ich]; + if(ich<m_hyposGeneric_L2CB.size()) m_hypomapL2CB[m_chainsGeneric[ich]] = m_hyposGeneric_L2CB[ich]; } // Generic (Isolated muons) @@ -201,6 +217,8 @@ StatusCode HLTMuonMonTool::init() m_histChainEFiso.push_back("muChainEFiso"+std::to_string(ich+1)); m_ztp_isomap.insert(std::pair<std::string, int>(m_chainsEFiso[ich], 1)); m_ztpmap.insert(std::pair<std::string, std::string>(m_chainsEFiso[ich], "muChainEFiso"+std::to_string(ich+1))); + if(ich<m_hyposEFiso_L2SA.size()) m_hypomapL2SA[m_chainsEFiso[ich]] = m_hyposEFiso_L2SA[ich]; + if(ich<m_hyposEFiso_L2CB.size()) m_hypomapL2CB[m_chainsEFiso[ich]] = m_hyposEFiso_L2CB[ich]; } @@ -214,6 +232,8 @@ StatusCode HLTMuonMonTool::init() m_histChainMSonly.push_back("muChainMSonly"+std::to_string(ich+1)); m_ztp_isomap.insert(std::pair<std::string, int>(m_chainsMSonly[ich], 0)); m_ztpmap.insert(std::pair<std::string, std::string>(m_chainsMSonly[ich], "muChainMSonly"+std::to_string(ich+1))); + if(ich<m_hyposMSonly_L2SA.size()) m_hypomapL2SA[m_chainsMSonly[ich]] = m_hyposMSonly_L2SA[ich]; + if(ich<m_hyposMSonly_L2CB.size()) m_hypomapL2CB[m_chainsMSonly[ich]] = m_hyposMSonly_L2CB[ich]; } @@ -477,7 +497,7 @@ StatusCode HLTMuonMonTool::init() m_allESchain.push_back("HLT_Jpsimumu_idperf"); // initialising algorithm index for summary histos - m_fMuFast = (float)iMuFast; + m_fL2MuonSA = (float)iL2MuonSA; m_fMuComb = (float)iMuComb; m_fEFCB = (float)iEFCB; m_fEFSA = (float)iEFSA; @@ -496,10 +516,10 @@ StatusCode HLTMuonMonTool::init() m_iMSL = 54; // 60 GeV m_iMSH = 75; // 100 GeV }else{ - m_iSTDL = 91; // 40 GeV - m_iSTDH = 120; // 100 GeV - m_iMSL = 105; // 60 GeV - m_iMSH = 120; // 100 GeV + m_iSTDL = 105;//60GeV 91; // 40 GeV + m_iSTDH = 120; // 100 GeV + m_iMSL = 105; // 60 GeV + m_iMSH = 120; // 100 GeV /* m_iSTDL = 71; // 22.5 GeV m_iSTDH = 100; // 50 GeV m_iMSL = 91; // 40 GeV @@ -557,11 +577,11 @@ StatusCode HLTMuonMonTool::init() m_bins_phi[iphi] = (dphi*static_cast<Double_t>(iphi)-(TMath::Pi())); } - //muFast - StatusCode scMuFast; - scMuFast=initMuFastDQA(); - if( scMuFast.isFailure() ){ - ATH_MSG_VERBOSE("initMuFastDQA failed"); + //L2MuonSA + StatusCode scL2MuonSA; + scL2MuonSA=initL2MuonSADQA(); + if( scL2MuonSA.isFailure() ){ + ATH_MSG_VERBOSE("initL2MuonSADQA failed"); } //muComb StatusCode scMuComb; @@ -600,8 +620,16 @@ StatusCode HLTMuonMonTool::init() ATH_MSG_VERBOSE("initMuZTPDQA failed"); } - StatusCode sc = scMuFast & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; + StatusCode sc = scL2MuonSA & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; return sc; + + // if(sc==1){ + // return StatusCode::SUCCESS; + // }else if(sc>1){ + // return StatusCode::RECOVERABLE; + // } + + // return StatusCode::FAILURE; } @@ -614,7 +642,7 @@ StatusCode HLTMuonMonTool::book() ATH_MSG_DEBUG("book being called"); m_histdir="HLT/MuonMon/Common"; - m_histdirmufast="HLT/MuonMon/muFast"; + m_histdirmufast="HLT/MuonMon/L2MuonSA"; m_histdirmucomb="HLT/MuonMon/muComb"; m_histdirmuiso="HLT/MuonMon/muIso"; m_histdirtilemu="HLT/MuonMon/TileMu"; @@ -666,11 +694,11 @@ StatusCode HLTMuonMonTool::book() ATH_MSG_VERBOSE("bookChainDQA failed"); } - //muFast - StatusCode scMuFast; - scMuFast=bookMuFastDQA(); - if( scMuFast.isFailure() ){ - ATH_MSG_VERBOSE("bookMuFastDQA failed"); + //L2MuonSA + StatusCode scL2MuonSA; + scL2MuonSA=bookL2MuonSADQA(); + if( scL2MuonSA.isFailure() ){ + ATH_MSG_VERBOSE("bookL2MuonSADQA failed"); } //muComb StatusCode scMuComb; @@ -709,8 +737,15 @@ StatusCode HLTMuonMonTool::book() ATH_MSG_VERBOSE("bookMuZTPDQA failed"); } - StatusCode sc = scCommon & scChain & scMuFast & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; + StatusCode sc = scCommon & scChain & scL2MuonSA & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; return sc; + // if(sc==1){ + // return StatusCode::SUCCESS; + // }else if(sc>1){ + // return StatusCode::RECOVERABLE; + // } + + // return StatusCode::FAILURE; } /*---------------------------------------------------------*/ @@ -734,13 +769,12 @@ StatusCode HLTMuonMonTool::fill() } hist("Common_Counter", m_histdir )->Fill((float)EVENT); if(!m_HI_pp_mode)hist("HI_PP_Flag", m_histdir)->Fill(0); - /* auto chainGroup = getTDT()->getChainGroup("HLT_mu.*"); for(auto &trig : chainGroup->getListOfTriggers()) { auto cg = getTDT()->getChainGroup(trig); std::string thisTrig = trig; - std::cout<<"testchenyhlt chainlist "<<thisTrig.c_str()<<std::endl; + ATH_MSG_DEBUG("muonhlt chainlist "<<thisTrig.c_str()); }*/ std::vector<std::string>::const_iterator it; int itr; @@ -750,6 +784,7 @@ StatusCode HLTMuonMonTool::fill() for(it=m_chainsMSonly.begin(), itr=0; it != m_chainsMSonly.end() ; it++, itr++ ) mchainlist.push_back((*it).c_str()); for(it=m_chainsEFFS.begin(), itr=0; it != m_chainsEFFS.end() ; it++, itr++ ) mchainlist.push_back((*it).c_str()); for(it=m_chainsGeneric.begin(), itr=0; it != m_chainsGeneric.end() ; it++, itr++ )mchainlist.push_back((*it).c_str()); + for(it=m_chainsLowpt.begin(), itr=0; it != m_chainsLowpt.end() ; it++, itr++ )mchainlist.push_back((*it).c_str()); for(int i=0; i<(int)mchainlist.size(); i++){ TString s=mchainlist[i]; hist("Monitoring_Chain",m_histdir)->GetXaxis()->SetBinLabel(i+1,s); @@ -771,17 +806,17 @@ StatusCode HLTMuonMonTool::fill() scChain=StatusCode::RECOVERABLE; } - // muFast - StatusCode scMuFast; + // L2MuonSA + StatusCode scL2MuonSA; try { - scMuFast=fillMuFastDQA(); - if( scMuFast.isFailure() ) { - ATH_MSG_VERBOSE("fillMuFastDQA failed"); + scL2MuonSA=fillL2MuonSADQA(); + if( scL2MuonSA.isFailure() ) { + ATH_MSG_VERBOSE("fillL2MuonSADQA failed"); } } catch(...) { - ATH_MSG_ERROR("Exception thrown by fillMuFastDQA"); - scMuFast=StatusCode::RECOVERABLE; + ATH_MSG_ERROR("Exception thrown by fillL2MuonSADQA"); + scL2MuonSA=StatusCode::RECOVERABLE; } // muComb @@ -863,12 +898,12 @@ StatusCode HLTMuonMonTool::fill() scMuZTP=StatusCode::RECOVERABLE; } - StatusCode sc = scCommon & scRecMuon & scChain & scMuFast & scMuComb & scTileMu & scMuonEF & scMuGirl & scMuZTP; + StatusCode sc = scCommon & scRecMuon & scChain & scL2MuonSA & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; ATH_MSG_DEBUG( " scCommon " << scCommon << " scRecMuon " << scRecMuon << " scChain " << scChain - << " scMuFast " << scMuFast + << " scL2MuonSA " << scL2MuonSA << " scMuComb " << scMuComb << " scMuIso " << scMuIso << " scTileMu " << scTileMu @@ -876,8 +911,15 @@ StatusCode HLTMuonMonTool::fill() << " scMuGirl " << scMuGirl << " scMuZTP " << scMuZTP << " sc " << sc); - return sc; + + // if(sc==1){ + // return StatusCode::SUCCESS; + // }else if(sc>1){ + // return StatusCode::RECOVERABLE; + // } + + // return StatusCode::FAILURE; } /*---------------------------------------------------------*/ @@ -901,17 +943,17 @@ StatusCode HLTMuonMonTool::proc() scChain=StatusCode::RECOVERABLE; } - // muFast - StatusCode scMuFast; + // L2MuonSA + StatusCode scL2MuonSA; try { - scMuFast=procMuFastDQA(); - if( scMuFast.isFailure() ){ - ATH_MSG_VERBOSE("procMuFastDQA failed"); + scL2MuonSA=procL2MuonSADQA(); + if( scL2MuonSA.isFailure() ){ + ATH_MSG_VERBOSE("procL2MuonSADQA failed"); } } catch(...) { - ATH_MSG_ERROR("Exception thrown by procMuFastDQA"); - scMuFast=StatusCode::RECOVERABLE; + ATH_MSG_ERROR("Exception thrown by procL2MuonSADQA"); + scL2MuonSA=StatusCode::RECOVERABLE; } // muComb @@ -994,6 +1036,34 @@ StatusCode HLTMuonMonTool::proc() // - StatusCode sc = scChain & scMuFast & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; + StatusCode sc = scChain & scL2MuonSA & scMuComb & scMuIso & scTileMu & scMuonEF & scMuGirl & scMuZTP; return sc; + // if(sc==1){ + // return StatusCode::SUCCESS; + // }else if(sc>1){ + // return StatusCode::RECOVERABLE; + // } + + // return StatusCode::FAILURE; +} + + +const HLT::TriggerElement* HLTMuonMonTool :: getDirectSuccessorHypoTEForL2(const HLT::TriggerElement *te, std::string step, std::string chainname){ + + //m_ExpertMethods->enable(); + std::string hyponame = ""; + if(step=="L2MuonSA") hyponame = m_hypomapL2SA[chainname]; + if(step=="L2muComb") hyponame = m_hypomapL2CB[chainname]; + const HLT::TriggerElement *hypote = NULL; + std::vector<HLT::TriggerElement*> TEsuccessors = m_ExpertMethods->getNavigation()->getDirectSuccessors(te); + for(auto te2 : TEsuccessors){ + //ATH_MSG_DEBUG("[" << chainname <<"] ::TE2: " << te2->getId() << " " << Trig::getTEName(*te2) ); + if(Trig::getTEName(*te2)==hyponame){ + ATH_MSG_DEBUG("[" << chainname<< "] selected HypoTE: " << te2->getId() << " " << Trig::getTEName(*te2) << " isPassed=" << te2->getActiveState() ); + hypote = te2; + } + } + + + return hypote; } diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuCombMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuCombMon.cxx index 06d5322308aff0db2ec95432faf957791d6e896f..cd53bdae1e2d007744d29b788cc2e4f0153e68e4 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuCombMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuCombMon.cxx @@ -12,7 +12,6 @@ #include "GaudiKernel/IJobOptionsSvc.h" #include "AthenaMonitoring/AthenaMonManager.h" #include "AthenaMonitoring/ManagedMonitorToolTest.h" - #include "TrigMuonEvent/CombinedMuonFeatureContainer.h" #include "TROOT.h" @@ -50,7 +49,6 @@ StatusCode HLTMuonMonTool::bookMuCombDQA() { //histograms in each 10LBs if( newRunFlag() || newLowStatFlag()){ - addHistogram( new TH2F("muComb_eta_vs_phi_in_10LBs", "muComb eta vs phi in 10LBs; #eta ; #phi", 27, -2.7, 2.7, 16, -CLHEP::pi, CLHEP::pi), m_histdircoverage ); } @@ -66,13 +64,13 @@ StatusCode HLTMuonMonTool::bookMuCombDQA() addHistogram( new TH2F("muComb_eta_vs_phi_MCmatching_success", "muComb eta vs phi (MC match success); #eta ; #phi", 108, -2.7, 2.7, 96, -CLHEP::pi, CLHEP::pi), m_histdirmucomb ); addHistogram( new TH2F("muComb_eta_vs_phi_OFFmatching_failure", "muComb eta vs phi (MC match success Off match failure); #eta ; #phi",108, -2.7, 2.7, 96, -CLHEP::pi, CLHEP::pi), m_histdirmucomb ); - addHistogram( new TH2F("muFast_eta_vs_phi_MCmatching_failure", "muFast eta vs phi (MC match failure Off match success); #eta ; #phi", 108, -2.7, 2.7, 96, -CLHEP::pi, CLHEP::pi), m_histdirmucomb ); + addHistogram( new TH2F("L2MuonSA_eta_vs_phi_MCmatching_failure", "L2MuonSA eta vs phi (MC match failure Off match success); #eta ; #phi", 108, -2.7, 2.7, 96, -CLHEP::pi, CLHEP::pi), m_histdirmucomb ); - // comparison muComb vs muFast - addHistogram( new TH1F("muComb_ptratio_toMF", "muComb pt / muFast pt; p_{T} ratio; Entries", 140, -0.5, 3), m_histdirmucomb ); - addHistogram( new TH1F("muComb_dR_toMF", "muComb delta R to muFast; #DeltaR; Entries", 100, 0, 0.5), m_histdirmucomb ); - addHistogram( new TH1F("muComb_deta_toMF", "muComb delta eta to muFast; #Delta#eta; Entries", 120, -0.2, 0.2), m_histdirmucomb ); - addHistogram( new TH1F("muComb_dphi_toMF", "muComb delta phi to muFast; #Delta#phi; Entries", 120, -0.2, 0.2), m_histdirmucomb ); + // comparison muComb vs L2MuonSA + addHistogram( new TH1F("muComb_ptratio_toMF", "muComb pt / L2MuonSA pt; p_{T} ratio; Entries", 140, -0.5, 3), m_histdirmucomb ); + addHistogram( new TH1F("muComb_dR_toMF", "muComb delta R to L2MuonSA; #DeltaR; Entries", 100, 0, 0.5), m_histdirmucomb ); + addHistogram( new TH1F("muComb_deta_toMF", "muComb delta eta to L2MuonSA; #Delta#eta; Entries", 120, -0.2, 0.2), m_histdirmucomb ); + addHistogram( new TH1F("muComb_dphi_toMF", "muComb delta phi to L2MuonSA; #Delta#phi; Entries", 120, -0.2, 0.2), m_histdirmucomb ); addHistogram( new TH1F("muComb_MF_error", "muComb pointer to MuonFeature Error", 5,0,5), m_histdirmucomb ); hist("muComb_MF_error", m_histdirmucomb)->GetXaxis()->SetBinLabel(1,"No error"); hist("muComb_MF_error", m_histdirmucomb)->GetXaxis()->SetBinLabel(2,"Missing Pointer to MF"); @@ -80,11 +78,11 @@ StatusCode HLTMuonMonTool::bookMuCombDQA() hist("muComb_MF_error", m_histdirmucomb)->GetXaxis()->SetBinLabel(4,"CB ContainerSize Error"); hist("muComb_MF_error", m_histdirmucomb)->GetXaxis()->SetBinLabel(5,"MF ContainerSize Error"); - // comparison IDtrk vs muFast - addHistogram( new TH1F("muComb_ptratio_TRKtoMF", "muComb Trk pt / muFast pt; p_{T} ratio; Entries", 140, -0.5, 3), m_histdirmucomb ); - addHistogram( new TH1F("muComb_dR_TRKtoMF", "muComb delta R TRK to muFast; #DeltaR; Entries", 100, 0, 0.5), m_histdirmucomb ); - addHistogram( new TH1F("muComb_deta_TRKtoMF", "muComb delta eta TRK to muFast; #Delta#eta; Entries", 120, -0.2, 0.2), m_histdirmucomb ); - addHistogram( new TH1F("muComb_dphi_TRKtoMF", "muComb delta phi TRK to muFast; #Delta#phi; Entries", 120, -0.2, 0.2), m_histdirmucomb ); + // comparison IDtrk vs L2MuonSA + addHistogram( new TH1F("muComb_ptratio_TRKtoMF", "muComb Trk pt / L2MuonSA pt; p_{T} ratio; Entries", 140, -0.5, 3), m_histdirmucomb ); + addHistogram( new TH1F("muComb_dR_TRKtoMF", "muComb delta R TRK to L2MuonSA; #DeltaR; Entries", 100, 0, 0.5), m_histdirmucomb ); + addHistogram( new TH1F("muComb_deta_TRKtoMF", "muComb delta eta TRK to L2MuonSA; #Delta#eta; Entries", 120, -0.2, 0.2), m_histdirmucomb ); + addHistogram( new TH1F("muComb_dphi_TRKtoMF", "muComb delta phi TRK to L2MuonSA; #Delta#phi; Entries", 120, -0.2, 0.2), m_histdirmucomb ); // ID variables addHistogram( new TH1F("muComb_TRKpt", "muComb Trk pt (GeV/c); p_{T}[GeV/c]; Entries", 210, -105., 105.), m_histdirmucomb ); @@ -94,9 +92,9 @@ StatusCode HLTMuonMonTool::bookMuCombDQA() addHistogram( new TH1F("muComb_TRKchi2", "muComb Trk chi2; #chi^{2}; Entries", 50, 0, 10), m_histdirmucomb ); // in case of failure - addHistogram( new TH1F("muComb_failed_MFpt", "muFast pt (GeV/c) for muComb fails; p_{T}[GeV/c]; Entries", 210, -105., 105.), m_histdirmucomb ); - addHistogram( new TH1F("muComb_failed_MFeta", "muFast eta for muComb fails; #eta; Entries", 108, -2.7, 2.7), m_histdirmucomb ); - addHistogram( new TH1F("muComb_failed_MFphi", "muFast phi for muComb fails; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmucomb ); + addHistogram( new TH1F("muComb_failed_MFpt", "L2MuonSA pt (GeV/c) for muComb fails; p_{T}[GeV/c]; Entries", 210, -105., 105.), m_histdirmucomb ); + addHistogram( new TH1F("muComb_failed_MFeta", "L2MuonSA eta for muComb fails; #eta; Entries", 108, -2.7, 2.7), m_histdirmucomb ); + addHistogram( new TH1F("muComb_failed_MFphi", "L2MuonSA phi for muComb fails; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmucomb ); // Comparison to Offline addHistogram( new TH1F("muComb_dR_toOffl", "dR between muComb and Offline; #DeltaR; Entries", 100, 0, 2), m_histdirmucomb ); @@ -165,7 +163,6 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() // ----------------------------- // Retrieve L2CombinedMuonContainer // ----------------------------- - const DataHandle<xAOD::L2CombinedMuonContainer> combContainer; const DataHandle<xAOD::L2CombinedMuonContainer> lastcombContainer; StatusCode sc_comb = evtStore()->retrieve(combContainer,lastcombContainer); @@ -174,10 +171,6 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() return StatusCode::SUCCESS; } - if ( !combContainer ) { - ATH_MSG_INFO( "CombinedMuonFeatureContainer not found. Truncated?" ); - } - ATH_MSG_DEBUG( " ====== START HLTMuon muComb MonTool ====== " ); // ----------------------------- @@ -186,12 +179,12 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() std::vector<const xAOD::L2CombinedMuon*> vec_combinedMuon; - for(; combContainer != lastcombContainer; combContainer++) { - xAOD::L2CombinedMuonContainer::const_iterator comb = combContainer->begin(); - xAOD::L2CombinedMuonContainer::const_iterator lastcomb = combContainer->end(); - for(; comb != lastcomb; comb++) { - if( (*comb)==0 ) continue; - vec_combinedMuon.push_back( *comb ); + for(auto itr=combContainer; itr != lastcombContainer; itr++) { + const xAOD::L2CombinedMuonContainer* comb(nullptr); + ATH_CHECK( evtStore()->retrieve(comb, itr.key())); + for(auto jtr=comb->begin();jtr!=comb->end();jtr++) { + if( (*jtr)==nullptr ) continue; + vec_combinedMuon.push_back( *jtr ); } } @@ -211,7 +204,7 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() // get MF - const xAOD::L2StandAloneMuon* ptr_mf = 0; + const xAOD::L2StandAloneMuon* ptr_mf = nullptr; if( (*itComb)->muSATrackLink().isValid() ) { ptr_mf = (*itComb)->muSATrack(); } @@ -225,10 +218,25 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() } // get IDTrack - const xAOD::TrackParticle *ptr_trk = 0; - if( (*itComb)->idTrackLink().isValid() ) { + bool ID_con=false; + std::string ID_con_name="HLT_xAOD__TrackParticleContainer_InDetTrigTrackingxAODCnv_Muon_FTF"; + const xAOD::TrackParticle *ptr_trk = nullptr; + const xAOD::TrackParticleContainer* Idcbtrk = nullptr; + StatusCode sc_idcb = m_storeGate->retrieve(Idcbtrk, ID_con_name.c_str()); + if (!sc_idcb.isFailure()) { + ATH_MSG_DEBUG("the container: "<<ID_con_name<<" size:"<<Idcbtrk->size()); + if( Idcbtrk->size() > 0){ + ID_con=true; + }else{ + ATH_MSG_DEBUG("HLTMuon: found the container of "<<ID_con_name<<", but the size: zero "); + } + }else{ + ATH_MSG_DEBUG("HLTMuon can not find the container: "<<ID_con_name); + } + if( ID_con && (*itComb)->idTrackLink().isValid() ) { ptr_trk = (*itComb)->idTrack(); } + float trk_pt = 0.; float trk_eta = 0; float trk_phi = 0; @@ -325,7 +333,7 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() hist("muComb_dR_toMF", m_histdirmucomb)->Fill(dR); } - // TRK, TRK vs muFast + // TRK, TRK vs L2MuonSA hist("muComb_TRKpt", m_histdirmucomb)->Fill(trk_pt_hist); if( ptr_trk != 0 ) { hist("muComb_TRKeta", m_histdirmucomb)->Fill(trk_eta); @@ -349,7 +357,6 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() } // loop over vecCombinedMuon - // ----------------------------- // Loop for each chain (Domae) // ----------------------------- @@ -428,13 +435,12 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() } if(mf_eta != 0 && mf_phi != 0) { //tomoe added 10/06/2011 if(!mc_success && off_mf_match){ - hist2("muFast_eta_vs_phi_MCmatching_failure", m_histdirmucomb)->Fill(mf_eta,mf_phi); + hist2("L2MuonSA_eta_vs_phi_MCmatching_failure", m_histdirmucomb)->Fill(mf_eta,mf_phi); } } } } - //For passHLT chains for(unsigned int nchain=0;nchain<m_chainsL2passHLT.size();nchain++) { Trig::FeatureContainer fc = getTDT()->features(m_chainsL2passHLT[nchain]); @@ -483,7 +489,6 @@ StatusCode HLTMuonMonTool::fillMuCombDQA() } } - // ----------------------------- // Comparision wrt Offline // ----------------------------- diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuFastMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuFastMon.cxx index 27e9251ceaf0b3d24a46bebf19e4219a91c0dcf9..b0b03db9d426f0137d044707ed366ae8432c4966 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuFastMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuFastMon.cxx @@ -2,7 +2,7 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -/** @Afile MuFastMon.cxx +/** @Afile L2MuonSAMon.cxx * * authors: Akimasa Ishikawa (akimasa.ishikawa@cern.ch) * Kunihiro Nagano (nagano@mail.cern.ch) @@ -42,166 +42,166 @@ using namespace std; -StatusCode HLTMuonMonTool::initMuFastDQA() +StatusCode HLTMuonMonTool::initL2MuonSADQA() { return StatusCode::SUCCESS; } -StatusCode HLTMuonMonTool::bookMuFastDQA() +StatusCode HLTMuonMonTool::bookL2MuonSADQA() { //histograms in each 10LBs - if( newRunFlag() || newLowStatFlag() ){ +if( newRunFlag() || newLowStatFlag()){ - addHistogram( new TH2F("muFast_eta_vs_phi_in_10LBs", "muFast eta vs phi in 10LBs; #eta ; #phi", 27, -2.7, 2.7, 16, -CLHEP::pi, CLHEP::pi), m_histdircoverage ); + addHistogram( new TH2F("L2MuonSA_eta_vs_phi_in_10LBs", "L2MuonSA eta vs phi in 10LBs; #eta ; #phi", 27, -2.7, 2.7, 16, -CLHEP::pi, CLHEP::pi), m_histdircoverage ); } if( newRunFlag() ){ // basic EDM variables - addHistogram( new TH1F("muFast_pt_all", "muFast pt (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); - addHistogram( new TH1F("muFast_pt_all_barrel", "muFast pt barrel (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); - addHistogram( new TH1F("muFast_pt_all_endcap", "muFast pt endcap (GeV/c); p_{T} [GeV/c]; Entires", 210, -105., 105.), m_histdirmufast ); - addHistogram( new TH1F("muFast_pt", "muFast pt (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); - addHistogram( new TH1F("muFast_pt_barrel", "muFast pt barrel (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); - addHistogram( new TH1F("muFast_pt_endcap", "muFast pt endcap (GeV/c); p_{T} [GeV/c]; Entires", 210, -105., 105.), m_histdirmufast ); - addHistogram( new TH1F("muFast_eta", "muFast eta; #eta; Entries", 108, -2.7, 2.7), m_histdirmufast ); - addHistogram( new TH1F("muFast_phi", "muFast phi; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); - addHistogram( new TH1F("muFast_phi_barrel", "muFast phi barrel; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); - addHistogram( new TH1F("muFast_phi_endcap", "muFast phi endcap; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); - addHistogram( new TH2F("muFast_eta_vs_phi", "muFast eta vs phi; #eta ; #phi", 108, -2.7, 2.7, 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_pt_all", "L2MuonSA pt (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_pt_all_barrel", "L2MuonSA pt barrel (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_pt_all_endcap", "L2MuonSA pt endcap (GeV/c); p_{T} [GeV/c]; Entires", 210, -105., 105.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_pt", "L2MuonSA pt (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_pt_barrel", "L2MuonSA pt barrel (GeV/c); p_{T} [GeV/c]; Entries", 210, -105., 105.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_pt_endcap", "L2MuonSA pt endcap (GeV/c); p_{T} [GeV/c]; Entires", 210, -105., 105.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_eta", "L2MuonSA eta; #eta; Entries", 108, -2.7, 2.7), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_phi", "L2MuonSA phi; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_phi_barrel", "L2MuonSA phi barrel; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_phi_endcap", "L2MuonSA phi endcap; #phi[rad]; Entries", 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_eta_vs_phi", "L2MuonSA eta vs phi; #eta ; #phi", 108, -2.7, 2.7, 96, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); // position and superpoint - addHistogram( new TH1F("muFast_saddr", "muFast station address; address; Entries", 6, -1, 5), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDTpoints_z_vs_r", "muFast MDT superpoint Z vs R (mm); Z[mm]; R[mm]", 200, -24000, 24000, 200, -14000, 14000), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_saddr", "L2MuonSA station address; address; Entries", 6, -1, 5), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDTpoints_z_vs_r", "L2MuonSA MDT superpoint Z vs R (mm); Z[mm]; R[mm]", 200, -24000, 24000, 200, -14000, 14000), m_histdirmufast ); // RoI ID in case mF failed - addHistogram( new TH1F("muFast_failed_roiId", "muFast roiId in case of failure; RoIID; Entries", 100, 0, 100000), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_failed_roiId", "L2MuonSA roiId in case of failure; RoIID; Entries", 100, 0, 100000), m_histdirmufast ); // RoI descriptor - addHistogram( new TH1F("muFast_forID_dR_toRecMuonCB_mu6", "muFast forID RoI, dR to offline CB; dR(forID vs offl CB); Entries", 100, 0, 0.5), m_histdirmufast ); - addHistogram( new TH2F("muFast_forID_deta_vs_eta_toRecMuonCB_mu6", "muFast forID RoI wrt Offline CB muon, d#eta ; offl CB #eta; d#eta(forID vs offl CB)", + addHistogram( new TH1F("L2MuonSA_forID_dR_toRecMuonCB_mu6", "L2MuonSA forID RoI, dR to offline CB; dR(forID vs offl CB); Entries", 100, 0, 0.5), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_forID_deta_vs_eta_toRecMuonCB_mu6", "L2MuonSA forID RoI wrt Offline CB muon, d#eta ; offl CB #eta; d#eta(forID vs offl CB)", 54, -2.7, 2.7, 60, -0.3, 0.3), m_histdirmufast ); - addHistogram( new TH2F("muFast_forID_dphi_vs_eta_toRecMuonCB_mu6", "muFast forID RoI wrt Offline CB muon, d#phi ; offl CB #eta; d#phi(forID vs offl CB)", + addHistogram( new TH2F("L2MuonSA_forID_dphi_vs_eta_toRecMuonCB_mu6", "L2MuonSA forID RoI wrt Offline CB muon, d#phi ; offl CB #eta; d#phi(forID vs offl CB)", 54, -2.7, 2.7, 44, -0.02, 0.2), m_histdirmufast ); // MuonFeatureDetails - addHistogram( new TH1F("muFast_proc_flow", "muFast process flow;; Entries", 6, 1, 7), m_histdirmufast ); - hist("muFast_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(1,"input"); - hist("muFast_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(2,"n L1 hits > 0"); - hist("muFast_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(3,"L1 emu ok at trigger layer"); - hist("muFast_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(4,"n MDT hits > 0 at middle layer"); - hist("muFast_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(5,"MDT fit ok at middle layer"); - hist("muFast_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(6,"MDT fit ok at >= 2 layers"); + addHistogram( new TH1F("L2MuonSA_proc_flow", "L2MuonSA process flow;; Entries", 6, 1, 7), m_histdirmufast ); + hist("L2MuonSA_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(1,"input"); + hist("L2MuonSA_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(2,"n L1 hits > 0"); + hist("L2MuonSA_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(3,"L1 emu ok at trigger layer"); + hist("L2MuonSA_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(4,"n MDT hits > 0 at middle layer"); + hist("L2MuonSA_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(5,"MDT fit ok at middle layer"); + hist("L2MuonSA_proc_flow", m_histdirmufast)->GetXaxis()->SetBinLabel(6,"MDT fit ok at >= 2 layers"); - addHistogram( new TH1F("muFast_RPC_Pad_N", "muFast RPC number of hits; RPC number of hits; Entries", 20, 0, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_RPC_Pad_N", "L2MuonSA RPC number of hits; RPC number of hits; Entries", 20, 0, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_TGC_Mid_rho_chi2", "muFast TGC big wheel rho fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_TGC_Mid_phi_chi2", "muFast TGC big wheel phi fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_TGC_Mid_rho_chi2", "L2MuonSA TGC big wheel rho fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_TGC_Mid_phi_chi2", "L2MuonSA TGC big wheel phi fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_TGC_Mid_rho_N", "muFast TGC big wheel number of hits in rho; TGC BW rho nhits; Entries", 20, 0, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_TGC_Mid_phi_N", "muFast TGC big wheel number of hits in eta; TGC BW phi nhtis; Entries", 20, 0, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_TGC_Mid_rho_N", "L2MuonSA TGC big wheel number of hits in rho; TGC BW rho nhits; Entries", 20, 0, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_TGC_Mid_phi_N", "L2MuonSA TGC big wheel number of hits in eta; TGC BW phi nhtis; Entries", 20, 0, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_TGC_Inn_rho_N", "muFast TGC small wheel number of hits in rho; TGC SW rho nhits; Entries", 10, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_TGC_Inn_phi_N", "muFast TGC small wheel number of hits in eta; TGC SW phi nhtis; Entries", 10, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_TGC_Inn_rho_N", "L2MuonSA TGC small wheel number of hits in rho; TGC SW rho nhits; Entries", 10, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_TGC_Inn_phi_N", "L2MuonSA TGC small wheel number of hits in eta; TGC SW phi nhtis; Entries", 10, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Inn_fit_chi2_barrel", "muFast barrel MDT Inner station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_fit_chi2_barrel", "muFast barrel MDT Middle station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_fit_chi2_barrel", "muFast barrel MDT Outer station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - - addHistogram( new TH1F("muFast_MDT_Inn_fit_chi2_endcap", "muFast endcap MDT Inner station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_fit_chi2_endcap", "muFast endcap MDT Middle station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_fit_chi2_endcap", "muFast endcap MDT Outer station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); - - addHistogram( new TH1F("muFast_MDT_N_barrel", "muFast barrel MDT number of hits; MDT nhits; Entries", 40, 0, 40), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_N_endcap", "muFast endcap MDT number of hits; MDT nhits; Entries", 40, 0, 40), m_histdirmufast ); - - addHistogram( new TH1F("muFast_MDT_Inn_residual_barrel", "muFast barrel MDT Inner station residual; MDT Inner barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_residual_barrel", "muFast barrel MDT Middle station residual; MDT Middle barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_residual_barrel", "muFast barrel MDT Outer station residual; MDT Outer barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Inn_residual_barrel_OffMatch", "muFast barrel MDT Inner station residual matched with Offline; MDT Inner barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_residual_barrel_OffMatch", "muFast barrel MDT Middle station residual matched with Offline; MDT Middle barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_residual_barrel_OffMatch", "muFast barrel MDT Outer station residual matched with Offline; MDT Outer barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Inn_N_barrel", "muFast barrel MDT Inner number of hits; MDT nhits Inner; Entries", 40, 0, 40), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_N_barrel", "muFast barrel MDT Middle number of hits; MDT nhits Middle; Entries", 40, 0, 40), m_histdirmufast ); - - addHistogram( new TH1F("muFast_MDT_Out_N_barrel", "muFast barrel MDT Outer number of hits; MDT nhits Outer; Entries", 40, 0, 40), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDT_Inn_residual_barrel_vs_LB", "muFast barrel MDT Inner station residual vs LB; LB; MDT Inner barrel residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDT_Mid_residual_barrel_vs_LB", "muFast barrel MDT Middle station residual vs LB; LB; MDT Middle barrel residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDT_Out_residual_barrel_vs_LB", "muFast barrel MDT Outer station residual vs LB; LB; MDT Outer barrel residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); - - addHistogram( new TH1F("muFast_MDT_Inn_residual_endcap", "muFast endcap MDT Inner station residual; MDT Inner endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_residual_endcap", "muFast endcap MDT Middle station residual; MDT Middle endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_residual_endcap", "muFast endcap MDT Outer station residual; MDT Outer endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Inn_residual_endcap_OffMatch", "muFast endcap MDT Inner station residual matched with Offline; MDT Inner endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_residual_endcap_OffMatch", "muFast endcap MDT Middle station residual matched with Offline; MDT Middle endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_residual_endcap_OffMatch", "muFast endcap MDT Outer station residual matched with Offline; MDT Outer endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Inn_N_endcap", "muFast endcap MDT Inner number of hits; MDT nhits Inner; Entries", 40, 0, 40), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Mid_N_endcap", "muFast endcap MDT Middle number of hits; MDT nhits Middle; Entries", 40, 0, 40), m_histdirmufast ); - addHistogram( new TH1F("muFast_MDT_Out_N_endcap", "muFast endcap MDT Outer number of hits; MDT nhits Outer; Entries", 40, 0, 40), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDT_Inn_residual_endcap_vs_LB", "muFast endcap MDT Inner station residual vs LB; LB; MDT Inner endcap residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDT_Mid_residual_endcap_vs_LB", "muFast endcap MDT Middle station residual vs LB; LB; MDT Middle endcap residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); - addHistogram( new TH2F("muFast_MDT_Out_residual_endcap_vs_LB", "muFast endcap MDT Outer station residual vs LB; LB; MDT Outer endcap residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Inn_fit_chi2_barrel", "L2MuonSA barrel MDT Inner station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_fit_chi2_barrel", "L2MuonSA barrel MDT Middle station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_fit_chi2_barrel", "L2MuonSA barrel MDT Outer station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + + addHistogram( new TH1F("L2MuonSA_MDT_Inn_fit_chi2_endcap", "L2MuonSA endcap MDT Inner station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_fit_chi2_endcap", "L2MuonSA endcap MDT Middle station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_fit_chi2_endcap", "L2MuonSA endcap MDT Outer station fit chi2; chi2; Entries", 100, 0, 10), m_histdirmufast ); + + addHistogram( new TH1F("L2MuonSA_MDT_N_barrel", "L2MuonSA barrel MDT number of hits; MDT nhits; Entries", 40, 0, 40), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_N_endcap", "L2MuonSA endcap MDT number of hits; MDT nhits; Entries", 40, 0, 40), m_histdirmufast ); + + addHistogram( new TH1F("L2MuonSA_MDT_Inn_residual_barrel", "L2MuonSA barrel MDT Inner station residual; MDT Inner barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_residual_barrel", "L2MuonSA barrel MDT Middle station residual; MDT Middle barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_residual_barrel", "L2MuonSA barrel MDT Outer station residual; MDT Outer barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Inn_residual_barrel_OffMatch", "L2MuonSA barrel MDT Inner station residual matched with Offline; MDT Inner barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_residual_barrel_OffMatch", "L2MuonSA barrel MDT Middle station residual matched with Offline; MDT Middle barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_residual_barrel_OffMatch", "L2MuonSA barrel MDT Outer station residual matched with Offline; MDT Outer barrel residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Inn_N_barrel", "L2MuonSA barrel MDT Inner number of hits; MDT nhits Inner; Entries", 40, 0, 40), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_N_barrel", "L2MuonSA barrel MDT Middle number of hits; MDT nhits Middle; Entries", 40, 0, 40), m_histdirmufast ); + + addHistogram( new TH1F("L2MuonSA_MDT_Out_N_barrel", "L2MuonSA barrel MDT Outer number of hits; MDT nhits Outer; Entries", 40, 0, 40), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDT_Inn_residual_barrel_vs_LB", "L2MuonSA barrel MDT Inner station residual vs LB; LB; MDT Inner barrel residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDT_Mid_residual_barrel_vs_LB", "L2MuonSA barrel MDT Middle station residual vs LB; LB; MDT Middle barrel residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDT_Out_residual_barrel_vs_LB", "L2MuonSA barrel MDT Outer station residual vs LB; LB; MDT Outer barrel residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); + + addHistogram( new TH1F("L2MuonSA_MDT_Inn_residual_endcap", "L2MuonSA endcap MDT Inner station residual; MDT Inner endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_residual_endcap", "L2MuonSA endcap MDT Middle station residual; MDT Middle endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_residual_endcap", "L2MuonSA endcap MDT Outer station residual; MDT Outer endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Inn_residual_endcap_OffMatch", "L2MuonSA endcap MDT Inner station residual matched with Offline; MDT Inner endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_residual_endcap_OffMatch", "L2MuonSA endcap MDT Middle station residual matched with Offline; MDT Middle endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_residual_endcap_OffMatch", "L2MuonSA endcap MDT Outer station residual matched with Offline; MDT Outer endcap residual [cm]; Entries", 100, -20, 20), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Inn_N_endcap", "L2MuonSA endcap MDT Inner number of hits; MDT nhits Inner; Entries", 40, 0, 40), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Mid_N_endcap", "L2MuonSA endcap MDT Middle number of hits; MDT nhits Middle; Entries", 40, 0, 40), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_MDT_Out_N_endcap", "L2MuonSA endcap MDT Outer number of hits; MDT nhits Outer; Entries", 40, 0, 40), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDT_Inn_residual_endcap_vs_LB", "L2MuonSA endcap MDT Inner station residual vs LB; LB; MDT Inner endcap residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDT_Mid_residual_endcap_vs_LB", "L2MuonSA endcap MDT Middle station residual vs LB; LB; MDT Middle endcap residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_MDT_Out_residual_endcap_vs_LB", "L2MuonSA endcap MDT Outer station residual vs LB; LB; MDT Outer endcap residual [cm]", 750,1.,1501., 80, -20, 20 ), m_histdirmufast ); // Comparison to Offline - addHistogram( new TH1F("muFast_dR_toRecMuonCB", "dR between muFast and Offline; #DeltaR; Entries", 100, 0, 2), m_histdirmufast ); - addHistogram( new TH1F("muFast_ptresol_toRecMuonCB", "muFast pT resolution wrt Offline; p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos", "muFast pT resolution wrt Offline positive muons; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg", "muFast pT resolution wrt Offline negative muons; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_ptresol_toRecMuonCB_BR", "muFast pT resolution wrt Offline Barrel; p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_ptresol_toRecMuonCB_EC1", "muFast pT resolution wrt Offline EndCap1; p_{T} resol; Entries",100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_ptresol_toRecMuonCB_EC2", "muFast pT resolution wrt Offline EndCap2; p_{T} resol; Entries",100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_ptresol_toRecMuonCB_EC3", "muFast pT resolution wrt Offline EndCap3; p_{T} resol; Entries",100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_BR_A", "muFast pT resolution wrt Offline pos muons Barrel A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_BR_A", "muFast pT resolution wrt Offline neg muons Barrel A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_EC1_A", "muFast pT resolution wrt Offline pos muons EndCap1 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_EC1_A", "muFast pT resolution wrt Offline neg muons EndCap1 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_EC2_A", "muFast pT resolution wrt Offline pos muons EndCap2 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_EC2_A", "muFast pT resolution wrt Offline neg muons EndCap2 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_EC3_A", "muFast pT resolution wrt Offline pos muons EndCap3 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_EC3_A", "muFast pT resolution wrt Offline neg muons EndCap3 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_BR_C", "muFast pT resolution wrt Offline pos muons Barrel C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_BR_C", "muFast pT resolution wrt Offline neg muons Barrel C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_EC1_C", "muFast pT resolution wrt Offline pos muons EndCap1 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_EC1_C", "muFast pT resolution wrt Offline neg muons EndCap1 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_EC2_C", "muFast pT resolution wrt Offline pos muons EndCap2 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_EC2_C", "muFast pT resolution wrt Offline neg muons EndCap2 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_pos_EC3_C", "muFast pT resolution wrt Offline pos muons EndCap3 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH1F("muFast_invptresol_toRecMuonCB_neg_EC3_C", "muFast pT resolution wrt Offline neg muons EndCap3 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_dR_toRecMuonCB", "dR between L2MuonSA and Offline; #DeltaR; Entries", 100, 0, 2), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_ptresol_toRecMuonCB", "L2MuonSA pT resolution wrt Offline; p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos", "L2MuonSA pT resolution wrt Offline positive muons; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg", "L2MuonSA pT resolution wrt Offline negative muons; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_ptresol_toRecMuonCB_BR", "L2MuonSA pT resolution wrt Offline Barrel; p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_ptresol_toRecMuonCB_EC1", "L2MuonSA pT resolution wrt Offline EndCap1; p_{T} resol; Entries",100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_ptresol_toRecMuonCB_EC2", "L2MuonSA pT resolution wrt Offline EndCap2; p_{T} resol; Entries",100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_ptresol_toRecMuonCB_EC3", "L2MuonSA pT resolution wrt Offline EndCap3; p_{T} resol; Entries",100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_BR_A", "L2MuonSA pT resolution wrt Offline pos muons Barrel A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_BR_A", "L2MuonSA pT resolution wrt Offline neg muons Barrel A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_EC1_A", "L2MuonSA pT resolution wrt Offline pos muons EndCap1 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_EC1_A", "L2MuonSA pT resolution wrt Offline neg muons EndCap1 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_EC2_A", "L2MuonSA pT resolution wrt Offline pos muons EndCap2 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_EC2_A", "L2MuonSA pT resolution wrt Offline neg muons EndCap2 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_EC3_A", "L2MuonSA pT resolution wrt Offline pos muons EndCap3 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_EC3_A", "L2MuonSA pT resolution wrt Offline neg muons EndCap3 A-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_BR_C", "L2MuonSA pT resolution wrt Offline pos muons Barrel C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_BR_C", "L2MuonSA pT resolution wrt Offline neg muons Barrel C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_EC1_C", "L2MuonSA pT resolution wrt Offline pos muons EndCap1 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_EC1_C", "L2MuonSA pT resolution wrt Offline neg muons EndCap1 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_EC2_C", "L2MuonSA pT resolution wrt Offline pos muons EndCap2 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_EC2_C", "L2MuonSA pT resolution wrt Offline neg muons EndCap2 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_pos_EC3_C", "L2MuonSA pT resolution wrt Offline pos muons EndCap3 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_invptresol_toRecMuonCB_neg_EC3_C", "L2MuonSA pT resolution wrt Offline neg muons EndCap3 C-side; 1/p_{T} resol; Entries", 100, -2., 2.), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_eta", "muFast pT resolution wrt Offline in eta; #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_eta_pT4_6", "muFast pT resolution wrt Offline in eta (pT4GeV-6GeV); #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_eta_pT6_8", "muFast pT resolution wrt Offline in eta (pT6GeV-8GeV); #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_eta_pT8_x", "muFast pT resolution wrt Offline in eta (pT over 8GeV); #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_eta", "L2MuonSA pT resolution wrt Offline in eta; #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_eta_pT4_6", "L2MuonSA pT resolution wrt Offline in eta (pT4GeV-6GeV); #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_eta_pT6_8", "L2MuonSA pT resolution wrt Offline in eta (pT6GeV-8GeV); #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_eta_pT8_x", "L2MuonSA pT resolution wrt Offline in eta (pT over 8GeV); #eta; p_{T} resol", 27, -2.7, 2.7, 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_pt_barrel_A", "muFast barrel A pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_pt_barrel_C", "muFast barrel C pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_pt_endcap_A", "muFast endcap A pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); - addHistogram( new TH2F("muFast_ptresol_toRecMuonCB_pt_endcap_C", "muFast endcap C pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_pt_barrel_A", "L2MuonSA barrel A pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_pt_barrel_C", "L2MuonSA barrel C pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_pt_endcap_A", "L2MuonSA endcap A pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); + addHistogram( new TH2F("L2MuonSA_ptresol_toRecMuonCB_pt_endcap_C", "L2MuonSA endcap C pT resolution wrt Offline in pt; p_{T} [GeV/c]; p_{T} resol", 104, -52., 52., 100, -2, 2), m_histdirmufast ); // Efficiency wrt Offline - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt", "muFast effi pt (GeV/c); p_{T}[GeV/c]; Efficiency", 26, 0, 52), m_histdireff); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_numer", "muFast effi pt (GeV/c) numer; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_denom", "muFast effi pt (GeV/c) denom; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_barrel", "muFast effi pt (GeV/c) barrel; p_{T}[GeV/c]; Efficiency", 26, 0, 52), m_histdireff); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_barrel_numer", "muFast effi pt (GeV/c) barrel numer; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_barrel_denom", "muFast effi pt (GeV/c) barrel denom; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_endcap", "muFast effi pt (GeV/c) endcap; p_{T}[GeV/c]; Efficiency", 26, 0, 52), m_histdireff); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_endcap_numer", "muFast effi pt (GeV/c) endcap numer; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_pt_endcap_denom", "muFast effi pt (GeV/c) endcap denom; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt", "L2MuonSA effi pt (GeV/c); p_{T}[GeV/c]; Efficiency", 26, 0, 52), m_histdireff); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_numer", "L2MuonSA effi pt (GeV/c) numer; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_denom", "L2MuonSA effi pt (GeV/c) denom; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_barrel", "L2MuonSA effi pt (GeV/c) barrel; p_{T}[GeV/c]; Efficiency", 26, 0, 52), m_histdireff); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_barrel_numer", "L2MuonSA effi pt (GeV/c) barrel numer; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_barrel_denom", "L2MuonSA effi pt (GeV/c) barrel denom; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_endcap", "L2MuonSA effi pt (GeV/c) endcap; p_{T}[GeV/c]; Efficiency", 26, 0, 52), m_histdireff); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_endcap_numer", "L2MuonSA effi pt (GeV/c) endcap numer; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_pt_endcap_denom", "L2MuonSA effi pt (GeV/c) endcap denom; p_{T}[GeV/c]; Entries", 26, 0, 52), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_eta", "muFast effi eta; #eta; Efficiency", 32, -3.2, 3.2), m_histdireff ); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_eta_numer", "muFast effi eta numer; #eta; Entries", 32, -3.2, 3.2), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_eta_denom", "muFast effi eta denom; #eta; Entries", 32, -3.2, 3.2), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_eta", "L2MuonSA effi eta; #eta; Efficiency", 32, -3.2, 3.2), m_histdireff ); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_eta_numer", "L2MuonSA effi eta numer; #eta; Entries", 32, -3.2, 3.2), m_histdirmufast); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_eta_denom", "L2MuonSA effi eta denom; #eta; Entries", 32, -3.2, 3.2), m_histdirmufast); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_phi", "muFast effi phi; #phi[rad]; Efficiency", 32, -CLHEP::pi, CLHEP::pi), m_histdireff ); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_phi_numer", "muFast effi phi numer; #phi; Entries", 32, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); - addHistogram( new TH1F("muFast_effi_toRecMuonCB_phi_denom", "muFast effi phi denom; #phi; Entries", 32, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_phi", "L2MuonSA effi phi; #phi[rad]; Efficiency", 32, -CLHEP::pi, CLHEP::pi), m_histdireff ); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_phi_numer", "L2MuonSA effi phi numer; #phi; Entries", 32, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); + addHistogram( new TH1F("L2MuonSA_effi_toRecMuonCB_phi_denom", "L2MuonSA effi phi denom; #phi; Entries", 32, -CLHEP::pi, CLHEP::pi), m_histdirmufast ); } @@ -210,7 +210,7 @@ StatusCode HLTMuonMonTool::bookMuFastDQA() return StatusCode::SUCCESS; } -StatusCode HLTMuonMonTool::fillMuFastDQA() +StatusCode HLTMuonMonTool::fillL2MuonSADQA() { hist("Common_Counter", m_histdir )->Fill((float)MUFAST); @@ -233,33 +233,32 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() // ----------------------------- // Retrieve L2StandAloneMuonContainer // ----------------------------- - const DataHandle<xAOD::L2StandAloneMuonContainer> mfContainer; const DataHandle<xAOD::L2StandAloneMuonContainer> lastmfContainer; StatusCode sc_mf = evtStore()->retrieve(mfContainer,lastmfContainer); if ( sc_mf.isFailure() ) { - ATH_MSG_VERBOSE( "Failed to retrieve HLT muFast container" ); + ATH_MSG_VERBOSE( "Failed to retrieve HLT L2MuonSA container" ); return StatusCode::SUCCESS; } - ATH_MSG_DEBUG( " ====== START HLTMuon muFast MonTool ====== " ); + ATH_MSG_DEBUG( " ====== START HLTMuon L2MuonSA MonTool ====== " ); // ----------------------------- // Dump muonFeature info // ----------------------------- std::vector<const xAOD::L2StandAloneMuon*> vec_muonFeatures; - - for(; mfContainer != lastmfContainer; mfContainer++) { - xAOD::L2StandAloneMuonContainer::const_iterator mf = mfContainer->begin(); - xAOD::L2StandAloneMuonContainer::const_iterator lastmf = mfContainer->end(); - for(; mf != lastmf; mf++) { - if( (*mf) == 0 ) continue; - vec_muonFeatures.push_back( *mf ); + vec_muonFeatures.clear(); + for(auto itr=mfContainer;itr != lastmfContainer; itr++) { + const xAOD::L2StandAloneMuonContainer* mf(nullptr); + ATH_CHECK( evtStore()->retrieve(mf, itr.key())); + for(auto jtr=mf->begin(); jtr!=mf->end(); jtr++){ + if( (*jtr)==nullptr ) continue; + vec_muonFeatures.push_back( *jtr ); } } - int nMuFast = vec_muonFeatures.size(); + int nL2MuonSA = vec_muonFeatures.size(); std::vector<const xAOD::L2StandAloneMuon*>::const_iterator itMf; @@ -267,8 +266,8 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() for(itMf=vec_muonFeatures.begin(); itMf != vec_muonFeatures.end(); itMf++) { //nmf++; int id = (*itMf)->algoId(); - // if( id != 0 ) continue;//muFast_900GeV - // if( id != 1 ) continue;//muFast_Muon + // if( id != 0 ) continue;//L2MuonSA_900GeV + // if( id != 1 ) continue;//L2MuonSA_Muon float pt = (*itMf)->pt(); float eta = (*itMf)->eta(); float phi = (*itMf)->phi(); @@ -311,34 +310,34 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() else { pt_hist = -PT_OVFL; } } - hist("muFast_pt_all", m_histdirmufast)->Fill(pt_hist); - if( isEndcap ) { hist("muFast_pt_all_endcap", m_histdirmufast)->Fill(pt_hist); } - else { hist("muFast_pt_all_barrel", m_histdirmufast)->Fill(pt_hist); } + hist("L2MuonSA_pt_all", m_histdirmufast)->Fill(pt_hist); + if( isEndcap ) { hist("L2MuonSA_pt_all_endcap", m_histdirmufast)->Fill(pt_hist); } + else { hist("L2MuonSA_pt_all_barrel", m_histdirmufast)->Fill(pt_hist); } if( ! mf_success ) { - hist("muFast_failed_roiId", m_histdirmufast)->Fill(roiId+0.01); + hist("L2MuonSA_failed_roiId", m_histdirmufast)->Fill(roiId+0.01); continue; } // basic histos - hist("muFast_pt", m_histdirmufast)->Fill(pt_hist); - hist("muFast_eta", m_histdirmufast)->Fill(eta); - hist("muFast_phi", m_histdirmufast)->Fill(phi); + hist("L2MuonSA_pt", m_histdirmufast)->Fill(pt_hist); + hist("L2MuonSA_eta", m_histdirmufast)->Fill(eta); + hist("L2MuonSA_phi", m_histdirmufast)->Fill(phi); if( mf_success ){ - hist2("muFast_eta_vs_phi", m_histdirmufast)->Fill(eta,phi); - hist2("muFast_eta_vs_phi_in_10LBs", m_histdircoverage)->Fill(eta,phi); + hist2("L2MuonSA_eta_vs_phi", m_histdirmufast)->Fill(eta,phi); + hist2("L2MuonSA_eta_vs_phi_in_10LBs", m_histdircoverage)->Fill(eta,phi); } if( isEndcap ) { - hist("muFast_pt_endcap", m_histdirmufast)->Fill(pt_hist); - hist("muFast_phi_endcap", m_histdirmufast)->Fill(phi); + hist("L2MuonSA_pt_endcap", m_histdirmufast)->Fill(pt_hist); + hist("L2MuonSA_phi_endcap", m_histdirmufast)->Fill(phi); } else { - hist("muFast_pt_barrel", m_histdirmufast)->Fill(pt_hist); - hist("muFast_phi_barrel", m_histdirmufast)->Fill(phi); + hist("L2MuonSA_pt_barrel", m_histdirmufast)->Fill(pt_hist); + hist("L2MuonSA_phi_barrel", m_histdirmufast)->Fill(phi); } // position, superpoints - hist("muFast_saddr", m_histdirmufast )->Fill(saddr+0.01); + hist("L2MuonSA_saddr", m_histdirmufast )->Fill(saddr+0.01); std::vector<float> sp_r; std::vector<float> sp_z; if( fabs((*itMf)->superPointR(inner)) > ZERO_LIMIT ) { @@ -356,13 +355,12 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() float sign = 1; if( phi < 0 ) sign = -1; for(int i=0; i<(int)sp_r.size(); i++) { - hist2("muFast_MDTpoints_z_vs_r", m_histdirmufast)->Fill( sp_z[i], sign*sp_r[i] ); + hist2("L2MuonSA_MDTpoints_z_vs_r", m_histdirmufast)->Fill( sp_z[i], sign*sp_r[i] ); } } // loop over vecMuonFeatures - - int nMuFastD = vec_muonFeatures.size(); + int nL2MuonSAD = vec_muonFeatures.size(); std::vector<const xAOD::L2StandAloneMuon*>::const_iterator itMfd; @@ -373,8 +371,8 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() bool off_match = false; //nmfd++; // int id = (*itMfd)->algoId(); - //if( id != 0 ) continue;//muFast_900GeV //attention - //if( id != 1 ) continue;//muFast_Muon + //if( id != 0 ) continue;//L2MuonSA_900GeV //attention + //if( id != 1 ) continue;//L2MuonSA_Muon //if( id < 10 ) nmfd10++; int systemID = (*itMfd)->roiSystem();//0:barrel,1:endcap,2:forward // (YY commented out for suppressing warning) float pt = (*itMfd)->Pt(); @@ -456,8 +454,6 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() int n_mdt_hits_outer = 0; - // if muFast succeeded segment reconstruction. - //std::cout << "L1_MBTS_2 " << getTDT()->isPassed( "L1_MBTS_2" ) << " L1_MU0 " << getTDT()->isPassed( "L1_MU0" ) << std::endl; if( !isEndcap ){//barrel for(int i_tube=0; i_tube<n_mdt_hits; i_tube++) { @@ -474,26 +470,26 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() if ( imr == inner ) { n_mdt_hits_inner++; - hist("muFast_MDT_Inn_residual_barrel", m_histdirmufast)->Fill(res); - hist2("muFast_MDT_Inn_residual_barrel_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); + hist("L2MuonSA_MDT_Inn_residual_barrel", m_histdirmufast)->Fill(res); + hist2("L2MuonSA_MDT_Inn_residual_barrel_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); if(off_match){ - hist("muFast_MDT_Inn_residual_barrel_OffMatch", m_histdirmufast)->Fill(res); + hist("L2MuonSA_MDT_Inn_residual_barrel_OffMatch", m_histdirmufast)->Fill(res); } } else if( imr == middle ) { n_mdt_hits_middle++; - hist("muFast_MDT_Mid_residual_barrel", m_histdirmufast)->Fill(res); - hist2("muFast_MDT_Mid_residual_barrel_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); + hist("L2MuonSA_MDT_Mid_residual_barrel", m_histdirmufast)->Fill(res); + hist2("L2MuonSA_MDT_Mid_residual_barrel_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); if(off_match){ - hist("muFast_MDT_Mid_residual_barrel_OffMatch", m_histdirmufast)->Fill(res); + hist("L2MuonSA_MDT_Mid_residual_barrel_OffMatch", m_histdirmufast)->Fill(res); } } else if( imr == outer ) { n_mdt_hits_outer++; - hist("muFast_MDT_Out_residual_barrel", m_histdirmufast)->Fill(res); - hist2("muFast_MDT_Out_residual_barrel_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); + hist("L2MuonSA_MDT_Out_residual_barrel", m_histdirmufast)->Fill(res); + hist2("L2MuonSA_MDT_Out_residual_barrel_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); if(off_match){ - hist("muFast_MDT_Out_residual_barrel_OffMatch", m_histdirmufast)->Fill(res); + hist("L2MuonSA_MDT_Out_residual_barrel_OffMatch", m_histdirmufast)->Fill(res); } } } @@ -520,26 +516,26 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() if ( imr == inner ) { n_mdt_hits_inner++; - hist("muFast_MDT_Inn_residual_endcap", m_histdirmufast)->Fill(res); - hist2("muFast_MDT_Inn_residual_endcap_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); + hist("L2MuonSA_MDT_Inn_residual_endcap", m_histdirmufast)->Fill(res); + hist2("L2MuonSA_MDT_Inn_residual_endcap_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); if(off_match){ - hist("muFast_MDT_Inn_residual_endcap_OffMatch", m_histdirmufast)->Fill(res); + hist("L2MuonSA_MDT_Inn_residual_endcap_OffMatch", m_histdirmufast)->Fill(res); } } else if( imr == middle ) { n_mdt_hits_middle++; - hist("muFast_MDT_Mid_residual_endcap", m_histdirmufast)->Fill(res); - hist2("muFast_MDT_Mid_residual_endcap_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); + hist("L2MuonSA_MDT_Mid_residual_endcap", m_histdirmufast)->Fill(res); + hist2("L2MuonSA_MDT_Mid_residual_endcap_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); if(off_match){ - hist("muFast_MDT_Mid_residual_endcap_OffMatch", m_histdirmufast)->Fill(res); + hist("L2MuonSA_MDT_Mid_residual_endcap_OffMatch", m_histdirmufast)->Fill(res); } } else if( imr == outer ) { n_mdt_hits_outer++; - hist("muFast_MDT_Out_residual_endcap", m_histdirmufast)->Fill(res); - hist2("muFast_MDT_Out_residual_endcap_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); + hist("L2MuonSA_MDT_Out_residual_endcap", m_histdirmufast)->Fill(res); + hist2("L2MuonSA_MDT_Out_residual_endcap_vs_LB", m_histdirmufast)->Fill(m_lumiblock, res); if(off_match){ - hist("muFast_MDT_Out_residual_endcap_OffMatch", m_histdirmufast)->Fill(res); + hist("L2MuonSA_MDT_Out_residual_endcap_OffMatch", m_histdirmufast)->Fill(res); } } } @@ -565,46 +561,46 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() ATH_MSG_DEBUG("isMDThitThere/FitOkForTriggerPlane/FitOkFor2Plane=" << isMDThitThereForTriggerPlane << " / " << isMDTFitOkForTriggerPlane << " / " << isMDTFitOkFor2Plane); - hist("muFast_proc_flow",m_histdirmufast)->Fill(1+0.01); - if( isL1hitThere ) hist("muFast_proc_flow",m_histdirmufast)->Fill(2+0.01); - if( isL1emuOkForTriggerPlane ) hist("muFast_proc_flow",m_histdirmufast)->Fill(3+0.01); - if( isMDThitThereForTriggerPlane ) hist("muFast_proc_flow",m_histdirmufast)->Fill(4+0.01); - if( isMDTFitOkForTriggerPlane ) hist("muFast_proc_flow",m_histdirmufast)->Fill(5+0.01); - if( isMDTFitOkFor2Plane ) hist("muFast_proc_flow",m_histdirmufast)->Fill(6+0.01); + hist("L2MuonSA_proc_flow",m_histdirmufast)->Fill(1+0.01); + if( isL1hitThere ) hist("L2MuonSA_proc_flow",m_histdirmufast)->Fill(2+0.01); + if( isL1emuOkForTriggerPlane ) hist("L2MuonSA_proc_flow",m_histdirmufast)->Fill(3+0.01); + if( isMDThitThereForTriggerPlane ) hist("L2MuonSA_proc_flow",m_histdirmufast)->Fill(4+0.01); + if( isMDTFitOkForTriggerPlane ) hist("L2MuonSA_proc_flow",m_histdirmufast)->Fill(5+0.01); + if( isMDTFitOkFor2Plane ) hist("L2MuonSA_proc_flow",m_histdirmufast)->Fill(6+0.01); // fill if( systemID==0 ){//barrel - hist("muFast_RPC_Pad_N", m_histdirmufast)->Fill(nRPC); + hist("L2MuonSA_RPC_Pad_N", m_histdirmufast)->Fill(nRPC); - hist("muFast_MDT_Inn_fit_chi2_barrel", m_histdirmufast)->Fill(MDTInnChi2); - hist("muFast_MDT_Mid_fit_chi2_barrel", m_histdirmufast)->Fill(MDTMidChi2); - hist("muFast_MDT_Out_fit_chi2_barrel", m_histdirmufast)->Fill(MDTOutChi2); + hist("L2MuonSA_MDT_Inn_fit_chi2_barrel", m_histdirmufast)->Fill(MDTInnChi2); + hist("L2MuonSA_MDT_Mid_fit_chi2_barrel", m_histdirmufast)->Fill(MDTMidChi2); + hist("L2MuonSA_MDT_Out_fit_chi2_barrel", m_histdirmufast)->Fill(MDTOutChi2); - hist("muFast_MDT_N_barrel", m_histdirmufast)->Fill(n_mdt_hits+0.01); + hist("L2MuonSA_MDT_N_barrel", m_histdirmufast)->Fill(n_mdt_hits+0.01); - hist("muFast_MDT_Inn_N_barrel", m_histdirmufast)->Fill(n_mdt_hits_inner+0.01); - hist("muFast_MDT_Mid_N_barrel", m_histdirmufast)->Fill(n_mdt_hits_middle+0.01); - hist("muFast_MDT_Out_N_barrel", m_histdirmufast)->Fill(n_mdt_hits_outer+0.01); + hist("L2MuonSA_MDT_Inn_N_barrel", m_histdirmufast)->Fill(n_mdt_hits_inner+0.01); + hist("L2MuonSA_MDT_Mid_N_barrel", m_histdirmufast)->Fill(n_mdt_hits_middle+0.01); + hist("L2MuonSA_MDT_Out_N_barrel", m_histdirmufast)->Fill(n_mdt_hits_outer+0.01); }else{//endcap - hist("muFast_TGC_Mid_rho_N", m_histdirmufast)->Fill(nTGCMidRho+0.01); - hist("muFast_TGC_Mid_phi_N", m_histdirmufast)->Fill(nTGCMidPhi+0.01); - hist("muFast_TGC_Inn_rho_N", m_histdirmufast)->Fill(nTGCInnRho+0.01); - hist("muFast_TGC_Inn_phi_N", m_histdirmufast)->Fill(nTGCInnPhi+0.01); + hist("L2MuonSA_TGC_Mid_rho_N", m_histdirmufast)->Fill(nTGCMidRho+0.01); + hist("L2MuonSA_TGC_Mid_phi_N", m_histdirmufast)->Fill(nTGCMidPhi+0.01); + hist("L2MuonSA_TGC_Inn_rho_N", m_histdirmufast)->Fill(nTGCInnRho+0.01); + hist("L2MuonSA_TGC_Inn_phi_N", m_histdirmufast)->Fill(nTGCInnPhi+0.01); - hist("muFast_TGC_Mid_rho_chi2", m_histdirmufast)->Fill(TGCMidRhoChi2); - hist("muFast_TGC_Mid_phi_chi2", m_histdirmufast)->Fill(TGCMidPhiChi2); + hist("L2MuonSA_TGC_Mid_rho_chi2", m_histdirmufast)->Fill(TGCMidRhoChi2); + hist("L2MuonSA_TGC_Mid_phi_chi2", m_histdirmufast)->Fill(TGCMidPhiChi2); - hist("muFast_MDT_Inn_fit_chi2_endcap", m_histdirmufast)->Fill(MDTInnChi2); - hist("muFast_MDT_Mid_fit_chi2_endcap", m_histdirmufast)->Fill(MDTMidChi2); - hist("muFast_MDT_Out_fit_chi2_endcap", m_histdirmufast)->Fill(MDTOutChi2); + hist("L2MuonSA_MDT_Inn_fit_chi2_endcap", m_histdirmufast)->Fill(MDTInnChi2); + hist("L2MuonSA_MDT_Mid_fit_chi2_endcap", m_histdirmufast)->Fill(MDTMidChi2); + hist("L2MuonSA_MDT_Out_fit_chi2_endcap", m_histdirmufast)->Fill(MDTOutChi2); - hist("muFast_MDT_N_endcap", m_histdirmufast)->Fill(n_mdt_hits); + hist("L2MuonSA_MDT_N_endcap", m_histdirmufast)->Fill(n_mdt_hits); - hist("muFast_MDT_Inn_N_endcap", m_histdirmufast)->Fill(n_mdt_hits_inner+0.01); - hist("muFast_MDT_Mid_N_endcap", m_histdirmufast)->Fill(n_mdt_hits_middle+0.01); - hist("muFast_MDT_Out_N_endcap", m_histdirmufast)->Fill(n_mdt_hits_outer+0.01); + hist("L2MuonSA_MDT_Inn_N_endcap", m_histdirmufast)->Fill(n_mdt_hits_inner+0.01); + hist("L2MuonSA_MDT_Mid_N_endcap", m_histdirmufast)->Fill(n_mdt_hits_middle+0.01); + hist("L2MuonSA_MDT_Out_N_endcap", m_histdirmufast)->Fill(n_mdt_hits_outer+0.01); } } // end of loop MuonFeture @@ -640,15 +636,15 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() if( signed_pt_offl_hist > EFFI_PT_HISTMAX ) signed_pt_offl_hist = EFFI_PT_OVFL; else if( signed_pt_offl_hist < -EFFI_PT_HISTMAX ) signed_pt_offl_hist = -EFFI_PT_OVFL; - hist("muFast_effi_toRecMuonCB_pt_denom", m_histdirmufast)->Fill(pt_offl_hist); - hist("muFast_effi_toRecMuonCB_eta_denom", m_histdirmufast)->Fill(eta_offl); - hist("muFast_effi_toRecMuonCB_phi_denom", m_histdirmufast)->Fill(phi_offl); + hist("L2MuonSA_effi_toRecMuonCB_pt_denom", m_histdirmufast)->Fill(pt_offl_hist); + hist("L2MuonSA_effi_toRecMuonCB_eta_denom", m_histdirmufast)->Fill(eta_offl); + hist("L2MuonSA_effi_toRecMuonCB_phi_denom", m_histdirmufast)->Fill(phi_offl); if( fabs(eta_offl) < ETA_OF_BARREL ) { - hist("muFast_effi_toRecMuonCB_pt_barrel_denom", m_histdirmufast)->Fill(pt_offl_hist); + hist("L2MuonSA_effi_toRecMuonCB_pt_barrel_denom", m_histdirmufast)->Fill(pt_offl_hist); } else { - hist("muFast_effi_toRecMuonCB_pt_endcap_denom", m_histdirmufast)->Fill(pt_offl_hist); + hist("L2MuonSA_effi_toRecMuonCB_pt_endcap_denom", m_histdirmufast)->Fill(pt_offl_hist); } // check whether matching muonFeature is there @@ -668,8 +664,8 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() } - hist("muFast_dR_toRecMuonCB", m_histdirmufast)->Fill(dRmin); - if( dRmin > DR_MATCHED ) continue; // not matched to muFast + hist("L2MuonSA_dR_toRecMuonCB", m_histdirmufast)->Fill(dRmin); + if( dRmin > DR_MATCHED ) continue; // not matched to L2MuonSA // efficiencies, resolutions float ptresol = 0; @@ -682,113 +678,113 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() } if( fabs(ptresol) > PTRESOL_HISTMAX ) ptresol_hist = ptresol_hist / fabs(ptresol_hist) * PTRESOL_OVFL; - hist("muFast_ptresol_toRecMuonCB", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg", m_histdirmufast)->Fill(invptresol_signed); } - hist2("muFast_ptresol_toRecMuonCB_eta", m_histdirmufast)->Fill(eta_offl, ptresol_hist); - hist("muFast_effi_toRecMuonCB_pt_numer", m_histdirmufast)->Fill(pt_offl_hist); - hist("muFast_effi_toRecMuonCB_eta_numer", m_histdirmufast)->Fill(eta_offl); - hist("muFast_effi_toRecMuonCB_phi_numer", m_histdirmufast)->Fill(phi_offl); + hist2("L2MuonSA_ptresol_toRecMuonCB_eta", m_histdirmufast)->Fill(eta_offl, ptresol_hist); + hist("L2MuonSA_effi_toRecMuonCB_pt_numer", m_histdirmufast)->Fill(pt_offl_hist); + hist("L2MuonSA_effi_toRecMuonCB_eta_numer", m_histdirmufast)->Fill(eta_offl); + hist("L2MuonSA_effi_toRecMuonCB_phi_numer", m_histdirmufast)->Fill(phi_offl); if( fabs(eta_offl) < ETA_OF_BARREL ) { - hist("muFast_effi_toRecMuonCB_pt_barrel_numer", m_histdirmufast)->Fill(pt_offl_hist); - if(eta_offl>0) hist2("muFast_ptresol_toRecMuonCB_pt_barrel_A", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); - else hist2("muFast_ptresol_toRecMuonCB_pt_barrel_C", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); + hist("L2MuonSA_effi_toRecMuonCB_pt_barrel_numer", m_histdirmufast)->Fill(pt_offl_hist); + if(eta_offl>0) hist2("L2MuonSA_ptresol_toRecMuonCB_pt_barrel_A", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); + else hist2("L2MuonSA_ptresol_toRecMuonCB_pt_barrel_C", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); } else { - hist("muFast_effi_toRecMuonCB_pt_endcap_numer", m_histdirmufast)->Fill(pt_offl_hist); - if(eta_offl>0) hist2("muFast_ptresol_toRecMuonCB_pt_endcap_A", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); - else hist2("muFast_ptresol_toRecMuonCB_pt_endcap_C", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); + hist("L2MuonSA_effi_toRecMuonCB_pt_endcap_numer", m_histdirmufast)->Fill(pt_offl_hist); + if(eta_offl>0) hist2("L2MuonSA_ptresol_toRecMuonCB_pt_endcap_A", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); + else hist2("L2MuonSA_ptresol_toRecMuonCB_pt_endcap_C", m_histdirmufast)->Fill(signed_pt_offl_hist, ptresol_hist); } if (eta_offl >= 0) { if( fabs(eta_offl) < ETA_OF_BARREL ) { - hist("muFast_ptresol_toRecMuonCB_BR", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_BR", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_BR_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_BR_A", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_BR_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_BR_A", m_histdirmufast)->Fill(invptresol_signed); } } else if( fabs(eta_offl) < ETA_OF_ENDCAP1){ - hist("muFast_ptresol_toRecMuonCB_EC1", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_EC1", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_EC1_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_EC1_A", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_EC1_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_EC1_A", m_histdirmufast)->Fill(invptresol_signed); } } else if( fabs(eta_offl) < ETA_OF_ENDCAP2){ - hist("muFast_ptresol_toRecMuonCB_EC2", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_EC2", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_EC2_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_EC2_A", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_EC2_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_EC2_A", m_histdirmufast)->Fill(invptresol_signed); } } else if( fabs(eta_offl) < ETA_OF_ENDCAP3){ - hist("muFast_ptresol_toRecMuonCB_EC3", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_EC3", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_EC3_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_EC3_A", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_EC3_A", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_EC3_A", m_histdirmufast)->Fill(invptresol_signed); } } } else { if( fabs(eta_offl) < ETA_OF_BARREL ) { - hist("muFast_ptresol_toRecMuonCB_BR", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_BR", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_BR_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_BR_C", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_BR_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_BR_C", m_histdirmufast)->Fill(invptresol_signed); } } else if( fabs(eta_offl) < ETA_OF_ENDCAP1){ - hist("muFast_ptresol_toRecMuonCB_EC1", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_EC1", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_EC1_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_EC1_C", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_EC1_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_EC1_C", m_histdirmufast)->Fill(invptresol_signed); } } else if( fabs(eta_offl) < ETA_OF_ENDCAP2){ - hist("muFast_ptresol_toRecMuonCB_EC2", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_EC2", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_EC2_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_EC2_C", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_EC2_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_EC2_C", m_histdirmufast)->Fill(invptresol_signed); } } else if( fabs(eta_offl) < ETA_OF_ENDCAP3){ - hist("muFast_ptresol_toRecMuonCB_EC3", m_histdirmufast)->Fill(ptresol_hist); + hist("L2MuonSA_ptresol_toRecMuonCB_EC3", m_histdirmufast)->Fill(ptresol_hist); if (charge_offl > 0) { - hist("muFast_invptresol_toRecMuonCB_pos_EC3_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_pos_EC3_C", m_histdirmufast)->Fill(invptresol_signed); } if (charge_offl < 0) { - hist("muFast_invptresol_toRecMuonCB_neg_EC3_C", m_histdirmufast)->Fill(invptresol_signed); + hist("L2MuonSA_invptresol_toRecMuonCB_neg_EC3_C", m_histdirmufast)->Fill(invptresol_signed); } } } if( fabs(pt_offl) > 4 ) { if( fabs(pt_offl) < 6 ){ - hist2("muFast_ptresol_toRecMuonCB_eta_pT4_6", m_histdirmufast)->Fill(eta_offl, ptresol_hist); + hist2("L2MuonSA_ptresol_toRecMuonCB_eta_pT4_6", m_histdirmufast)->Fill(eta_offl, ptresol_hist); } else if( fabs(pt_offl) < 8 ){ - hist2("muFast_ptresol_toRecMuonCB_eta_pT6_8", m_histdirmufast)->Fill(eta_offl, ptresol_hist); + hist2("L2MuonSA_ptresol_toRecMuonCB_eta_pT6_8", m_histdirmufast)->Fill(eta_offl, ptresol_hist); } else{ - hist2("muFast_ptresol_toRecMuonCB_eta_pT8_x", m_histdirmufast)->Fill(eta_offl, ptresol_hist); + hist2("L2MuonSA_ptresol_toRecMuonCB_eta_pT8_x", m_histdirmufast)->Fill(eta_offl, ptresol_hist); } } @@ -820,9 +816,9 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() ATH_MSG_DEBUG("mu6(MF): dR matched=" << dRmin_mu6); ATH_MSG_DEBUG(" : forID RoI eta/phi=" << forIDroi_eta_mu6 << " / " << forIDroi_phi_mu6); ATH_MSG_DEBUG(" : forID RoI dR/deta/dphi wrt Offl CB=" << dr << " / " << deta << " / " << dphi); - hist("muFast_forID_dR_toRecMuonCB_mu6", m_histdirmufast)->Fill(dr); - hist2("muFast_forID_deta_vs_eta_toRecMuonCB_mu6", m_histdirmufast)->Fill(eta_offl,deta); - hist2("muFast_forID_dphi_vs_eta_toRecMuonCB_mu6", m_histdirmufast)->Fill(eta_offl,dphi); + hist("L2MuonSA_forID_dR_toRecMuonCB_mu6", m_histdirmufast)->Fill(dr); + hist2("L2MuonSA_forID_deta_vs_eta_toRecMuonCB_mu6", m_histdirmufast)->Fill(eta_offl,deta); + hist2("L2MuonSA_forID_dphi_vs_eta_toRecMuonCB_mu6", m_histdirmufast)->Fill(eta_offl,dphi); } } // end of offline muon loop @@ -831,32 +827,32 @@ StatusCode HLTMuonMonTool::fillMuFastDQA() // end // ----------------------------- - if(nMuFast)hist("Common_Counter", m_histdir)->Fill((float)MUFASTFOUND); - if(nMuFastD)hist("Common_Counter", m_histdir)->Fill((float)MUFASTDFOUND); + if(nL2MuonSA)hist("Common_Counter", m_histdir)->Fill((float)MUFASTFOUND); + if(nL2MuonSAD)hist("Common_Counter", m_histdir)->Fill((float)MUFASTDFOUND); return StatusCode::SUCCESS; } -StatusCode HLTMuonMonTool::procMuFastDQA() +StatusCode HLTMuonMonTool::procL2MuonSADQA() { if( endOfRunFlag() ){ // efficiency histograms - hist("muFast_effi_toRecMuonCB_pt", m_histdireff)->Sumw2(); - hist("muFast_effi_toRecMuonCB_pt", m_histdireff)->Divide( hist("muFast_effi_toRecMuonCB_pt_numer", m_histdirmufast), hist("muFast_effi_toRecMuonCB_pt_denom", m_histdirmufast), 1, 1, "B" ); + hist("L2MuonSA_effi_toRecMuonCB_pt", m_histdireff)->Sumw2(); + hist("L2MuonSA_effi_toRecMuonCB_pt", m_histdireff)->Divide( hist("L2MuonSA_effi_toRecMuonCB_pt_numer", m_histdirmufast), hist("L2MuonSA_effi_toRecMuonCB_pt_denom", m_histdirmufast), 1, 1, "B" ); - hist("muFast_effi_toRecMuonCB_pt_barrel", m_histdireff)->Sumw2(); - hist("muFast_effi_toRecMuonCB_pt_barrel", m_histdireff)->Divide( hist("muFast_effi_toRecMuonCB_pt_barrel_numer", m_histdirmufast), hist("muFast_effi_toRecMuonCB_pt_barrel_denom", m_histdirmufast), 1, 1, "B" ); + hist("L2MuonSA_effi_toRecMuonCB_pt_barrel", m_histdireff)->Sumw2(); + hist("L2MuonSA_effi_toRecMuonCB_pt_barrel", m_histdireff)->Divide( hist("L2MuonSA_effi_toRecMuonCB_pt_barrel_numer", m_histdirmufast), hist("L2MuonSA_effi_toRecMuonCB_pt_barrel_denom", m_histdirmufast), 1, 1, "B" ); - hist("muFast_effi_toRecMuonCB_pt_endcap", m_histdireff)->Sumw2(); - hist("muFast_effi_toRecMuonCB_pt_endcap", m_histdireff)->Divide( hist("muFast_effi_toRecMuonCB_pt_endcap_numer", m_histdirmufast), hist("muFast_effi_toRecMuonCB_pt_endcap_denom", m_histdirmufast), 1, 1, "B" ); + hist("L2MuonSA_effi_toRecMuonCB_pt_endcap", m_histdireff)->Sumw2(); + hist("L2MuonSA_effi_toRecMuonCB_pt_endcap", m_histdireff)->Divide( hist("L2MuonSA_effi_toRecMuonCB_pt_endcap_numer", m_histdirmufast), hist("L2MuonSA_effi_toRecMuonCB_pt_endcap_denom", m_histdirmufast), 1, 1, "B" ); - hist("muFast_effi_toRecMuonCB_eta", m_histdireff)->Sumw2(); - hist("muFast_effi_toRecMuonCB_eta", m_histdireff)->Divide( hist("muFast_effi_toRecMuonCB_eta_numer", m_histdirmufast), hist("muFast_effi_toRecMuonCB_eta_denom", m_histdirmufast), 1, 1, "B" ); + hist("L2MuonSA_effi_toRecMuonCB_eta", m_histdireff)->Sumw2(); + hist("L2MuonSA_effi_toRecMuonCB_eta", m_histdireff)->Divide( hist("L2MuonSA_effi_toRecMuonCB_eta_numer", m_histdirmufast), hist("L2MuonSA_effi_toRecMuonCB_eta_denom", m_histdirmufast), 1, 1, "B" ); - hist("muFast_effi_toRecMuonCB_phi", m_histdireff)->Sumw2(); - hist("muFast_effi_toRecMuonCB_phi", m_histdireff)->Divide( hist("muFast_effi_toRecMuonCB_phi_numer", m_histdirmufast), hist("muFast_effi_toRecMuonCB_phi_denom", m_histdirmufast), 1, 1, "B" ); + hist("L2MuonSA_effi_toRecMuonCB_phi", m_histdireff)->Sumw2(); + hist("L2MuonSA_effi_toRecMuonCB_phi", m_histdireff)->Divide( hist("L2MuonSA_effi_toRecMuonCB_phi_numer", m_histdirmufast), hist("L2MuonSA_effi_toRecMuonCB_phi_denom", m_histdirmufast), 1, 1, "B" ); } //else if( endOfLumiBlockFlag() ){ } diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuGirlMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuGirlMon.cxx index c3675e029c2710617e0c68f712acea2ffa293f2a..d1ca17e0d0829f54049311c8f7a909763f9dfba5 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuGirlMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuGirlMon.cxx @@ -48,8 +48,6 @@ StatusCode HLTMuonMonTool::initMuGirlDQA() StatusCode HLTMuonMonTool::bookMuGirlDQA() { - //if( newRunFlag() ){ } - //else if( newLumiBlockFlag() ){ } return StatusCode::SUCCESS; } @@ -60,7 +58,5 @@ StatusCode HLTMuonMonTool::fillMuGirlDQA() StatusCode HLTMuonMonTool::procMuGirlDQA() { - //if( m_endOfRun ){ } - //else if( m_endOfLumiBlock ){ } return StatusCode::SUCCESS; } diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuIsoMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuIsoMon.cxx index 08552c1bed18054e61744a412f0688fb341ce7cf..78d8514bb01e336dabff2aabc3f6e4b9614727e7 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuIsoMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuIsoMon.cxx @@ -121,13 +121,13 @@ StatusCode HLTMuonMonTool::fillMuIsoDQA() // ----------------------------- std::vector<const IsoMuonFeature*> vec_isoMuonFeatures; - - for(; isoContainer != lastisoContainer; isoContainer++) { - IsoMuonFeatureContainer::const_iterator iso = isoContainer->begin(); - IsoMuonFeatureContainer::const_iterator lastiso = isoContainer->end(); - for(; iso != lastiso; iso++) { - if( (*iso)==0 ) continue; - vec_isoMuonFeatures.push_back( *iso ); + vec_isoMuonFeatures.clear(); + for(auto itr=isoContainer; itr!= lastisoContainer; itr++) { + const IsoMuonFeatureContainer* iso(nullptr); + ATH_CHECK( evtStore()->retrieve(iso, itr.key())); + for(auto jtr=iso->begin(); jtr!= iso->end(); jtr++) { + if( (*jtr)==nullptr ) continue; + vec_isoMuonFeatures.push_back( *jtr ); } } @@ -256,7 +256,6 @@ StatusCode HLTMuonMonTool::procMuIsoDQA() hist("muIso_effi_toOffl_pt", m_histdireff)->Sumw2(); hist("muIso_effi_toOffl_pt", m_histdireff)->Divide( hist("muIso_effi_toOffl_pt_numer", m_histdirmuiso ), hist("muIso_effi_toOffl_pt_denom", m_histdirmuiso ), 1, 1, "B" ); - } //else if ( endOfLumiBlockFlag() ) { } return StatusCode::SUCCESS; diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuZTPMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuZTPMon.cxx index fdf18a10d64cd3d211569cbc2c3c56dd2b001fd7..55fa2e69bfbcc2dc31dcdb94dbef534407851c6e 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuZTPMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuZTPMon.cxx @@ -143,7 +143,7 @@ StatusCode HLTMuonMonTool::bookMuZTPDQA() }else{ ptbins[0] = 0; ptbins[1] = 30; - ptbins[2] = 50; + ptbins[2] = 60; ptbins[3] = 100; ptbins[4] = 500; } @@ -249,7 +249,6 @@ StatusCode HLTMuonMonTool::bookMuZTPDQA() if(isefisochain) ratio.push_back("EFIsowrtEF"); }//var }//trigger vector - } //else if( newLumiBlockFlag() ){ } return StatusCode::SUCCESS; @@ -470,8 +469,8 @@ StatusCode HLTMuonMonTool::fillMuZTPDQA() // end the code add by Yuan // 2 Oct 2014 YY: not simple to find an active TE? think about it - // bool L2CBActive = false; - // bool L2SAActive = false; + bool L2CBActive = false; + bool L2SAActive = false; /////// L2 ///////////// // 2 Oct 2014 - YY: getting CombinedMuonFeature from HLT combinations @@ -481,36 +480,52 @@ StatusCode HLTMuonMonTool::fillMuZTPDQA() // if(!ismuIsochain) std::vector<Trig::Feature<xAOD::L2CombinedMuonContainer> > muCombL2Feature = (*jL2).get<xAOD::L2CombinedMuonContainer>("MuonL2CBInfo",TrigDefs::alsoDeactivateTEs); - if (muCombL2Feature.size()!=1) { - ATH_MSG_DEBUG( "Vector of L2 muComb InfoContainers size is not 1" ); - } else { - const xAOD::L2CombinedMuonContainer* muCombL2 = muCombL2Feature[0]; + for (auto &fCB : muCombL2Feature){ + const xAOD::L2CombinedMuonContainer* muCombL2 = fCB.cptr(); if (!muCombL2) { ATH_MSG_DEBUG( "No muComb track found" ); } else { ATH_MSG_DEBUG( " muComb muon exists " ); - // L2CBActive = muCombL2.te()->getActiveState(); - L2Cbpt.push_back(muCombL2->at(0)->pt()); - L2Cbeta.push_back(muCombL2->at(0)->eta()); - L2Cbphi.push_back(muCombL2->at(0)->phi()); + L2CBActive = fCB.te()->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << Trig::getTEName(*fCB.te()) << " / " << L2CBActive); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(fCB.te(), "L2muComb", itmap->first); + if(hypo){ + L2CBActive = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << Trig::getTEName(*hypo) << " / " << L2CBActive); + } + } + if(L2CBActive){ + L2Cbpt.push_back(muCombL2->at(0)->pt()); + L2Cbeta.push_back(muCombL2->at(0)->eta()); + L2Cbphi.push_back(muCombL2->at(0)->phi()); + } } } }//!isMSonlychain - //muFast - std::vector< Trig::Feature<xAOD::L2StandAloneMuonContainer> > muFastL2Feature = (*jL2).get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); - if (muFastL2Feature.size() != 1) { - ATH_MSG_DEBUG( "Vector of L2 muFast InfoContainers size is not 1" ); - } else { - const xAOD::L2StandAloneMuonContainer* muFastL2 = muFastL2Feature[0]; - if (!muFastL2) { + //L2MuonSA + std::vector< Trig::Feature<xAOD::L2StandAloneMuonContainer> > L2MuonSAL2Feature = (*jL2).get<xAOD::L2StandAloneMuonContainer>("MuonL2SAInfo",TrigDefs::alsoDeactivateTEs); + for (auto &fSA : L2MuonSAL2Feature){ + const xAOD::L2StandAloneMuonContainer* L2MuonSAL2 = fSA.cptr(); + if (!L2MuonSAL2) { ATH_MSG_DEBUG( "No mufast track found" ); } else { - ATH_MSG_DEBUG( " muFast muon exists " ); - // L2SAActive = muFastL2.te()->getActiveState(); - L2Expt.push_back( muFastL2->at(0)->pt()); - L2Exeta.push_back(muFastL2->at(0)->eta()); - L2Exphi.push_back(muFastL2->at(0)->phi()); + ATH_MSG_DEBUG( " L2MuonSA muon exists " ); + L2SAActive = fSA.te()->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << Trig::getTEName(*fSA.te()) << " / " << L2SAActive); + if(m_access_hypoTE){ + const HLT::TriggerElement *hypo = getDirectSuccessorHypoTEForL2(fSA.te(), "L2MuonSA", itmap->first); + if(hypo){ + L2SAActive = hypo->getActiveState(); + ATH_MSG_DEBUG("...mF: label/active=" << Trig::getTEName(*hypo) << " / " << L2SAActive); + } + } + if(L2SAActive){ + L2Expt.push_back( L2MuonSAL2->at(0)->pt()); + L2Exeta.push_back(L2MuonSAL2->at(0)->eta()); + L2Exphi.push_back(L2MuonSAL2->at(0)->phi()); + } } } }//jL2 @@ -644,7 +659,7 @@ StatusCode HLTMuonMonTool::fillMuZTPDQA() if (recMuon->combinedTrackParticleLink()!=0 ){ ATH_MSG_DEBUG( "CB muon found" ); - if(recMuon->muonType() != xAOD::Muon::MuonType::Combined) ATH_MSG_WARNING( " Combined track link found, but not a combined muon!!!!"); + if(recMuon->muonType() != xAOD::Muon::MuonType::Combined) ATH_MSG_DEBUG( " Combined track link found, but not a combined muon!!!!"); n_RecCBmuon++; @@ -769,7 +784,7 @@ StatusCode HLTMuonMonTool::fillMuZTPDQA() hist2(("muZTP_EtaPhi_L1_" + itmap->second).c_str(), histdirmuztp)->Fill(probeeta, probephi); } //L2 - if(isTriggered_L2 && isMSonlychain && passedSAchainL2[probe] && passedchainL1[probe]) { //muFast + if(isTriggered_L2 && isMSonlychain && passedSAchainL2[probe] && passedchainL1[probe]) { //L2MuonSA hist(("muZTP_Pt_L2fired_" + itmap->second).c_str(), histdirmuztp)->Fill(probept); hist(("muZTP_Pt_4bins_L2fired_" + itmap->second).c_str(), histdirmuztp)->Fill(probept); if( isEndcap ) hist(("muZTP_Pt_EC_L2fired_" + itmap->second).c_str(), histdirmuztp)->Fill(probept); @@ -996,7 +1011,6 @@ StatusCode HLTMuonMonTool::procMuZTPDQA() //RELATIVE }//var } - } //else if( endOfLumiBlockFlag() ){ } return StatusCode::SUCCESS; diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuonEFMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuonEFMon.cxx index b04112cd28641ea9f3cdf0aba5c3b11afcdc96c7..d936efd5d0c7a13b2976ed3d57635dccc25fa119 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuonEFMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/MuonEFMon.cxx @@ -51,6 +51,7 @@ using namespace std; + StatusCode HLTMuonMonTool::initMuonEFDQA() { return StatusCode::SUCCESS; @@ -149,15 +150,15 @@ StatusCode HLTMuonMonTool::bookMuonEFDQA() addHistogram(new TH1F("RecAwareCBmuon_eta", "RecCBmuon_eta ; #eta", 200,-5.,5.), m_histdirmuonef); addHistogram(new TH1F("RecAwareCBmuon_phi", "RecCBmuon_phi ; #phi[rad]", 100,-3.15,3.15), m_histdirmuonef); - // correlation histograms -- EFMS vs Reco muons which passed LVL2 MuFast - addHistogram(new TH2F("EF_SAwrtRecL2Aware_PtCor", "PtCor_SAwrtRecMuFastAware ; RecSAmuon_Pt [GeV/c]; EFSAmuon_Pt [GeV/c]", 100, 0.,100., 100, 0.,100.), m_histdirmuonef); - addHistogram(new TH2F("EF_SAwrtRecL2Aware_EtaCor", "EtaCor_SAwrtRecMuFastAware ; RecSAmuon_Eta ; EFSAmuon_Eta", 100,-3.2,3.2, 100,-3.2,3.2), m_histdirmuonef); - addHistogram(new TH2F("EF_SAwrtRecL2Aware_PhiCor", "PhiCor_SAwrtRecMuFastAware ; RecSAmuon_Phi [rad]; EFSAmuon_Phi [rad]", 100,-3.15,3.15, 100,-3.15,3.15), m_histdirmuonef); - addHistogram(new TH1F("EF_SAwrtRecL2Aware_dPt", "dPt_SAwrtRecMuFastAware ; dPt [GeV/c]", 100,-0.5,0.5), m_histdirmuonef); - addHistogram(new TH1F("EF_SAwrtRecL2Aware_dEta", "dEta_SAwrtRecMuFastAware ; dEta", 200,-5.,5.), m_histdirmuonef); - addHistogram(new TH1F("EF_SAwrtRecL2Aware_dPhi", "dPhi_SAwrtRecMuFastAware ; dPhi [rad]", 100,-3.15,3.15), m_histdirmuonef); + // correlation histograms -- EFMS vs Reco muons which passed LVL2 L2MuonSA + addHistogram(new TH2F("EF_SAwrtRecL2Aware_PtCor", "PtCor_SAwrtRecL2MuonSAAware ; RecSAmuon_Pt [GeV/c]; EFSAmuon_Pt [GeV/c]", 100, 0.,100., 100, 0.,100.), m_histdirmuonef); + addHistogram(new TH2F("EF_SAwrtRecL2Aware_EtaCor", "EtaCor_SAwrtRecL2MuonSAAware ; RecSAmuon_Eta ; EFSAmuon_Eta", 100,-3.2,3.2, 100,-3.2,3.2), m_histdirmuonef); + addHistogram(new TH2F("EF_SAwrtRecL2Aware_PhiCor", "PhiCor_SAwrtRecL2MuonSAAware ; RecSAmuon_Phi [rad]; EFSAmuon_Phi [rad]", 100,-3.15,3.15, 100,-3.15,3.15), m_histdirmuonef); + addHistogram(new TH1F("EF_SAwrtRecL2Aware_dPt", "dPt_SAwrtRecL2MuonSAAware ; dPt [GeV/c]", 100,-0.5,0.5), m_histdirmuonef); + addHistogram(new TH1F("EF_SAwrtRecL2Aware_dEta", "dEta_SAwrtRecL2MuonSAAware ; dEta", 200,-5.,5.), m_histdirmuonef); + addHistogram(new TH1F("EF_SAwrtRecL2Aware_dPhi", "dPhi_SAwrtRecL2MuonSAAware ; dPhi [rad]", 100,-3.15,3.15), m_histdirmuonef); - // Muon EF SA Efficiencies: SA Muons wrt Reco muons which passed LVL2 MuFast + // Muon EF SA Efficiencies: SA Muons wrt Reco muons which passed LVL2 L2MuonSA addHistogram(new TH1F("EffSA_L2Aware_pt", "pt ; p_{T}[GeV/c]", 100,0.,100.), m_histdirmuonef); addHistogram(new TH1F("EffSA_L2Aware_eta", "eta ; #eta", 200,-5.,5.), m_histdirmuonef); addHistogram(new TH1F("EffSA_L2Aware_phi", "phi ; #phi[rad]", 100,-3.15,3.15), m_histdirmuonef); @@ -226,8 +227,21 @@ StatusCode HLTMuonMonTool::bookMuonEFDQA() addHistogram( new TH1F("EF_SA_Over_Moore_SA_10GeV_Cut", "EF_SA_Over_Moore_SA_10GeV_Cut; LB ; Ratio", 400, 1., 801.), m_histdirrateratio ); addHistogram( new TH1F("EF_CB_Over_Muid_10GeV_Cut", "EF_CB_Over_Muid_10GeV_Cut; LB ; Ratio", 400, 1., 801.), m_histdirrateratio ); + //single chain monitoring ATR-17713 + std::vector<string> triggerlist; + triggerlist.insert(triggerlist.end(), m_chainsGeneric.begin(), m_chainsGeneric.end()); + triggerlist.insert(triggerlist.end(), m_chainsEFiso.begin(), m_chainsEFiso.end()); + triggerlist.insert(triggerlist.end(), m_chainsMSonly.begin(), m_chainsMSonly.end()); + triggerlist.insert(triggerlist.end(), m_chainsEFFS.begin(), m_chainsEFFS.end()); + triggerlist.insert(triggerlist.end(), m_chainsLowpt.begin(), m_chainsLowpt.end()); + for (std::string trig : triggerlist){ + addHistogram( new TH1F(Form("EF_pt_%s",trig.c_str()), Form("TrigMuonEF pT %s; p_{T}; Entries", trig.c_str()), 105, 0., 105.), m_histdirmuonef ); + addHistogram( new TH1F(Form("EF_eta_%s",trig.c_str()), Form("TrigMuonEF #eta %s; #eta; Entries", trig.c_str()), 108, -2.7, 2.7), m_histdirmuonef ); + addHistogram( new TH1F(Form("EF_phi_%s",trig.c_str()), Form("TrigMuonEF #phi[rad] %s; #phi [rad]; Entries", trig.c_str()), 96, -CLHEP::pi,CLHEP::pi), m_histdirmuonef ); + } + } - //else if( newLumiBlockFlag() ){ } + //else if( endOfLumiBlockFlag() ){ } return StatusCode::SUCCESS; } @@ -300,7 +314,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() int nMuonEFiMS=0, nMuonEFiSA=0, nMuonEFiCB=0; int nMuonEFMS=0, nMuonEFSA=0, nMuonEFCB=0; int nmethod = 0; - // Section 1: simple histograms // First try from xAOD::Muon const xAOD::MuonContainer* muonEFcontainer(0); @@ -320,8 +333,8 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() //float signed_pt = float(std::abs(muon->pt())/CLHEP::GeV * ((*muon).charge())) ; const xAOD::TrackParticle* trk = muon->primaryTrackParticle(); if(!trk) { - ATH_MSG_WARNING("Could not retrieve linked primary track particle"); - continue; + ATH_MSG_WARNING("Could not retrieve linked primary track particle"); + continue; } float signed_pt = float(std::abs(muon->pt())/CLHEP::GeV *trk->charge()); float eta = float(muon->eta()); @@ -685,7 +698,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() xAOD::MuonContainer::const_iterator contItr = muonCont->begin(); xAOD::MuonContainer::const_iterator contItrE = muonCont->end(); - for (; contItr != contItrE; contItr++){ float pt = - 999999.; @@ -745,7 +757,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() // TrigMuonEF TrackBuilder for(int i_offl=0;i_offl<(int)m_pt_RecMSmuon.size();i_offl++) { - float pt_offl = m_pt_RecMSmuon.at(i_offl); float eta_offl = m_eta_RecMSmuon.at(i_offl); float phi_offl = m_phi_RecMSmuon.at(i_offl); @@ -793,7 +804,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() // TrigMuonEF Extrapolator for(int i_offl=0;i_offl<(int)m_pt_RecSAmuon.size();i_offl++) { - float pt_offl = m_pt_RecSAmuon.at(i_offl); float eta_offl = m_eta_RecSAmuon.at(i_offl); float phi_offl = m_phi_RecSAmuon.at(i_offl); @@ -842,7 +852,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() // TrigMuonEF Combiner for(int i_offl=0;i_offl<(int)m_pt_RecCBmuon.size();i_offl++) { - float pt_offl = m_pt_RecCBmuon.at(i_offl); float eta_offl = m_eta_RecCBmuon.at(i_offl); float phi_offl = m_phi_RecCBmuon.at(i_offl); @@ -907,18 +916,17 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() const DataHandle<xAOD::L2StandAloneMuonContainer> lastmfContainer; StatusCode sc_mf = evtStore()->retrieve(mfContainer,lastmfContainer); if ( sc_mf.isFailure() ) { - ATH_MSG_WARNING( "Failed to retrieve HLT muFast container" ); + ATH_MSG_WARNING( "Failed to retrieve HLT L2MuonSA container" ); return StatusCode::SUCCESS; } // Loop over muonFeatureContainer - int nMuFast=0; - for(; mfContainer != lastmfContainer; mfContainer++) { + int nL2MuonSA=0; + for(auto jtr=mfContainer; jtr != lastmfContainer; jtr++) { - xAOD::L2StandAloneMuonContainer::const_iterator mf = mfContainer->begin(); - xAOD::L2StandAloneMuonContainer::const_iterator lastmf = mfContainer->end(); - - for(; mf != lastmf; mf++) { + const xAOD::L2StandAloneMuonContainer* lastmf(nullptr); + ATH_CHECK( evtStore()->retrieve(lastmf, jtr.key())); + for(auto mf=lastmf->begin(); mf!=lastmf->end(); mf++) { if( (*mf)==0 ) continue; @@ -927,7 +935,7 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() float phi = (*mf)->phi(); if( fabs(pt)>FAILED_PT_THRES ){ - nMuFast++; + nL2MuonSA++; m_pt_LVL2FASTmuon.push_back(pt); m_eta_LVL2FASTmuon.push_back(eta); m_phi_LVL2FASTmuon.push_back(phi); @@ -937,14 +945,14 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() } // loop over muonFeatureContainer - // SELECTION OF RECO MUON OBJECTS WICH PASSED LVL2 MuFast + // SELECTION OF RECO MUON OBJECTS WICH PASSED LVL2 L2MuonSA - int n_Recmuons_PassesdLVL2MuFast = 0; + int n_Recmuons_PassesdLVL2L2MuonSA = 0; // Safe condition in case of MuComb container is empty - if(nMuFast != 0 && n_RecSAmuon != 0){ + if(nL2MuonSA != 0 && n_RecSAmuon != 0){ - for (int j=0; j<nMuFast; j++) { + for (int j=0; j<nL2MuonSA; j++) { double deltaR = 999.; double dR = 0, dphi = 0., deta = 0.; @@ -972,7 +980,7 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() eta_ToUPDATE = m_eta_RecSAmuon.at(kmin); phi_ToUPDATE = m_phi_RecSAmuon.at(kmin); - n_Recmuons_PassesdLVL2MuFast++; + n_Recmuons_PassesdLVL2L2MuonSA++; } m_pt_lvl2_RecoSA_corr.push_back(pt_ToUPDATE); @@ -982,8 +990,8 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() }//end of loop on j } - // ************************************** Efficiency of EF wrt Reco muons which passed LVL2 MuFast *************************************** - // Efficiency of EF wrt Reco muons which passed LVL2 MuFast + // ************************************** Efficiency of EF wrt Reco muons which passed LVL2 L2MuonSA *************************************** + // Efficiency of EF wrt Reco muons which passed LVL2 L2MuonSA // (YY commented for suppressing warning) int n_L2AwareMuons_passedEFSA = 0; @@ -995,9 +1003,9 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() nMuonEFSAtoLoop = nMuonEFSA; } // Safe condition - if(n_Recmuons_PassesdLVL2MuFast != 0 && nMuonEFSAtoLoop != 0){ + if(n_Recmuons_PassesdLVL2L2MuonSA != 0 && nMuonEFSAtoLoop != 0){ - for (int j=0; j<nMuFast; j++) { + for (int j=0; j<nL2MuonSA; j++) { if (m_index_lvl2_RecoSA_corr.at(j) < 0) continue; @@ -1049,8 +1057,7 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() } } - - // ************************************** Efficiency of EF wrt Reco muons which passed LVL2 MuFast *************************************** + // ************************************** Efficiency of EF wrt Reco muons which passed LVL2 L2MuonSA *************************************** // Retrieve L2CombinedMuonContainer @@ -1063,17 +1070,16 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() return StatusCode::SUCCESS; } - // Loop over CombinedMuonFeatureContainer int nMuComb=0; - for(; combContainer != lastcombContainer; combContainer++) { + for(auto itr=combContainer; itr != lastcombContainer; itr++) { - xAOD::L2CombinedMuonContainer::const_iterator comb = combContainer->begin(); - xAOD::L2CombinedMuonContainer::const_iterator lastcomb = combContainer->end(); + const xAOD::L2CombinedMuonContainer *lastcomb(nullptr); + ATH_CHECK( evtStore()->retrieve(lastcomb, itr.key())); - for(; comb != lastcomb; comb++) { + for(auto comb=lastcomb->begin(); comb != lastcomb->end(); comb++) { - if( (*comb)==0 ) continue; + if( (*comb)==nullptr ) continue; float pt = (*comb)->pt() / 1000.; // convert to GeV float eta = (*comb)->eta(); @@ -1089,7 +1095,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() } } - int n_Recmuons_PassesdLVL2MuComb = 0; // Safe condition in case of MuComb container is empty @@ -1132,14 +1137,9 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() m_index_lvl2_RecoCB_corr.push_back(kmin); }//end of loop on j } - - - // Efficiency of EF wrt Reco muons which passed LVL2 MuComb - - // (YY commented for suppressing warning) int n_L2AwareMuons_passedEFCB = 0; int nMuonEFCBtoLoop = 0; @@ -1220,7 +1220,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() nMuonEFMStoLoop = nMuonEFMS; } - // Safe condition in case of MuonEF container is empty if(nMuonEFMStoLoop != 0 && n_RecMSmuon != 0){ @@ -1275,13 +1274,9 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() } // close loop on j } - // return StatusCode::SUCCESS; //} - - - // Beginning of Muon Stand Alone Correlations @@ -1294,7 +1289,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() nMuonEFSAtoLoop = nMuonEFSA; } - // Safe condition in case of MuonEF container is empty if(nMuonEFSAtoLoop != 0 && n_RecSAmuon != 0){ @@ -1349,14 +1343,9 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() } // close loop on j } - // return StatusCode::SUCCESS; //} - - - - // Beginning of Muon Combined Correlation @@ -1370,7 +1359,6 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() nMuonEFCBtoLoop = nMuonEFCB; } - // Safe condition in case of MuonEF container is empty if(nMuonEFCBtoLoop != 0 && n_RecCBmuon != 0){ @@ -1425,9 +1413,23 @@ StatusCode HLTMuonMonTool::fillMuonEFDQA() } // close loop on j } + + //single chain monitoring ATR-17713 + std::vector<string> triggerlist; + triggerlist.insert(triggerlist.end(), m_chainsGeneric.begin(), m_chainsGeneric.end()); + triggerlist.insert(triggerlist.end(), m_chainsEFiso.begin(), m_chainsEFiso.end()); + triggerlist.insert(triggerlist.end(), m_chainsMSonly.begin(), m_chainsMSonly.end()); + triggerlist.insert(triggerlist.end(), m_chainsEFFS.begin(), m_chainsEFFS.end()); + triggerlist.insert(triggerlist.end(), m_chainsLowpt.begin(), m_chainsLowpt.end()); + + sc = fillEFSingleChainHistos(triggerlist); + if ( sc.isFailure() ) { + ATH_MSG_WARNING( "fillEFSingleChainHistos() failed." ); + return StatusCode::SUCCESS; + } return StatusCode::SUCCESS; -} +}//fillMuonEFDQA StatusCode HLTMuonMonTool::procMuonEFDQA() @@ -1482,6 +1484,29 @@ StatusCode HLTMuonMonTool::procMuonEFDQA() } - //else if( endOfLumiBlockFlag() ){ } + //else if(endOfLumiBlockFlag()){ } + return StatusCode::SUCCESS; +}//procMuonEFDQA + + +StatusCode HLTMuonMonTool :: fillEFSingleChainHistos(const std::vector<std::string> &triggerlist ){ + + for(std::string trig : triggerlist){ + ATH_MSG_DEBUG("Retrieving feature container for " << trig); + const Trig::FeatureContainer fc = getTDT()->features( trig, TrigDefs::alsoDeactivateTEs); + const std::vector< Trig::Feature<xAOD::MuonContainer> > fEFs = fc.get<xAOD::MuonContainer>( "", TrigDefs::alsoDeactivateTEs ); + for(const Trig::Feature<xAOD::MuonContainer> &fEF : fEFs){ + const xAOD::MuonContainer *cont = fEF.cptr(); + for( const xAOD::Muon* ef : *cont ){ + const HLT::TriggerElement *efTE = fEF.te(); + if(efTE->getActiveState()){//pass + hist(Form("EF_pt_%s",trig.c_str()), m_histdirmuonef)->Fill( ef->pt()/CLHEP::GeV ); + hist(Form("EF_eta_%s",trig.c_str()), m_histdirmuonef)->Fill( ef->eta() ); + hist(Form("EF_phi_%s",trig.c_str()), m_histdirmuonef)->Fill( ef->phi() ); + } + } + } + } + return StatusCode::SUCCESS; } diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/TileMuMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/TileMuMon.cxx index 1d8575babc06abb568d4a2acf7ac15a2e5b88ce2..0b8c0a2e9149be45ea872a5ddd7d7279684e4d28 100644 --- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/TileMuMon.cxx +++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/TileMuMon.cxx @@ -133,6 +133,7 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() StatusCode sc_TileMu = evtStore()->retrieve( TileMuFeat, TileMuFeatEnd ); if( sc_TileMu.isFailure() ){ ATH_MSG_VERBOSE( "Failed to retrieve HLT TileMu" ); + return StatusCode::SUCCESS; } else { ATH_MSG_DEBUG( " ====== START HLTMuon TileMu MonTool ====== " ); } @@ -141,13 +142,11 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() float NTileMu = 0.; - for( ; TileMuFeat != TileMuFeatEnd ; ++TileMuFeat ) { - - TileMuFeatureContainer::const_iterator TileMuItr = TileMuFeat->begin(); - TileMuFeatureContainer::const_iterator TileMuItrE = TileMuFeat->end(); - - for(;TileMuItr != TileMuItrE; ++TileMuItr){ - + for( auto itr=TileMuFeat; itr!= TileMuFeatEnd ; itr++ ) { + const TileMuFeatureContainer* TileMuItrE(nullptr); + ATH_CHECK( evtStore()->retrieve(TileMuItrE, itr.key())); + for(auto TileMuItr=TileMuItrE->begin(); TileMuItr != TileMuItrE->end();TileMuItr++){ + if ( (*TileMuItr)==nullptr ) continue; // Extract the variables and fill the histograms float eta = (*TileMuItr)->eta(); float phi = (*TileMuItr)->phi(); @@ -170,12 +169,13 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() // Retrieve muons from TileTrackMuFeatureContainer - const DataHandle< TileTrackMuFeatureContainer > TileTrackMu; - const DataHandle< TileTrackMuFeatureContainer > lastTileTrackMu; + SG::ConstIterator< TileTrackMuFeatureContainer > TileTrackMu; + SG::ConstIterator< TileTrackMuFeatureContainer > lastTileTrackMu; StatusCode sc = evtStore()->retrieve(TileTrackMu, lastTileTrackMu); if (sc.isFailure()) { ATH_MSG_VERBOSE( "Failed to retrieve HLT TileTrackMu" ); + return StatusCode::SUCCESS; } else { ATH_MSG_DEBUG( " ====== START HLTMuon TileTrackMu MonTool ====== " ); } @@ -184,13 +184,11 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() float NTileTrackMu = 0.; - for( ; TileTrackMu != lastTileTrackMu ; ++TileTrackMu ) { - - TileTrackMuFeatureContainer::const_iterator TileTrackMuItr = TileTrackMu->begin(); - TileTrackMuFeatureContainer::const_iterator TileTrackMuItrE= TileTrackMu->end(); - - for( ; TileTrackMuItr != TileTrackMuItrE; ++TileTrackMuItr ) { - + for( auto jtr=TileTrackMu; jtr != lastTileTrackMu ; jtr++ ) { + const TileTrackMuFeatureContainer* TileTrackMuItrE(nullptr); + ATH_CHECK( evtStore()->retrieve(TileTrackMuItrE, jtr.key())); + for(auto TileTrackMuItr =TileTrackMuItrE->begin(); TileTrackMuItr != TileTrackMuItrE->end(); TileTrackMuItr++ ) { + if( (*TileTrackMuItr)==nullptr ) continue; float absPtTrk = std::abs((*TileTrackMuItr)->PtTR_Trk()); ElementLink<TileMuFeatureContainer> TileMuEL = (*TileTrackMuItr)->TileMuLink(); @@ -280,10 +278,11 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() ATH_MSG_WARNING( "Failed to retrieve HLT TileMu" ); return StatusCode::SUCCESS; } - for( ; TileMuFeat != TileMuFeatEnd ; ++TileMuFeat ) { - TileMuFeatureContainer::const_iterator TileMuItr = TileMuFeat->begin(); - TileMuFeatureContainer::const_iterator TileMuItrE = TileMuFeat->end(); - for(;TileMuItr != TileMuItrE; ++TileMuItr){ + for( auto itr=TileMuFeat; itr!= TileMuFeatEnd ; itr++ ) { + const TileMuFeatureContainer* TileMuItrE(nullptr); + ATH_CHECK( evtStore()->retrieve(TileMuItrE, itr.key())); + for(auto TileMuItr=TileMuItrE->begin(); TileMuItr != TileMuItrE->end();TileMuItr++){ + if ( (*TileMuItr)==nullptr ) continue; m_eta_Tile.push_back( (*TileMuItr)->eta() ); m_phi_Tile.push_back( (*TileMuItr)->phi() ); NTileMu++; @@ -322,10 +321,11 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() ATH_MSG_WARNING( "Failed to retrieve HLT TileTrackMu" ); return StatusCode::SUCCESS; } - for( ; TileTrackMu != lastTileTrackMu ; ++TileTrackMu ) { - TileTrackMuFeatureContainer::const_iterator TileTrackMuItr = TileTrackMu->begin(); - TileTrackMuFeatureContainer::const_iterator TileTrackMuItrE= TileTrackMu->end(); - for( ; TileTrackMuItr != TileTrackMuItrE; ++TileTrackMuItr ) { + for( auto itr=TileTrackMu; itr!= lastTileTrackMu ; itr++ ) { + const TileTrackMuFeatureContainer* TileTrackMuItrE(nullptr); + ATH_CHECK( evtStore()->retrieve(TileTrackMuItrE, itr.key())); + for(auto TileTrackMuItr=TileTrackMuItrE->begin(); TileTrackMuItr != TileTrackMuItrE->end();TileTrackMuItr++){ + if ( (*TileTrackMuItr)==nullptr ) continue; m_eta_TileTrack.push_back( (*TileTrackMuItr)->EtaTR_Trk() ); m_phi_TileTrack.push_back( (*TileTrackMuItr)->PhiTR_Trk() ); m_pt_TileTrack.push_back( (*TileTrackMuItr)->PtTR_Trk() ); @@ -380,7 +380,7 @@ StatusCode HLTMuonMonTool::fillTileMuDQA() StatusCode HLTMuonMonTool::procTileMuDQA() { - if( endOfRunFlag() ){ + if(endOfRunFlag()){ // TileMuFeature efficiency on eta hist("TileMu_RecCBMuon_EffEta", m_histdireff)->Sumw2(); diff --git a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigRoIMoni.cxx b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigRoIMoni.cxx index 8b191f2f0d3baa68f6db79fc13c460529c258288..e14b1fe3851b5ac7b6eb28f5fe583f1868166c87 100644 --- a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigRoIMoni.cxx +++ b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigRoIMoni.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include <vector> @@ -63,7 +63,6 @@ TrigRoIMoni::TrigRoIMoni(const std::string & type, const std::string & name, m_trigConfigSvc("TrigConf::LVL1ConfigSvc/LVL1ConfigSvc", name), m_gotL1Config(false), m_lvl1Tool("HLT::Lvl1ResultAccessTool/Lvl1ResultAccessTool",this), - m_trigLvl("HLT"), m_threshMultiMax(100) { @@ -152,14 +151,10 @@ StatusCode TrigRoIMoni::bookHistograms( bool/* isNewEventsBlock*/, bool /*isNewL // roi & threshold multiplicity hists m_etaphi_EM_all = new TrigLBNHist<TH2I>(TH2I("AllRoIsEtaPhiEM", - ("phi vs eta for all L1 EM RoIs "+m_trigLvl).c_str(), + "phi vs eta for all L1 EM RoIs", 51, -2.55, 2.55, 64, -M_PI*(1.-1./64.), M_PI*(1.+1./64.))); - if ( expertHistograms.regHist((ITrigLBNHist*)m_etaphi_EM_all).isFailure()) { - ATH_MSG_WARNING("Cannot register " << m_etaphi_EM_all->GetName()); - } - // Fill bin limits with {-5,-3.1,-2.9,...,3.1,5} const int n_jbins = 34; double jbins[n_jbins]; @@ -169,45 +164,39 @@ StatusCode TrigRoIMoni::bookHistograms( bool/* isNewEventsBlock*/, bool /*isNewL m_etaphi_J_all = new TrigLBNHist<TH2I>(TH2I("AllRoIsEtaPhiJ", - ("phi vs eta for all L1 jet RoIs "+m_trigLvl).c_str(), + "phi vs eta for all L1 jet RoIs", n_jbins-1, jbins, 32, -M_PI*(1.-1./32.), M_PI*(1.+1./32.))); - if ( expertHistograms.regHist((ITrigLBNHist*)m_etaphi_J_all).isFailure()) { - ATH_MSG_WARNING("Cannot register " << m_etaphi_J_all->GetName()); - } - m_etaphi_JF_all = new TrigLBNHist<TH2I>(TH2I("AllRoIsEtaPhiJF", - ("phi vs eta for all L1 forward jet RoIs "+m_trigLvl).c_str(), + "phi vs eta for all L1 forward jet RoIs", 2, -5., 5., 32, -M_PI*(1.-1./32.), M_PI*(1.+1./32.))); m_etaphi_JF_all->GetXaxis()->SetBinLabel(1, "eta < -3.2"); m_etaphi_JF_all->GetXaxis()->SetBinLabel(2, "eta > 3.2"); - if ( expertHistograms.regHist((ITrigLBNHist*)m_etaphi_JF_all).isFailure()) { - ATH_MSG_WARNING("Cannot register " << m_etaphi_JF_all->GetName()); - } - + m_etaphi_HA_all = new TrigLBNHist<TH2I>(TH2I("AllRoIsEtaPhiHA", - ("phi vs eta for all L1 tau RoIs "+m_trigLvl).c_str(), 51, -2.55, 2.55, + "phi vs eta for all L1 tau RoIs", 51, -2.55, 2.55, 64, -M_PI*(1.-1./64.), M_PI*(1.+1./64.))); - if ( expertHistograms.regHist((ITrigLBNHist*)m_etaphi_HA_all).isFailure()) { - ATH_MSG_WARNING("Cannot register " << m_etaphi_HA_all->GetName()); - } - m_etaphi_MU_all = new TrigLBNHist<TH2I>(TH2I("AllRoIsEtaPhiMU", - ("phi vs eta for all L1 MU RoIs "+m_trigLvl).c_str(), + "phi vs eta for all L1 MU RoIs", 50, -2.5, 2.5, 64, -M_PI, M_PI)); - if ( expertHistograms.regHist((ITrigLBNHist*)m_etaphi_MU_all).isFailure()) { - ATH_MSG_WARNING("Cannot register " << m_etaphi_MU_all->GetName()); - } + TrigLBNHist<TH2I>* lbnhists[] = {m_etaphi_EM_all, m_etaphi_J_all, m_etaphi_JF_all, + m_etaphi_HA_all, m_etaphi_MU_all}; + + for (auto h : lbnhists) { + if ( expertHistograms.regHist((ITrigLBNHist*)h).isFailure()) + ATH_MSG_WARNING("Cannot register " << h->GetName()); + } + m_histoverflow = SetupOverflowHist(); if ( m_histoverflow == 0 || expertHistograms.regHist(m_histoverflow).isFailure()) { ATH_MSG_WARNING("Either can't book or can't register RoIsOverflow"); @@ -265,58 +254,21 @@ StatusCode TrigRoIMoni::bookHistograms( bool/* isNewEventsBlock*/, bool /*isNewL float etamin=-5.,etamax=5.; - std::string tmpstring("N Initial RoI in Event "); - tmpstring+=m_trigLvl; - TString htit(/*Form*/(tmpstring.c_str())); - - m_histonroi = new TH1F( "NInitialRoIsPerEvent",htit.Data(),50,-0.5,49.5); - - if ( expertHistograms.regHist(m_histonroi).isFailure()) - ATH_MSG_WARNING("Cannot register " << m_histoPathexpert << m_histonroi ->GetName()); - - tmpstring="Updates of RoI positions with respect to L1 (phi) "; - tmpstring+=m_trigLvl; - htit=/*Form*/(tmpstring.c_str()); - - m_histodeta = new TH1F( "RoIsDEta",htit.Data(),100,detamin,detamax); - - if ( expertHistograms.regHist(m_histodeta).isFailure()) - ATH_MSG_WARNING("Cannot register " << m_histoPathexpert << m_histodeta ->GetName()); + m_histonroi = new TH1F("NInitialRoIsPerEvent", "N Initial RoI in Event", 50, -0.5, 49.5); + m_histodeta = new TH1F("RoIsDEta", "Updates of RoI positions with respect to L1 (eta)", 100, detamin, detamax); + m_histodphi = new TH1F("RoIsDPhi","Updates of RoI positions with respect to L1 (phi)", 32, dphimin, dphimax); + m_histoeta0 = new TH1F("RoIsL1Eta","L1 RoIs eta", 25, etamin, etamax); + m_histophi0 = new TH1F("RoIsL1Phi", "L1 RoIs phi", 32, phimin, phimax); + m_histo_eta0_phi0 = new TH2F("RoIsL1PhiEta", "L1 RoIs phi vs eta", 25, etamin, etamax, 32, phimin, phimax); - tmpstring="Updates of RoI positions with respect to L1 (eta) "; - tmpstring+=m_trigLvl; - htit=/*Form*/(tmpstring.c_str()); + TH1* hists[] = {m_histonroi, m_histodeta, m_histodphi, + m_histoeta0, m_histophi0, m_histo_eta0_phi0}; - m_histodphi = new TH1F( "RoIsDPhi",htit.Data(), 32,dphimin,dphimax); - - if ( expertHistograms.regHist(m_histodphi).isFailure()) - ATH_MSG_WARNING("Cannot register " << m_histoPathexpert << m_histodphi->GetName()); - - tmpstring="L1 RoIs eta "; - tmpstring+=m_trigLvl; - htit=/*Form*/(tmpstring.c_str()); + for (auto h : hists) { + if ( expertHistograms.regHist(h).isFailure()) + ATH_MSG_WARNING("Cannot register " << h->GetName()); + } - m_histoeta0 = new TH1F( "RoIsL1Eta",htit.Data(), 25,etamin,etamax); - - if ( expertHistograms.regHist(m_histoeta0).isFailure()) - ATH_MSG_WARNING("Cannot register " << m_histoPathexpert << m_histoeta0->GetName()); - - tmpstring="L1 RoIs phi "; - tmpstring+=m_trigLvl; - htit=/*Form*/(tmpstring.c_str()); - m_histophi0 = new TH1F( "RoIsL1Phi",htit.Data(), 32,phimin,phimax); - - if ( expertHistograms.regHist(m_histophi0).isFailure()) - ATH_MSG_WARNING("Cannot register " << m_histoPathexpert << m_histophi0->GetName()); - - tmpstring="L1 RoIs phi vs eta "; - tmpstring+=m_trigLvl; - htit=/*Form*/(tmpstring.c_str()); - m_histo_eta0_phi0 = new TH2F( "RoIsL1PhiEta", htit.Data(), 25,etamin,etamax, 32,phimin,phimax); - - if ( expertHistograms.regHist(m_histo_eta0_phi0).isFailure()) - ATH_MSG_WARNING("Cannot register " << m_histoPathexpert << m_histophi0->GetName()); - return StatusCode::SUCCESS; } @@ -687,7 +639,7 @@ void TrigRoIMoni::FillEtaPhiPlots() for (const HLT::JetEnergyRoI jetERoI : jetERoIs) { - if (jetERoI.type() == JetRoI || jetERoI.type() == ForwardJetRoI) { + if (jetERoI.type() == HLT::JetRoI || jetERoI.type() == HLT::ForwardJetRoI) { // Dummy configuration vector, only need coordinates, not thresholds std::vector<TrigConf::TriggerThreshold*> jetConfig; @@ -697,8 +649,8 @@ void TrigRoIMoni::FillEtaPhiPlots() double eta = recRoI.eta(); double phi = fixphi(recRoI.phi()); - if (jetERoI.type() == JetRoI && m_etaphi_J_all) m_etaphi_J_all->Fill(eta, phi); - if (jetERoI.type() == ForwardJetRoI && m_etaphi_JF_all) m_etaphi_JF_all->Fill(eta, phi); + if (jetERoI.type() == HLT::JetRoI && m_etaphi_J_all) m_etaphi_J_all->Fill(eta, phi); + if (jetERoI.type() == HLT::ForwardJetRoI && m_etaphi_JF_all) m_etaphi_JF_all->Fill(eta, phi); m_histoeta0->Fill(eta); m_histophi0->Fill(phi); diff --git a/Trigger/TrigSteer/TrigInterfaces/src/FexAlgo.cxx b/Trigger/TrigSteer/TrigInterfaces/src/FexAlgo.cxx index 1898177a61a39fc28d4e8f8a84c610c5156ce7e1..ced298f85c49e0837b374bfd9f26953e4adb7234 100755 --- a/Trigger/TrigSteer/TrigInterfaces/src/FexAlgo.cxx +++ b/Trigger/TrigSteer/TrigInterfaces/src/FexAlgo.cxx @@ -104,10 +104,10 @@ HLT::ErrorCode FexAlgo::plugin_acceptInputs(TEVec& inputTEs, bool& pass) { HLT::ErrorCode FexAlgo::processRobRequests(const std::vector< unsigned int >& inputs ) { - // FEX has exactly one input type + // FEX should normally have exactly one input type but some chains call this method with 0 inputs if (inputs.size() != 1) { - ATH_MSG_DEBUG ( "The size of the input to FexAlgo::processRobRequests(v<uint> input) is " << inputs.size() << ", needs to be 1! Returning ABORT CHAIN!"); - return HLT::ErrorCode( Action::ABORT_CHAIN, Reason::BAD_JOB_SETUP ); + ATH_MSG_DEBUG ( "The size of the input to FexAlgo::processRobRequests(v<uint> input) is " << inputs.size() << ", should be 1! No ROBs for prefetching will be prepared"); + return HLT::OK; } // get input TEs from Navigation diff --git a/Trigger/TrigSteer/TrigOutputHandling/CMakeLists.txt b/Trigger/TrigSteer/TrigOutputHandling/CMakeLists.txt index a27f1ee8afb59327edfc71734c49ec47220cacfc..d6bd030b531ae233249fbc299f082a16815353db 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/CMakeLists.txt +++ b/Trigger/TrigSteer/TrigOutputHandling/CMakeLists.txt @@ -37,3 +37,12 @@ atlas_add_library( TrigOutputHandlingLib atlas_add_component( TrigOutputHandling src/components/*.cxx LINK_LIBRARIES TrigOutputHandlingLib ) + +atlas_add_test( void_record_test + SOURCES test/void_record_test.cxx + INCLUDE_DIRS ${Boost_INCLUDE_DIRS} + LINK_LIBRARIES ${Boost_LIBRARIES} xAODTrigger + AthLinks AthenaKernel StoreGateLib GaudiKernel TestTools xAODCore + ENVIRONMENT "JOBOPTSEARCHPATH=${CMAKE_CURRENT_SOURCE_DIR}/share" + POST_EXEC_SCRIPT nopost.sh + ) diff --git a/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h new file mode 100644 index 0000000000000000000000000000000000000000..8aba37ac695d9804eadd2c4c05dd89a4414a4398 --- /dev/null +++ b/Trigger/TrigSteer/TrigOutputHandling/TrigOutputHandling/HLTResultMTMaker.h @@ -0,0 +1,47 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef TRIGOUTPUTHANDLING_HLTRESULTMTMAKER_H +#define TRIGOUTPUTHANDLING_HLTRESULTMTMAKER_H + +#include "TrigSteeringEvent/HLTResultMT.h" +#include "TrigOutputHandling/HLTResultMTMakerTool.h" + +#include "AthenaBaseComps/AthAlgTool.h" +#include "AthenaMonitoring/GenericMonitoringTool.h" +#include "StoreGate/WriteHandle.h" + +/** @class HLTResultMTMaker + * @brief Tool to create the HLTResultMT at the end of each event + **/ +class HLTResultMTMaker : public AthAlgTool { +public: + /// Standard constructor + HLTResultMTMaker(const std::string& type, const std::string& name, const IInterface* parent); + /// Standard destructor + virtual ~HLTResultMTMaker(); + + // ------------------------- IStateful methods ----------------------------- + virtual StatusCode initialize() override; + virtual StatusCode finalize() override; + + // ------------------------- Specific methods of this tool ----------------- + /// Builds the HLTResultMT and records it in the event store + StatusCode makeResult(const EventContext& eventContext) const; + /// Return name of the HLTResultMT + const std::string& resultName() const {return m_hltResultWHKey.key();} + +private: + /// StoreGate key for the HLTResultMT + SG::WriteHandleKey<HLT::HLTResultMT> m_hltResultWHKey {this, "HLTResultWHKey", "HLTResultMT", + "Key of the output HLTResultMT object"}; + /// Tools filling the HLTResultMT object + ToolHandleArray<HLTResultMTMakerTool> m_makerTools {this, "MakerTools", {}, + "Set of tools that fill content of the HLTResultMT"}; + /// Monitoring tool + ToolHandle<GenericMonitoringTool> m_monTool {this, "MonTool", "", + "Monitoring tool"}; +}; + +#endif // TRIGOUTPUTHANDLING_HLTRESULTMTMAKER_H diff --git a/Trigger/TrigSteer/TrigOutputHandling/share/test.txt b/Trigger/TrigSteer/TrigOutputHandling/share/test.txt new file mode 100644 index 0000000000000000000000000000000000000000..8c483aaab2d2b7b577cfe8480a374498d76a0f72 --- /dev/null +++ b/Trigger/TrigSteer/TrigOutputHandling/share/test.txt @@ -0,0 +1 @@ +StoreGateSvc.OutputLevel=0; diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h b/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h new file mode 100644 index 0000000000000000000000000000000000000000..27a67e1fb4d5f6bdffb8b804edd86003c199b1e4 --- /dev/null +++ b/Trigger/TrigSteer/TrigOutputHandling/src/BareDataBucket.h @@ -0,0 +1,70 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ +#ifndef TrigOutputHandling_BareDataBucket_h +#define TrigOutputHandling_BareDataBucket_h +#include "AthenaKernel/DataBucketBase.h" +#include "DataModelRoot/RootType.h" + +/** + * @class Allows to insert void* returned from serialisation into the store + **/ + +class BareDataBucket: public DataBucketBase { +public: + BareDataBucket() = delete; + + BareDataBucket( void * data, size_t sz, CLID clid, const RootType& type ) + : m_data(data), m_size(sz), m_clid(clid), m_type( type ){} + + virtual ~BareDataBucket() { + if ( m_own ) + m_type.Destruct( m_data ); + } + + // DataObject overrides + virtual const CLID& clID() const override { + return m_clid; + } + + // DataBuckedBase overrides + + virtual void* object() override { + return m_data; + } + + virtual const std::type_info& tinfo() const override { + return m_type.TypeInfo(); + }; + + virtual void* cast (CLID clid, + SG::IRegisterTransient* , + bool isConst = true) override { + return ( m_clid == clid and isConst ) ? m_data : nullptr; + } + + virtual void* cast (const std::type_info& tinfo, + SG::IRegisterTransient* , + bool isConst = true) override { + return ( tinfo == m_type.TypeInfo() and isConst ) ? m_data : nullptr; + } + + virtual DataBucketBase* clone() const override { + return nullptr; + } + + virtual void relinquish() override { + m_own = false; + }; + + virtual void lock() override { /*not lockable I think */ }; + +private: + void* m_data = 0; + size_t m_size = 0; + CLID m_clid = 0; + RootType m_type; + bool m_own = false; +}; + +#endif diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx new file mode 100644 index 0000000000000000000000000000000000000000..2c0811fd0905ee60cf086753f391172a7db072ca --- /dev/null +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMaker.cxx @@ -0,0 +1,66 @@ +/* + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +*/ + +#include "TrigOutputHandling/HLTResultMTMaker.h" +#include "AthenaMonitoring/MonitoredScope.h" + +// ============================================================================= +// Standard constructor +// ============================================================================= +HLTResultMTMaker::HLTResultMTMaker(const std::string& type, const std::string& name, const IInterface* parent) + : AthAlgTool(type, name, parent) {} + +// ============================================================================= +// Standard destructor +// ============================================================================= +HLTResultMTMaker::~HLTResultMTMaker() {} + +// ============================================================================= +// Implementation of IStateful::initialize +// ============================================================================= +StatusCode HLTResultMTMaker::initialize() { + ATH_CHECK(m_hltResultWHKey.initialize()); + ATH_CHECK(m_monTool.retrieve()); + return StatusCode::SUCCESS; +} + +// ============================================================================= +// Implementation of IStateful::finalize +// ============================================================================= +StatusCode HLTResultMTMaker::finalize() { + ATH_CHECK(m_monTool.release()); + return StatusCode::SUCCESS; +} + +// ============================================================================= +// The main method of the tool +// ============================================================================= +StatusCode HLTResultMTMaker::makeResult(const EventContext& eventContext) const { + + // Create and record the HLTResultMT object + auto hltResult = SG::makeHandle(m_hltResultWHKey,eventContext); + ATH_CHECK( hltResult.record(std::make_unique<HLT::HLTResultMT>()) ); + ATH_MSG_DEBUG("Recorded HLTResultMT with key " << m_hltResultWHKey.key()); + + // Fill the object using the result maker tools + using namespace Monitored; + auto time = MonitoredTimer::declare("TIME_build" ); + for (auto& maker: m_makerTools) { + ATH_CHECK(maker->fill(*hltResult)); + } + time.stop(); + + // Fill monitoring histograms + auto nstreams = MonitoredScalar::declare("nstreams", hltResult->getStreamTags().size()); + auto bitWords = MonitoredScalar::declare("bitWords", hltResult->getHltBits().size()); + auto nfrags = MonitoredScalar::declare("nfrags", hltResult->getSerialisedData().size()); + auto sizeMain = MonitoredScalar::declare("sizeMain", -1.); + auto iter = hltResult->getSerialisedData().find(0); // this is the main fragment of the HLT result + if (iter != hltResult->getSerialisedData().end()) + sizeMain = double(iter->second.size()*sizeof(uint32_t))/1024; + + MonitoredScope::declare(m_monTool, time, nstreams, nfrags, sizeMain, bitWords); + + return StatusCode::SUCCESS; +} diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.cxx index d67dfee3f061ac37ddce184d00f3e147a377e479..f73e203cec8a921b94c7025882674e5a0a5d282f 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.cxx @@ -1,7 +1,7 @@ /* Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ -#include "AthenaMonitoring/MonitoredScope.h" + #include "HLTResultMTMakerAlg.h" HLTResultMTMakerAlg::HLTResultMTMakerAlg(const std::string& name, ISvcLocator* pSvcLocator) : @@ -10,42 +10,15 @@ HLTResultMTMakerAlg::HLTResultMTMakerAlg(const std::string& name, ISvcLocator* p HLTResultMTMakerAlg::~HLTResultMTMakerAlg() {} StatusCode HLTResultMTMakerAlg::initialize() { - ATH_CHECK( m_resultKey.initialize() ); - ATH_CHECK( m_monTool.retrieve() ); + ATH_CHECK( m_resultMaker.retrieve() ); return StatusCode::SUCCESS; } StatusCode HLTResultMTMakerAlg::finalize() { + ATH_CHECK( m_resultMaker.release() ); return StatusCode::SUCCESS; } StatusCode HLTResultMTMakerAlg::execute_r(const EventContext& context) const { - using namespace Monitored; - auto hltResult = std::make_unique<HLT::HLTResultMT>(); - - auto time = MonitoredTimer::declare( "TIME_build" ); - for ( auto& maker: m_makerTools ) { - ATH_CHECK( maker->fill( *hltResult ) ); - } - - - time.stop(); - // // monitoring - - - auto nstreams = MonitoredScalar::declare( "nstreams", hltResult->getStreamTags().size() ); - auto nfrags = MonitoredScalar::declare( "nfrags", hltResult->getSerialisedData().size() ); - auto sizeMain = MonitoredScalar::declare( "sizeMain", -1. ); - auto iter = hltResult->getSerialisedData().find( 0 ); // this is the main fragment of the HLT result - if ( iter != hltResult->getSerialisedData().end() ) - sizeMain = double(iter->second.size()*sizeof(uint32_t))/1024; - - auto bitWords = MonitoredScalar::declare( "bitWords", hltResult->getHltBits().size() ); - MonitoredScope::declare( m_monTool, time, nstreams, nfrags, sizeMain, bitWords ); - - - auto hltResultHandle = SG::makeHandle( m_resultKey, context ); - ATH_CHECK( hltResultHandle.record( std::move( hltResult ) ) ); - return StatusCode::SUCCESS; + return m_resultMaker->makeResult(context); } - diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.h b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.h index d79ed5b752cc50f31d35e668f6a8e00d5adab68d..3a53f49c3530fec4b484e5df2d2b08bd2f3f90a5 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.h +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTResultMTMakerAlg.h @@ -4,18 +4,13 @@ #ifndef TRIGOUTPUTHANDLING_HLTRESULMTMAKERALG_H #define TRIGOUTPUTHANDLING_HLTRESULMTMAKERALG_H -#include <string> +#include "TrigOutputHandling/HLTResultMTMaker.h" #include "AthenaBaseComps/AthReentrantAlgorithm.h" -#include "AthenaMonitoring/GenericMonitoringTool.h" - -#include "TrigOutputHandling/HLTResultMTMakerTool.h" - - /** * @class HLTResultMTMakerAlg - * @brief creates HLTResult and calls tools to fill the content, - * this is offline tester alg as notmally the same operation will be performed by HLTMPPU component + * @brief Simply calls the result maker tool to create HLTResultMT. The algorithm is meant to be used only offline. + * Online, the result maker is called directly by the event loop manager. **/ class HLTResultMTMakerAlg : public AthReentrantAlgorithm { public: @@ -27,9 +22,7 @@ public: virtual StatusCode finalize() override; private: - SG::WriteHandleKey<HLT::HLTResultMT> m_resultKey { this, "ResultKey", "HLTResultMT", "Key of the output object" }; - ToolHandleArray<HLTResultMTMakerTool> m_makerTools{ this, "MakerTools", {}, "set of tools that fill content of the HLTResultMT" }; - ToolHandle<GenericMonitoringTool> m_monTool { this, "MonTool", "", "Monitor" }; + ToolHandle<HLTResultMTMaker> m_resultMaker { this, "ResultMaker", "HLTResultMTMaker" }; }; diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx index 3096820e152ec6cbd7f2ebdb704e4fa6e6e2b811..9227980a99949bb92189aab4bd34aa3ed0e80955 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/StreamTagMakerTool.cxx @@ -32,8 +32,6 @@ StatusCode StreamTagMakerTool::fill( HLT::HLTResultMT& resultToFill ) const { // obtain chain decisions, auto chainsHandle = SG::makeHandle( m_finalChainDecisions ); - std::vector<eformat::helper::StreamTag> streams; - // for each accepted chain lookup the map of chainID -> ST for ( TrigCompositeUtils::DecisionID chain: TrigCompositeUtils::decisionIDs( chainsHandle->at( 0 )) ) { auto mappingIter = m_mapping.find( chain ); @@ -42,16 +40,9 @@ StatusCode StreamTagMakerTool::fill( HLT::HLTResultMT& resultToFill ) const { ATH_MSG_ERROR("Each chain has to have stream associated whereas the " << HLT::Identifier( chain ) << " does not" ); return StatusCode::FAILURE; } - streams.push_back( mappingIter->second ); // TODO assume nultiple streams per chain + resultToFill.addStreamTag( mappingIter->second ); // TODO assume multiple streams per chain } - // push back ST vector to HLTResultMT - // make sure ST vector contains only unique content - std::sort( streams.begin(), streams.end() ); - auto endUnique = std::unique( streams.begin(), streams.end() ); - streams.erase( endUnique, streams.end() ); - - resultToFill.setStreamTags( streams ); - ATH_MSG_DEBUG("Number of streams for event " << streams.size() ); + ATH_MSG_DEBUG("Number of streams for event " << resultToFill.getStreamTags().size() ); return StatusCode::SUCCESS; } diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/components/TrigOutputHandling_entries.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/components/TrigOutputHandling_entries.cxx index 016c5d993f9480b553dd4c916d974dbfe25dadc9..19bdde80c864184545b484616ed5c3cbe0911e6b 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/components/TrigOutputHandling_entries.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/components/TrigOutputHandling_entries.cxx @@ -1,5 +1,6 @@ #include "../HLTEDMCreator.h" #include "../StreamTagMakerTool.h" +#include "TrigOutputHandling/HLTResultMTMaker.h" #include "../HLTResultMTMakerAlg.h" #include "../DecisionSummaryMakerAlg.h" #include "TrigOutputHandling/TriggerBitsMakerTool.h" @@ -7,6 +8,7 @@ DECLARE_COMPONENT( HLTEDMCreator ) +DECLARE_COMPONENT( HLTResultMTMaker ) DECLARE_COMPONENT( HLTResultMTMakerAlg ) DECLARE_COMPONENT( StreamTagMakerTool ) DECLARE_COMPONENT( DecisionSummaryMakerAlg ) diff --git a/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx b/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..cb5465f89c3bb7a010c34418e0aad0d4a00cf056 --- /dev/null +++ b/Trigger/TrigSteer/TrigOutputHandling/test/void_record_test.cxx @@ -0,0 +1,73 @@ +#include <iostream> +#include "TestTools/expect.h" +#include "TestTools/initGaudi.h" +#include "AthenaKernel/getMessageSvc.h" +#include "GaudiKernel/MsgStream.h" +#include "StoreGate/StoreGate.h" +#include "StoreGate/StoreGateSvc.h" +#include "../src/BareDataBucket.h" +#include "xAODTrigger/TrigCompositeContainer.h" +#include "xAODTrigger/TrigCompositeAuxContainer.h" + + +int main() { + using namespace std; + ISvcLocator* pSvcLoc; + if (!Athena_test::initGaudi("test.txt", pSvcLoc)) { + cerr << "ERROR This test can not be run" << endl; + return 0; + } + assert(pSvcLoc); + MsgStream log(Athena::getMessageSvc(), "void_record_test"); + + StoreGateSvc* pStore = 0; + if( pSvcLoc->service("StoreGateSvc", pStore, true).isSuccess() ) { + log << MSG::INFO << "SG pointer: " << pStore << endmsg; + } else { + log << MSG::ERROR << "can't obtain SG ptr" << endmsg; + return -1; + } + + xAOD::TrigCompositeContainer* testContainer = new xAOD::TrigCompositeContainer(); + xAOD::TrigCompositeAuxContainer* aux = new xAOD::TrigCompositeAuxContainer(); + testContainer->setStore( aux ); + + testContainer->push_back( new xAOD::TrigComposite() ); + testContainer->push_back( new xAOD::TrigComposite() ); + testContainer->at(0)->setDetail( "idetail", 7 ); + testContainer->at(1)->setDetail( "fdetail", 2.5f ); + void * rawContainerPtr = static_cast<void*>( testContainer ); + void * rawStorePtr = static_cast<void*>( aux ); + + SG::BaseInfo<xAOD::TrigCompositeContainer>::baseinfo(); // this is problematic because client code does not know about templates, will have to see in athena if the problem persists + + RootType contaierRT = RootType::ByName( "xAOD::TrigCompositeContainer_v1" ); + log << MSG::INFO << contaierRT.Name() << endmsg; + BareDataBucket containerDataBucket( rawContainerPtr, 1, ClassID_traits<xAOD::TrigCompositeContainer>::ID(), contaierRT ); // size (second arg == 1) is ficticious in this test + + RootType storeRT = RootType::ByName( "xAOD::TrigCompositeAuxContainer_v1" ); + log << MSG::INFO << storeRT.Name() << endmsg; + BareDataBucket storeDataBucket( rawStorePtr, 1, ClassID_traits<xAOD::TrigCompositeAuxContainer>::ID(), storeRT ); + + pStore->recordObject( SG::DataObjectSharedPtr<BareDataBucket>( &containerDataBucket ), "test", false, false ); + pStore->recordObject( SG::DataObjectSharedPtr<BareDataBucket>( &storeDataBucket ), "testAux.", false, false ); + + log << MSG::INFO << "recordObject done" << endmsg; + + + VALUE( pStore->accessData( ClassID_traits<xAOD::TrigCompositeContainer>::ID(), "test" ) ) NOT_EXPECTED ( nullptr ); + VALUE( pStore->accessData( ClassID_traits<xAOD::TrigCompositeAuxContainer>::ID(), "testAux." ) ) NOT_EXPECTED ( nullptr ); + + log << MSG::INFO << "objects in store, trying to read them back via rertieve" << endmsg; + + const xAOD::TrigCompositeContainer* containerBack = 0; + pStore->retrieve( containerBack, "test" ); + + VALUE ( containerBack ) NOT_EXPECTED ( nullptr ); + VALUE( containerBack->size() ) EXPECTED ( 2 ); + VALUE( containerBack->at(0)->getDetail<int32_t>( "idetail" ) ) EXPECTED ( 7 ); + VALUE( containerBack->at(1)->getDetail<float>( "fdetail" ) ) EXPECTED ( 2.5f ); + + log << MSG::INFO << "Container red back is identical" << endmsg; + return 0; +} diff --git a/Trigger/TrigSteer/TrigSteering/CMakeLists.txt b/Trigger/TrigSteer/TrigSteering/CMakeLists.txt index f2610dddc5e1ac8f5dd630dc5ec1da7bc854b956..19bdf724040742d60541c5825ec85bbd704830f8 100644 --- a/Trigger/TrigSteer/TrigSteering/CMakeLists.txt +++ b/Trigger/TrigSteer/TrigSteering/CMakeLists.txt @@ -70,7 +70,7 @@ atlas_add_dictionary( TrigSteeringDict TrigSteering/TrigSteeringDict.h TrigSteering/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${TDAQ-COMMON_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel AthenaMonitoringLib AthContainers StoreGateLib SGtests EventInfo xAODEventInfo GaudiKernel TrigConfBase TrigConfHLTData TrigROBDataProviderSvcLib TrigSteeringEvent L1TopoAlgorithms L1TopoCoreSim L1TopoEvent L1TopoSimulationLib TrigT1CaloEventLib TrigT1CaloToolInterfaces TrigT1Result TrigTimeAlgsLib TestTools ByteStreamCnvSvcBaseLib xAODTrigger TrigConfL1Data TrigSerializeResultLib TrigNavigationLib TrigStorageDefinitions TrigMonitorBaseLib TrigInterfacesLib L1TopoCommon L1TopoConfig TrigT1Interfaces TrigSteeringLib ) +LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel AthenaMonitoringLib AthContainers StoreGateLib SGtests EventInfo xAODEventInfo GaudiKernel TrigConfBase TrigConfHLTData TrigROBDataProviderSvcLib TrigSteeringEvent L1TopoAlgorithms L1TopoCoreSim L1TopoEvent L1TopoSimulationLib TrigT1CaloEventLib TrigT1CaloToolInterfaces TrigT1Result TrigTimeAlgsLib TestTools ByteStreamCnvSvcBaseLib xAODTrigger TrigConfL1Data TrigSerializeResultLib TrigNavigationLib TrigStorageDefinitions TrigMonitorBaseLib TrigInterfacesLib L1TopoCommon L1TopoConfig TrigT1Interfaces TrigSteeringLib ) atlas_add_test( Signature_test SOURCES @@ -79,6 +79,15 @@ atlas_add_test( Signature_test LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel AthenaMonitoringLib AthContainers StoreGateLib SGtests EventInfo xAODEventInfo GaudiKernel TrigConfBase TrigConfHLTData TrigROBDataProviderSvcLib TrigSteeringEvent L1TopoAlgorithms L1TopoCoreSim L1TopoEvent L1TopoSimulationLib TrigT1CaloEventLib TrigT1CaloToolInterfaces TrigT1Result TrigTimeAlgsLib TestTools ByteStreamCnvSvcBaseLib xAODTrigger TrigConfL1Data TrigSerializeResultLib TrigNavigationLib TrigStorageDefinitions TrigMonitorBaseLib TrigInterfacesLib L1TopoCommon L1TopoConfig TrigT1Interfaces TrigSteeringLib EXTRA_PATTERNS ".*" ) + +atlas_add_test( SteeringChain_test + SOURCES + test/SteeringChain_test.cxx + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${TDAQ-COMMON_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${TDAQ-COMMON_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel AthenaMonitoringLib AthContainers StoreGateLib SGtests EventInfo xAODEventInfo GaudiKernel TrigConfBase TrigConfHLTData TrigROBDataProviderSvcLib TrigSteeringEvent L1TopoAlgorithms L1TopoCoreSim L1TopoEvent L1TopoSimulationLib TrigT1CaloEventLib TrigT1CaloToolInterfaces TrigT1Result TrigTimeAlgsLib TestTools ByteStreamCnvSvcBaseLib xAODTrigger TrigConfL1Data TrigSerializeResultLib TrigNavigationLib TrigStorageDefinitions TrigMonitorBaseLib TrigInterfacesLib L1TopoCommon L1TopoConfig TrigT1Interfaces TrigSteeringLib + EXTRA_PATTERNS ".*" ) + + # Install files from the package: atlas_install_python_modules( python/*.py ) atlas_install_joboptions( share/*.py share/Lvl1Results.txt ) diff --git a/Trigger/TrigSteer/TrigSteering/TrigSteering/Lvl1ConsistencyChecker.h b/Trigger/TrigSteer/TrigSteering/TrigSteering/Lvl1ConsistencyChecker.h index db56d3d14724e89a68149f9ef76d7a5446d668c2..54fb7f81027ad6871ddad3f97c0aa9899ce48249 100644 --- a/Trigger/TrigSteer/TrigSteering/TrigSteering/Lvl1ConsistencyChecker.h +++ b/Trigger/TrigSteer/TrigSteering/TrigSteering/Lvl1ConsistencyChecker.h @@ -64,7 +64,7 @@ public: const std::vector<std::string>& ignoreThresholds); private: - bool m_printErrorMessages; + bool m_printWarnings; bool m_returnFailure; std::vector<std::string> m_thresholdsToCheck; diff --git a/Trigger/TrigSteer/TrigSteering/TrigSteering/ResultBuilderMT.h b/Trigger/TrigSteer/TrigSteering/TrigSteering/ResultBuilderMT.h deleted file mode 100644 index 8a475954210929aabb8bc5bb3cf8baade7042781..0000000000000000000000000000000000000000 --- a/Trigger/TrigSteer/TrigSteering/TrigSteering/ResultBuilderMT.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef TRIGSTEERING_RESULTBUILDERMT_H -#define TRIGSTEERING_RESULTBUILDERMT_H - -#include "TrigSteeringEvent/HLTResultMT.h" -#include "AthenaBaseComps/AthAlgTool.h" -#include "StoreGate/WriteHandle.h" - -namespace HLT { - /** @class ResultBuilderMT - * @brief Tool to create the HLTResultMT at the end of each event - **/ - class ResultBuilderMT : public AthAlgTool { - public: - /// Standard constructor - ResultBuilderMT(const std::string& type, const std::string& name, const IInterface* parent); - /// Standard destructor - virtual ~ResultBuilderMT(); - - // ------------------------- IStateful methods ----------------------------- - virtual StatusCode initialize() override; - virtual StatusCode finalize() override; - - // ------------------------- Specific methods of this tool ----------------- - /// Builds the HLTResultMT and records it in the event store - StatusCode buildResult(const EventContext& eventContext) const; - /// Return name of the HLTResultMT - const std::string& resultName() const {return m_hltResultWHKey.key();} - - private: - /// StoreGate key for the HLTResultMT - SG::WriteHandleKey<HLT::HLTResultMT> m_hltResultWHKey; - }; -} // namespace HLT - -#endif // TRIGSTEERING_RESULTBUILDERMT_H diff --git a/Trigger/TrigSteer/TrigSteering/TrigSteering/Sequence.h b/Trigger/TrigSteer/TrigSteering/TrigSteering/Sequence.h index 841e0ad200b0d2cb57cf2a448a915c0ac9dcab42..d9f1fc00949d34171c775c8a3ac460fc782e9ccf 100755 --- a/Trigger/TrigSteer/TrigSteering/TrigSteering/Sequence.h +++ b/Trigger/TrigSteer/TrigSteering/TrigSteering/Sequence.h @@ -26,6 +26,7 @@ #include "GaudiKernel/SmartIF.h" #include "AthenaBaseComps/AthService.h" #include "TrigROBDataProviderSvc/ITrigROBDataProviderSvc_RTT.h" //used for ROS data access test +#include "ByteStreamCnvSvcBase/IROBDataProviderSvc.h" class TrigTimer; @@ -134,8 +135,8 @@ namespace HLT { TrigTimer *m_timer; - SmartIF <ITrigROBDataProviderSvc_RTT> m_trigROBDataProvider; - + ServiceHandle<IROBDataProviderSvc> m_robDataProvider; //!< ROB data provider (for ROB pre-fetching) + SmartIF <ITrigROBDataProviderSvc_RTT> m_trigROBDataProviderRTT; //!< ROB data provider with extensions for RTT tests }; } diff --git a/Trigger/TrigSteer/TrigSteering/share/pureSteering_jobOptions.py b/Trigger/TrigSteer/TrigSteering/share/pureSteering_jobOptions.py index 24909eb88870a7909b4a513d7a4f4694893f5980..bce8d59703764de2a069be991999067c8f99ec27 100755 --- a/Trigger/TrigSteer/TrigSteering/share/pureSteering_jobOptions.py +++ b/Trigger/TrigSteer/TrigSteering/share/pureSteering_jobOptions.py @@ -2,7 +2,7 @@ from AthenaCommon.Logging import logging log = logging.getLogger( 'PureSteeringJob' ) svcMgr.MessageSvc.Format = "% F%52W%S%7W%R%T %0W%M" -svcMgr.MessageSvc.OutputLevel = DEBUG +svcMgr.MessageSvc.OutputLevel = WARNING svcMgr.MessageSvc.defaultLimit = 0 svcMgr.StoreGateSvc.Dump = True #true will dump data store contents @@ -31,6 +31,7 @@ if not "usePrescaleMenu" in dir(): usePrescaleMenu = False if not "useMultiSeedingMenu" in dir(): useMultiSeedingMenu = False if not "useMenuWithAcceptInput" in dir(): useMenuWithAcceptInput = False if not "useBusyEventSetup" in dir(): useBusyEventSetup = False +if not "l1SeedingTest" in dir(): l1SeedingTest = False # Default L1 RoIs if not set otherwise below @@ -103,6 +104,24 @@ EM15i,EM25i EM15i,EM25i """ +elif l1SeedingTest: + include("TrigSteering/pureSteering_l1Seeding_menu.py") + RoIs = "MU6, MU20\n"*7 + # see for info about + # 106 is ctp ID of L1_MU06 120 is for L1_MU20 and 121 for L1_MU21 + # + ctpbits = "106:1,0 120:1,1\n" + ctpbits += "106:1,1 120:0,0 121:1,1\n" # L1_MU21 active + ctpbits += "106:1,0 120:1,1 121:0,0\n" # L1_MU20 acts ( the other is inactive ) + ctpbits += "106:1,1 120:1,1 121:0,0\n" + ctpbits += "106:1,1 120:1,1 121:0,0\n" + ctpbits += "106:1,1 120:1,1 121:0,0\n" + ctpbits += "106:1,1 120:1,0 121:0,0\n" # L1_MU20 activated but prescaled + + ctpfile=open("Lvl1CTPResults.txt", "w") + ctpfile.write(ctpbits) + ctpfile.close() + else: include("TrigSteering/pureSteering_menu.py") @@ -122,6 +141,9 @@ roifile.write("\n") roifile.close() + + + ### Setup TrigConfigSvc ### #################################### from TrigConfigSvc.TrigConfigSvcConfig import SetupTrigConfigSvc @@ -173,8 +195,24 @@ if runMergedSteering: hltSteer.ResultBuilder.ErrorStreamTags = ["ABORT_CHAIN ALGO_ERROR GAUDI_EXCEPTION: hltexceptions physics", "ABORT_EVENT ALGO_ERROR TIMEOUT: hlttimeout debug"] hltSteer.softEventTimeout = 1 * Units.s + if l1SeedingTest: + from TrigSteering.TestingTrigSteeringConfig import TestingLvl1Converter + lvl1Converter = TestingLvl1Converter() + hltSteer += lvl1Converter + hltSteer.LvlConverterTool = lvl1Converter + hltSteer.LvlConverterTool.useL1Calo = False + hltSteer.LvlConverterTool.useL1Muon = False + hltSteer.LvlConverterTool.useL1JetEnergy = False + hltSteer.LvlConverterTool.OutputLevel = DEBUG + from TrigFake.TrigFakeConf import FakeRoIB + fakeRoIB = FakeRoIB() + fakeRoIB.OutputLevel = DEBUG + fakeRoIB.InputFile="Lvl1CTPResults.txt" + job += fakeRoIB + job += hltSteer + else: ### L2 TopAlgorithm from configurable ### ######################################### diff --git a/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1Seeding_menu.py b/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1Seeding_menu.py new file mode 100644 index 0000000000000000000000000000000000000000..f589db98ead57698ede4d5b0785a3cc889b17437 --- /dev/null +++ b/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1Seeding_menu.py @@ -0,0 +1,80 @@ +from TriggerMenu.TriggerConfigLVL1 import TriggerConfigLVL1 +from TriggerMenu.l1.Lvl1Flags import Lvl1Flags +from TriggerMenu.l1.Lvl1MenuItems import LVL1MenuItem +from TriggerMenu.l1.TriggerTypeDef import TT +from TriggerMenu.l1.Lvl1Condition import ThrCondition, Lvl1InternalTrigger +from TriggerMenu.l1.Logic import Logic + +# +# L1 +# +l1menu = TriggerConfigLVL1(outputFile = 'l1menu.xml', menuName = 'menutest', topoMenu = None) +LVL1MenuItem.l1configForRegistration = l1menu + +Lvl1Flags.thresholds = [ 'MU06', 'MU20' ] +Lvl1Flags.items = [ 'L1_MU06', 'L1_MU20', 'L1_MU21' ] + +bgrp = Logic(Lvl1InternalTrigger('BGRP0')) & Logic(Lvl1InternalTrigger('BGRP1')) + +thr = l1menu.registerThr('MU06','MUON').addThrValue(6) +LVL1MenuItem('L1_MU06').setLogic( ThrCondition(thr) & bgrp ).setTriggerType( TT.muon ) + +thr = l1menu.registerThr('MU20','MUON').addThrValue(20) +LVL1MenuItem('L1_MU20').setLogic( ThrCondition(thr) & bgrp ).setTriggerType( TT.muon ) +LVL1MenuItem('L1_MU21').setLogic( ThrCondition(thr) & bgrp ).setTriggerType( TT.muon ) + + +# fix CTP IDs +l1menu.registeredItems['L1_MU06'].setCtpid( 106 ) +l1menu.registeredItems['L1_MU20'].setCtpid( 120 ) +l1menu.registeredItems['L1_MU21'].setCtpid( 121 ) + +# overwrite menu +l1menu.generateMenu() +l1menu.writeXML() + + + + + +from TriggerMenu.menu.TriggerPythonConfig import TriggerPythonConfig +from TriggerMenu.menu.HLTObjects import HLTChain +menu = TriggerPythonConfig('pureSteering_menu.xml') + +# HLT +# chain1 = HLTChain( chain_name='HLT_e25', chain_counter='1', lower_chain_name='L1_EM25i', level='HLT', prescale='1', pass_through='1') +# chain1.addHLTSignature( 'em25i' ).addHLTSignature( 'em25i'' ) +# chain1.addTriggerTypeBit('4') +# chain1.addStreamTag('electrons', prescale='1') +# chain1.addStreamTag('IDCalibration', prescale='1', type='calibration') +# chain1.addGroup('electrons') +# menu.addHLTChain(chain1) + +chain = HLTChain( chain_name='HLT_mu6', chain_counter='1', lower_chain_name='L1_MU06', level='HLT', prescale='2', pass_through='0') +chain.addTriggerTypeBit('4') +chain.addStreamTag('muons', prescale='1') +chain.addGroup('muons') +menu.addHLTChain(chain) + +chain = HLTChain( chain_name='HLT_mu20', chain_counter='2', lower_chain_name='L1_MU20', level='HLT', prescale='2', pass_through='0') +chain.addTriggerTypeBit('4') +chain.addStreamTag('muons', prescale='1') +chain.addGroup('muons') +menu.addHLTChain(chain) + +chain = HLTChain( chain_name='HLT_mu21', chain_counter='3', lower_chain_name='L1_MU21', level='HLT', prescale='2', pass_through='0') +chain.addTriggerTypeBit('4') +chain.addStreamTag('muons', prescale='1') +chain.addGroup('muons') +menu.addHLTChain(chain) + +chain = HLTChain( chain_name='HLT_mu20_21', chain_counter='4', lower_chain_name='L1_MU20 L1_MU21', level='HLT', prescale='2', pass_through='0') +chain.addTriggerTypeBit('4') +chain.addStreamTag('muons', prescale='1') +chain.addGroup('muons') +menu.addHLTChain(chain) + + +menu.writeConfigFiles(); +menu.dot(algs=True) + diff --git a/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1menu.py b/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1menu.py index 9b6b0acbe9032efc16acf0f58add43780d1d7a8a..6d4feeda025d338bcb4425213c9fc6670789822e 100644 --- a/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1menu.py +++ b/Trigger/TrigSteer/TrigSteering/share/pureSteering_l1menu.py @@ -33,6 +33,8 @@ LVL1MenuItem('L1_2MU06').setLogic( ThrCondition(thr).x(2) & bgrp ).setTriggerTyp thr = l1menu.registerThr('MU20','MUON').addThrValue(20) LVL1MenuItem('L1_MU20').setLogic( ThrCondition(thr) & bgrp ).setTriggerType( TT.muon ) + + thr = l1menu.registerThr('J200','JET').addThrValue(200) LVL1MenuItem('L1_J200').setLogic( ThrCondition(thr) & bgrp ).setTriggerType( TT.calo ) diff --git a/Trigger/TrigSteer/TrigSteering/src/Lvl1ConsistencyChecker.cxx b/Trigger/TrigSteer/TrigSteering/src/Lvl1ConsistencyChecker.cxx index 36d3952af5c5e30efe6104b0feccf0858615b6ed..b5de1ac58729e916bc5d3bfc12f2727825f6b0e5 100644 --- a/Trigger/TrigSteer/TrigSteering/src/Lvl1ConsistencyChecker.cxx +++ b/Trigger/TrigSteer/TrigSteering/src/Lvl1ConsistencyChecker.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ #include <algorithm> @@ -40,7 +40,7 @@ Lvl1ConsistencyChecker::Lvl1ConsistencyChecker(const std::string& name, const st const IInterface* parent) : AthAlgTool(name, type, parent) { - declareProperty("printErrorMessages", m_printErrorMessages=true, "print detailed error reports"); + declareProperty("printWarnings", m_printWarnings=true, "print detailed error reports"); declareProperty("returnFailure", m_returnFailure=false, "in case of inconsitency return FAILURE"); declareProperty("maxTOBs", m_returnFailure=false, "in case of inconsitency return FAILURE"); declareProperty("thresholdsToCheck", m_thresholdsToCheck, "trigger threshold types to check"); @@ -116,6 +116,7 @@ Lvl1ConsistencyChecker::check(const std::vector<const LVL1CTP::Lvl1Item*>& items const std::vector<std::string>& ignoreThresholds) { std::vector<ThresholdId> errors; + HLT::SteeringInternalReason::Code failure = HLT::SteeringInternalReason::UNKNOWN; for ( const LVL1CTP::Lvl1Item* item : items ){ if ( ! item->isPassedAfterVeto() ) // we do not need to check items which did not pass @@ -141,21 +142,25 @@ Lvl1ConsistencyChecker::check(const std::vector<const LVL1CTP::Lvl1Item*>& items m_histAll->Fill(thr.second.name.c_str(), 1.0); // Fill all except ignored thresholds (e.g. overflows) if ( !contains(ignoreThresholds, thr.second.type) ) { + if (thr.second.type=="CALO") failure = HLT::SteeringInternalReason::MISSING_CALO_ROI; + else if (thr.second.type=="MUON") failure = HLT::SteeringInternalReason::MISSING_MUON_ROI; + else failure = HLT::SteeringInternalReason::MISSING_OTHER_ROI; m_hist->Fill(thr.second.name.c_str(), 1.0); } } - if (m_printErrorMessages ) { // report problem for all items - ATH_MSG_WARNING("Item " << cIt->second.name << " required: " + if (m_printWarnings) { // report problem for all items + ATH_MSG_WARNING("Item " << cIt->second.name << " required: " << unsigned(thr.second.multiplicity) << " of: " << thr.second.name << " while got: " << found); } } } } - if ( !errors.empty() && m_returnFailure) { - return HLT::ErrorCode(HLT::Action::ABORT_EVENT, HLT::Reason::MISSING_FEATURE, - HLT::SteeringInternalReason::NO_LVL1_ITEMS ); + if ( failure != HLT::SteeringInternalReason::UNKNOWN ) { + return HLT::ErrorCode(m_returnFailure ? HLT::Action::ABORT_EVENT : HLT::Action::CONTINUE, + HLT::Reason::MISSING_FEATURE, failure ); } + return HLT::OK; } diff --git a/Trigger/TrigSteer/TrigSteering/src/Lvl1Converter.cxx b/Trigger/TrigSteer/TrigSteering/src/Lvl1Converter.cxx index ec8f09308a1bc3307fb02482f832489740d2b919..9b5d13f29303d90409e89c5b4b3fbc6ec0358cdf 100755 --- a/Trigger/TrigSteer/TrigSteering/src/Lvl1Converter.cxx +++ b/Trigger/TrigSteer/TrigSteering/src/Lvl1Converter.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /********************************************************************************** @@ -535,49 +535,31 @@ ErrorCode Lvl1Converter::hltExecute(std::vector<HLT::SteeringChain*>& chainsToRu if(m_doTiming) m_totalTime->stop(); - // Check for L1Calo overflows - std::bitset<3> overflow = m_lvl1Tool->lvl1EMTauJetOverflow(*result); - std::vector<std::string> ignore; - const char* thr[] = {"EM","TAU","JET"}; - for (size_t i=0; i<overflow.size(); ++i) { - if (overflow[i]) { - ATH_MSG_WARNING("All " << thr[i] << " L1 thresholds were forced on due to overflow in TOB transmission to CMX"); - ignore.push_back(thr[i]); - } - } - - // Consistency check - HLT::ErrorCode ecl1 = m_lvl1ConsistencyTool->check(items, m_config->getNavigation(), ignore); - if ( ecl1 != HLT::OK ) { - ATH_MSG_WARNING("Lvl1 decision inconsistent: "); - return ecl1; - } - // if this is calibration event we do not apply RoI count cuts (meansy any busy event is just OK) if ( ! m_lvl1Tool->isCalibrationEvent(*result) ) { // check the limits bool isAboveLimit = false; if ( m_muonRoIsLimit && muonRoIsCount > m_muonRoIsLimit) { - isAboveLimit = isAboveLimit || true; + isAboveLimit = true; ATH_MSG_DEBUG("Busy event, passes limits of the MUON rois counts per event: " << muonRoIsCount << " > " << m_muonRoIsLimit); } if ( m_emtauRoIsLimit && emtauRoIsCount > m_emtauRoIsLimit) { - isAboveLimit = isAboveLimit || true; + isAboveLimit = true; ATH_MSG_DEBUG("Busy event, passes limits of the EMTAU rois counts per event: " << emtauRoIsCount << " > " << m_emtauRoIsLimit); } if (m_jetRoIsLimit && jetRoIsCount > m_jetRoIsLimit) { - isAboveLimit = isAboveLimit || true; + isAboveLimit = true; ATH_MSG_DEBUG("Busy event, passes limits of the JET rois counts per event: " << jetRoIsCount << " > " << m_jetRoIsLimit); } unsigned overallRoIsCount= muonRoIsCount + emtauRoIsCount + jetRoIsCount; if ( m_overallRoIsLimit && overallRoIsCount > m_overallRoIsLimit ) { - isAboveLimit = isAboveLimit || true; + isAboveLimit = true; ATH_MSG_DEBUG("Busy event, passes limits of the all types rois counts per event: " << overallRoIsCount << " > " << m_overallRoIsLimit); } @@ -588,6 +570,24 @@ ErrorCode Lvl1Converter::hltExecute(std::vector<HLT::SteeringChain*>& chainsToRu } } + // Check for L1Calo overflows + std::bitset<3> overflow = m_lvl1Tool->lvl1EMTauJetOverflow(*result); + std::vector<std::string> ignore; + const char* thr[] = {"EM","TAU","JET"}; + for (size_t i=0; i<overflow.size(); ++i) { + if (overflow[i]) { + ATH_MSG_WARNING("All " << thr[i] << " L1 thresholds were forced on due to overflow in TOB transmission to CMX"); + ignore.push_back(thr[i]); + } + } + + // Consistency check + HLT::ErrorCode ecl1 = m_lvl1ConsistencyTool->check(items, m_config->getNavigation(), ignore); + if ( ecl1 != HLT::OK ) { + ATH_MSG_WARNING("Lvl1 decision inconsistent"); + return ecl1; + } + return HLT::OK; } diff --git a/Trigger/TrigSteer/TrigSteering/src/ResultBuilderMT.cxx b/Trigger/TrigSteer/TrigSteering/src/ResultBuilderMT.cxx deleted file mode 100644 index 842fac666304825a7f01b5bee35dea78e566b423..0000000000000000000000000000000000000000 --- a/Trigger/TrigSteer/TrigSteering/src/ResultBuilderMT.cxx +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration -*/ - -#include "TrigSteering/ResultBuilderMT.h" - -// ============================================================================= -// Standard constructor -// ============================================================================= -HLT::ResultBuilderMT::ResultBuilderMT(const std::string& type, const std::string& name, const IInterface* parent) - : AthAlgTool(type, name, parent) { - declareProperty("HLTResultWHKey", m_hltResultWHKey="HLTResult"); -} - -// ============================================================================= -// Standard destructor -// ============================================================================= -HLT::ResultBuilderMT::~ResultBuilderMT() {} - -// ============================================================================= -// Implementation of IStateful::initialize -// ============================================================================= -StatusCode HLT::ResultBuilderMT::initialize() { - ATH_MSG_VERBOSE("start of " << __FUNCTION__); - ATH_CHECK(m_hltResultWHKey.initialize()); - ATH_MSG_VERBOSE("end of " << __FUNCTION__); - return StatusCode::SUCCESS; -} - -// ============================================================================= -// Implementation of IStateful::finalize -// ============================================================================= -StatusCode HLT::ResultBuilderMT::finalize() { - ATH_MSG_VERBOSE("start of " << __FUNCTION__); - ATH_MSG_VERBOSE("end of " << __FUNCTION__); - return StatusCode::SUCCESS; -} - -// ============================================================================= -// The main method of the tool -// ============================================================================= -StatusCode HLT::ResultBuilderMT::buildResult(const EventContext& eventContext) const { - ATH_MSG_VERBOSE("start of " << __FUNCTION__); - auto hltResult = SG::makeHandle(m_hltResultWHKey,eventContext); - ATH_CHECK( hltResult.record(std::make_unique<HLT::HLTResultMT>()) ); - ATH_MSG_DEBUG("Recorded HLTResultMT with key " << m_hltResultWHKey.key()); - - // Dummy data for testing - hltResult->addStreamTag({"DummyStreamTag1",eformat::TagType::PHYSICS_TAG,true}); - hltResult->addStreamTag({"DummyStreamTag2",eformat::TagType::CALIBRATION_TAG,true}); - hltResult->addHltBitsWord(0x00000002); - hltResult->addHltBitsWord(0x00000020); - hltResult->addSerialisedData(0,{0x01234567,0x89ABCDEF}); - hltResult->addSerialisedData(5,{0xFEDCBA98,0x76543210}); - - ATH_MSG_VERBOSE("end of " << __FUNCTION__); - return StatusCode::SUCCESS; -} diff --git a/Trigger/TrigSteer/TrigSteering/src/Sequence.cxx b/Trigger/TrigSteer/TrigSteering/src/Sequence.cxx index 146f79ba42139c978abe9d4772ad74ef5fe00494..696e1d402f6dad01b70a83a8f435ed215f1abbba 100755 --- a/Trigger/TrigSteer/TrigSteering/src/Sequence.cxx +++ b/Trigger/TrigSteer/TrigSteering/src/Sequence.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration */ /********************************************************************************** @@ -37,10 +37,6 @@ #include "TrigConfHLTData/HLTTriggerElement.h" #include "GaudiKernel/AlgTool.h" -#include "TrigROBDataProviderSvc/ITrigROBDataProviderSvc_RTT.h" //just for debug -#include "TrigROBDataProviderSvc/ITrigROBDataProviderSvc.h" //just for debug -#include "ByteStreamCnvSvcBase/IROBDataProviderSvc.h" - using namespace HLT; @@ -59,7 +55,8 @@ Sequence::Sequence(std::vector<unsigned int> inputTypes, m_prepRobReqAlreadyExecuted(false), m_prepRobReqErrorCode(HLT::OK), m_topoStartFromSequence(0), - m_timer(0) + m_timer(0), + m_robDataProvider("ROBDataProviderSvc/ROBDataProviderSvc","TrigSteer_HLT") { // add the timer if ( config->getDoTiming() ) { @@ -92,12 +89,11 @@ Sequence::Sequence(std::vector<unsigned int> inputTypes, } // Get TrigROBDataProvider_RTT for data pre-fetch test - ServiceHandle<IROBDataProviderSvc> robDataProvider("ROBDataProviderSvc/ROBDataProviderSvc","TrigSteer_HLT"); - if( robDataProvider.retrieve().isFailure() ) { + if( m_robDataProvider.retrieve().isFailure() ) { m_config->getMsgStream() << MSG::ERROR << "can't get ROBDataProviderSvc" << endmsg; } else{ - m_trigROBDataProvider = SmartIF<ITrigROBDataProviderSvc_RTT>( &*robDataProvider ); - if (m_trigROBDataProvider.isValid()) { + m_trigROBDataProviderRTT = SmartIF<ITrigROBDataProviderSvc_RTT>( &*m_robDataProvider ); + if (m_trigROBDataProviderRTT.isValid()) { if (m_config && m_config->getMsgLvl() <= MSG::DEBUG) m_config->getMsgStream() << MSG::DEBUG << "A ROBDataProviderSvc implementing the trig interface ITrigROBDataProviderSvc_RTT was found."<< endmsg; } @@ -361,7 +357,7 @@ HLT::ErrorCode Sequence::execute() HLT::ErrorCode Sequence::prepareRobRequests() { // this variable enables the monitor of the pre-fetching with the trigROBDataProviderSvc - bool do_prefetching_test = m_trigROBDataProvider.isValid() && m_trigROBDataProvider->isPrefetchingAtAlgoLevel(); + bool do_prefetching_test = m_trigROBDataProviderRTT.isValid() && m_trigROBDataProviderRTT->isPrefetchingAtAlgoLevel(); // in case this sequence was executed before if (m_prepRobReqAlreadyExecuted) { @@ -485,10 +481,10 @@ HLT::ErrorCode Sequence::prepareRobRequests() << te_create_alg->name() << " " << HLT::strErrorCode( m_prepRobReqErrorCode ) << endmsg; //test of the pretching: fill the pre-fetching list - if (do_prefetching_test){ + if (do_prefetching_test && m_robDataProvider.isValid()){ std::string pref_name = alg->name() + "_pref"; if (m_config->getMsgLvl() <=MSG::INFO) m_config->getMsgStream() << MSG::INFO <<"Forcing trigROBDataProvider_RTT.addROBData: Algorithm "<< te_create_alg->name() <<" scheduled "<<m_config->robRequestInfo()->requestScheduledRobIDs().size() <<" ROBs"<<endmsg; - m_trigROBDataProvider->addROBData(m_config->robRequestInfo()->requestScheduledRobIDs(),pref_name); + m_robDataProvider->addROBData(m_config->robRequestInfo()->requestScheduledRobIDs(),pref_name); } // Check if event timeout was reached diff --git a/Trigger/TrigSteer/TrigSteering/src/TrigSteer.cxx b/Trigger/TrigSteer/TrigSteering/src/TrigSteer.cxx index 53e25f6a4fff4dcf16cf72db8b3528963256a508..07c4c97239b4f07f0378c3258470eec24b22cdd1 100755 --- a/Trigger/TrigSteer/TrigSteering/src/TrigSteer.cxx +++ b/Trigger/TrigSteer/TrigSteering/src/TrigSteer.cxx @@ -133,7 +133,7 @@ TrigSteer::TrigSteer(const std::string& name, ISvcLocator* pSvcLocator) declareProperty("cachingMode", m_cachingMode = HLT::RoICacheHelper::HistoryBased, "Caching mode: 0 - off, 1 - RoI based, 2 - RoI +features, 3 - as 2 +check only used features, default is 3(most advanced)"); declareProperty("enableCoherentPrescaling", m_enableCoherentPrescaling=false, "Enables coherent prescaling (so chains from one prescaling group fire in the same event)"); - declareProperty("enableRobRequestPreparation", m_enableRobRequestPreparation=false, "Enables ROB-request-preparation step"); + declareProperty("enableRobRequestPreparation", m_enableRobRequestPreparation=true, "Enables ROB-request-preparation step"); declareProperty("enableRerun", m_enableRerun=true, "Enables rerun of prescaled chains"); declareProperty("EBstrategy", m_strategyEB = 0, "EB strategy: 0 = call by chains, 1 = call at the end of chains "); declareProperty("doL1TopoSimulation",m_doL1TopoSimulation=true,"Turns on L1Topo Sim"); @@ -812,6 +812,7 @@ void TrigSteer::runChains(bool secondPass) { bool eventPassed = false; int step = 0; //just for debug: follow numeration of signature counters: starts from 1 (but currentStep in chains starts from 0) bool doEBbyChain = false; + bool isPhysicsEvent = false; if(m_config -> getSteeringOPILevel() > 0) { // Create new chain step OPI as before @@ -899,8 +900,13 @@ void TrigSteer::runChains(bool secondPass) { ATH_MSG_DEBUG("Call EB at step " << step << " because chain needs it"); else ATH_MSG_DEBUG("Call EB at step " << step << " because the event is accepted"); - - issueEventBuildingRequest(step); + + // determine if the event is a "physics" event. Call only for these events full event building (not for calibration or monitoring) + for (auto vec_it = ((*iterChain)->getStreamTags()).begin(); vec_it != ((*iterChain)->getStreamTags()).end(); ++vec_it) { + if (vec_it->getType() == "physics") isPhysicsEvent = true; + } + + if (isPhysicsEvent) issueEventBuildingRequest(step); } } if (m_auditChains) auditorSvc()->after(IAuditor::Execute,chainName); @@ -913,7 +919,7 @@ void TrigSteer::runChains(bool secondPass) { // final call of EB at the end of steps (done here if strategyEB == 1) if (eventPassed){ ATH_MSG_DEBUG("Call EB at step " << step << " at the end of steps processing because not done previously"); - issueEventBuildingRequest(step); + if (isPhysicsEvent) issueEventBuildingRequest(step); } m_coreDumpSvc->setCoreDumpInfo("Current trigger chain","<NONE>"); diff --git a/Trigger/TrigSteer/TrigSteering/src/components/TrigSteering_entries.cxx b/Trigger/TrigSteer/TrigSteering/src/components/TrigSteering_entries.cxx index 399686097590d30a578ab14ea076a1ef9c47b511..1a4885a3b340871659d78bcc6c99c8d37218eb89 100644 --- a/Trigger/TrigSteer/TrigSteering/src/components/TrigSteering_entries.cxx +++ b/Trigger/TrigSteer/TrigSteering/src/components/TrigSteering_entries.cxx @@ -6,7 +6,6 @@ #include "TrigSteering/LoopbackConverterFromPersistency.h" #include "TrigSteering/Lvl2ConverterFromPersistency.h" #include "TrigSteering/ResultBuilder.h" -#include "TrigSteering/ResultBuilderMT.h" #include "TrigSteering/RandomScaler.h" //#include "TrigSteering/PeriodicScaler.h" #include "TrigSteering/ScalerSvc.h" @@ -27,7 +26,6 @@ DECLARE_COMPONENT( HLT::TrigSteer ) DECLARE_COMPONENT( HLT::ScalerSvc ) DECLARE_COMPONENT( HLT::ResultBuilder ) -DECLARE_COMPONENT( HLT::ResultBuilderMT ) DECLARE_COMPONENT( HLT::RandomScaler ) DECLARE_COMPONENT( HLT::Lvl1ResultAccessTool ) DECLARE_COMPONENT( HLT::HLTResultAccessTool ) diff --git a/Trigger/TrigSteer/TrigSteering/test/SteeringChain_test.cxx b/Trigger/TrigSteer/TrigSteering/test/SteeringChain_test.cxx new file mode 100644 index 0000000000000000000000000000000000000000..08b6113d95bdd5f49119a2ccec9c2079706c72ca --- /dev/null +++ b/Trigger/TrigSteer/TrigSteering/test/SteeringChain_test.cxx @@ -0,0 +1,101 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#include <cassert> +#include <iostream> + +#include "TrigSteering/Signature.h" +#include "TrigSteering/Sequence.h" +#include "TrigSteering/SteeringChain.h" +#include "TrigSteering/PeriodicScaler.h" +#include "TrigSteering/ISequenceProvider.h" +#include "TrigSteering/IScalerSvc.h" +#include "TrigInterfaces/AlgoConfig.h" + +#include "TestTools/initGaudi.h" +#include "GaudiKernel/MsgStream.h" +#include "AthenaKernel/getMessageSvc.h" + + +using namespace HLT; +class TestSequenceProvider : public ISequenceProvider { +public: + HLT::Sequence* findSeqForOutputTeType( const unsigned int ) override { + return 0; + } +}; + +class TestScalerSvc : public IScalerSvc, public AthService { +public: + TestScalerSvc( ISvcLocator* pSvc ) : AthService( "TestScalerSvc", pSvc ) {} + IScaler* get( const std::string& ) const { + return new PeriodicScaler; + } +private: +}; + +int main() +{ + + // get Gaudi MsgService: + ISvcLocator* pSvcLoc; + if ( !Athena_test::initGaudi( pSvcLoc ) ) { + std::cerr << "problem loading Athena_test::initGaudi !!" << std::endl; + return 0; + } + assert( pSvcLoc ); + + MsgStream* log = new MsgStream( Athena::getMessageSvc(), "getMessageSvc_test" ); + int logLvl = log->level(); + + // Create & set the config object, holding all common variables + HLT::AlgoConfig* config = new HLT::AlgoConfig(); + config->setMsgStream( log ); + config->setMsgLvl( logLvl ); + const std::vector<TrigConf::HLTSignature*> noSteps; + TrigConf::HLTChain chainConf( "HLT_multiSeeded", 1, 0, "HLT", "L1_A L1_B", 0, noSteps ); + chainConf.set_prescale( 10 ); + chainConf.addStream( new TrigConf::HLTStreamTag("Main", "physics", true, 1.) ); + chainConf.addStream( new TrigConf::HLTStreamTag("express", "express", true, 1.) ); + chainConf.set_groupList( std::set<std::string>( {"grA", "grB"} ) ); + + + TestSequenceProvider seqProvider; + TestScalerSvc scalerSvc( pSvcLoc ); + HLT::SteeringChain steeringChain( &chainConf, &seqProvider, config, &scalerSvc ); + std::cout << "After creation" << std::endl; + steeringChain.print(std::cout); + std::cout << std::endl; + + std::cout << "reset:" << std::endl; + for ( int i = 0; i < 20; ++i ) { + steeringChain.reset(); + steeringChain.setActive(); + + steeringChain.setPrescaleState(); + steeringChain.print(std::cout); + std::cout << std::endl; + } + + std::cout << "reseetChain:" << std::endl; + for ( int i = 0; i < 20; ++i ) { + steeringChain.resetChain(); + steeringChain.setActive(); + + steeringChain.setPrescaleState(); + steeringChain.print(std::cout); + std::cout << std::endl; + } + + + + + + delete log; + delete config; + + + + return 0; +} diff --git a/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithm.cxx b/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithm.cxx index ae5f341b7757d72c042e5611ec8092dcd5874cec..c18021e98b7c519da132484ca25fc11594ca858f 100644 --- a/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithm.cxx +++ b/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithm.cxx @@ -31,7 +31,7 @@ StatusCode EventViewCreatorAlgorithm::execute_r( const EventContext& context ) c auto viewVector = std::make_unique< ViewContainer >(); auto contexts = std::vector<EventContext>( ); unsigned int viewCounter = 0; - unsigned int conditionsRun = getContext().getExtension<Atlas::ExtendedEventContext>()->conditionsRun(); + unsigned int conditionsRun = getContext().getExtension<Atlas::ExtendedEventContext>().conditionsRun(); // const TrigRoiDescriptor* previousRoI = 0; // mapping RoI with index of the View in the vector diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxy.h b/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxy.h index 0b8b7261bf81bd9bc8b907f3341b71cf3ad85878..cdf36718f76a98e8380383de5d5bc609a3f96ba6 100644 --- a/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxy.h +++ b/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxy.h @@ -30,14 +30,14 @@ namespace SchedulerProxy { { SG::ReadHandle<ConstDataVector<TrigRoiDescriptorCollection> > rois("RegionOfReco"); - CHECK(rois.setProxyDict(context.getExtension<Atlas::ExtendedEventContext>()->proxy())); + CHECK(rois.setProxyDict(context.getExtension<Atlas::ExtendedEventContext>().proxy())); SG::WriteHandle< TestClusterContainer > clusterContainer("Clusters"); - CHECK(clusterContainer.setProxyDict(context.getExtension<Atlas::ExtendedEventContext>()->proxy())); + CHECK(clusterContainer.setProxyDict(context.getExtension<Atlas::ExtendedEventContext>().proxy())); ATH_CHECK (clusterContainer.record (CxxUtils::make_unique< TestClusterContainer >()) ); SG::WriteHandle< TestClusterAuxContainer > clusterContainerAux("ClustersAux."); - CHECK(clusterContainerAux.setProxyDict(context.getExtension<Atlas::ExtendedEventContext>()->proxy())); + CHECK(clusterContainerAux.setProxyDict(context.getExtension<Atlas::ExtendedEventContext>().proxy())); ATH_CHECK( clusterContainerAux.record (CxxUtils::make_unique< TestClusterAuxContainer>()) ); clusterContainer->setStore(clusterContainerAux.ptr()); diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.cxx index 84dbddc03e62fb96afbd70ce88c4ab8158ea1c88..4861b5a78e6085aa7f6a48edb8e1b8c1f65232d1 100644 --- a/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.cxx +++ b/Trigger/TrigSteer/ViewAlgsTest/src/SchedulerProxyAlg.cxx @@ -27,7 +27,7 @@ StatusCode SchedulerProxyAlg::initialize() StatusCode SchedulerProxyAlg::execute() { - auto proxyPtr = getContext().getExtension<Atlas::ExtendedEventContext>()->proxy(); + auto proxyPtr = getContext().getExtension<Atlas::ExtendedEventContext>().proxy(); auto viewPtr = dynamic_cast<SG::View*>(proxyPtr); if ( viewPtr != nullptr ) { ATH_MSG_DEBUG( ".. The alg operates on the view " << viewPtr->impl()->name() ); diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TestFEXAlgView.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/TestFEXAlgView.cxx index ecd9f37f6ec5142c2875dd852d9ff506bbc4f04d..8cee76304aa801fec590f4d2997f20f55df3e8f8 100644 --- a/Trigger/TrigSteer/ViewAlgsTest/src/TestFEXAlgView.cxx +++ b/Trigger/TrigSteer/ViewAlgsTest/src/TestFEXAlgView.cxx @@ -71,7 +71,7 @@ StatusCode TestFEXAlgView::execute() { m_outputProxyContainer->push_back(proxy); // This retrieval and cast could use some protection, but do we actually need this alg? - SG::View * myView = dynamic_cast< SG::View * >( ctx.getExtension<Atlas::ExtendedEventContext>()->proxy() ); + SG::View * myView = dynamic_cast< SG::View * >( ctx.getExtension<Atlas::ExtendedEventContext>().proxy() ); proxy->setObjectLink("cluster", ElementLink<TestClusterContainer>(m_outputClusterContainer.name(), nRoI, myView ) ); proxy->setObjectLink("seed", ElementLink<xAOD::TrigCompositeContainer>(m_inputContainer.name(), nRoI, myView ) ); } else { diff --git a/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.cxx b/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.cxx index a7a8692ae20c0e45b00675c60554a845c0f0c215..63434d9a4cc346cf7a67269ee74c2fc5dc149b29 100644 --- a/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.cxx +++ b/Trigger/TrigSteer/ViewAlgsTest/src/TestViewDriver.cxx @@ -37,7 +37,7 @@ StatusCode TestViewDriver::execute( ) { auto contexts = std::vector<EventContext>( ); auto viewVector = std::make_unique< ViewContainer >( ); unsigned int viewCounter = 0; - unsigned int conditionsRun = getContext().getExtension<Atlas::ExtendedEventContext>()->conditionsRun(); + unsigned int conditionsRun = getContext().getExtension<Atlas::ExtendedEventContext>().conditionsRun(); for ( const auto roi: *roisContainer.cptr( ) ) { contexts.push_back( getContext( ) ); diff --git a/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/OverlayTTL1.h b/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/OverlayTTL1.h index 73918d8eb673c6b4e8607269c19d03f859e210b8..f369e6041aedf94dc1a7a53a547a243c7d2c77ec 100644 --- a/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/OverlayTTL1.h +++ b/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/OverlayTTL1.h @@ -64,9 +64,6 @@ public: StatusCode finalize(); private: - // Enable/disable Tile TTL1 overlay - bool m_enableTileTTL1Overlay; - // locations of background TTL1 data SG::ReadHandleKey<LArTTL1Container> m_bkgEmTTL1Key{this,"BkgEmTTL1Key","OriginalEvent_SG+LArTTL1EM","ReadHandleKey for Background Input EM LArTTL1Container"}; SG::ReadHandleKey<LArTTL1Container> m_bkgHadTTL1Key{this,"BkgHadTTL1Key","OriginalEvent_SG+LArTTL1HAD","ReadHandleKey for Background Input Had LArTTL1Container"}; diff --git a/Trigger/TrigT1/TrigT1CaloSim/python/OverlayTTL1Config.py b/Trigger/TrigT1/TrigT1CaloSim/python/OverlayTTL1Config.py index 87b05874609b0312fddba06a10ec584f51867661..015c45f76e5f8ce310455f20c9783dc1c676f34a 100644 --- a/Trigger/TrigT1/TrigT1CaloSim/python/OverlayTTL1Config.py +++ b/Trigger/TrigT1/TrigT1CaloSim/python/OverlayTTL1Config.py @@ -6,7 +6,7 @@ def getTTL1Overlay(name="OverlayTTL1", **kwargs): from OverlayCommonAlgs.OverlayFlags import overlayFlags # Tile TTL1 overlay is currently not needed as Tile trigger towers are created from the overlaid container - kwargs.setdefault("EnableTileTTL1Overlay", False) + enableTileTTL1Overlay = False kwargs.setdefault("BkgEmTTL1Key", overlayFlags.dataStore() + "+LArTTL1EM"); kwargs.setdefault("SignalEmTTL1Key", overlayFlags.evtStore() + "+LArTTL1EM"); @@ -16,8 +16,13 @@ def getTTL1Overlay(name="OverlayTTL1", **kwargs): kwargs.setdefault("SignalHadTTL1Key", overlayFlags.evtStore() + "+LArTTL1HAD"); kwargs.setdefault("OutputHadTTL1Key", overlayFlags.outputStore() + "+LArTTL1HAD"); - kwargs.setdefault("BkgTileTTL1Key", overlayFlags.dataStore() + "+TileTTL1Cnt"); - kwargs.setdefault("SignalTileTTL1Key", overlayFlags.evtStore() + "+TileTTL1Cnt"); - kwargs.setdefault("OutputTileTTL1Key", overlayFlags.outputStore() + "+TileTTL1Cnt"); + if enableTileTTL1Overlay: + kwargs.setdefault("BkgTileTTL1Key", overlayFlags.dataStore() + "+TileTTL1Cnt"); + kwargs.setdefault("SignalTileTTL1Key", overlayFlags.evtStore() + "+TileTTL1Cnt"); + kwargs.setdefault("OutputTileTTL1Key", overlayFlags.outputStore() + "+TileTTL1Cnt"); + else: + kwargs.setdefault("BkgTileTTL1Key", ""); + kwargs.setdefault("SignalTileTTL1Key", ""); + kwargs.setdefault("OutputTileTTL1Key", ""); return CfgMgr.LVL1__OverlayTTL1(name, **kwargs) diff --git a/Trigger/TrigT1/TrigT1CaloSim/src/OverlayTTL1.cxx b/Trigger/TrigT1/TrigT1CaloSim/src/OverlayTTL1.cxx index b27039427cdae91144faa9223d7f73ab4a4986ec..5e2d74fcad98bd11493380bb58286021a3118d57 100644 --- a/Trigger/TrigT1/TrigT1CaloSim/src/OverlayTTL1.cxx +++ b/Trigger/TrigT1/TrigT1CaloSim/src/OverlayTTL1.cxx @@ -15,11 +15,7 @@ namespace LVL1 { OverlayTTL1::OverlayTTL1(const std::string& name, ISvcLocator* pSvcLocator) - : AthAlgorithm(name, pSvcLocator) - -{ - declareProperty("EnableTileTTL1Overlay", m_enableTileTTL1Overlay=false); -} + : AthAlgorithm(name, pSvcLocator) { } OverlayTTL1::~OverlayTTL1() {} @@ -29,17 +25,25 @@ StatusCode OverlayTTL1::initialize() // StoreGate keys ATH_CHECK( m_bkgEmTTL1Key.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_bkgEmTTL1Key); ATH_CHECK( m_bkgHadTTL1Key.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_bkgHadTTL1Key); ATH_CHECK( m_signalEmTTL1Key.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_signalEmTTL1Key); ATH_CHECK( m_signalHadTTL1Key.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_signalHadTTL1Key); ATH_CHECK( m_outputEmTTL1Key.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_outputEmTTL1Key); ATH_CHECK( m_outputHadTTL1Key.initialize() ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_outputHadTTL1Key); - if (m_enableTileTTL1Overlay) { - ATH_CHECK( m_bkgTileTTL1Key.initialize() ); - ATH_CHECK( m_signalTileTTL1Key.initialize() ); - ATH_CHECK( m_outputTileTTL1Key.initialize() ); - } + // Tile can be disabled + ATH_CHECK( m_bkgTileTTL1Key.initialize(!m_bkgTileTTL1Key.key().empty()) ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_bkgTileTTL1Key); + ATH_CHECK( m_signalTileTTL1Key.initialize(!m_signalTileTTL1Key.key().empty()) ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_signalTileTTL1Key); + ATH_CHECK( m_outputTileTTL1Key.initialize(!m_outputTileTTL1Key.key().empty()) ); + ATH_MSG_VERBOSE("Initialized ReadHandleKey: " << m_outputTileTTL1Key); return StatusCode::SUCCESS; } @@ -50,7 +54,7 @@ StatusCode OverlayTTL1::execute() ATH_CHECK( overlayLArTTL1(m_bkgEmTTL1Key, m_signalEmTTL1Key, m_outputEmTTL1Key, "EM") ); ATH_CHECK( overlayLArTTL1(m_bkgHadTTL1Key, m_signalHadTTL1Key, m_outputHadTTL1Key, "Hadronic") ); - if (m_enableTileTTL1Overlay) { + if (!m_outputTileTTL1Key.key().empty()) { ATH_CHECK( overlayTileTTL1(m_bkgTileTTL1Key, m_signalTileTTL1Key, m_outputTileTTL1Key) ); } diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx index 4a079373e1ea566827b1a5c450af9df023581676..c845cd960d6e18344c1808c2d14d0de4bfa44ad8 100644 --- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx +++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx @@ -328,7 +328,7 @@ MMT_Parameters::MMT_Parameters(par_par inputParams, char wedgeSize, const MuonGM //x = horizontal distance from beam looking down //////////// Define the large wedge ///////////////// w1=float32fixed<18>(mm_top_mult1->lWidth()); //top - w2=float32fixed<18>(mm_top_mult1->lWidth()*1./(cos(roParam_top_mult1.stereoAngel.at(3)))); //determined by 33deg angle //shelves part + w2=float32fixed<18>(mm_top_mult1->lWidth()*1./(cos(roParam_top_mult1.stereoAngle.at(3)))); //determined by 33deg angle //shelves part w3=float32fixed<18>(mm_bottom_mult1->sWidth());//582.3); //bottom h1=float32fixed<18>(roParam_top_mult1.roLength+roParam_bottom_mult1.roLength+5.0); //how tall wedge is at w1, ie total height @@ -370,8 +370,8 @@ MMT_Parameters::MMT_Parameters(par_par inputParams, char wedgeSize, const MuonGM //L=float32fixed<18>(7536.);//7500.); //distance from IP to front side of wedge strip_width = float32fixed<4>(roParam_top_mult1.stripPitch); // 0.5; - stereo_degree = float32fixed<4>(TMath::RadToDeg()*roParam_top_mult1.stereoAngel.at(2)); //0.75 //3 in degrees! - float32fixed<2> degree=roParam_top_mult1.stereoAngel.at(2); + stereo_degree = float32fixed<4>(TMath::RadToDeg()*roParam_top_mult1.stereoAngle.at(2)); //0.75 //3 in degrees! + float32fixed<2> degree=roParam_top_mult1.stereoAngle.at(2); // std::cout << "DEGREE" << degree.getFixed() << " " << stereo_degree.getFixed() << std::endl; vertical_strip_width_UV = strip_width.getFixed()/cos(degree.getFixed()); ybases=vector<vector<float32fixed<18> > >(setup.size(),vector<float32fixed<18> >(n_stations_eta,float32fixed<18>(0.))); diff --git a/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.cxx b/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.cxx index f5b4c8a779292223f0e435363fd0b8a7db117ab7..887ba44e0d8f14fc3564bff3ada11a0fee221512 100644 --- a/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.cxx +++ b/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.cxx @@ -23,12 +23,14 @@ TrigMuonRoITool::TrigMuonRoITool(const std::string& type, m_time_stamp(0), m_time_stamp_ns_offset(0), m_lumi_block(0), - m_robDataProviderSvc( "ROBDataProviderSvc", name ) + m_robDataProviderSvc( "ROBDataProviderSvc", name ), + m_decodeMuCTPiFromROB(false) { declareInterface <ITrigMuonRoITool> ( this ); // Declare the properties declareProperty("DaqMuCTPiROBid",m_daqMuCTPiROBid=0x760000); + declareProperty("DecodeMuCTPiFromROB",m_decodeMuCTPiFromROB=false); } @@ -92,15 +94,17 @@ std::vector< std::pair<ROIB::MuCTPIRoI,int> >::const_iterator TrigMuonRoITool::e /// helper to decode MuCTPi information void TrigMuonRoITool::decodeMuCTPi() { + // save input stream flags std::ios_base::fmtflags log_flags_save = (msg().stream()).flags(); char log_fill_char_save = (msg().stream()).fill(); + ///////////////////////////////////// // check if data are still valid + ///////////////////////////////////// + // retrieve the event info information and check its validity - // get EventInfo const EventInfo* p_EventInfo(0); - // StatusCode sc = m_storeGateSvc->retrieve(p_EventInfo); StatusCode sc = evtStore()->retrieve(p_EventInfo); if ((sc.isFailure()) || (p_EventInfo == 0)) { msg(MSG::WARNING) << "Can't get EventInfo object for checking data validity." << endmsg; @@ -112,70 +116,29 @@ void TrigMuonRoITool::decodeMuCTPi() { // in L2 the event number = L1 ID, which may be identical to a previous one after an ECR. // Only if all parameters match the present info is still valid if ( (m_run_no == p_EventInfo->event_ID()->run_number()) && - (m_event_number == p_EventInfo->event_ID()->event_number()) && - (m_bunch_crossing_id == p_EventInfo->event_ID()->bunch_crossing_id()) && - (m_time_stamp == p_EventInfo->event_ID()->time_stamp()) && - (m_time_stamp_ns_offset == p_EventInfo->event_ID()->time_stamp_ns_offset()) && - (m_lumi_block == p_EventInfo->event_ID()->lumi_block()) ) { + (m_event_number == p_EventInfo->event_ID()->event_number()) && + (m_bunch_crossing_id == p_EventInfo->event_ID()->bunch_crossing_id()) && + (m_time_stamp == p_EventInfo->event_ID()->time_stamp()) && + (m_time_stamp_ns_offset == p_EventInfo->event_ID()->time_stamp_ns_offset()) && + (m_lumi_block == p_EventInfo->event_ID()->lumi_block()) ) { // information is still valid - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << " decodeMuCTPi: Stored information is still valid. Complete EventID = " - << *(p_EventInfo->event_ID()) << endmsg; - } - return ; + ATH_MSG_DEBUG(" decodeMuCTPi: Stored information is still valid. Complete EventID = " << *(p_EventInfo->event_ID())); + return; // no need to decode again MUCTPI, already done for current event } else { // information is outdated - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << " decodeMuCTPi: Stored information needs to be updated. Complete EventID = " - << *(p_EventInfo->event_ID()) << endmsg; - } + ATH_MSG_DEBUG(" decodeMuCTPi: Stored information needs to be updated. Complete EventID = " << *(p_EventInfo->event_ID())); } } - // - // --- Update information from DAQ ROB - // + ///////////////////////////////////// + // decode MUCTPI + ///////////////////////////////////// + // reset the containers and fill them with new data m_inTime_muCTPIRoIs.clear(); m_outOfTime_muCTPIRoIs.clear(); - // in L2 the DAQ muCTPi ROB needs to be retreived first from the ROS - m_robDataProviderSvc->addROBData(m_muCTPiRobIds); - - // get the muCTPi ROB fragment - std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> muCTPiRobFragmentVec; - muCTPiRobFragmentVec.reserve(m_muCTPiRobIds.size()); - m_robDataProviderSvc->getROBData(m_muCTPiRobIds,muCTPiRobFragmentVec); - if (muCTPiRobFragmentVec.size()==0) { - if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " decodeMuCTPi: No muCTPi ROB found." << endmsg; - return; - } - - // check for received ROB id and return if it doesn't match the DAQ MuCTPI ROB - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) - << " decodeMuCTPi: ROB id = 0x" - << std::setw(6) << MSG::hex << muCTPiRobFragmentVec[0]->source_id() << MSG::dec - << endmsg; - } - - if (muCTPiRobFragmentVec[0]->source_id() != (uint32_t)m_daqMuCTPiROBid.value()) { - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) - << " decodeMuCTPi: received ROB id = 0x" - << std::setw(6) << MSG::hex << muCTPiRobFragmentVec[0]->source_id() << MSG::dec - << " does not match requested ROB id = 0x" - << std::setw(6) << MSG::hex << m_daqMuCTPiROBid.value() << MSG::dec - << endmsg; - } - // reset msg() stream flags to original values - msg().flags(log_flags_save); - return; - } - - // - // --- Save event parameters - // + // save event parameters m_run_no = p_EventInfo->event_ID()->run_number(); m_event_number = p_EventInfo->event_ID()->event_number(); m_bunch_crossing_id = p_EventInfo->event_ID()->bunch_crossing_id(); @@ -183,74 +146,108 @@ void TrigMuonRoITool::decodeMuCTPi() { m_time_stamp_ns_offset = p_EventInfo->event_ID()->time_stamp_ns_offset(); m_lumi_block = p_EventInfo->event_ID()->lumi_block(); - // decode now the ROB - uint32_t formatVersion = muCTPiRobFragmentVec[0]->rod_version(); - uint32_t evtNum = muCTPiRobFragmentVec[0]->rod_lvl1_id(); - uint32_t robFragSize = muCTPiRobFragmentVec[0]->fragment_size_word(); - uint32_t rodFragSize = muCTPiRobFragmentVec[0]->rod_fragment_size_word(); - uint32_t robId = muCTPiRobFragmentVec[0]->source_id(); - uint32_t rodId = muCTPiRobFragmentVec[0]->rod_source_id(); - const uint32_t bcId = muCTPiRobFragmentVec[0]->rod_bc_id(); - - const uint32_t* status; - muCTPiRobFragmentVec[0]->rod_status( status ); - /* nstatus, errorStat not used, cause compilation warning - uint32_t nstatus = muCTPiRobFragmentVec[0]->rod_nstatus(); - uint32_t errorStat( 0 ); - if( nstatus > 0 ) errorStat = static_cast< uint32_t >( *status ); - */ - - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << "ROB ID 0x" << MSG::hex << robId << " ROD ID 0x" - << rodId << MSG::dec << " ROB fragment size " - << robFragSize << " ROD fragment size " << rodFragSize - << endmsg; - msg(MSG::DEBUG) - << " ROD Header L1 ID " << evtNum - << " ROD Header BCID " << bcId - << " ROD Header Format version " << formatVersion - << endmsg; - } - - OFFLINE_FRAGMENTS_NAMESPACE::PointerType it_data; - muCTPiRobFragmentVec[0]->rod_data( it_data ); - const uint32_t ndata = muCTPiRobFragmentVec[0]->rod_ndata(); - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << " Dumping RoI Words:" << endmsg; - msg(MSG::DEBUG) << " number of data words: " << ndata << endmsg; - } - - // candidate multiplicity - std::vector< uint32_t > candidateMultiplicity; - // data words - std::vector< uint32_t > dataWord; - for( uint32_t i = 0; i < ndata; ++i, ++it_data ) { - if( *it_data >> MuCTPI_RDO::MULT_WORD_FLAG_SHIFT ) { - candidateMultiplicity.push_back( static_cast< uint32_t >( *it_data ) ); - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << " 0x" << MSG::hex << std::setw( 8 ) << std::setfill( '0' ) - << ( *it_data ) << " (candidate multiplicity)" << std::setfill( log_fill_char_save ) << endmsg; - } - } else { - dataWord.push_back( static_cast< uint32_t >( *it_data ) ); - if (msgLvl(MSG::DEBUG)) { - msg(MSG::DEBUG) << " 0x" << MSG::hex << std::setw( 8 ) << std::setfill( '0' ) - << ( *it_data ) << " (candidate word)" - << " (--> RoI word = 0x" << MSG::hex << std::setw( 8 ) << std::setfill( '0' ) - << mirodToRoIBDataWord( *it_data ) << ")" - << std::setfill( log_fill_char_save ) << endmsg; + // MuCTPi pointer + const MuCTPI_RDO* daqmuCTPIResult = 0; + + // Build muCTPi from DAQ ROB + /////////////////////////////// + if(m_decodeMuCTPiFromROB) { + + // in L2 the DAQ muCTPi ROB needs to be retreived first from the ROS + m_robDataProviderSvc->addROBData(m_muCTPiRobIds); + + // get the muCTPi ROB fragment + std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> muCTPiRobFragmentVec; + muCTPiRobFragmentVec.reserve(m_muCTPiRobIds.size()); + m_robDataProviderSvc->getROBData(m_muCTPiRobIds,muCTPiRobFragmentVec); + + if (muCTPiRobFragmentVec.size()==0) { + ATH_MSG_DEBUG(" decodeMuCTPi: No muCTPi ROB found."); + return; + } + + // check for received ROB id and return if it doesn't match the DAQ MuCTPI ROB + ATH_MSG_DEBUG(" decodeMuCTPi: ROB id = 0x" << std::setw(6) << MSG::hex << muCTPiRobFragmentVec[0]->source_id() << MSG::dec); + + if (muCTPiRobFragmentVec[0]->source_id() != (uint32_t)m_daqMuCTPiROBid.value()) { + ATH_MSG_DEBUG(" decodeMuCTPi: received ROB id = 0x" << std::setw(6) << MSG::hex << muCTPiRobFragmentVec[0]->source_id() << MSG::dec + << " does not match requested ROB id = 0x" + << std::setw(6) << MSG::hex << m_daqMuCTPiROBid.value() << MSG::dec); + // reset msg() stream flags to original values + msg().flags(log_flags_save); + return; + } + + // decode now the ROB + uint32_t formatVersion = muCTPiRobFragmentVec[0]->rod_version(); + uint32_t evtNum = muCTPiRobFragmentVec[0]->rod_lvl1_id(); + uint32_t robFragSize = muCTPiRobFragmentVec[0]->fragment_size_word(); + uint32_t rodFragSize = muCTPiRobFragmentVec[0]->rod_fragment_size_word(); + uint32_t robId = muCTPiRobFragmentVec[0]->source_id(); + uint32_t rodId = muCTPiRobFragmentVec[0]->rod_source_id(); + const uint32_t bcId = muCTPiRobFragmentVec[0]->rod_bc_id(); + + const uint32_t* status; + muCTPiRobFragmentVec[0]->rod_status( status ); + // nstatus, errorStat not used, cause compilation warning + //uint32_t nstatus = muCTPiRobFragmentVec[0]->rod_nstatus(); + //uint32_t errorStat( 0 ); + //if( nstatus > 0 ) errorStat = static_cast< uint32_t >( *status ); + // + + ATH_MSG_DEBUG("ROB ID 0x" << MSG::hex << robId << " ROD ID 0x" + << rodId << MSG::dec << " ROB fragment size " + << robFragSize << " ROD fragment size " << rodFragSize); + + ATH_MSG_DEBUG(" ROD Header L1 ID " << evtNum + << " ROD Header BCID " << bcId + << " ROD Header Format version " << formatVersion); + + OFFLINE_FRAGMENTS_NAMESPACE::PointerType it_data; + muCTPiRobFragmentVec[0]->rod_data( it_data ); + const uint32_t ndata = muCTPiRobFragmentVec[0]->rod_ndata(); + ATH_MSG_DEBUG( " Dumping RoI Words:"); + ATH_MSG_DEBUG( " number of data words: " << ndata); + // candidate multiplicity + std::vector< uint32_t > candidateMultiplicity; + // data words + std::vector< uint32_t > dataWord; + for( uint32_t i = 0; i < ndata; ++i, ++it_data ) { + if( *it_data >> MuCTPI_RDO::MULT_WORD_FLAG_SHIFT ) { + candidateMultiplicity.push_back( static_cast< uint32_t >( *it_data ) ); + ATH_MSG_DEBUG(" 0x" << MSG::hex << std::setw( 8 ) << std::setfill( '0' ) + << ( *it_data ) << " (candidate multiplicity)" << std::setfill( log_fill_char_save )); + } else { + dataWord.push_back( static_cast< uint32_t >( *it_data ) ); + ATH_MSG_DEBUG(" 0x" << MSG::hex << std::setw( 8 ) << std::setfill( '0' ) + << ( *it_data ) << " (candidate word)" + << " (--> RoI word = 0x" << MSG::hex << std::setw( 8 ) << std::setfill( '0' ) + << mirodToRoIBDataWord( *it_data ) << ")" + << std::setfill( log_fill_char_save )); } } + + // create MuCTPi RDO (DAQ muCTPi Result) + daqmuCTPIResult = new MuCTPI_RDO( candidateMultiplicity, dataWord ); } - - // create MuCTPI RDO - MuCTPI_RDO daqmuCTPIResult( candidateMultiplicity, dataWord ); // DAQ muCTPi Result - + + // Retrieve the MuCTPi RDO from event store + ////////////////////////////////////////////// + else{ + sc = evtStore()->retrieve(daqmuCTPIResult,"MUCTPI_RDO"); + if ((sc.isFailure()) || (daqmuCTPIResult == 0)) { + ATH_MSG_WARNING("Can't get MUCTPI_RDO object from event store."); + m_inTime_muCTPIRoIs.clear(); + m_outOfTime_muCTPIRoIs.clear(); + return; + } + } + // print contents if (msgLvl(MSG::DEBUG)) { - MuCTPI_MultiplicityWord_Decoder(daqmuCTPIResult.candidateMultiplicity()).dumpData(msg()); - for(std::vector< uint32_t >::const_iterator it = daqmuCTPIResult.dataWord().begin(); - it != daqmuCTPIResult.dataWord().end(); ++it) { + MuCTPI_MultiplicityWord_Decoder(daqmuCTPIResult->candidateMultiplicity()).dumpData(msg()); + for(std::vector< uint32_t >::const_iterator it = daqmuCTPIResult->dataWord().begin(); + it != daqmuCTPIResult->dataWord().end(); ++it) { MuCTPI_DataWord_Decoder(*it).dumpData(msg()); dumpRoIBDataWord(mirodToRoIBDataWord(*it)); } @@ -258,14 +255,15 @@ void TrigMuonRoITool::decodeMuCTPi() { // now select out the RoI candidates for the BCID which triggered the event and save them in // a special list indexed by RoI ID - uint16_t roiEventBCID = MuCTPI_MultiplicityWord_Decoder(daqmuCTPIResult.candidateMultiplicity()).getBCID(); - uint16_t roiEventNCan = MuCTPI_MultiplicityWord_Decoder(daqmuCTPIResult.candidateMultiplicity()).getNCandidates(); + uint16_t roiEventBCID = MuCTPI_MultiplicityWord_Decoder(daqmuCTPIResult->candidateMultiplicity()).getBCID(); + uint16_t roiEventNCan = MuCTPI_MultiplicityWord_Decoder(daqmuCTPIResult->candidateMultiplicity()).getNCandidates(); m_inTime_muCTPIRoIs.reserve( roiEventNCan ); m_outOfTime_muCTPIRoIs.reserve( roiEventNCan ); - for(std::vector< uint32_t >::const_iterator it = daqmuCTPIResult.dataWord().begin(); - it != daqmuCTPIResult.dataWord().end(); ++it) { + for(std::vector< uint32_t >::const_iterator it = daqmuCTPIResult->dataWord().begin(); + it != daqmuCTPIResult->dataWord().end(); ++it) { + // decode the RDO data word MuCTPI_DataWord_Decoder daqRoI(*it); @@ -274,11 +272,13 @@ void TrigMuonRoITool::decodeMuCTPi() { if (roiEventBCID == daqRoI.getBCID()) { // RoI matches event BCID m_inTime_muCTPIRoIs.push_back(roI); + // The line below is meant to enable testing late particles trigger chains with in-time RoIs + /////m_outOfTime_muCTPIRoIs.push_back( std::pair<ROIB::MuCTPIRoI,int>(roI,(int(daqRoI.getBCID())-int(roiEventBCID))) ); } else { m_outOfTime_muCTPIRoIs.push_back( std::pair<ROIB::MuCTPIRoI,int>(roI,(int(daqRoI.getBCID())-int(roiEventBCID))) ); } } // end loop over data words - + // print contents of RoI arrays if (msgLvl(MSG::DEBUG)) { msg(MSG::DEBUG) << "=================================================" << endmsg; @@ -288,9 +288,9 @@ void TrigMuonRoITool::decodeMuCTPi() { dumpRoIBDataWord((*it).roIWord()); } - msg(MSG::DEBUG) << "=====================================================" << endmsg; - msg(MSG::DEBUG) << " RoIs out of time with event BCID: Number of RoIs = " << m_outOfTime_muCTPIRoIs.size() << endmsg; - msg(MSG::DEBUG) << "=====================================================" << endmsg; + ATH_MSG_DEBUG("====================================================="); + ATH_MSG_DEBUG(" RoIs out of time with event BCID: Number of RoIs = " << m_outOfTime_muCTPIRoIs.size()); + ATH_MSG_DEBUG("====================================================="); for (std::vector< std::pair<ROIB::MuCTPIRoI,int> >::iterator it = m_outOfTime_muCTPIRoIs.begin(); it != m_outOfTime_muCTPIRoIs.end(); ++it) { msg(MSG::DEBUG) << " Difference(RoI(BCID) - Event(BCID)) = " << (*it).second << endmsg; msg(MSG::DEBUG) << " ------------------------------------- " << endmsg; @@ -298,8 +298,11 @@ void TrigMuonRoITool::decodeMuCTPi() { } } - // reset msg() stream flags to original values + //reset msg() stream flags to original values msg().flags(log_flags_save); + + if(m_decodeMuCTPiFromROB) + delete daqmuCTPIResult; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * diff --git a/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.h b/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.h index 97e30e2be7fcbb89086cc7670dc8dcb1e84718fc..ba8cfde88ce8cc0c60a4420f8d27d344429f31ce 100644 --- a/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.h +++ b/Trigger/TrigTools/TrigMuonRoITools/src/TrigMuonRoITool.h @@ -77,6 +77,9 @@ class TrigMuonRoITool: public AthAlgTool, /// Helper to print contents of a muCTPi RoIB data word void dumpRoIBDataWord(uint32_t data_word ); + + /// Configurable to decide how to decode muCTPi + bool m_decodeMuCTPiFromROB; }; #endif // TRIGMUONROITOOL_H diff --git a/Trigger/TrigTools/TrigTimeAlgs/TrigTimeAlgs/TrigTimeStamp.h b/Trigger/TrigTools/TrigTimeAlgs/TrigTimeAlgs/TrigTimeStamp.h index 6f75349149bc9d29720334e4e53365385e3a4469..89c3f13a85d2a9ac5744f9beaf096c1cc2bfe752 100644 --- a/Trigger/TrigTools/TrigTimeAlgs/TrigTimeAlgs/TrigTimeStamp.h +++ b/Trigger/TrigTools/TrigTimeAlgs/TrigTimeAlgs/TrigTimeStamp.h @@ -52,9 +52,9 @@ public: /** * @return The time duration between when the time stamp was created and the epoch - * @return A pair of unsigned integer types. The first is the number of seconds since the epoch and the second is the number of ms since the last second + * @return A pair of unsigned integer types. The first is the number of seconds since the epoch and the second is the number of microseconds since the last second **/ - std::pair<uint32_t,uint32_t> secondsAndMillisecondsSinceEpoch() const; + std::pair<uint32_t,uint32_t> secondsAndMicrosecondsSinceEpoch() const; /** * Obtain the stamp value. diff --git a/Trigger/TrigTools/TrigTimeAlgs/src/TrigTimeStamp.cxx b/Trigger/TrigTools/TrigTimeAlgs/src/TrigTimeStamp.cxx index e711cbbb28a07aebcefd8bdaedfdbf6a6514cb5f..3daf0c1c1b482339a33f1cfc559776ba3f8b64dc 100644 --- a/Trigger/TrigTools/TrigTimeAlgs/src/TrigTimeStamp.cxx +++ b/Trigger/TrigTools/TrigTimeAlgs/src/TrigTimeStamp.cxx @@ -12,9 +12,10 @@ double TrigTimeStamp::millisecondsDifference(const TrigTimeStamp& other) const { return std::chrono::duration_cast<std::chrono::microseconds>( other.get() - m_stamp ).count(); } -std::pair<uint32_t,uint32_t> TrigTimeStamp::secondsAndMillisecondsSinceEpoch() const { - uint64_t millisecondsSinceEpoch = std::chrono::duration_cast<std::chrono::milliseconds>( m_stamp.time_since_epoch() ).count(); - uint64_t secondsSinceEpoch = millisecondsSinceEpoch / 1000ull; - millisecondsSinceEpoch -= (secondsSinceEpoch * 1000ull); - return std::make_pair(static_cast<uint32_t>(secondsSinceEpoch), static_cast<uint32_t>(millisecondsSinceEpoch)); +std::pair<uint32_t,uint32_t> TrigTimeStamp::secondsAndMicrosecondsSinceEpoch() const { + // Note: A uint64_t at microsecond precision has capacity of ~292,000 years + uint64_t microsecondsSinceEpoch = std::chrono::duration_cast<std::chrono::microseconds>( m_stamp.time_since_epoch() ).count(); + uint64_t secondsSinceEpoch = microsecondsSinceEpoch / 1000000ull; + microsecondsSinceEpoch -= (secondsSinceEpoch * 1000000ull); + return std::make_pair(static_cast<uint32_t>(secondsSinceEpoch), static_cast<uint32_t>(microsecondsSinceEpoch)); } diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py b/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py index f081b55be0ee72f00fa9de82adce1557c5b6f534..a74807ac1116a52ed1df68e3375559aedfad80f4 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py @@ -334,7 +334,7 @@ StreamESD.ItemList += [ "ROIB::RoIBResult#*" ] print "ESD file content " print StreamESD.ItemList -from TrigOutputHandling.TrigOutputHandlingConf import DecisionSummaryMakerAlg, HLTResultMTMakerAlg, StreamTagMakerTool, TriggerBitsMakerTool, TriggerEDMSerialiserTool +from TrigOutputHandling.TrigOutputHandlingConf import DecisionSummaryMakerAlg, HLTResultMTMakerAlg, HLTResultMTMaker, StreamTagMakerTool, TriggerBitsMakerTool, TriggerEDMSerialiserTool summMaker = DecisionSummaryMakerAlg() summMaker.FinalDecisionKeys = [ theElectronHypo.HypoOutputDecisions ] summMaker.FinalStepDecisions = dict( [ ( tool.getName(), theElectronHypo.HypoOutputDecisions ) for tool in theElectronHypo.HypoTools ] ) @@ -361,7 +361,7 @@ bitsmaker.ChainDecisions = "HLTFinalDecisions" bitsmaker.ChainToBit = dict( [ (chain, 10*num) for num,chain in enumerate(testChains) ] ) bitsmaker.OutputLevel = DEBUG -hltResultMaker = HLTResultMTMakerAlg() +hltResultMaker = HLTResultMTMaker() hltResultMaker.MakerTools = [ stmaker, bitsmaker, serialiser ] hltResultMaker.OutputLevel = DEBUG @@ -377,6 +377,8 @@ hltResultMaker.MonTool.Histograms = [ defineHistogram( 'TIME_build', path='EXPER defineHistogram( 'sizeMain', path='EXPERT', type='TH1F', title='Main (physics) HLT Result size;4B words', xbins=100, xmin=-1, xmax=999 ) ] # 1000 k span +hltResultMakerAlg = HLTResultMTMakerAlg() +hltResultMakerAlg.ResultMaker = hltResultMaker @@ -384,7 +386,7 @@ hltResultMaker.MonTool.Histograms = [ defineHistogram( 'TIME_build', path='EXPER ################################################################################ # assemble top list of algorithms -hltTop = seqOR( "hltTop", [ steps, summMaker, mon, hltResultMaker, summary, StreamESD ] ) +hltTop = seqOR( "hltTop", [ steps, summMaker, mon, hltResultMakerAlg, summary, StreamESD ] ) topSequence += hltTop ###### Begin Cost Monitoring block diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py b/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py index 22ff41945c806984e1bb11b9133ac9914cb4e349..214811cbde1b380f89b6b7aa9da8a030570f2088 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py @@ -14,6 +14,15 @@ Configurable.configurableRun3Behavior=1 #theApp.setup() flags = ConfigFlags +# TODO move to the new (real menu like contqent for this flags ) +flags.addFlag('Trigger.menu.electrons', [ "HLT_e3_etcut L1_EM3", + "HLT_e5_etcut L1_EM3", + "HLT_e7_etcut L1_EM7"]) +flags.addFlag('Trigger.menu.photons', ['HLT_g10_etcut L1_EM7', + 'HLT_g15_etcut L1_EM12' ]) + + + flags.Input.isMC = False flags.Input.Files= ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1"] diff --git a/Trigger/TrigValidation/TriggerTest/test/exec_athena_art_trigger_validation.sh b/Trigger/TrigValidation/TriggerTest/test/exec_athena_art_trigger_validation.sh index f241b22485f210f43a2103da3f6a7dd4b009d351..86934acf209de7ad0c26b63a343be1bfaa94bc3d 100755 --- a/Trigger/TrigValidation/TriggerTest/test/exec_athena_art_trigger_validation.sh +++ b/Trigger/TrigValidation/TriggerTest/test/exec_athena_art_trigger_validation.sh @@ -5,7 +5,7 @@ echo $(date "+%FT%H:%M %Z")" Execute Athena test ${NAME}" ### DEFAULTS if [ -z ${MENU} ]; then - export MENU="MC_pp_v7_tightperf_mc_prescale" + export MENU="Physics_pp_v7_primaries" fi if [ -z ${EVENTS} ]; then diff --git a/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_build.sh b/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_build.sh index 2884934e529104ea5681379d47c75634892c2cf8..c5c191661528c9c958cccd5e15255881d4d3c8c2 100755 --- a/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_build.sh +++ b/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_build.sh @@ -23,7 +23,7 @@ export NAME="slice_minbias_build" export SLICE="minbias" -export MENU="Physics_pp_v7" +export MENU="Physics_pp_v7_primaries" export EVENTS="10" export INPUT="minbias" export COST_MONITORING="False" diff --git a/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_grid.sh b/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_grid.sh index 39486bde69358f5aef0bfe9bd7aba012df70a993..a5d353f10892c59c8c3bdb7badd132ec453cef50 100755 --- a/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_grid.sh +++ b/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_grid.sh @@ -23,7 +23,7 @@ export NAME="slice_minbias_grid" export SLICE="minbias" -export MENU="Physics_pp_v7" +export MENU="Physics_pp_v7_primaries" export INPUT="minbias" source exec_athena_art_trigger_validation.sh diff --git a/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_hmt_grid.sh b/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_hmt_grid.sh index ad0491c3eedf7ae400783af87ad241d923efe3e4..78dbdc4feb41545e05596d4d4285299cfdb7ee14 100755 --- a/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_hmt_grid.sh +++ b/Trigger/TrigValidation/TriggerTest/test/test_slice_minbias_hmt_grid.sh @@ -23,7 +23,7 @@ export NAME="slice_minbias_hmt_grid" export SLICE="minbiasEnhanced" -export MENU="Physics_pp_v7" +export MENU="Physics_pp_v7_primaries" export EVENTS="50" export COST_MONITORING="False" diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py index 991c8c127743393c4a2350e05f090230201aa7b5..9bf7744ac57c321003e82177e69f02cadb986161 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py @@ -400,6 +400,9 @@ class run2Config(JobProperty): '2016', '2017', ] + def _do_action(self): + from TriggerMenu.egamma.EgammaSliceFlags import run2ConfigAction as egammaRun2ConfigAction + egammaRun2ConfigAction(self.get_Value()) _flags.append(run2Config) @@ -1023,7 +1026,7 @@ class triggerMenuSetup(JobProperty): ] - _default_menu='MC_pp_v7_tight_mc_prescale' + _default_menu='Physics_pp_v7_primaries' _default_cosmic_menu='Physics_pp_v5_cosmics_prescale' _default_InitialBeam_menu='MC_InitialBeam_v3_no_prescale' diff --git a/Trigger/TriggerCommon/TriggerMenu/python/bjet/BjetSliceFlags.py b/Trigger/TriggerCommon/TriggerMenu/python/bjet/BjetSliceFlags.py index 4059f44615581d9e1dec56fd88031215bb659ebf..0fd4d560ebf41d5e55d72aec43192ff1118a7e05 100644 --- a/Trigger/TriggerCommon/TriggerMenu/python/bjet/BjetSliceFlags.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/bjet/BjetSliceFlags.py @@ -2,8 +2,8 @@ """ Bjet slice specific flags """ -from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer, jobproperties -from TriggerMenu.menu.CommonSliceHelper import CommonSliceHelper, AllowedList +from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer +from TriggerMenu.menu.CommonSliceHelper import CommonSliceHelper __author__ = 'T. Bold' __version__="$Revision: 1.31 $" @@ -22,7 +22,6 @@ _flags.append(signatures) # create container -from TriggerMenu.menu.CommonSliceHelper import CommonSliceHelper class BjetSlice(JobPropertyContainer, CommonSliceHelper): """ Bjet Slice Flags """ diff --git a/Trigger/TriggerCommon/TriggerMenu/python/bjet/generateBjetChainDefs.py b/Trigger/TriggerCommon/TriggerMenu/python/bjet/generateBjetChainDefs.py index e67e0aa5d9ed2baabb3760561445a858bc7cb677..8155cece968cdc6596dbf94a33c755eeb97b495e 100644 --- a/Trigger/TriggerCommon/TriggerMenu/python/bjet/generateBjetChainDefs.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/bjet/generateBjetChainDefs.py @@ -1,6 +1,6 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -__author__ = 'M.Backes, C.Bernius' +__author__ = 'J.Alison M.Backes, C.Bernius' __doc__="Definition of bjet chains" from AthenaCommon.Logging import logging @@ -28,6 +28,7 @@ from TrigBjetHypo.TrigBjetEtHypoConfig import getBjetEtHypoInstance from TrigBjetHypo.TrigGSCFexConfig import getGSCFexSplitInstance from TrigBjetHypo.TrigBjetHypoConfig import (getBjetHypoInstance, + getBjetHypoAllTEInstance, getBjetHypoNoCutInstance, getBjetHypoSplitInstance, getBjetHypoSplitNoCutInstance) @@ -100,9 +101,8 @@ def generateChainDefs(chainDict): #---------------------------------------------------------------------------- # --- now merge chain defs so that last TE is from jet serving as input to bjet seq --- - # DO NOT CHANGE THE MERGING ORDER PLEASE, OTHERWISE WRONG INPUTTE IS SELECTED - log.debug("Trying to merge chainDef for b-jet chain: \n %s ", theBJChainDef) - log.debug("AllJetChainDef: \n %s", theAllJetChainDef) + # DO NOT CHANGE THE MERGING ORDER PLEASE, OTHERWISE WRONG INPUT IS SELECTED + log.debug("Trying to merge chainDef for b-jet chain: \n ") theJetChainDef = mergeChainDefs([theAllJetChainDef, theBJChainDef], 'serial', -1, False) log.debug("Merged chainDef for b-jet chain: \n %s", theJetChainDef) #---------------------------------------------------------------------------- @@ -116,24 +116,62 @@ def generateChainDefs(chainDict): bjetchainDicts = [cdict for cdict in listofChainDicts if cdict['chainParts']['bTag']] if log.isEnabledFor(logging.DEBUG): log.debug("Final b-jet chainDict: \n %s" , pp.pformat(bjetchainDicts)) - theListOfChainDefs = [] - for subChainDict in bjetchainDicts: - theJetChainDef1 = deepcopy(theJetChainDef) - theBjetChainDef = buildBjetChains(theJetChainDef1, subChainDict, True, len(bjetchainDicts)) - theListOfChainDefs += [theBjetChainDef] - - if log.isEnabledFor(logging.DEBUG): - log.debug("----------------- Beginning of final individual chainDefs for b-jet chains printout -----------------") - for chainDef in theListOfChainDefs: - log.debug('%s',chainDef) - log.debug("----------------- End of final individual chainDefs for b-jet chains printout -----------------") - - if len(theListOfChainDefs)>1: - theFinalChainDef = mergeChainDefs(theListOfChainDefs,strategy="parallel",offset=-1,preserveL2EFOrder=True,removeDuplicateTEs=True,noMergeBJet=True) + # + # Basic properties of the chain, these are used to decide if we use the new AllTE configuration + # + isSplitChain = (not chainDict['chainName'].find("split") == -1) + isRunITagger = (not chainDict['chainName'].find("btight") == -1 or not chainDict['chainName'].find("bmedium") == -1 or not chainDict['chainName'].find("bloose") == -1) + is2015Tagger = (not chainDict['chainName'].find("bmv2c20") == -1 or not chainDict['chainName'].find("bperf") == -1) + isMuDr = (not chainDict['chainName'].find("mu") == -1 and not chainDict['chainName'].find("_dr") == -1) + isMuDz = (not chainDict['chainName'].find("mu") == -1 and not chainDict['chainName'].find("_dz") == -1) + isIsoLep = (not chainDict['chainName'].find("ivarmedium") == -1 or not chainDict['chainName'].find("ivarloose") == -1) + isSingleJet = ( (len(chainDict['chainParts']) == 1) and (int(chainDict['chainParts'][0]['multiplicity']) == 1)) + + # + # Only run the All TE on split chains + # + doAllTEConfig = isSplitChain + + # + # Do not need to run AllTE on single jet chains + # + if isSingleJet: doAllTEConfig = False + + # + # New AllTE config currently supported on new mv2c10 taggers + # + if isRunITagger or is2015Tagger: doAllTEConfig = False + + # + # Need all the ouput bjet TEs to properly match to muons + # so dont use all TE here either + # + if isMuDz or isMuDr or isIsoLep: doAllTEConfig = False + + if doAllTEConfig: + log.debug("Doing new buildBjetChainsAllTE") + theFinalChainDef = buildBjetChainsAllTE( theJetChainDef, bjetchainDicts) else: - theFinalChainDef = theListOfChainDefs[0] + log.debug("Doing buildBjetChains") + theListOfChainDefs = [] + for subChainDict in bjetchainDicts: + theJetChainDef1 = deepcopy(theJetChainDef) + theBjetChainDef = buildBjetChains(theJetChainDef1, subChainDict, len(bjetchainDicts)) + theListOfChainDefs += [theBjetChainDef] + + if log.isEnabledFor(logging.DEBUG): + log.debug("----------------- Beginning of final individual chainDefs for b-jet chains printout -----------------") + for chainDef in theListOfChainDefs: + log.debug('%s',chainDef) + log.debug("----------------- End of final individual chainDefs for b-jet chains printout -----------------") + + if len(theListOfChainDefs)>1: + theFinalChainDef = mergeChainDefs(theListOfChainDefs,strategy="parallel",offset=-1,preserveL2EFOrder=True,removeDuplicateTEs=True,noMergeBJet=True) + else: + theFinalChainDef = theListOfChainDefs[0] + log.debug("----------------- Beginning of final merged chainDefs for b-jet chains printout -----------------") log.debug('%s',theFinalChainDef) log.debug("----------------- End of final merged chainDefs for b-jet chains printout -----------------") @@ -141,9 +179,192 @@ def generateChainDefs(chainDict): return theFinalChainDef +# +# New AllTE Building (Only do it for split chains and non FTK) +# +def buildBjetChainsAllTE(theChainDef, bjetdict, numberOfSubChainDicts=1): + log.debug("In buildBjetChainsAllTE") + inputTEsEF = theChainDef.signatureList[-1]['listOfTriggerElements'][0] + + useTRT = 'noTRT' not in bjetdict[0]['chainParts']['extra'] + + # + # Initial Config + # + ###############################3 + + # + # Get the min threshold for tracking + # This cut is applied after the jet splitting + # So we only run precision tracking in ROIs above the minimum considered + # + minBTagThreshold = 1e9 + for bjetPart in bjetdict: + thisBTagThresholdInt = int(bjetPart['chainParts']['threshold']) + if thisBTagThresholdInt < minBTagThreshold: + minBTagThreshold = thisBTagThresholdInt + log.debug("min jet Pt %s", minBTagThreshold) + + # + # Configure the GSC calibration + # This cut is applied after the GSC calibration + # So we only btag ROIs above the minimum considered + # + doGSC = False + minGSCThreshold = 1e9 + for bjetPart in bjetdict: + if ('gscThreshold' in bjetPart['chainParts']) and (bjetPart['chainParts']['gscThreshold']): + doGSC = True + thisGSCThresholdInt = int(bjetPart['chainParts']['gscThreshold'].replace("gsc","")) + if thisGSCThresholdInt < minGSCThreshold: + minGSCThreshold = thisGSCThresholdInt + + if doGSC: log.debug("Doing GSC Calculation:"+str(minGSCThreshold)+"GeV") + + # + # Now build the chain + # + ###########################3 + + # + # super ROI building + # + theSuperRoi=getSuperRoiBuilderAllTEInstance() + superTE = "HLT_super" + theChainDef.addSequence(theSuperRoi, inputTEsEF, superTE) + + # + # PV Tracking + # + if useTRT : + [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() + else : + [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step","noTRT").getSequence() + tracking = "IDTrig" + if not useTRT : tracking = tracking + "_noTRT" + + superTrackingTE = superTE+tracking + theChainDef.addSequence(trkvtx, superTE, superTrackingTE) + + # + # PV Finding + # + prmVertexTE = superTrackingTE+"_prmVtx" + theChainDef.addSequence([EFHistoPrmVtxAllTE_Jet()], superTrackingTE, prmVertexTE) + comboPrmVtxTE = prmVertexTE+"Combo" + theChainDef.addSequence([EFHistoPrmVtxCombo_Jet()], [superTrackingTE,prmVertexTE], comboPrmVtxTE) + + # + # Jet splitting + # + # get the minimum et before gsc cut + theJetSplit=getJetSplitterAllTEInstance() + jetHypoTE = "HLT_j"+str(minBTagThreshold)+"_eta" + jetSplitTE = jetHypoTE+"_jsplit" + if not useTRT : jetSplitTE = jetSplitTE + "_noTRT" + + theChainDef.addSequence(theJetSplit, [inputTEsEF, comboPrmVtxTE], jetSplitTE) + + # + # If do the btagging in away muons + # + algoInstance = "EF" + + # + # Et cut berfore running precision tracking + # + theBjetEtHypo = getBjetEtHypoInstance(algoInstance, "Btagging", str(minBTagThreshold)+"GeV" ) + jetEtHypoTE = "HLT_j"+str(minBTagThreshold) + if not useTRT: jetEtHypoTE = jetEtHypoTE + "_noTRT" + theChainDef.addSequence(theBjetEtHypo, jetSplitTE, jetEtHypoTE ) + + # + # Precision tracking + # + if not useTRT : jetSplitTE = jetSplitTE.replace("_noTRT","") # remove noTRT since we are adding tracking !!!! + jetTrackTE = jetSplitTE+"_"+tracking + theBjetTracks = trkftf+trkprec + theChainDef.addSequence(theBjetTracks, jetEtHypoTE, jetTrackTE) + + # + # Secondary Vertexing + # + theVxSecondary = TrigVxSecondaryCombo_EF() + secVtxTE = jetTrackTE+"__"+"secVtx" + theChainDef.addSequence(theVxSecondary, [jetTrackTE, comboPrmVtxTE], secVtxTE) + + # + # GSC calculation + # + if doGSC: + gsc_jetTrackTEPreCut = "HLT_precut_gsc"+str(minBTagThreshold)+"_eta"+"_jsplit"+"_"+tracking + theGSCFex = getGSCFexSplitInstance(algoInstance) + theChainDef.addSequence(theGSCFex, secVtxTE , gsc_jetTrackTEPreCut ) + + algoInstance = "GSC" + gsc_jetTrackTE = "HLT_gsc"+str(minGSCThreshold)+"_eta"+"_jsplit"+"_"+tracking + theGSCEtHypo = getBjetEtHypoInstance(algoInstance, "Btagging", str(minGSCThreshold) +"GeV" ) + theChainDef.addSequence(theGSCEtHypo, gsc_jetTrackTEPreCut, gsc_jetTrackTE ) + jetsForBTagging = gsc_jetTrackTE + else: + log.debug("No GSC Calculation") + jetsForBTagging = secVtxTE + + + # + # the tagging fex + # + log.debug("Getting tagging fex") + theBjetFex = getBtagFexSplitInstance(algoInstance, "2012", "EFID") + btaggingTE = jetsForBTagging+"_btagged" + theChainDef.addSequence(theBjetFex, jetsForBTagging, btaggingTE) + + # + # The btagging hypo + # + log.debug("Getting tagging hypo") + lastTEout = "HLT_"+bjetdict[0]['chainName'] + if not useTRT : lastTEout = lastTEout + "_noTRT" + + topoThresh = bjetdict[0]['topoThreshold'] + topoStartFrom = setupTopoStartFrom(topoThresh,theChainDef) if topoThresh else None + if topoStartFrom: lastTEout = lastTEout+'_tsf' + + # + # Derive multiplicity requirements + # + log.debug("Derive multiplicity requirements") + btagReqs = [] + for bjetchain in bjetdict: + log.debug(bjetdict) + btagCut = bjetchain['chainParts']['bTag'] + mult = bjetchain['chainParts']['multiplicity'] + + threshold = bjetchain['chainParts']['threshold'] + if 'gscThreshold' in bjetchain['chainParts']: + threshold = bjetchain['chainParts']['gscThreshold'].replace("gsc","") + + btagReqs.append([threshold,btagCut,mult]) + + log.debug("Config the ALLTE Hypo") + name = bjetdict[0]['chainName'] + theBjetHypoAllTE = getBjetHypoAllTEInstance("EF","2017",name,btagReqs) + + #theChainDef.signatureList[-1]['listOfTriggerElements'][0] + log.debug("Adding Sequence") + theChainDef.addSequence(theBjetHypoAllTE, btaggingTE, lastTEout, topo_start_from = topoStartFrom) + + log.debug("Adding Signature") + theChainDef.addSignature(theChainDef.signatureList[-1]['signature_counter']+1, [lastTEout]) + + log.debug("Left buildBjetChainsAllTE") + theChainDef.chain_name = 'HLT_'+bjetdict[0]['chainName'] + return theChainDef + + ########################################################################### ########################################################################### -def buildBjetChains(jchaindef,bjetdict,doAtL2AndEF=True,numberOfSubChainDicts=1): +def buildBjetChains(jchaindef,bjetdict,numberOfSubChainDicts=1): log.debug("In buildBjetChains") inputTEsEF = jchaindef.signatureList[-1]['listOfTriggerElements'][0] @@ -164,6 +385,9 @@ def buildBjetChains(jchaindef,bjetdict,doAtL2AndEF=True,numberOfSubChainDicts=1) ################################################################################### def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=1): + + useTRT = 'noTRT' not in chainDict['chainParts']['extra'] + log.debug("In myBjetConfig_split") EFChainName = "EF_bjet_" + chainDict['chainName'] @@ -221,20 +445,18 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= #-------------------- # tracking -# from TrigInDetConf.TrigInDetSequence import TrigInDetSequence # new -# [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() # new if 'FTKVtx' in chainParts['bTracking']: [trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig").getSequence() # new [ftkvtx, trkftk] = TrigInDetFTKSequence("Bjet", "bjet", sequenceFlavour=["FTKVtx"]).getSequence() # new - ftkvtx[0].getVertexContainer=True elif 'FTKRefit' in chainParts['bTracking']: [ftkvtx, trkftf, trkprec] = TrigInDetFTKSequence("Bjet", "bjet", sequenceFlavour=["FTKVtx","refit","PT"]).getSequence() # new - ftkvtx[0].getVertexContainer=True elif 'FTK' in chainParts['bTracking']: [ftkvtx, trkftf, trkprec] = TrigInDetFTKSequence("Bjet", "bjet", sequenceFlavour=["FTKVtx","PT"]).getSequence() # new - ftkvtx[0].getVertexContainer=True - else: + elif useTRT : [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() # new + else : + [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step","noTRT").getSequence() # new + # for b-tagging theBjetTracks = trkftf+trkprec @@ -250,7 +472,7 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= #-------------------- # GSC if ('gscThreshold' in chainParts) and chainParts['gscThreshold']: - theGSCFex = getGSCFexSplitInstance(algoInstance,"2012","EFID") + theGSCFex = getGSCFexSplitInstance(algoInstance) #from TrigBjetHypo.TrigBjetEtHypoConfig import getBjetEtHypoInstance theGSCEtHypo = getBjetEtHypoInstance("GSC", "Btagging", gscthresh.replace("gsc","")+"GeV" ) #-------------------- @@ -271,7 +493,7 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= # from TrigBjetHypo.TrigBjetFexConfig import getBjetFexSplitInstance # theBjetFex = getBjetFexSplitInstance(algoInstance,"2012","EFID") - if ('boffperf' in chainParts['bTag'] or 'bmv2c20' in chainParts['bTag']): + if ('boffperf' in chainParts['bTag'] or 'bmv2c20' in chainParts['bTag'] or 'bmv2c10' in chainParts['bTag'] or 'bhmv2c10' in chainParts['bTag']): # Offline taggers if('FTKRefit' in chainParts['bTracking']): theBjetFex = getBtagFexFTKRefitInstance(algoInstance,"2012","EFID") @@ -299,9 +521,15 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= # Performance chains (run 1 and run 2 style) # Runs in NoCut mode theBtagReq = getBjetHypoSplitNoCutInstance(algoInstance) - elif ('bmv2c20' in chainParts['bTag']): + elif ('bmv2c20' in chainParts['bTag'] ): # MV2c20 tagger series theBtagReq = getBjetHypoSplitInstance(algoInstance,"2015", btagcut) + elif ('bmv2c10' in chainParts['bTag'] ): + # MV2c10 tagger series + theBtagReq = getBjetHypoSplitInstance(algoInstance,"2017", btagcut) + elif ('bhmv2c10' in chainParts['bTag']) : + # MV2c10hybrid tagger series + theBtagReq = getBjetHypoSplitInstance(algoInstance,"2018", btagcut) else: # Run 1 style chains theBtagReq = getBjetHypoSplitInstance(algoInstance,"2012", btagcut) @@ -310,6 +538,7 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= # TE naming #----------------------------------------------------------------------------------- + tracking = "IDTrig" if 'FTKVtx' in chainParts['bTracking']: tracking = "IDtrig" @@ -318,13 +547,21 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= elif 'FTK' in chainParts['bTracking']: tracking = "FTK" + elif 'noTRT' in chainParts['extra']: + tracking = "IDTrig_noTRT" jetEtHypoTE = "HLT_j"+btagthresh+ftk jetHypoTE = "HLT_j"+btagthresh+ftk+"_eta" jetSplitTE = jetHypoTE+"_jsplit" - jetFarawayTE = jetSplitTE+"_faraway" jetTrackTE = jetSplitTE+"_"+tracking + if not useTRT: + jetEtHypoTE = jetEtHypoTE + "_noTRT" + jetSplitTE = jetSplitTE + "_noTRT" + + jetFarawayTE = jetSplitTE+"_faraway" + + gsc_jetTrackTEPreCut = "HLT_precut_gsc"+btagthresh+ftk+"_eta"+"_jsplit"+"_"+tracking gsc_jetTrackTE = "HLT_"+gscthresh+ftk+"_eta"+"_jsplit"+"_"+tracking @@ -341,7 +578,6 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= #print 'muon thr for antimatch:' + str(muonthr) muonTE = "EF_SuperEF_mu{0}_MU{1}".format(muonthr,muonthr) jetEtHypoTE = jetEtHypoTE+'_antimatchmu{0}'.format(muonthr) - gscEtHypoTE = "HLT_"+gscthresh+ftk+"_eta"+"_jsplit"+"_"+tracking+'_antimatchmu{0}'.format(muonthr) jetHypoTE = jetHypoTE+'_antimatchmu{0}'.format(muonthr) jetTrackTE = jetTrackTE +'_antimatchmu{0}'.format(muonthr) @@ -349,12 +585,15 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= superTrackingTE = superTE+tracking prmVertexTE = superTrackingTE+"_prmVtx" comboPrmVtxTE = prmVertexTE+"Combo" - secVtxTE = jetTrackTE+"__"+"superVtx" + secVtxTE = jetTrackTE+"__"+"secVtx" lastTEout = "HLT_bjet_"+chainParts['chainPartName'] if numberOfSubChainDicts>1 else EFChainName + if not useTRT: + lastTEout = lastTEout + "_noTRT" + + if 'FTKVtx' in chainParts['bTracking'] or 'FTK' in chainParts['bTracking'] or 'FTKRefit' in chainParts['bTracking']: comboPrmVtxTE="HLT_FTKVtx_Combo" - topoThresh = chainDict['topoThreshold'] topoStartFrom = setupTopoStartFrom(topoThresh,theChainDef) if topoThresh else None @@ -376,7 +615,7 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= theChainDef.addSequence(trkvtx, superTE, superTrackingTE) theChainDef.addSequence([EFHistoPrmVtxAllTE_Jet()], superTrackingTE, prmVertexTE) theChainDef.addSequence([EFHistoPrmVtxCombo_Jet()], [superTrackingTE,prmVertexTE], comboPrmVtxTE) - + # b-tagging part of the chain (requires PV) theChainDef.addSequence(theJetSplit, [inputTEsEF, comboPrmVtxTE], jetSplitTE) @@ -421,6 +660,9 @@ def myBjetConfig_split(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts= ################################################################################### def myBjetConfig1(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=1): + + useTRT = 'noTRT' not in chainDict['chainParts']['extra'] + EFChainName = "EF_bjet_" + chainDict['chainName'] chainParts = chainDict['chainParts'] @@ -437,7 +679,10 @@ def myBjetConfig1(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=1): else : ef_ethypo_startseq = getBjetEtHypoInstance("EF","StartSequence","35GeV") # tracking - [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() + if useTRT : + [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step").getSequence() + else : + [trkvtx, trkftf, trkprec] = TrigInDetSequence("Bjet", "bjet", "IDTrig", "2step","noTRT").getSequence() ef_bjet_tracks = trkftf+trkprec @@ -446,7 +691,7 @@ def myBjetConfig1(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=1): ef_EtHypo_Btagging = getBjetEtHypoInstance("EF","Btagging", btagthresh+"GeV") # B-tagging - if ('boffperf' in chainParts['bTag'] or 'bmv2c20' in chainParts['bTag']): + if ('boffperf' in chainParts['bTag'] or 'bmv2c20' in chainParts['bTag'] or 'bmv2c10' in chainParts['bTag'] or 'bhmv2c10' in chainParts['bTag']): ef_bjet = getBtagFexInstance("EF","2012","EFID") else: ef_bjet = getBjetFexInstance("EF","2012","EFID") @@ -456,28 +701,46 @@ def myBjetConfig1(theChainDef, chainDict, inputTEsEF,numberOfSubChainDicts=1): ef_hypo = getBjetHypoNoCutInstance("EF") elif ('bmv2c20' in chainParts['bTag']): ef_hypo = getBjetHypoInstance("EF","2015", btagcut) + elif ('bmv2c10' in chainParts['bTag']): + ef_hypo = getBjetHypoInstance("EF","2017", btagcut) + elif ('bhmv2c10' in chainParts['bTag']): + ef_hypo = getBjetHypoInstance("EF","2018", btagcut) + else: ef_hypo = getBjetHypoInstance("EF","2012", btagcut) #------- 2012 EF Sequences based on j35 intput TE------- # TE naming + ef2 ='HLT_Bj' ef3 ='HLT_Bj_EtCut%s' % btagthresh if ('EFID' in chainParts['bTracking']): ef4 ='HLT_Bj_EtCut%s_EFID' % btagthresh ef5 ='HLT_Bj_EtCut%s_AllTEPrmVtx_EFID' % btagthresh ef6 ='HLT_Bj_EtCut%s_ComboPrmVtx_EFID' % btagthresh + elif not useTRT: + ef4 ='HLT_Bj_EtCut%s_IDTrig_noTRT' % btagthresh + ef5 ='HLT_Bj_EtCut%s_AllTEPrmVtx_IDTrig_noTRT' % btagthresh + ef6 ='HLT_Bj_EtCut%s_ComboPrmVtx_IDTrig_noTRT' % btagthresh else: ef4 ='HLT_Bj_EtCut%s_IDTrig' % btagthresh ef5 ='HLT_Bj_EtCut%s_AllTEPrmVtx_IDTrig' % btagthresh ef6 ='HLT_Bj_EtCut%s_ComboPrmVtx_IDTrig' % btagthresh + if (btagmult == '1'): - ef7 = 'EF_b%s_%s_%s_SecVxBhypo' % (btagthresh, btagcut, chainParts['chainPartName'].replace("_"+chainParts['bTracking'],""), ) + if not useTRT: + ef7 = 'EF_b%s_%s_%s_SecVxBhypo' % (btagthresh, btagcut, chainParts['chainPartName'].replace("_"+chainParts['bTracking']+"_noTRT",""), ) + else: + ef7 = 'EF_b%s_%s_%s_SecVxBhypo' % (btagthresh, btagcut, chainParts['chainPartName'].replace("_"+chainParts['bTracking'],""), ) else: - ef7 = 'EF_%sb%s_%s_%s_SecVxBhypo' % (btagmult, btagthresh, btagcut, chainParts['chainPartName'].replace("_"+chainParts['bTracking'],"")) + if not useTRT: + ef7 = 'EF_%sb%s_%s_%s_SecVxBhypo' % (btagmult, btagthresh, btagcut, chainParts['chainPartName'].replace("_"+chainParts['bTracking']+"noTRT","")) + else: + ef7 = 'EF_%sb%s_%s_%s_SecVxBhypo' % (btagmult, btagthresh, btagcut, chainParts['chainPartName'].replace("_"+chainParts['bTracking'],"")) - lastTEout = "EF_bj_"+chainParts['chainPartName'] if numberOfSubChainDicts>1 else EFChainName + lastTEout = "EF_bj_"+chainParts['chainPartName'] if numberOfSubChainDicts>1 else EFChainName + if not useTRT: lastTEout = lastTEout + "_noTRT" topoThresh = chainDict['topoThreshold'] topoStartFrom = setupTopoStartFrom(topoThresh,theChainDef) if topoThresh else None @@ -588,49 +851,4 @@ def _prepareJetChainDict(cdict): def get_j35_ChainDef(): return theDictFromChainName.getChainDict( ['j35', 'L1_J20', [], ["Main"], ['RATE:SingleJet', 'BW:Jets'], -1],) -# def get_j35_ChainDef(): -# # HACK TO GET j35 chains!!! -# j35_chainDict = { 'EBstep': 1, -# 'L1item': 'L1_J20', -# 'chainCounter': 21, -# 'chainName': 'j35', -# 'chainParts': [ { 'L1item': '', -# 'addInfo': [], -# 'bTag': 'bmedium', -# 'calib': 'em', -# 'jetCalib': 'subjes', -# 'chainPartName': 'j35', -# 'dataType': 'tc', -# 'etaRange': '0eta320', -# 'extra': '', -# 'multiplicity': '1', -# 'recoAlg': 'a4', -# 'scan': 'FS', -# 'signature': 'Jet', -# 'threshold': '35', -# 'topo': [], -# 'trigType': 'j'}, ], -# 'groups': ['RATE:MultiJet', 'BW:Jets'], -# 'signature': 'Jet', -# 'signatures': '', -# 'stream': ['Jet'], -# 'topo': []} -# -# return j35_chainDict - -def get_lastTE_j35(ChainDef): - inputTEsEF = ChainDef.signatureList[-1]['listOfTriggerElements'] - return inputTEsEF -########################################################################### -def getMultThreshBtagInfo(cDict): - allInfo = [] - chainPartInfo = [] - for cpart in cDict['chainParts']: - if cpart['signature'] == 'Jet': - chainPartInfo.append(cpart['multiplicity']) - chainPartInfo.append(cpart['threshold']) - chainPartInfo.append(cpart['bTag']) - allInfo.append(chainPartInfo) - - return allInfo -########################################################################### + diff --git a/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasDef.py b/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasDef.py index c8d888293c8dbade860b476067378f9d4b5e65fc..1cd1474320bfe1614c64851d853e4ebfea91bc96 100644 --- a/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasDef.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasDef.py @@ -10,22 +10,14 @@ logging.getLogger().info("Importing %s",__name__) logMinBiasDef = logging.getLogger("TriggerMenu.minbias.MinBiasDef") -from AthenaCommon import CfgGetter -from AthenaCommon.AthenaCommonFlags import athenaCommonFlags +from AthenaCommon.SystemOfUnits import GeV -import re +from TriggerMenu.menu.HltConfig import L2EFChainDef,mergeRemovingOverlap -from TriggerJobOpts.TriggerFlags import TriggerFlags - -from TriggerMenu.minbias.MinBiasSliceFlags import MinBiasSliceFlags - -from TriggerMenu.menu.HltConfig import * - -from TrigGenericAlgs.TrigGenericAlgsConf import PESA__DummyUnseededAllTEAlgo - -#theTrigEFIDInsideOut_FullScan = TrigEFIDSequence("FullScan","fullScan") - -from TrigT2MinBias.TrigT2MinBiasConfig import * +from TrigT2MinBias.TrigT2MinBiasConfig import (MbMbtsHypo,L2MbMbtsFex,L2MbSpFex,L2MbSpFex_SCTNoiseSup,L2MbSpFex_ncb, + L2MbSpHypo_blayer,L2MbSpHypo_veto,L2MbSpFex_noPix,L2MbSpMhNoPixHypo_hip, + L2MbSpFex_BLayer,L2MbSpHypo_ncb,L2MbSpHypo,L2MbSpHypo_PT,L2MbSpMhNoPixHypo_veto, + L2MbMbtsHypo_PT,L2MbZdcFex_LG,L2MbZdcHypo_PT,L2MbZdcFex_HG,trigT2MinBiasProperties) from InDetTrigRecExample.EFInDetConfig import TrigEFIDSequence #fexes.efid = TrigEFIDSequence("minBias","minBias","InsideOut").getSequence() #fexes.efid2P = TrigEFIDSequence("minBias2P","minBias2","InsideOutLowPt").getSequence() @@ -35,20 +27,19 @@ efid = TrigEFIDSequence("minBias","minBias","InsideOut").getSequence() efid_heavyIon = TrigEFIDSequence("heavyIonFS","heavyIonFS","InsideOut").getSequence() efid2P = TrigEFIDSequence("minBias2P","minBias2","InsideOutLowPt").getSequence() -from TrigMinBias.TrigMinBiasConfig import * - +from TrigMinBias.TrigMinBiasConfig import (EFMbTrkFex,EFMbTrkHypoExclusiveLoose,EFMbTrkHypoExclusiveTight,EFMbTrkHypo, + EFMbVxFex,MbVxHypo,MbTrkHypo) from TrigGenericAlgs.TrigGenericAlgsConf import PESA__DummyUnseededAllTEAlgo as DummyRoI from TrigGenericAlgs.TrigGenericAlgsConf import PrescaleAlgo dummyRoI=DummyRoI(name='MinBiasDummyRoI', createRoIDescriptors = True, NumberOfOutputTEs=1) terminateAlgo = PrescaleAlgo('terminateAlgo') - # for HI from TrigHIHypo.TrigHIHypoConfig import HIEFTrackHypo_AtLeastOneTrack atLeastOneTrack = HIEFTrackHypo_AtLeastOneTrack(name='HIEFTrackHypo_AtLeastOneTrack') -from TrigHIHypo.TrigHIHypoConfig import * +from TrigHIHypo.TrigHIHypoConfig import HIL2VtxMultHypo #hypos.update(hi_hypos) @@ -142,24 +133,30 @@ class L2EFChain_MB(L2EFChainDef): doBLayer=True doVetoSp=False - if 'vetosp' in self.chainPart['extra']: + if 'vetosp' in self.chainPart['veto']: doVetoSp=True - + doVetoSpN=False + if 'vetosp' in self.chainPart['hypoL2Info']: + doVetoSpN=True doSptrk=False if "sptrk" in self.chainPart['recoAlg']: #do EFID doSptrk=True doMbtsVeto=False - if "vetombts2in" in self.chainPart['extra'] or "vetospmbts2in" in self.chainPart['extra']: #do EFID + if "vetombts2in" in self.chainPart['veto'] or "vetospmbts2in" in self.chainPart['veto']: #do EFID doMbtsVeto=True theL2MbtsFex=L2MbMbtsFex theL2MbtsHypo=MbMbtsHypo("L2MbMbtsHypo_1_1_inn_veto") - if "vetombts1side2in" in self.chainPart['extra']: #do EFID + if "vetombts1side2in" in self.chainPart['veto']: #do EFID doMbtsVeto=True theL2MbtsFex=L2MbMbtsFex theL2MbtsHypo=MbMbtsHypo("L2MbMbtsHypo_1_1_inn_one_side_veto") - + if "vetombts8" in self.chainPart['veto']: #do EFID + doMbtsVeto=True + theL2MbtsFex=L2MbMbtsFex + theL2MbtsHypo=MbMbtsHypo("L2MbMbtsHypo_8_8_NTime_veto") + doexclusivelooseN=False ########## L2 algos ################## #if "sptrk" or "sp" in self.chainPart['recoAlg']: if "noisesup" in self.chainPart['extra']: @@ -176,18 +173,20 @@ class L2EFChain_MB(L2EFChainDef): else: theL2Fex = L2MbSpFex if doSptrk: - chainSuffix = "sptrk" + if not doVetoSpN: chainSuffix = "sptrk" + else: chainSuffix = "sptrk_"+self.chainPart['hypoL2Info'] elif doVetoSp: chainSuffix = "sp_vetosp" else: chainSuffix = "sp" if doMbtsVeto: - if "vetombts2in" in self.chainPart['extra']: + if "vetombts2in" in self.chainPart['veto']: chainSuffix = chainSuffix+"_vetombts2in" - if "vetombts1side2in" in self.chainPart['extra']: + if "vetombts1side2in" in self.chainPart['veto']: chainSuffix = chainSuffix+"_vetombts1side2in" - + if "vetombts8" in self.chainPart['veto']: + chainSuffix = chainSuffix+"_vetombts8" if doMbtsVeto and doVetoSp: # this will never be done w tracks chainSuffix = "sp_vetospmbts2in" @@ -199,19 +198,24 @@ class L2EFChain_MB(L2EFChainDef): theL2Hypo = L2MbSpHypo_veto else: theL2Hypo = L2MbSpHypo - + if doVetoSpN: + l2hypo2 = self.chainPart['hypoL2Info'] + l2th=l2hypo2.lstrip('vetosp') + theL2Hypo2 = L2MbSpMhNoPixHypo_veto("L2MbSpMhNoPixHypo_veto_"+l2th,float(l2th)) + #chainSuffix = chainSuffix+'_vetosp'+l2th ########## EF algos ################## #if "sptrk" in self.chainPart['recoAlg']: + chainSuffixEF=chainSuffix if "costr" in self.chainPart['trkInfo']: - chainSuffix = chainSuffix+"_costr" + chainSuffixEF = chainSuffixEF+"_costr" from InDetTrigRecExample.EFInDetConfig import TrigEFIDInsideOut_CosmicsN efid_costr=TrigEFIDInsideOut_CosmicsN() theEFFex1 = efid_costr.getSequence() from TrigMinBias.TrigMinBiasConfig import MbTrkFex_1, MbTrkHypo_1 - theEFFex2 = MbTrkFex_1("MbTrkFex_"+chainSuffix) + theEFFex2 = MbTrkFex_1("MbTrkFex_"+chainSuffixEF) theEFFex2.InputTrackContainerName = "InDetTrigTrackSlimmerIOTRT_CosmicsN_EFID" - theEFHypo = MbTrkHypo_1("MbTrkHypo_"+chainSuffix) + theEFHypo = MbTrkHypo_1("MbTrkHypo_"+chainSuffixEF) theEFHypo.AcceptAll_EF=False theEFHypo.Required_ntrks=1 theEFHypo.Max_z0=1000.0 @@ -223,6 +227,7 @@ class L2EFChain_MB(L2EFChainDef): theEFFex2 = EFMbTrkFex efhypo = self.chainPart['hypoEFInfo'] + efextra = self.chainPart['extra'] if efhypo: if "pt" in self.chainPart['hypoEFInfo']: efth=efhypo.lstrip('pt') @@ -230,22 +235,31 @@ class L2EFChain_MB(L2EFChainDef): theEFHypo = MbTrkHypo('EFMbTrkHypo_pt%d'% threshold) theEFHypo.Min_pt = threshold theEFHypo.Max_z0 = 401. - chainSuffix = chainSuffix+'_pt'+efth + chainSuffixEF = chainSuffixEF+'_pt'+efth elif "trk" in self.chainPart['hypoEFInfo']: efth=efhypo.lstrip('trk') theEFHypo = MbTrkHypo('EFMbTrkHypo_trk%i'% int(efth)) theEFHypo.Required_ntrks = int(efth) theEFHypo.Min_pt = 0.200 theEFHypo.Max_z0 = 401. - chainSuffix = chainSuffix+'_trk'+efth + chainSuffixEF = chainSuffixEF+'_trk'+efth elif 'exclusiveloose' in self.chainPart['extra']: efth=0.200 #default theEFHypo = EFMbTrkHypoExclusiveLoose - chainSuffix = chainSuffix+"_exclusiveloose" + efthX=efextra.lstrip('exclusiveloose') + chainSuffixEF = chainSuffixEF+"_exclusiveloose" + + if efthX: + doexclusivelooseN=True + threshold=int(efthX) + theEFHypo2 = MbTrkHypo('EFMbTrkHypo2_pt1_trk%i'% threshold) + theEFHypo2.Min_pt = 1. + theEFHypo2.Required_ntrks = int(efthX) + theEFHypo2.Max_z0 = 401. elif 'exclusivetight' in self.chainPart['extra']: efth=0.200 #default theEFHypo = EFMbTrkHypoExclusiveTight - chainSuffix = chainSuffix+"_exclusivetight" + chainSuffixEF = chainSuffixEF+"_exclusivetight" else: efth=0.200 #default theEFHypo = EFMbTrkHypo @@ -270,23 +284,41 @@ class L2EFChain_MB(L2EFChainDef): self.L2sequenceList += [['L2_mb_dummy', efiddataprep, 'L2_mb_iddataprep']] - - self.L2sequenceList += [[['L2_mb_iddataprep'], - [theL2Fex, theL2Hypo], - 'L2_mb_step1']] - + if doVetoSpN: + self.L2sequenceList += [[['L2_mb_iddataprep'], + [theL2Fex, theL2Hypo], + 'L2_mb_spveto']] + self.L2sequenceList += [[['L2_mb_spveto'], + [theL2Hypo2], + 'L2_mb_step1']] + else: + self.L2sequenceList += [[['L2_mb_iddataprep'], + [theL2Fex, theL2Hypo], + 'L2_mb_step1']] if doSptrk: self.EFsequenceList += [[['L2_mb_step1'], theEFFex1+[theEFFex2, theEFHypo], 'EF_mb_step1']] - if 'peb' in self.chainPart['addInfo']: + if doexclusivelooseN: + self.EFsequenceList += [[['EF_mb_step1'], + [theEFHypo2], + 'EF_mb_step2']] + if 'hipeb' in self.chainPart['addInfo']: + from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter + HISubDetListWriter = TrigSubDetListWriter("HISubDetListWriter") + HISubDetListWriter.SubdetId = ['TDAQ_CTP','InnerDetector','FCal','FORWARD_ZDC','Muons'] + HISubDetListWriter.MaxRoIsPerEvent=1 + self.EFsequenceList += [[['EF_mb_step1'], + [ HISubDetListWriter ], + 'EF_mb_step2']] + elif 'peb' in self.chainPart['addInfo']: from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter ALFASubDetListWriter = TrigSubDetListWriter("ALFASubDetListWriter") ALFASubDetListWriter.SubdetId = ['TDAQ_HLT','TDAQ_CTP','InnerDetector','DBM','FORWARD_ALPHA','FORWARD_LUCID','FORWARD_ZDC','FORWARD_BCM'] ALFASubDetListWriter.MaxRoIsPerEvent=1 self.EFsequenceList += [[['EF_mb_step1'], [ ALFASubDetListWriter ], - 'EF_mb_step2']] + 'EF_mb_step2']] ########### Signatures ########### @@ -294,10 +326,14 @@ class L2EFChain_MB(L2EFChainDef): if doMbtsVeto: self.L2signatureList += [ [['L2_mb_mbtsveto']] ] self.L2signatureList += [ [['L2_mb_iddataprep']] ] + if doVetoSpN: + self.L2signatureList += [ [['L2_mb_spveto']] ] self.L2signatureList += [ [['L2_mb_step1']] ] if doSptrk: self.EFsignatureList += [ [['EF_mb_step1']] ] - if 'peb' in self.chainPart['addInfo']: + if doexclusivelooseN: + self.EFsignatureList += [ [['EF_mb_step2']] ] + if 'peb' in self.chainPart['addInfo'] or 'hipeb' in self.chainPart['addInfo']: self.EFsignatureList += [ [['EF_mb_step2']] ] self.TErenamingDict = { @@ -305,12 +341,15 @@ class L2EFChain_MB(L2EFChainDef): 'L2_mb_mbtsveto': mergeRemovingOverlap('L2_mbtsveto_', chainSuffix), 'L2_mb_iddataprep': mergeRemovingOverlap('L2_iddataprep_', chainSuffix), 'L2_mb_step1': mergeRemovingOverlap('L2_', chainSuffix), - 'EF_mb_step1': mergeRemovingOverlap('EF_', chainSuffix), + 'EF_mb_step1': mergeRemovingOverlap('EF_', chainSuffixEF), } - if 'peb' in self.chainPart['addInfo']: - self.TErenamingDict ['EF_mb_step2'] = mergeRemovingOverlap('EF_', chainSuffix+'_peb') - + if doVetoSpN: + self.TErenamingDict ['L2_mb_spveto'] = mergeRemovingOverlap('L2_', chainSuffix + '_vetosp') + if 'peb' in self.chainPart['addInfo'] or 'hipeb' in self.chainPart['addInfo']: + self.TErenamingDict ['EF_mb_step2'] = mergeRemovingOverlap('EF_', chainSuffixEF+'_peb') + if doexclusivelooseN: + self.TErenamingDict ['EF_mb_step2'] = mergeRemovingOverlap('EF_', chainSuffixEF+efthX) ########################### def setup_mb_idperf(self): doHeavyIon=False @@ -322,7 +361,6 @@ class L2EFChain_MB(L2EFChainDef): chainSuffix = "idperf" if not doHeavyIon: theEFFex1 = efid - theEFFex2 = efid2P else: theEFFex1 = efid_heavyIon @@ -347,9 +385,6 @@ class L2EFChain_MB(L2EFChainDef): ########################### def setup_mb_perf(self): - doHeavyIon=False - if 'ion' in self.chainPart['extra']: - doHeavyIon=True ########## L2 algos ################## if "perf" in self.chainPart['recoAlg']: @@ -395,9 +430,6 @@ class L2EFChain_MB(L2EFChainDef): ########################### def setup_mb_zdcperf(self): - doHeavyIon=False - if 'ion' in self.chainPart['extra']: - doHeavyIon=True ########## L2 algos ################## if "zdcperf" in self.chainPart['recoAlg']: @@ -434,18 +466,15 @@ class L2EFChain_MB(L2EFChainDef): ########################### def setup_mb_mbts(self): - doHeavyIon=False - if 'ion' in self.chainPart['extra']: - doHeavyIon=True theL2Fex = L2MbMbtsFex doMbtsVeto=False - if "vetombts2in" in self.chainPart['extra']: #do EFID + if "vetombts2in" in self.chainPart['veto']: #do EFID doMbtsVeto=True theL2MbtsVetoHypo=MbMbtsHypo("L2MbMbtsHypo_1_1_inn_veto") - if "vetombts1side2in" in self.chainPart['extra']: #do EFID + if "vetombts1side2in" in self.chainPart['veto']: #do EFID doMbtsVeto=True theL2MbtsVetoHypo=MbMbtsHypo("L2MbMbtsHypo_1_1_inn_one_side_veto") @@ -488,9 +517,9 @@ class L2EFChain_MB(L2EFChainDef): logMinBiasDef.error("Something weird in the setup_mb_mbts(), please check") else: theL2Hypo = theL2MbtsVetoHypo - if "vetombts2in" in self.chainPart['extra']: + if "vetombts2in" in self.chainPart['veto']: chainSuffix = chainSuffix+"_vetombts2in" - if "vetombts1side2in" in self.chainPart['extra']: + if "vetombts1side2in" in self.chainPart['veto']: chainSuffix = chainSuffix+"_vetombts1side2in" ########## EF algos ################## diff --git a/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasSliceFlags.py b/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasSliceFlags.py index 216ca7caa7cb0d52bd37e7e4c024357ce06dffe3..6c8b9a7567d6eae9160a187535a350c95b3ba104 100755 --- a/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasSliceFlags.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasSliceFlags.py @@ -2,10 +2,8 @@ """ MinBias slice specific flags """ -from AthenaCommon.Logging import logging -from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer, jobproperties -from TriggerMenu.menu.CommonSliceHelper import CommonSliceHelper, AllowedList -from TriggerMenu.menu.TriggerPythonConfig import TriggerPythonConfig +from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer +from TriggerMenu.menu.CommonSliceHelper import CommonSliceHelper __author__ = 'R. Kwee, B. Demirkoz, T.Bold, T.Kohno, W. H. Bell' __version__="$Revision: 1.18 $" diff --git a/Trigger/TriggerCommon/TriggerMenu/python/minbias/generateMinBiasChainDefs.py b/Trigger/TriggerCommon/TriggerMenu/python/minbias/generateMinBiasChainDefs.py index 49d40473f3143de0b39bcb2a4685e050d037b7d5..18f811026fc8de85af1f1be24d76cec38b8e6759 100755 --- a/Trigger/TriggerCommon/TriggerMenu/python/minbias/generateMinBiasChainDefs.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/minbias/generateMinBiasChainDefs.py @@ -9,8 +9,8 @@ from AthenaCommon.Logging import logging logging.getLogger().info("Importing %s",__name__) -from TriggerMenu.minbias.MinBiasDef import * -from TriggerMenu.menu.MenuUtils import * +from TriggerMenu.minbias.MinBiasDef import L2EFChain_MB +from TriggerMenu.menu.MenuUtils import splitChainDict,mergeChainDefs MinBias = [] diff --git a/Trigger/TriggerCommon/TriggerMenu/scripts/testMenu.sh b/Trigger/TriggerCommon/TriggerMenu/scripts/testMenu.sh index 8a937e1b3b54b80fc462cd62af44d2fa461a1516..b9d2b3ebc1847013450e96851e936cabedbc9ff3 100755 --- a/Trigger/TriggerCommon/TriggerMenu/scripts/testMenu.sh +++ b/Trigger/TriggerCommon/TriggerMenu/scripts/testMenu.sh @@ -1,2 +1,2 @@ #!/usr/bin/env sh -athena.py -c "TriggerMenuSetup='MC_pp_v7'" TriggerMenuXML/runHLT_forXMLgeneration.py +athena.py -c "TriggerMenuSetup='Physics_pp_v7_primaries'" TriggerMenuXML/runHLT_forXMLgeneration.py diff --git a/graphics/Qat/QatAnnotationSystem/CMakeLists.txt b/graphics/Qat/QatAnnotationSystem/CMakeLists.txt deleted file mode 100644 index bf83528313e3132c508d1dcc61e17b7e7e5326e0..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatAnnotationSystem/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# Package: QatAnnotationSystem -################################################################################ - -# Declare the package name: -atlas_subdir( QatAnnotationSystem ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatBase - graphics/Qat/QatPlotWidgets - graphics/Qat/QatSystemInterfaces ) - -# External dependencies: -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Install files from the package: -atlas_install_headers( QatAnnotationSystem ) - diff --git a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystem.h b/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystem.h deleted file mode 100644 index 509755ca874bf9f8203ad8e57b91be84267b4a77..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystem.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef _ANNOTATIONSYSTEM_H_ -#define _ANNOTATIONSYSTEM_H_ -#include <QatSystemInterfaces/SystemInterface.h> -#include <QtGui/QWidget> -class AnnotationSystem:public DASystem { - - Q_OBJECT - - -public: - - AnnotationSystem(); - - virtual ~AnnotationSystem(); - - virtual QString name() { return QString("AnnotationSystem");} - - virtual QWidget *mainWidget() const; - - virtual QWidget *toolWidget() const; - - virtual QByteArray saveState(); - - virtual void restoreFromState (QByteArray ba); - - virtual QByteArray saveCache(); - - virtual void restoreFromCache (QByteArray ba); - - virtual AnnotationSystem *clone() const; - - virtual void update(); - - - public slots: - - - void informSelectedImage(const QString & imageFile); - - private: - - // It is illegal to copy or assign: - AnnotationSystem(const AnnotationSystem &); - AnnotationSystem & operator=(const AnnotationSystem &); - - - // Internal: - class Clockwork; - Clockwork *c; -}; - -class AnnotationSystemFactory : public QObject, public SystemFactoryInterface - { - Q_OBJECT - Q_INTERFACES(SystemFactoryInterface) - - public: - - - virtual DASystem *newSystem() const; - - }; - -#endif diff --git a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMainWidget.h b/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMainWidget.h deleted file mode 100644 index f7ed8228484ca9cda04e16843d595af631092430..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMainWidget.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef _ANNOTATIONSYSTEMMAINWIDGET_H_ -#define _ANNOTATIONSYSTEMMAINWIDGET_H_ -#include "ui_AnnotationSystemMainWidget.h" -class AnnotationSystemMainWidget: public QWidget { - - Q_OBJECT - public: - - AnnotationSystemMainWidget(QWidget *parent=NULL); - - QTextEdit *textEdit(); - - TextEditor *textEditor(); - - public slots: - - void insertDate(); - void insertImage(); - void pasteImage(); - void print(); - void save(); - - - private: - - Ui::AnnotationSystemMainWidget ui; - -}; - -#endif diff --git a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMenu.h b/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMenu.h deleted file mode 100644 index 7f6f2fc21601ff0c16d131d481f1147d805d5681..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/AnnotationSystemMenu.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _ANNOTATIONSYSTEMMENU_H_ -#define _ANNOTATIONSYSTEMMENU_H_ -#include "ui_AnnotationSystemMenu.h" - -class AnnotationSystemMenu: public QWidget { - - Q_OBJECT - - public: - - // Constructor: - AnnotationSystemMenu(QWidget *parent=NULL); - - signals: - - void insertDate(); - void insertImage(); - void pasteImage(); - void print(); - void save(); - - private: - - Ui::AnnotationSystemMenu ui; - -}; - -#endif diff --git a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/TextEditor.h b/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/TextEditor.h deleted file mode 100644 index dfb4b20769a22e24bec72f264a6ffad8a0c9f626..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatAnnotationSystem/QatAnnotationSystem/TextEditor.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef _TextEditor_h_ -#define _TextEditor_h_ -#include "ui_TextEditor.h" -#include "QatPlotWidgets/characterwidget.h" -#include <QScrollArea> - -class TextEditor: public QWidget - { - Q_OBJECT - - public: - - // Constructor: - TextEditor(QWidget *parent = 0); - - // Get the text editor: - const QTextEdit *textEdit() const; - QTextEdit *textEdit(); - void insertDate(); - - private slots: - - void textFamily( const QString &f ); - void textSize(int i); - void textBold(); - void textItalic(); - void textScript(); - void textHal(); // horizontal alignment. - void textColor(); - void toggleChars(); - void updateCharFormat(const QTextCharFormat &f); - void updateAlignment(); - - void selectionChanged(bool copyAvailableFlag); - void imageResize(int percent); - - signals: - - void imageSelected(const QString & imageFile); - - private: - - Ui::TextEditor ui; - QScrollArea *frame; - CharacterWidget *cw; - const QMimeData *selectedMimeData; - std::string selectedFileName; - int selHeight; - int selWidth; - }; -#endif - diff --git a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystem.cpp b/graphics/Qat/QatAnnotationSystem/src/AnnotationSystem.cpp deleted file mode 100644 index 43a8b4b16e644874efd486338aec7624fe375359..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystem.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include <QObject> -#include "QatAnnotationSystem/AnnotationSystem.h" -#include "QatAnnotationSystem/AnnotationSystemMainWidget.h" -#include "QatAnnotationSystem/AnnotationSystemMenu.h" -#include "QatSystemInterfaces/Serializer.h" -#include <QtGui/QTextEdit> -#include <QScrollBar> -#include <iostream> -#include <stdexcept> -#include <sstream> -class AnnotationSystemMainWidget; -class AnnotationSystem::Clockwork { -public: - AnnotationSystemMainWidget *annotationSystemMainWidget; - AnnotationSystemMenu *annotationSystemToolWidget; -}; - - -AnnotationSystem::AnnotationSystem ():c(new Clockwork()) { - QRectF rect; - - c->annotationSystemMainWidget=new AnnotationSystemMainWidget(); - c->annotationSystemToolWidget=new AnnotationSystemMenu(); - connect (c->annotationSystemToolWidget, SIGNAL(insertDate()), c->annotationSystemMainWidget, SLOT(insertDate())); - connect (c->annotationSystemToolWidget, SIGNAL(insertImage()), c->annotationSystemMainWidget, SLOT(insertImage())); - connect (c->annotationSystemToolWidget, SIGNAL(pasteImage()), c->annotationSystemMainWidget, SLOT(pasteImage())); - - connect (c->annotationSystemToolWidget, SIGNAL(print()), c->annotationSystemMainWidget, SLOT(print())); - connect (c->annotationSystemToolWidget, SIGNAL(save()), c->annotationSystemMainWidget, SLOT(save())); - connect (c->annotationSystemMainWidget->textEditor(), SIGNAL(imageSelected(const QString &)), this, SLOT(informSelectedImage(const QString & ))); -} - -AnnotationSystem::~AnnotationSystem() { -} - -QWidget *AnnotationSystem::mainWidget() const { - return c->annotationSystemMainWidget; -} - -QWidget *AnnotationSystem::toolWidget() const { - return c->annotationSystemToolWidget; -} - -void AnnotationSystem::update() { -} - -QByteArray AnnotationSystem::saveState() { - Serializer serializer(0); - serializer.save(c->annotationSystemMainWidget->textEdit()); - return serializer.result(); -} - -void AnnotationSystem::restoreFromState (QByteArray ba){ - Deserializer state(ba); - if (state.version()>0) throw std::runtime_error ("Wrong version code in AnnotationSystem::restoreFromState"); - state.restore(c->annotationSystemMainWidget->textEdit()); - QTextCursor curse=c->annotationSystemMainWidget->textEdit()->textCursor(); - curse.setPosition(0); - c->annotationSystemMainWidget->textEdit()->setTextCursor(curse); -} - -QByteArray AnnotationSystem::saveCache() { - Serializer serializer(0); - return serializer.result(); -} - -void AnnotationSystem::restoreFromCache (QByteArray ba) { - Deserializer state(ba); - if (state.version()>0) throw std::runtime_error ("Wrong version code in AnnotationSystem::restoreFromCache"); -} - -void AnnotationSystem::informSelectedImage(const QString & imageFile) { - { - std::ostringstream message; - message << "External reference to file named " << imageFile.toStdString() << std::endl; - presenterMessageTextEdit()->insertPlainText (message.str().c_str()); - } -} - - -//=====================Boilerplate======================// -AnnotationSystem *AnnotationSystem::clone() const { - return new AnnotationSystem(); -} - -DASystem *AnnotationSystemFactory::newSystem() const { - return new AnnotationSystem(); -} - -Q_EXPORT_PLUGIN2(AnnotationSystemPlugin, AnnotationSystemFactory) diff --git a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.cpp b/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.cpp deleted file mode 100644 index 462984fca6d8e9b5ed2831a889675b306070288c..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.cpp +++ /dev/null @@ -1,139 +0,0 @@ -#include "QatAnnotationSystem/AnnotationSystemMainWidget.h" -#include <QtGui/QFileDialog> -#include <QClipboard> -#include <QPixmap> -#include <QPrinter> -#include <QPrintDialog> -#include <QtGui/QMessageBox> -#include <iostream> -#include <sstream> -#include <fstream> -#include <libgen.h> - -#include <unistd.h> - -AnnotationSystemMainWidget::AnnotationSystemMainWidget (QWidget *parent ):QWidget(parent) { - ui.setupUi(this); -} - -void AnnotationSystemMainWidget::insertDate() { - ui.textEdit->insertDate(); -} - -void AnnotationSystemMainWidget::insertImage() { - - char dirbuff[1024]; - getcwd(dirbuff,1024); - static std::string workingDir=dirbuff; - static std::string attachFileName=""; - - QFileDialog dialog(0); - QStringList filters; - filters.append("Image files (*.png *.gif *.jpg)"); - filters.append("All files (*)"); - dialog.setFilters(filters); - dialog.setDirectory(workingDir.c_str()); - dialog.selectFile(attachFileName.c_str()); - dialog.setFileMode(QFileDialog::ExistingFile); - if (dialog.exec()) { - - QStringList openFilenames=dialog.selectedFiles(); - if (openFilenames.count()!=1) return; - QString openFileName = openFilenames[0]; - workingDir=dirname((char *) openFileName.toStdString().c_str()); - - if (!openFileName.isNull()) { - QPixmap px(openFileName); - - int height = px.height(); - int width = px.width(); - - attachFileName = openFileName.toStdString(); - QTextEdit *tE = textEdit(); - std::ostringstream xstream; - xstream << "<img SRC=" << attachFileName << " height=" << height << " width=" << width << " >"; - std::string imageString = xstream.str(); - tE->insertHtml(imageString.c_str()); - } - } -} -void AnnotationSystemMainWidget::print() { - - QPrinter printer; - printer.setColorMode(QPrinter::Color); - printer.setResolution(600); - printer.setFullPage(TRUE); - QPrintDialog pDialog(&printer, this); - if (pDialog.exec()) { - QTextEdit *tE = textEdit(); - tE->document()->print(&printer); - - } -} -void AnnotationSystemMainWidget::save() { - - char dirbuff[1024]; - getcwd(dirbuff,1024); - static std::string workingDir=dirbuff; - static std::string attachFileName=""; - - QFileDialog dialog(0); - QStringList filters; - filters.append("Html files (*.png *.html)"); - filters.append("All files (*)"); - dialog.setFilters(filters); - dialog.setDirectory(workingDir.c_str()); - dialog.selectFile(attachFileName.c_str()); - dialog.setFileMode(QFileDialog::AnyFile); - if (dialog.exec()) { - - QStringList openFilenames=dialog.selectedFiles(); - if (openFilenames.count()!=1) return; - QString openFileName = openFilenames[0]; - workingDir=dirname((char *) openFileName.toStdString().c_str()); - - if (!openFileName.isNull()) { - attachFileName = openFileName.toStdString(); - QTextEdit *tE = textEdit(); - std::string html = tE->document()->toHtml().toStdString(); - std::ofstream o(attachFileName.c_str()); - o << html; - - } - } -} - -void AnnotationSystemMainWidget::pasteImage() { - system("mkdir -p ~/.presenter"); - QPixmap px = QApplication::clipboard()->pixmap(); - std::ostringstream genFileNameStream; - std::string homeDir=getenv("HOME"); - genFileNameStream << homeDir << "/.presenter/annotationSystemImage" - << rand() << ".png"; - if (!px.save(genFileNameStream.str().c_str())) { - QMessageBox::warning(this, tr("Warning"), - tr(("Cannot save image file "+genFileNameStream.str()).c_str()), - QMessageBox::Ok); - } - else { - int height = px.height(); - int width = px.width(); - - QTextEdit *tE = textEdit(); - - std::ostringstream xstream; - xstream << "<img SRC=" << genFileNameStream.str() << " height=" << height << " width=" << width << " >"; - - std::string imageString = xstream.str(); - tE->insertHtml(imageString.c_str()); - } -} - - -QTextEdit *AnnotationSystemMainWidget::textEdit() { - return ui.textEdit->textEdit(); -} - -TextEditor *AnnotationSystemMainWidget::textEditor() { - return ui.textEdit; -} diff --git a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.ui b/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.ui deleted file mode 100644 index 43894ae2aeaa485c894939115c42703ca9b97a14..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMainWidget.ui +++ /dev/null @@ -1,41 +0,0 @@ -<ui version="4.0" > - <class>AnnotationSystemMainWidget</class> - <widget class="QWidget" name="AnnotationSystemMainWidget" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>560</width> - <height>453</height> - </rect> - </property> - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="windowTitle" > - <string>Form</string> - </property> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="TextEditor" native="1" name="textEdit" /> - </item> - </layout> - </widget> - <customwidgets> - <customwidget> - <class>TextEditor</class> - <extends>QWidget</extends> - <header>QatAnnotationSystem/TextEditor.h</header> - </customwidget> - </customwidgets> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.cpp b/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.cpp deleted file mode 100644 index 43cea2b695737c38aa1665953daf72ba539316d2..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include "QatAnnotationSystem/AnnotationSystemMenu.h" -AnnotationSystemMenu::AnnotationSystemMenu (QWidget *parent ):QWidget(parent) { - ui.setupUi(this); - connect (ui.insertDatePushButton, SIGNAL(pressed()), this, SIGNAL(insertDate())); - connect (ui.insertImagePushButton,SIGNAL(pressed()), this, SIGNAL(insertImage())); - connect (ui.pasteImagePushButton, SIGNAL(pressed()), this, SIGNAL(pasteImage())); - - connect (ui.printPagePushButton, SIGNAL(pressed()), this, SIGNAL(print())); - connect (ui.savePagePushButton, SIGNAL(pressed()), this, SIGNAL(save())); -} diff --git a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.ui b/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.ui deleted file mode 100644 index 14d26639a8299d9afd1ed94c1fa1648341ff4940..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatAnnotationSystem/src/AnnotationSystemMenu.ui +++ /dev/null @@ -1,88 +0,0 @@ -<ui version="4.0" > - <class>AnnotationSystemMenu</class> - <widget class="QWidget" name="AnnotationSystemMenu" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>800</width> - <height>118</height> - </rect> - </property> - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>13</hsizetype> - <vsizetype>13</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="windowTitle" > - <string>Form</string> - </property> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QPushButton" name="insertDatePushButton" > - <property name="maximumSize" > - <size> - <width>200</width> - <height>16777215</height> - </size> - </property> - <property name="text" > - <string>Insert Date</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="insertImagePushButton" > - <property name="text" > - <string>Insert Image</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="pasteImagePushButton" > - <property name="text" > - <string>Paste Image</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="printPagePushButton" > - <property name="text" > - <string>Print Page</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="savePagePushButton" > - <property name="text" > - <string>Save Page</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>331</width> - <height>100</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatAnnotationSystem/src/QatAnnotationSystem.pro b/graphics/Qat/QatAnnotationSystem/src/QatAnnotationSystem.pro deleted file mode 100644 index 661be128e2f463d6fd9c79d88357680112640ba0..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatAnnotationSystem/src/QatAnnotationSystem.pro +++ /dev/null @@ -1,20 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon May 2 09:49:50 2011 -###################################################################### - -TEMPLATE = lib plugin -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotWidgets ../../QatSystemInterfaces ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis ../../QatPresenter -DESTDIR=../../../plugins -CONFIG += plugin debug -LIBS += -L../../../lib -L/usr/local/lib -lQatPresenter -lQatSystemInterfaces -lQatPlotWidgets -lQatPlotting -l QatDataModeling -lQatDataAnalysis -lCLHEP -lgfortran -FORMS=AnnotationSystemMainWidget.ui AnnotationSystemMenu.ui TextEditor.ui - -SOURCES += AnnotationSystem.cpp AnnotationSystemMainWidget.cpp AnnotationSystemMenu.cpp TextEditor.cpp -HEADERS += ../QatAnnotationSystem/AnnotationSystem.h ../QatAnnotationSystem/AnnotationSystemMainWidget.h ../QatAnnotationSystem/AnnotationSystemMenu.h ../QatAnnotationSystem/TextEditor.h - -INSTALLS += target -target.path=/usr/local/share/qatplugins - - diff --git a/graphics/Qat/QatAnnotationSystem/src/TextEditor.cpp b/graphics/Qat/QatAnnotationSystem/src/TextEditor.cpp deleted file mode 100644 index aad82e655c3dc8a9ae0a23779eaffa34f5408dd2..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatAnnotationSystem/src/TextEditor.cpp +++ /dev/null @@ -1,393 +0,0 @@ -#include "QatAnnotationSystem/TextEditor.h" -#include <QColorDialog> -#include <QClipboard> -#include <QPixmap> -#include <QMimeData> -#include <QImage> -#include <iostream> -#include <sstream> -#include <stdexcept> -#include <time.h> - -inline std::string getTag(const std::string & html, const std::string & tag) { - size_t begin= html.find(tag); - if (begin==html.npos) { - return ""; - } - else { - begin=begin+tag.size()+1; - } - size_t end = html.find("\"",begin); - if (end==html.npos) { - return ""; - } - return html.substr(begin,end-begin); -} -// For returning height, width. -inline int getValue (const std::string & html, const std::string & tag) { - const std::string valString=getTag(html,tag); - std::istringstream valStream(valString); - int retVal; - if (valStream >> retVal) return retVal; - return 0; - -} - -inline void setValue(std::string & html, const std::string & tag, int value) { - size_t begin= html.find(tag); - if (begin==html.npos) { - return; - } - else { - begin=begin+tag.size()+1; - } - size_t end = html.find("\"",begin); - if (end==html.npos) { - return; - } - - std::ostringstream valStream; - valStream << value; - - html.replace(begin,end-begin, valStream.str()); - -} - - -TextEditor::TextEditor(QWidget *parent): QWidget(parent),selectedMimeData(NULL),selHeight(0),selWidth(0) { - ui.setupUi(this); - connect (ui.boldButton, SIGNAL(clicked()), this, SLOT(textBold())); - connect (ui.italicButton, SIGNAL(clicked()), this, SLOT(textItalic())); - connect (ui.scriptButton, SIGNAL(clicked()), this, SLOT(textScript())); - connect (ui.halButton, SIGNAL(clicked()), this, SLOT(textHal())); - connect (ui.fontComboBox, SIGNAL(activated( const QString & ) ), this, SLOT(textFamily(const QString &))); - connect (ui.fontSizeSpinBox, SIGNAL(valueChanged(int)), this, SLOT(textSize(int))); - connect (ui.colorButton, SIGNAL(clicked()), this, SLOT(textColor())); - connect (ui.specialCButton, SIGNAL(clicked()), this, SLOT(toggleChars())); - connect (ui.imageSizeSpinBox, SIGNAL(valueChanged(int)), this, SLOT(imageResize(int))); - QColor color("black"); - - QPalette palette = ui.colorButton->palette(); - palette.setColor(QPalette::Button,color); - ui.colorButton->setAutoFillBackground(true); - ui.colorButton->setPalette(palette); - - - frame = new QScrollArea(0); - frame->setObjectName(QString::fromUtf8("frame")); - QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(13), static_cast<QSizePolicy::Policy>(13)); - sizePolicy.setHorizontalStretch(0); - sizePolicy.setVerticalStretch(0); - sizePolicy.setHeightForWidth(frame->sizePolicy().hasHeightForWidth()); - frame->setSizePolicy(sizePolicy); - frame->setMinimumSize(QSize(0, 400)); - - - cw=new CharacterWidget(0); - frame->setWidget(cw); - connect (ui.fontComboBox, SIGNAL(activated( const QString &)), cw, SLOT(updateFamily(const QString & ))); - connect (cw, SIGNAL(characterSelected(const QString &)), ui.textEdit, SLOT(insertPlainText(const QString & ))); - - cw->updateSize("12"); - - connect(ui.textEdit, SIGNAL(currentCharFormatChanged(const QTextCharFormat &)), this, SLOT(updateCharFormat(const QTextCharFormat &))); - connect(ui.textEdit, SIGNAL(cursorPositionChanged()), this, SLOT(updateAlignment())); - connect(ui.textEdit, SIGNAL(copyAvailable(bool)), this, SLOT(selectionChanged(bool))); - frame->hide(); - setMinimumSize(600,200); - resize(minimumSize()); - - QTextCharFormat format; - QFont font; - font.setFamily("Sans Serif"); - font.setPointSize(12); - format.setFont(font); - ui.textEdit->setCurrentCharFormat(format); - ui.textEdit->setFocus(); - ui.textEdit->setText(QString("")); - - ui.imageSizeSpinBox->hide(); - ui.imageSizeLabel->hide(); - -} - -const QTextEdit *TextEditor::textEdit() const { - return ui.textEdit; -} - - -QTextEdit *TextEditor::textEdit() { - return ui.textEdit; -} - - - - -void TextEditor::textFamily( const QString &f ) -{ - QTextEdit * tE = ui.textEdit; - QTextCharFormat format; - format.setFontFamily(f); - tE->mergeCurrentCharFormat(format); -} - - -void TextEditor::textSize( int i ) -{ - QTextEdit * tE = ui.textEdit; - QTextCharFormat format; - format.setFontPointSize(i); - tE->mergeCurrentCharFormat(format); -} - - -void TextEditor::textBold() -{ - - QFont font=ui.boldButton->font(); - bool flag=font.bold(); - flag = !flag; - font.setBold(flag); - ui.boldButton->setFont(font); - - - QTextEdit * tE = ui.textEdit; - QTextCharFormat format; - format.setFontWeight(flag ? QFont::Bold : QFont::Normal ); - tE->mergeCurrentCharFormat(format); - -} - -void TextEditor::textItalic() -{ - QFont font=ui.italicButton->font(); - bool flag=font.italic(); - flag = !flag; - font.setItalic(flag); - ui.italicButton->setFont(font); - - - QTextEdit * tE = ui.textEdit; - QTextCharFormat format; - format.setFontItalic(flag); - tE->mergeCurrentCharFormat(format); -} - - -void TextEditor::textScript() -{ - QTextEdit * tE = ui.textEdit; - QTextCharFormat format; - - QString text = ui.scriptButton->text(); - if (text==QString("-")) { - ui.scriptButton->setText(QString("^")); - format.setVerticalAlignment(QTextCharFormat::AlignSuperScript); - } - if (text==QString("^")){ - ui.scriptButton->setText(QString("_")); - format.setVerticalAlignment(QTextCharFormat::AlignSubScript); - } - if (text==QString("_")) { - ui.scriptButton->setText(QString("-")); - format.setVerticalAlignment(QTextCharFormat::AlignNormal); - } - - tE->mergeCurrentCharFormat(format); -} - -void TextEditor::textHal() -{ - QTextEdit * tE = ui.textEdit; - - QString text = ui.halButton->text(); - if (text==QString("<")) { - ui.halButton->setText(QString("|")); - tE->setAlignment(Qt::AlignHCenter); - } - if (text==QString("|")){ - ui.halButton->setText(QString(">")); - tE->setAlignment(Qt::AlignRight); - } - if (text==QString(">")) { - ui.halButton->setText(QString("<")); - tE->setAlignment(Qt::AlignLeft); - } - -} - - -void TextEditor::textColor() -{ - QColor textColorVal; - QColor col = QColorDialog::getColor(textColorVal, this ); - if ( !col.isValid() ) return; - - QPalette palette = ui.colorButton->palette(); - palette.setColor(QPalette::Button,col); - ui.colorButton->setAutoFillBackground(true); - ui.colorButton->setPalette(palette); - QTextEdit * tE = ui.textEdit; - tE->setTextColor(col); -} - -void TextEditor::updateAlignment() { - QTextEdit * tE = ui.textEdit; - if (tE->alignment()==Qt::AlignLeft) ui.halButton->setText(QString("<")); - if (tE->alignment()==Qt::AlignHCenter) ui.halButton->setText(QString("|")); - if (tE->alignment()==Qt::AlignRight) ui.halButton->setText(QString(">")); -} - -void TextEditor::updateCharFormat(const QTextCharFormat &f) { - static QTextCharFormat df; - df.setVerticalAlignment(QTextCharFormat::AlignNormal); - df.setFontItalic(false); - df.setFontWeight(QFont::Normal); - df.setFontPointSize(12); - df.setFontFamily("Sans Serif"); - - QTextCharFormat F = f.fontPointSize()!=0.0 ? f: df; - if (F.verticalAlignment()==QTextCharFormat::AlignNormal) ui.scriptButton->setText(QString("-")); - if (F.verticalAlignment()==QTextCharFormat::AlignSubScript) ui.scriptButton->setText(QString("_")); - if (F.verticalAlignment()==QTextCharFormat::AlignSuperScript) ui.scriptButton->setText(QString("^")); - { - QFont font=ui.italicButton->font(); - font.setItalic (F.fontItalic()); - ui.italicButton->setFont(font); - } - { - QFont font=ui.boldButton->font(); - font.setBold(F.fontWeight()==QFont::Bold); - ui.boldButton->setFont(font); - } - - ui.fontSizeSpinBox->setValue(int(F.fontPointSize()+0.5)); - - QString fam=F.fontFamily(); - ui.fontComboBox->setEditText(fam); - - - QColor color=F.foreground().color(); - QPalette palette = ui.colorButton->palette(); - palette.setColor(QPalette::Button,color); - ui.colorButton->setAutoFillBackground(true); - ui.colorButton->setPalette(palette); -} - - - -void TextEditor::toggleChars() { - if (frame->isHidden()) { - frame->show(); - setMinimumSize(600,600); - resize(minimumSize()); - } - else { - - frame->hide(); - setMinimumSize(600,200); - resize(minimumSize()); - } - -} - -void TextEditor::insertDate() { - char buffer[1024]; - time_t now = time(NULL); - asctime_r(localtime(&now),buffer); - QTextEdit * tE = ui.textEdit; - tE->insertPlainText(buffer); -} - -void TextEditor::selectionChanged(bool flag) { - selectedFileName=""; - selectedMimeData=NULL; - // See if the box is shown: - bool hidden=ui.imageSizeSpinBox->isHidden(); - if (flag) { - QTextEdit * tE = ui.textEdit; - tE->copy(); - QClipboard *clipboard=QApplication::clipboard(); - const QMimeData *mimeData=clipboard->mimeData(); - if (mimeData) { - if (mimeData->hasHtml()) { - - // First extract the name of the file. - std::string html=mimeData->html().toStdString(); - std::string filename=getTag(html,"src="); - if (filename!="") { - - QString fnString=QString::fromStdString(filename); - emit imageSelected(fnString); - - // Read in that file and get the true size. - QPixmap px(filename.c_str()); - - selHeight = px.height(); - selWidth = px.width(); - - // Get the actual size. Then, compute the scale factor. - int tagHeight=getValue(html,"height="); - int tagWidth =getValue(html,"width="); - - - // Set the scale factor for the spin box. - double ratioH = tagHeight/double(selHeight); - double ratioW = tagWidth/double(selWidth); - int ratio = int( 50.0*(ratioH+ratioW)); - - if (hidden) { - - ui.imageSizeSpinBox->setValue(ratio); - - // Record the mime data corresponding to this (it will need to be - // replaced when the spin box changes. - - selectedFileName=filename; - selectedMimeData=mimeData; - - ui.imageSizeSpinBox->show(); - ui.imageSizeLabel->show(); - return; - } - } - } - } - } - ui.imageSizeSpinBox->hide(); - ui.imageSizeLabel->hide(); -} -void TextEditor::imageResize(int percent) { - if (!selectedMimeData) return; - - int newImageHeight=(selHeight*percent)/100; - int newImageWidth =(selWidth*percent)/100; - - std::string html = selectedMimeData->html().toStdString(); - - - // edit html - setValue(html,"height=", newImageHeight); - setValue(html,"width=", newImageWidth); - - - - // replace sel html - QObject::blockSignals(true); - ui.imageSizeSpinBox->blockSignals(true); - ui.textEdit->blockSignals(true); - QTextEdit * tE = ui.textEdit; - tE->insertHtml(html.c_str()); // Should overwrite existing! - QTextCursor tC=tE->textCursor(); - tC.movePosition(QTextCursor::Left,QTextCursor::MoveAnchor, 1); - tC.select(QTextCursor::WordUnderCursor); - tE->setTextCursor(tC); - QObject::blockSignals(false); - ui.imageSizeSpinBox->blockSignals(false); - ui.textEdit->blockSignals(false); - - ui.imageSizeSpinBox->setFocus(); - - - -} diff --git a/graphics/Qat/QatAnnotationSystem/src/TextEditor.ui b/graphics/Qat/QatAnnotationSystem/src/TextEditor.ui deleted file mode 100644 index 80712c2580aca76d11ad2b23c78c57a08ca3f456..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatAnnotationSystem/src/TextEditor.ui +++ /dev/null @@ -1,173 +0,0 @@ -<ui version="4.0" > - <class>TextEditor</class> - <widget class="QWidget" name="TextEditor" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>719</width> - <height>471</height> - </rect> - </property> - <property name="windowTitle" > - <string>Form</string> - </property> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QFontComboBox" name="fontComboBox" > - <property name="toolTip" > - <string>Set the Font Family</string> - </property> - <property name="currentIndex" > - <number>40</number> - </property> - </widget> - </item> - <item> - <widget class="QSpinBox" name="fontSizeSpinBox" > - <property name="toolTip" > - <string>Set the font size</string> - </property> - <property name="value" > - <number>12</number> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="colorButton" > - <property name="text" > - <string/> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="boldButton" > - <property name="font" > - <font> - <weight>50</weight> - <bold>false</bold> - </font> - </property> - <property name="toolTip" > - <string>Toggle Bold Characters</string> - </property> - <property name="text" > - <string>B</string> - </property> - <property name="checkable" > - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="italicButton" > - <property name="toolTip" > - <string>Toggle Italic Characters</string> - </property> - <property name="text" > - <string>I</string> - </property> - <property name="checkable" > - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="scriptButton" > - <property name="toolTip" > - <string>Set Superscript</string> - </property> - <property name="text" > - <string>-</string> - </property> - <property name="checkable" > - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="halButton" > - <property name="text" > - <string><</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="specialCButton" > - <property name="font" > - <font> - <family>Standard Symbols L</family> - </font> - </property> - <property name="toolTip" > - <string>Choose Special Character</string> - </property> - <property name="text" > - <string>S</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="imageSizeLabel" > - <property name="text" > - <string>Image size</string> - </property> - </widget> - </item> - <item> - <widget class="QSpinBox" name="imageSizeSpinBox" > - <property name="maximum" > - <number>200</number> - </property> - <property name="minimum" > - <number>10</number> - </property> - <property name="value" > - <number>100</number> - </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>31</width> - <height>36</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <widget class="QTextBrowser" name="textEdit" > - <property name="readOnly" > - <bool>false</bool> - </property> - <property name="openExternalLinks" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatBase/CMakeLists.txt b/graphics/Qat/QatBase/CMakeLists.txt deleted file mode 100644 index ecc30473dab2a1eb34801ac3d9eb604101f5e8e6..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatBase/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -# Package: QatBase -################################################################################ - -# Declare the package name: -atlas_subdir( QatBase ) - -# External dependencies: -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Install files from the package: -atlas_install_scripts( share/generate-qat-factory-code share/generate-qat-visfunctions ) - diff --git a/graphics/Qat/QatBase/share/generate-qat-factory-code b/graphics/Qat/QatBase/share/generate-qat-factory-code deleted file mode 100755 index 5190d74780b46519a80577e7c891aa9d5e036bc2..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatBase/share/generate-qat-factory-code +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash - -# Script which generates the factory code needed for qat plugins -# -# Thomas Kittelmann, May 2007. - -echo "=====>" -echo "=====> Generating factory code for qat Plugin" -echo "=====>" - -if [ "x"`basename $PWD` != "xcmt" ]; then - echo "$APPNAME: ERROR - must be invoked from cmt dir (pwd is: $PWD)" - exit 1 -fi - -if [ "x${CMTCONFIG}" == "x" ]; then - echo "$APPNAME: ERROR - CMTCONFIG not set" - exit 1 -fi -if [ ! -d ../${CMTCONFIG}/ ]; then - echo "$APPNAME: ERROR - did not find ../$CMTCONFIG/ directory" - exit 1 -fi - -declare -a qatCLASSNAMES -declare -a qatSTRINGS -qatN=0 -for srcfile in ../src/*.cpp; do - TMP=`cat $srcfile|sed 's#//.*$##'|grep 'qatCHANNELNAMEINPLUGIN *(.*)'` - if [ "x$TMP" == "x" ]; then - continue - fi - NLINES=`echo $TMP|wc -l|awk '{print $1}'` - if [ "x$NLINES" == "x0" ]; then - continue - fi - if [ "x$NLINES" != "x1" ]; then - echo "$APPNAME: ERROR - Source file $srcfile had suspicious number of qatCHANNELNAMEINPLUGIN (or maybe the parsing simply failed)" - exit 1 - fi - TMP=`echo $TMP|sed 's#^.*qatCHANNELNAMEINPLUGIN *(##'|sed 's#).*$##'` - #We might as well look for illegal characters at compile time: - TEST=`echo $TMP|grep '\['|wc -l|awk '{print $1}'` - if [ "x$TEST" != "x0" ]; then - echo "$APPNAME: ERROR - found illegal character ([) in qatCHANNELNAMEINPLUGIN macro" - exit 1 - fi - TEST=`echo $TMP|grep '\]'|wc -l|awk '{print $1}'` - if [ "x$TEST" != "x0" ]; then - echo "$APPNAME: ERROR - found illegal character (]) in qatCHANNELNAMEINPLUGIN macro" - exit 1 - fi - #Add the found entries: - qatCLASSNAMES[$qatN]=`echo $TMP|sed 's#,.*$##'` - qatSTRINGS[$qatN]=`echo $TMP|sed 's#^.*, *"#"#'` - qatN=$((qatN+1)) -done -qatN=$((qatN-1)) - diff --git a/graphics/Qat/QatBase/share/generate-qat-visfunctions b/graphics/Qat/QatBase/share/generate-qat-visfunctions deleted file mode 100755 index 53839e781d4edbf1b2c0b88a290770ea9031dd2b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatBase/share/generate-qat-visfunctions +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -# Script which generates the QAT vis functions -# -# J. Boudreau - -echo xxxxxxxxxx Generate Qat Visfunctions xxxxxxxxxxx -echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - -QATINCLUDES=`cmt show macro_value includes` -QATLIBS=`cmt show macro_value cmt_installarea_linkopts` - -cd .. -make QATINCLUDES="$QATINCLUDES" "QATLIBS=$QATLIBS" -f Makefile.cmt - - - diff --git a/graphics/Qat/QatDataAnalysis/CMakeLists.txt b/graphics/Qat/QatDataAnalysis/CMakeLists.txt deleted file mode 100644 index e2e18ac726ec1ccf6b6bf4690bdd4d2e1617dc17..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -# Package: QatDataAnalysis -################################################################################ - -# Declare the package name: -atlas_subdir( QatDataAnalysis ) - -# External dependencies: -find_package( CLHEP ) - -# Component(s) in the package: -atlas_add_library( QatDataAnalysis - src/*.cpp - PUBLIC_HEADERS QatDataAnalysis - INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} - DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} dl ) - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.h deleted file mode 100644 index df7eae6a41485fd80fcb6dfc837ac4b423c54a1d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.h +++ /dev/null @@ -1,84 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef Attribute_h_ -#define Attribute_h_ -#include <typeinfo> -#include <string> -// Attribute: name and type----------------------------------------------// -class Attribute { // - // // - public: // - // - enum Type { // - DOUBLE, // - FLOAT, // - INT, // - UINT, // - UNKNOWN}; // - // // - // // - // Constructors: // - inline Attribute(const std::string & name, const std::type_info & type);// - inline Attribute(const std::string & name); // - // // - // Name: // - inline std::string & name(); // - inline const std::string & name() const; // - // // - // Type Name // - inline std::string typeName() const; // - // // - // Type // - inline const Type & type() const; // - // // - // Attribute Id: // - inline int & attrId(); // - inline unsigned int attrId() const; // - // // - // Relational operators (lexicographical) // - inline bool operator < (const Attribute & a) const; // - // // - // Equality operator (lexicographical) // - inline bool operator== (const Attribute & a) const; // - // // - // // - class NameEquals; // - // // - // // - inline static Type typeOf(const std::type_info & type); // - inline static std::string typenameOf(const Type type); // - // // - private: // - // // - // // - std::string m_name; // - Type m_type; // - int m_attrId; // -}; // - // -//------------------------------------------------------------------------// - -#include "QatDataAnalysis/Attribute.icc" - - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.icc deleted file mode 100644 index 0dec4bf3b640683f72b2a0967f1f7fcaac28656d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Attribute.icc +++ /dev/null @@ -1,101 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -class Tuple; -inline Attribute::Attribute(const std::string & name, const std::type_info & type): - m_name(name), - m_type(typeOf(type)), - m_attrId(-1){} -// -inline Attribute::Attribute(const std::string & name): - m_name(name), - m_type(UNKNOWN), - m_attrId(-1){} - -inline std::string & Attribute::name() {return m_name;} - -inline const std::string & Attribute::name() const {return m_name;} - - -inline std::string Attribute::typeName() const {return typenameOf(m_type);} - -inline const Attribute::Type & Attribute::type() const { return m_type;} - -inline int & Attribute::attrId() { return m_attrId;} -inline unsigned int Attribute::attrId() const { return m_attrId;} - -// -// Relational operators -inline bool Attribute::operator < (const Attribute & a) const { - return (m_attrId != -1 && m_attrId < a.m_attrId ) || m_name < a.m_name; -} -// -// Equality operator: -inline bool Attribute::operator== (const Attribute & a) const { - return (m_attrId != -1 && m_attrId ==a.m_attrId ) || m_name == a.m_name; -} -// - -// -class Attribute::NameEquals { -public: - NameEquals(const std::string & name) : m_name(name) {} - bool operator () (const Attribute & a ) const { - return m_name==a.name(); - } -private: - std::string m_name; -}; - -inline Attribute::Type Attribute::typeOf(const std::type_info & type ) { - const std::string & tn = type.name(); - if (tn=="d") { - return DOUBLE; - } - else if (tn=="f") { - return FLOAT; - } - else if (tn=="i") { - return INT; - } - else if (tn=="j" || tn=="m") { - return UINT; - } - else return UNKNOWN; -} - -inline std::string Attribute::typenameOf(const Type type ) { - if (type==DOUBLE) { - return typeid((double) 0).name(); - } - else if (type==FLOAT) { - return typeid((float) (0)).name(); - } - else if (type==INT) { - return typeid((int) 0).name(); - } - else if (type==UINT) { - return typeid((size_t) 0).name(); - } - else return "?"; -} - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.h deleted file mode 100644 index cb40e31f3856f115d2e5c0cc7fbb8a14207345a5..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.h +++ /dev/null @@ -1,68 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef AttributeList_h_ -#define AttributeList_h_ -#include "QatDataAnalysis/Attribute.h" -#include "CLHEP/GenericFunctions/RCBase.hh" -#include <vector> - -class AttributeList: public Genfun::RCBase { - - public: - - // Type Definitions: - typedef std::vector<Attribute>::const_iterator ConstIterator; - - // Constructor: - AttributeList(); - - // Add an attribute to the list: - void add( const std::string & name, const std::type_info & type); - - // Lock the attribute list: - void lock(); - - // Iterate over the attributes; - inline ConstIterator begin () const; - inline ConstIterator end() const; - - // Random access: - inline Attribute & operator[] (size_t i) ; - inline const Attribute & operator[] (size_t i) const; - - // Size of the attribute list; - inline size_t size() const; - - - private: - - // Destructor: - ~AttributeList(); - - std::vector<Attribute> m_attrList; - bool m_locked; - -}; - -#include "QatDataAnalysis/AttributeList.icc" -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.icc deleted file mode 100644 index 6586bd526823764ef7dc253f38874eff96063e5b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeList.icc +++ /dev/null @@ -1,37 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - - -// ConstIterator over attributes: -inline AttributeList::ConstIterator AttributeList::begin() const {return m_attrList.begin();} -inline AttributeList::ConstIterator AttributeList::end() const {return m_attrList.end();} - - -inline size_t AttributeList::size() const { return m_attrList.size();} - -inline Attribute & AttributeList::operator[] (size_t i) { - return m_attrList[i]; -} - -inline const Attribute & AttributeList::operator[] (size_t i) const { - return m_attrList[i]; -} diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListConstLink.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListConstLink.h deleted file mode 100755 index 34463c11ecddaf4b783952e70e24c9b517c00920..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListConstLink.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef AttributeListConstLink_h -#define AttributeListConstLink_h 1 -#include "QatDataAnalysis/AttributeList.h" -#include "QatDataAnalysis/ConstLink.h" -typedef ConstLink< AttributeList > AttributeListConstLink; -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListLink.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListLink.h deleted file mode 100644 index ed1afdb61af81157f23e7bc3aef1294e51597d08..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/AttributeListLink.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef AttributeListLink_h -#define AttributeListLink_h 1 -#include "QatDataAnalysis/AttributeList.h" -#include "QatDataAnalysis/Link.h" -typedef Link< AttributeList > AttributeListLink; -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.h deleted file mode 100644 index 20ddd7555e3e091f9dae878bce325dced17e2605..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.h +++ /dev/null @@ -1,25 +0,0 @@ -// Definition of the ClientSocket class - -#ifndef ClientSocket_class -#define ClientSocket_class - -#include "QatDataAnalysis/Socket.h" - -class ClientSocket : private Socket -{ - public: - - ClientSocket ( std::string host, int port ); - virtual ~ClientSocket(){}; - - const ClientSocket& operator << ( const std::string& ) const; - const ClientSocket& operator >> ( std::string& ) const; - - template<class T> const ClientSocket& operator << ( const T & ) const; - template<class T> const ClientSocket& operator >> ( T & ) const; - -}; - -#include "QatDataAnalysis/ClientSocket.icc" - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.icc deleted file mode 100644 index 0b1569e9d7fb816d955243f1b79ba64f1801bd1a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ClientSocket.icc +++ /dev/null @@ -1,23 +0,0 @@ -#include "QatDataAnalysis/SocketException.h" - -template<class T> inline const ClientSocket& ClientSocket::operator << ( const T & query ) const -{ - if ( ! Socket::send ( query ) ) - { - throw SocketException ( "Could not write to socket." ); - } - - return *this; - -} - - -template<class T> inline const ClientSocket& ClientSocket::operator >> ( T & response ) const -{ - if ( ! Socket::recv ( response ) ) - { - throw SocketException ( "Could not read from socket." ); - } - - return *this; -} diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ConstLink.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ConstLink.h deleted file mode 100755 index a677d2dd83c756eb9b780c149f573d48031a9c7b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ConstLink.h +++ /dev/null @@ -1,170 +0,0 @@ -#ifndef ConstLink_h -#define ConstLink_h 1 -#ifndef NULL -#define NULL 0 -#endif -// Smart links to reference-counted pointers. - -// Template Smart Pointer Class. This reference counted -// link allocates on demand. It audits the total pointer -// count and collects the garbage when nobody's looking. -// -template <class T> -class ConstLink -{ - public: - - - // Constructor - ConstLink(); - - // Copy Constructor - ConstLink(const ConstLink< T > &right); - - // Constructor - ConstLink (const T *target); - - // Destructor - virtual ~ConstLink(); - - // Assignment - ConstLink< T > & operator=(const ConstLink< T > &right); - - // Equality - int operator==(const ConstLink< T > &right) const; - - // Inequality - int operator!=(const ConstLink< T > &right) const; - - - // Relational operator - int operator<(const ConstLink< T > &right) const; - - // Relational operator - int operator>(const ConstLink< T > &right) const; - - // Relational operator - int operator<=(const ConstLink< T > &right) const; - - // Relational operator - int operator>=(const ConstLink< T > &right) const; - - - - // Dereference: (*t).method(); - virtual const T & operator * () const; - - // Dereference: t->method() - virtual const T * operator -> () const; - - // Check pointer validity: if (t) {...} - operator bool () const; - - - - private: - - // Raw pointer to reference counted object. - mutable T *m_ptr; -}; - - - -template <class T> -inline ConstLink<T>::ConstLink() - :m_ptr(NULL) -{ -} - -template <class T> -inline ConstLink<T>::ConstLink(const ConstLink<T> &right) - :m_ptr(right.m_ptr) -{ - if (m_ptr) m_ptr->ref(); -} - -template <class T> -inline ConstLink<T>::ConstLink (const T *target) - :m_ptr(const_cast<T *> (target)) -{ - if (target) target->ref(); -} - - -template <class T> -inline ConstLink<T>::~ConstLink() -{ - if (m_ptr) m_ptr->unref(); -} - - -template <class T> -inline ConstLink<T> & ConstLink<T>::operator=(const ConstLink<T> &right) -{ - if (this!=&right) { - if (m_ptr) m_ptr->unref(); - m_ptr = right.m_ptr; - if (m_ptr) m_ptr->ref(); - } - return *this; -} - - -template <class T> -inline int ConstLink<T>::operator==(const ConstLink<T> &right) const -{ - return m_ptr==right.m_ptr; -} - -template <class T> -inline int ConstLink<T>::operator!=(const ConstLink<T> &right) const -{ - return m_ptr!=right.m_ptr; -} - - -template <class T> -inline int ConstLink<T>::operator<(const ConstLink<T> &right) const -{ - return m_ptr<right.m_ptr; -} - -template <class T> -inline int ConstLink<T>::operator>(const ConstLink<T> &right) const -{ - return m_ptr>right.m_ptr; -} - -template <class T> -inline int ConstLink<T>::operator<=(const ConstLink<T> &right) const -{ - return m_ptr<=right.m_ptr; -} - -template <class T> -inline int ConstLink<T>::operator>=(const ConstLink<T> &right) const -{ - return m_ptr>=right.m_ptr; -} - - - -template <class T> -inline const T & ConstLink<T>::operator * () const -{ - return *m_ptr; -} - -template <class T> -inline const T * ConstLink<T>::operator -> () const -{ - return m_ptr; -} - -template <class T> -inline ConstLink<T>::operator bool () const -{ - return m_ptr; -} - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.h deleted file mode 100644 index baa82b2353b0eb63ccbded0f0a542bbe6274def1..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.h +++ /dev/null @@ -1,100 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_HIST1D_H -#define QATDATAANALYSIS_HIST1D_H -#include <string> -#include <vector> -#include <cmath> -class Hist1D { - - public: - - - - // Constructor: - Hist1D(const std::string & name, size_t nBins, double min, double max); - - // Copy Constructor: - Hist1D(const Hist1D & source); - - // Destructor - ~Hist1D(); - - // Accumulate Data: - void accumulate(double x, double weight=1); - - // Properties of the container: - inline std::string & name(); - inline const std::string & name() const; - inline size_t nBins() const; - inline double min() const; - inline double max() const; - inline double binWidth() const; - - // Properties of the bins:: - inline double binUpperEdge(unsigned int i) const; - inline double binLowerEdge(unsigned int i) const; - inline double binCenter(unsigned int i) const; - - // Stored data - inline double bin(unsigned int i) const; - inline double binError(unsigned int i) const; - inline size_t overflow() const; - inline size_t underflow() const; - inline size_t entries() const; - - // Statistical properties of the data: - inline double variance() const; - inline double mean() const; - inline double minContents() const; - inline double maxContents() const; - inline double sum() const; - - // Operations: - Hist1D & operator = (const Hist1D & source); - Hist1D & operator += (const Hist1D & source); - Hist1D & operator -= (const Hist1D & source); - Hist1D & operator *= (double scale); - - // Clear: - void clear (); - - // The internals are described like this: - class Clockwork; - - // Get the internals: - const Clockwork *clockwork() const; - - // Remake this from the internals: - Hist1D(const Clockwork * c); - - private: - - Clockwork *m_c; - -}; - -#include "QatDataAnalysis/Hist1D.icc" - -#endif - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.icc deleted file mode 100644 index 673b5804f213a46d63b67efaf39618ea538a5bb6..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1D.icc +++ /dev/null @@ -1,116 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// -#include <algorithm> - -class Hist1D::Clockwork { - -public: - - std::string name; - size_t nBins; - double min; - double max; - double binWidth; - size_t overflow; - size_t underflow; - size_t entries; - double xW; - double xxW; - double sumWeight; - mutable double minContents; - mutable double maxContents; - std::vector<double> contents; - std::vector<double> errors; - -}; - -inline std::string & Hist1D::name() { return m_c->name;} - -inline const std::string & Hist1D::name() const { return m_c->name;} - -inline size_t Hist1D::nBins() const { return m_c->nBins;} - -inline double Hist1D::min() const {return m_c->min;} - -inline double Hist1D::max() const {return m_c->max;} - -inline double Hist1D::binWidth () const {return m_c->binWidth;} - -inline double Hist1D::binUpperEdge(unsigned int i) const {return m_c->min + (i+1)*m_c->binWidth;} - -inline double Hist1D::binLowerEdge(unsigned int i) const {return m_c->min + i*m_c->binWidth;} - -inline double Hist1D::binCenter(unsigned int i) const { return m_c->min + (i+0.5)*m_c->binWidth;} - -inline double Hist1D::bin(unsigned int i) const {return m_c->contents[i];} - -inline double Hist1D::binError(unsigned int i) const {return sqrt(m_c->errors[i]);} - -inline size_t Hist1D::overflow() const {return m_c->overflow;} - -inline size_t Hist1D::underflow() const {return m_c->underflow;} - -inline double Hist1D::variance() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->xxW/m_c->sumWeight-(m_c->xW*m_c->xW/m_c->sumWeight/m_c->sumWeight); - } -} - -inline double Hist1D::mean() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->xW/m_c->sumWeight; - } - -} - -inline double Hist1D::sum() const { return m_c->sumWeight;} - -inline double Hist1D::minContents () const { - if (m_c->minContents==0) { - if (m_c->entries!=0) { - std::vector<double>::const_iterator min = std::min_element(m_c->contents.begin(),m_c->contents.end()); - if (min!=m_c->contents.end()) { - m_c->minContents=*min; - } - } - } - return m_c->minContents; -} - -inline double Hist1D::maxContents() const { - if (m_c->maxContents==0) { - if (m_c->entries!=0) { - std::vector<double>::const_iterator max = std::max_element(m_c->contents.begin(),m_c->contents.end()); - if (max!=m_c->contents.end()) { - m_c->maxContents=*max; - } - } - } - return m_c->maxContents; -} - -inline size_t Hist1D::entries() const {return m_c->entries;} diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1DMaker.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1DMaker.h deleted file mode 100644 index 48be90ebbc3aeaf9f213eeebdbc280a249c0ae6b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist1DMaker.h +++ /dev/null @@ -1,57 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_HIST1DMAKER_H -#define QATDATAANALYSIS_HIST1DMAKER_H -//-------------------------------------------------------------------// -// Class which allows to make a histogram from an ntuple. // -//-------------------------------------------------------------------// -#include <string> -#include "CLHEP/GenericFunctions/AbsFunction.hh" -class Table; -class Hist1D; - -class Hist1DMaker { - - public: - - // Constructor; - Hist1DMaker(Genfun::GENFUNCTION f, size_t nbins, double min, double max, const Genfun::AbsFunction * weight=NULL); - - // Destructor: - ~Hist1DMaker(); - - // Action: - Hist1D operator * (const Table & t) const; - - - private: - - Hist1DMaker & operator = (const Hist1DMaker & ); - Hist1DMaker(const Hist1DMaker &); - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.h deleted file mode 100644 index dba523d2d2c2477dd1578c31da7dcaeee81830c1..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.h +++ /dev/null @@ -1,116 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef _HIST2D_H_ -#define _HIST2D_H_ -#include <string> -#include <vector> -#include <cmath> -class Hist2D { - - public: - - - // Define a type describing the kind of overflow: - enum OVF { Overflow, InRange, Underflow}; - - // Constructor: - Hist2D(const std::string & name, - size_t nBinsX, double minX, double maxX, - size_t nBinsY, double minY, double maxY); - - // Copy constructor: - Hist2D (const Hist2D & source); - - // Destructor - ~Hist2D(); - - // Accumulate Data: - void accumulate(double x, double y, double weight=1); - - // Properties of the container: - inline std::string & name(); - inline const std::string & name() const; - inline size_t nBinsX() const; - inline size_t nBinsY() const; - inline double minX() const; - inline double maxX() const; - inline double minY() const; - inline double maxY() const; - inline double binWidthX() const; - inline double binWidthY() const; - - // Properties of the bins: - inline double binUpperEdgeX(unsigned int i, unsigned int j) const; - inline double binLowerEdgeX(unsigned int i, unsigned int j) const; - inline double binUpperEdgeY(unsigned int i, unsigned int j) const; - inline double binLowerEdgeY(unsigned int i, unsigned int j) const; - inline double binCenterX(unsigned int i, unsigned int j) const; - inline double binCenterY(unsigned int i, unsigned int j) const; - - // Stored data: - inline double bin(unsigned int i, unsigned int j) const; - inline double binError(unsigned int i, unsigned int j) const; - inline size_t overflow(OVF a, OVF b) const; - inline size_t overflow() const; - inline size_t entries() const; - - // Statistical properties of the data: - inline double varianceX() const; - inline double varianceY() const; - inline double varianceXY() const; - inline double meanX() const; - inline double meanY() const; - inline double minContents() const; - inline double maxContents() const; - inline double sum() const; - - // Operations - Hist2D & operator = (const Hist2D & source); - Hist2D & operator += (const Hist2D & source); - - // Clear - void clear(); - - // For accessing bins: - inline size_t ii(size_t i, size_t j) const; - - // The internals are described like this: - class Clockwork; - - // Get the internals: - const Clockwork *clockwork() const; - - // Remake this from the internals: - Hist2D(const Clockwork * c); - - private: - - Clockwork *m_c; - - -}; - -#include "QatDataAnalysis/Hist2D.icc" - -#endif - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.icc deleted file mode 100644 index 598ebb7d716e4a5645d930d37112fd3ebe70758d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2D.icc +++ /dev/null @@ -1,165 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// -#include <algorithm> - - - -class Hist2D::Clockwork { - -public: - - std::string name; - size_t nBinsX; - size_t nBinsY; - double minX; - double maxX; - double minY; - double maxY; - double binWidthX; - double binWidthY; - size_t overUnderFlow[3][3]; - size_t overflow; - double xW; - double xxW; - double yW; - double yyW; - double xyW; - double sumWeight; - mutable double minContents; - mutable double maxContents; - std::vector<double> contents; - std::vector<double> errors; - - -}; - - - -inline size_t Hist2D::ii(size_t i, size_t j) const { - return m_c->nBinsX*j + i; -} - -inline std::string & Hist2D::name() { return m_c->name;} - -inline const std::string & Hist2D::name() const { return m_c->name;} - -inline size_t Hist2D::nBinsX() const { return m_c->nBinsX;} -inline size_t Hist2D::nBinsY() const { return m_c->nBinsY;} - -inline double Hist2D::minX() const {return m_c->minX;} -inline double Hist2D::minY() const {return m_c->minY;} - -inline double Hist2D::maxX() const {return m_c->maxX;} -inline double Hist2D::maxY() const {return m_c->maxY;} - -inline double Hist2D::binWidthX () const {return m_c->binWidthX;} -inline double Hist2D::binWidthY () const {return m_c->binWidthY;} - -inline double Hist2D::binUpperEdgeX(unsigned int i, unsigned int ) const {return m_c->minX + (i+1)*m_c->binWidthX;} -inline double Hist2D::binUpperEdgeY(unsigned int , unsigned int j) const {return m_c->minY + (j+1)*m_c->binWidthY;} - -inline double Hist2D::binLowerEdgeX(unsigned int i, unsigned int ) const {return m_c->minX + i*m_c->binWidthX;} -inline double Hist2D::binLowerEdgeY(unsigned int , unsigned int j) const {return m_c->minY + j*m_c->binWidthY;} - -inline double Hist2D::binCenterX(unsigned int i, unsigned int ) const { return m_c->minX + (i+0.5)*m_c->binWidthX;} -inline double Hist2D::binCenterY(unsigned int , unsigned int j) const { return m_c->minY + (j+0.5)*m_c->binWidthY;} - -inline double Hist2D::bin(unsigned int i, unsigned int j) const {return m_c->contents[ii(i,j)];} - -inline double Hist2D::binError(unsigned int i, unsigned int j) const {return sqrt(m_c->errors[ii(i,j)]);} - - -inline size_t Hist2D::overflow() const {return m_c->overflow;} - -inline size_t Hist2D::overflow(Hist2D::OVF a, Hist2D::OVF b) const { - return m_c->overUnderFlow[a][b]; -} - -inline double Hist2D::varianceX() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->xxW/m_c->sumWeight-(m_c->xW*m_c->xW/m_c->sumWeight/m_c->sumWeight); - } -} -inline double Hist2D::varianceY() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->yyW/m_c->sumWeight-(m_c->yW*m_c->yW/m_c->sumWeight/m_c->sumWeight); - } -} -inline double Hist2D::varianceXY() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->xyW/m_c->sumWeight-(m_c->xW*m_c->yW/m_c->sumWeight/m_c->sumWeight); - } -} - -inline double Hist2D::meanX() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->xW/m_c->sumWeight; - } -} - -inline double Hist2D::meanY() const { - if (m_c->sumWeight==0) { - return 0; - } - else { - return m_c->yW/m_c->sumWeight; - } -} - -inline double Hist2D::sum() const { return m_c->sumWeight;} - -inline double Hist2D::minContents () const { - if (m_c->minContents==0) { - if (entries()!=0) { - std::vector<double>::const_iterator min = std::min_element(m_c->contents.begin(),m_c->contents.end()); - if (min!=m_c->contents.end()) { - m_c->minContents=*min; - } - } - } - return m_c->minContents; -} - -inline double Hist2D::maxContents() const { - if (m_c->maxContents==0) { - if (entries()!=0) { - std::vector<double>::const_iterator max = std::max_element(m_c->contents.begin(),m_c->contents.end()); - if (max!=m_c->contents.end()) { - m_c->maxContents=*max; - } - } - } - return m_c->maxContents; -} - -inline size_t Hist2D::entries() const {return m_c->overUnderFlow[InRange][InRange];} diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2DMaker.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2DMaker.h deleted file mode 100644 index 3c56a37cfe01f4973f81057e5719bc0f1fdaf0d3..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Hist2DMaker.h +++ /dev/null @@ -1,59 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_HIST2DMAKER_H -#define QATDATAANALYSIS_HIST2DMAKER_H -//-------------------------------------------------------------------// -// Class which allows to make a histogram from an ntuple. // -//-------------------------------------------------------------------// -#include <string> -#include "CLHEP/GenericFunctions/AbsFunction.hh" -class Table; -class Hist2D; - -class Hist2DMaker { - - public: - - - // Constructor; - Hist2DMaker(Genfun::GENFUNCTION fx, size_t nbinsX, double minX, double max, - Genfun::GENFUNCTION fy, size_t nbinsY, double minY, double maxY, - const Genfun::AbsFunction *weight=NULL); - - // Destructor: - ~Hist2DMaker(); - - // Action: - Hist2D operator * (const Table & t) const; - - private: - - Hist2DMaker & operator = (const Hist2DMaker & ); - Hist2DMaker(const Hist2DMaker &); - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistSetMaker.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistSetMaker.h deleted file mode 100644 index 8cde722ea055f05eb7474c4864fad710764e1588..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistSetMaker.h +++ /dev/null @@ -1,80 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_HISTSETMAKER_H -#define QATDATAANALYSIS_HISTSETMAKER_H -//-------------------------------------------------------------------// -// Class which allows to make a histogram from an ntuple. // -//-------------------------------------------------------------------// -#include <string> -#include "CLHEP/GenericFunctions/AbsFunction.hh" -class Table; -class HistogramManager; - -class HistSetMaker { - - public: - - // Constructor; - HistSetMaker(); - - // Destructor: - ~HistSetMaker(); - - // Action: - void exec(const Table & t, HistogramManager *manager) const; - - // Schedule 1 D Histogram - void scheduleHist1D(const std::string & name, Genfun::GENFUNCTION f, unsigned int nbins, double min, double max, - const Genfun::AbsFunction *weight=NULL); - - - // Schedule 2 D Histogram - void scheduleHist2D(const std::string & name, - Genfun::GENFUNCTION fX, unsigned int nbinsX, double minX, double maxX, - Genfun::GENFUNCTION fY, unsigned int nbinsY, double minY, double maxY, - const Genfun::AbsFunction *weight=NULL); - - // Access stored info: - - // Number of Histograms: - unsigned int numH1D() const; - unsigned int numH2D() const; - - // Name of Histograms - const std::string & nameH1D(unsigned int i) const; - const std::string & nameH2D(unsigned int i) const; - - // ...name may then be used to retrieve histogram from manager and thus find - // additional information on the histograms that are created. - - private: - - HistSetMaker & operator = (const HistSetMaker & ); - HistSetMaker(const HistSetMaker &); - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistogramManager.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistogramManager.h deleted file mode 100644 index 29eb80d81c6d4b5d2744f015160f0bbfc84a222c..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/HistogramManager.h +++ /dev/null @@ -1,192 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_HISTOGRAM_MANAGER_H -#define QATDATAANALYSIS_HISTOGRAM_MANAGER_H -// ---------------------------------------------------// -// // -// HistogramManager // -// // -// This class collects and accesses Histograms, // -// ScatterPlots, and Tables. // -// // -// // -//----------------------------------------------------// - -#include "QatDataAnalysis/Hist1D.h" -#include "QatDataAnalysis/Hist2D.h" -#include "QatDataAnalysis/Table.h" -#include "QatDataAnalysis/TupleStore.h" -#include <list> -#include <string> - -class HistogramManager { - -public: - - //------------------------Constructor and Destructor-----------------------------------// - // Constructor: // - HistogramManager(const std::string & name="ANONYMOUS"); // - // // - // Destructor: // - ~HistogramManager(); // - // // - // Get name: // - std::string & name(); // - const std::string & name() const; // - // // - //-------------------------------------------------------------------------------------// - - //------------------------Definitions:-------------------------------------------------// - // // - typedef std::list<Hist1D *>::iterator H1Iterator; // - typedef std::list<Hist1D *>::const_iterator H1ConstIterator; // - // // - typedef std::list<Hist2D *>::iterator H2Iterator; // - typedef std::list<Hist2D *>::const_iterator H2ConstIterator; // - // // - typedef std::list<Table *>::iterator TIterator; // - typedef std::list<Table *>::const_iterator TConstIterator; // - // // - typedef std::list<HistogramManager *>::iterator DIterator; // - typedef std::list<HistogramManager *>::const_iterator DConstIterator; // - // // - //-------------------------------------------------------------------------------------// - - //-----------------------Predicates, Unary and Binary----------------------------------// - class NameEq { // - // // - public: // - // // - // Constructor: // - NameEq(const std::string & name):m_name(name){}; // - // // - // Truth operators: // - inline bool operator () ( Hist1D * hist ) {return hist->name() ==m_name;} // - inline bool operator () ( Hist2D * hist ) {return hist->name() ==m_name;} // - inline bool operator () ( Table * table) {return table->name() ==m_name;} // - inline bool operator () ( HistogramManager *m) {return m->name()==m_name;} // - private: // - const std::string m_name; // - }; // - // // - class SortByName { // - // // - public: // - // // - bool operator () (Hist1D *a, Hist1D *b) const {return a->name() > b->name(); } // - bool operator () (Hist2D *a, Hist2D *b) const {return a->name() > b->name(); } // - bool operator () (Table *a, Table *b) const {return a->name() > b->name(); } // - bool operator () (HistogramManager *a, HistogramManager *b) const { // - return a->name() > b->name(); // - } // - // // - }; // - //-------------------------------------------------------------------------------------// - - - //-----------------------Iteration:----------------------------------------------------// - // // - TIterator beginTable(); // - TConstIterator beginTable() const; // - // // - TIterator endTable(); // - TConstIterator endTable() const; // - // // - H1Iterator beginH1(); // - H1ConstIterator beginH1() const; // - // // - H1Iterator endH1(); // - H1ConstIterator endH1() const; // - // // - H2Iterator beginH2(); // - H2ConstIterator beginH2() const; // - // // - H2Iterator endH2(); // - H2ConstIterator endH2() const; // - // // - DIterator beginDir(); // - DConstIterator beginDir() const; // - // // - DIterator endDir(); // - DConstIterator endDir() const; // - // // - //-------------------------------------------------------------------------------------// - - //----------------------Find existing objects.-----------------------------------------// - // // - const Hist1D *findHist1D(const std::string &) const; // - const Hist2D *findHist2D(const std::string &) const; // - const Table *findTable (const std::string &) const; // - const HistogramManager *findDir (const std::string &) const; // - // // - //-------------------------------------------------------------------------------------// - - //-----------------------Create new objects. Overwrite any existing:------------------// - // // - Hist1D *newHist1D(const std::string &, unsigned int nBins, double min, double max); // - Hist1D *newHist1D(const Hist1D & source); // - // // - Hist2D *newHist2D(const std::string &, // - unsigned int nBinsX, double minX, double maxX, // - unsigned int nBinsY, double minY, double maxY); // - Hist2D *newHist2D(const Hist2D & source); // - // // - Table *newTable (const std::string &, // - TupleStoreLink store = NULL); // - Table *newTable (const Table & source); // - // // - HistogramManager *newDir(const std::string & name); // - //-------------------------------------------------------------------------------------// - - //---------------------Remove objects--------------------------------------------------// - // // - void purge (const std::string & name); // - void rm (Hist1D *o) { purge (o->name());} // - void rm (Hist2D *o) { purge (o->name());} // - void rm (Table *o) { purge (o->name());} // - void rm (HistogramManager *o) { purge (o->name());} // - // // - //-------------------------------------------------------------------------------------// - - //---------------------Sorting operations----------------------------------------------// - // // - void nameOrder(); // - // // - //-------------------------------------------------------------------------------------// -private: - - std::string m_name; - std::list<Hist1D *> m_histograms; - std::list<Hist2D *> m_scatterPlots; - std::list<Table *> m_tables; - std::list<HistogramManager *> m_managers; - - // Do not you dare copy or assign a HistogramManager: - - HistogramManager(const HistogramManager &); - HistogramManager & operator = (const HistogramManager &); - -}; - -#endif - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/IODriver.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/IODriver.h deleted file mode 100644 index 3d1ba1b8416cc05a5e75170d3363311ad7afe661..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/IODriver.h +++ /dev/null @@ -1,52 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef _IODriver_h_ -#define _IODriver_h_ -class HistogramManager; -#include <string> -class IODriver { - - public: - - // Constructor: - IODriver(); - - // Destructor: - virtual ~IODriver (); - - // Creates a NEW Histogram manager. - virtual HistogramManager *newManager(const std::string & filename) const = 0; - - // OpenManager: - virtual const HistogramManager *openManager(const std::string & filename) const = 0; - - // Writes the Histograms out. - virtual void close (const HistogramManager *mgr) const = 0; - - // Closes the file: - virtual void write (HistogramManager *mgr) const = 0; - - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/IOLoader.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/IOLoader.h deleted file mode 100644 index 6a506c749427576d5ab82b8d2d011bddda3868ae..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/IOLoader.h +++ /dev/null @@ -1,54 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_IOLOADER_H -#define QATDATAANALYSIS_IOLOADER_H - -#include <string> -class IODriver; - -class IOLoader { - - public: - - // Create: - IOLoader(); - - // Destroy: - ~IOLoader(); - - // Get a pointer to the IO driver: - const IODriver *ioDriver(const std::string & name) const; - - private: - - // Illegal operations: - IOLoader(const IOLoader & ); - IOLoader & operator = (const IOLoader &); - - // Private member data: - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Link.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Link.h deleted file mode 100755 index eaaa1c0101146b9fee110b9cb43974e097b07e6a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Link.h +++ /dev/null @@ -1,112 +0,0 @@ -#ifndef Link_h_ -#define Link_h_ 1 - -#include "QatDataAnalysis/ConstLink.h" -template<class T> -class Link : public ConstLink<T> -{ - - - public: - - // Constructor: - Link(); - - // Copy Constructor: - Link(const Link<T> &right); - - // Promotion: - explicit Link(const ConstLink<T> &right); - - // Construct from a pointer: - Link (const T *addr); - - // Destructor: - virtual ~Link(); - - // Assignment: - Link<T> & operator = (const Link<T> & right); - - // - virtual T & operator * (); - - virtual T * operator -> (); - - virtual const T & operator * () const; - - virtual const T * operator -> () const; - - -}; - - - -template <class T> -inline Link<T>::Link() - :ConstLink<T>(NULL) -{ -} - - - -template <class T> -inline Link<T>::Link(const Link<T> &right) - :ConstLink<T>(right) -{ -} - -template <class T> -inline Link<T>::Link(const ConstLink<T> &right) - :ConstLink<T>(right) -{ -} - -template <class T> -inline Link<T>::Link (const T *target) - :ConstLink<T>(target) -{ -} - - -template <class T> -inline Link<T>::~Link() -{ -} - - -template <class T> -inline Link<T> & Link<T>::operator=(const Link<T> &right) -{ - ConstLink<T>::operator=(right); - return *this; -} - - -template <class T> -inline T & Link<T>::operator * () -{ - return const_cast<T &> (ConstLink<T>::operator*()); -} - -template <class T> -inline T * Link<T>::operator -> () -{ - return const_cast<T *> (ConstLink<T>::operator -> ()); -} - - -template <class T> -inline const T & Link<T>::operator * () const -{ - return ConstLink<T>::operator*(); -} - -template <class T> -inline const T * Link<T>::operator -> () const -{ - return ConstLink<T>::operator -> (); -} - -#endif - - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/MultiHistFileManager.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/MultiHistFileManager.h deleted file mode 100644 index 03ce1b2b723410afe0964ecce5c57d84c4b9b2ca..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/MultiHistFileManager.h +++ /dev/null @@ -1,80 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------------------// -// // -// MultiHistFileManager...This beast autodectects several formats of HistogramManager files // -// and connects them to multiple Histogram Managers. // -// // -//----------------------------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_MULTIHISTFILEMANAGER_H -#define QATDATAANALYSIS_MULTIHISTFILEMANAGER_H -#include "QatDataAnalysis/IOLoader.h" -#include <vector> -#include <string> -class HistogramManager; -class IODriver; -class MultiHistFileManager { - - public: - - enum FileFormat {HBOOK, ROOT, NATIVE}; - enum Status {NORMAL, ERROR}; - - MultiHistFileManager(); - virtual ~MultiHistFileManager(); - - int getNumInputManagers(); - int getNumOutputManagers(); - - const HistogramManager *getInputFileManager(int i) const; - std::string getInputFileName(int i) const; - FileFormat getInputFileFormat(int i) const; - - HistogramManager *getOutputFileManager(int i) const; - std::string getOutputFileName(int i) const; - FileFormat getOutputFileFormat(int i) const; - - Status addInputFileManager (std::string name); - Status addOutputFileManager (std::string name); - - private: - - // Illegal operations: - MultiHistFileManager & operator=(const MultiHistFileManager &); - MultiHistFileManager(const MultiHistFileManager &); - - // Member data: - std::vector<const HistogramManager *> m_inputFileManager; - std::vector<HistogramManager *> m_outputFileManager; - std::vector<std::string> m_inputFileName, m_outputFileName; - std::vector<FileFormat> m_inputFileFormat, m_outputFileFormat; - std::vector<const IODriver *> m_inputDrivers, m_outputDrivers; - - IOLoader m_loader; - - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/OptParse.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/OptParse.h deleted file mode 100644 index 4612496f8845967275b501dec0c955754202a6f1..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/OptParse.h +++ /dev/null @@ -1,152 +0,0 @@ -#ifndef QATDATAANALYSIS_OPTPARSE_H -#define QATDATAANALYSIS_OPTPARSE_H -class HistogramManager; -#include <string> -#include <vector> - - -// -struct HIOZeroToOne { - - //---------------Simple Struct, few public variables--------------// - HistogramManager *output; // - bool verbose; // - void optParse(int & argc, char ** & argv); // - //---------------End importatant part-----------------------------// - - HIOZeroToOne(const std::string & driver=""); - ~HIOZeroToOne(); - - - private: - - HIOZeroToOne & operator =( const HIOZeroToOne &); - HIOZeroToOne(const HIOZeroToOne &); - class Clockwork; - Clockwork *m_c; - -}; - -// -struct HIOOneToOne { - - //---------------Simple Struct, few public variables--------------// - const HistogramManager *input; // - HistogramManager *output; // - bool verbose; // - void optParse(int & argc, char ** & argv); // - //---------------End importatant part-----------------------------// - - HIOOneToOne(const std::string & driver=""); - ~HIOOneToOne(); - - - private: - - HIOOneToOne & operator =( const HIOOneToOne &); - HIOOneToOne(const HIOOneToOne &); - class Clockwork; - Clockwork *m_c; - -}; - -// -struct HIOOneToZero { - - //---------------Simple Struct, few public variables--------------// - const HistogramManager *input; // - bool verbose; // - void optParse(int & argc, char ** & argv); // - //---------------End importatant part-----------------------------// - - HIOOneToZero(const std::string & driver=""); - ~HIOOneToZero(); - - - private: - - HIOOneToZero & operator =( const HIOOneToZero &); - HIOOneToZero(const HIOOneToZero &); - class Clockwork; - Clockwork *m_c; - -}; - -// -struct HIONToOne { - - //---------------Simple Struct, few public variables--------------// - std::vector<const HistogramManager *> input; // - HistogramManager *output; // - bool verbose; // - void optParse(int & argc, char ** & argv); // - //---------------End importatant part-----------------------------// - - HIONToOne(const std::string & driver=""); - ~HIONToOne(); - - - private: - - HIONToOne & operator =( const HIONToOne &); - HIONToOne(const HIONToOne &); - - class Clockwork; - Clockwork *m_c; - -}; -// -struct HIONToZero { - - //---------------Simple Struct, few public variables--------------// - std::vector<const HistogramManager *> input; // - bool verbose; // - void optParse(int & argc, char ** & argv); // - //---------------End importatant part-----------------------------// - - HIONToZero(const std::string & driver=""); - ~HIONToZero(); - - - private: - - HIONToZero & operator =( const HIONToZero &); - HIONToZero(const HIONToZero &); - class Clockwork; - Clockwork *m_c; - -}; - - -class NumericInput { - - public: - - NumericInput(); - ~NumericInput(); - - // Declare a parameter (name, doc, value) - void declare(const std::string & name, const std::string & doc, double val); - - // Then override with user input: - void optParse(int & argc, char ** & argv); - - // Print the list of parameters: - std::string usage() const; - - // Get the value of a parameter, by name: - double getByName (const std::string & name) const; - - private: - - NumericInput & operator =( const NumericInput &); - NumericInput(const NumericInput &); - - class Clockwork; - Clockwork *m_c; - -}; - - - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Projection.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Projection.h deleted file mode 100644 index 8023eb7722af713a79a1b8b3152adbf2d359ef7f..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Projection.h +++ /dev/null @@ -1,61 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_PROJECTION_H -#define QATDATAANALYSIS_PROJECTION_H -#include "QatDataAnalysis/Tuple.h" -#include "QatDataAnalysis/Table.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -// -----------------------------------------------------// -// This class defines projection operations on tables: // -// -----------------------------------------------------// - -class Projection { - - public: - - // Constructor: - Projection(); - - // Copy Constructor: - Projection (const Projection & P); - - // Destructor: - ~Projection(); - - // Assignment - Projection & operator = (const Projection & sel); - - // Operation on Table - Table operator * (const Table & table) const; - - // Add a datum - void add(const std::string & name); - - - private: - - std::set<std::string> m_nameList; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/QatUtils.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/QatUtils.h deleted file mode 100644 index 81202d77141877f35f083bf9a5c87e9431af6a71..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/QatUtils.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef QATDATAANALYSIS_QATUTILS_H -#define QATDATAANALYSIS_QATUTILS_H - -class HistogramManager; - -// Do a deep copy of a directory: -void deepCopy(const HistogramManager *input, HistogramManager *output); - -#endif - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.h deleted file mode 100644 index 734c8a3a7efdb16f793a8a29f338071e3a05abc1..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.h +++ /dev/null @@ -1,63 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -// -------------------------------------------------------------------------// -// // -// Query class. This class can be used to return the result of a query // -// that can fail. Objects of this class can convert themselves to the // -// result type T. Client code can check for a valid result; if it doesn't, // -// and the result is valid, no problem. But if the result is invalid you // -// will print an error message and terminate. // -// // -// Joe Boudreau // -// based on Barton & Nackman's "Scientific and Engineering C++" // -// // -// -------------------------------------------------------------------------// -#ifndef QATDATAANALYSIS_QUERY_H -#define QATDATAANALYSIS_QUERY_H - -template <class T> -class Query { - -public: - - // Constructor: - inline Query(const T &); - - // Default constructor: - inline Query(); - - // Convert to "T" - inline operator T() const; - - // Test Validity - inline bool isValid() const; - -private: - - bool m_failed; - T m_instance; - -}; -#include "QatDataAnalysis/Query.icc" -#endif - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.icc deleted file mode 100644 index 703f603276de318a98b1b01f4d6f6f739c0d1549..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Query.icc +++ /dev/null @@ -1,50 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include <assert.h> - -template <class T> -inline Query<T>::Query(const T & t) - : - m_failed(false), - m_instance(t) -{ -} - -template <class T> -inline Query<T>::Query() - : - m_failed(true) -{ -} - -template <class T> -inline Query<T>::operator T() const { - assert (!m_failed); - return m_instance; -} - -template <class T> -inline bool Query<T>::isValid() const { - return !m_failed; -} - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/RCSBase.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/RCSBase.h deleted file mode 100644 index 1b73eaf3f2769f85db853dbfb546bf3bac5e1e1a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/RCSBase.h +++ /dev/null @@ -1,73 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -// Base Class for Reference Counted Squeezable objects. The object -// uncaches all data when the reference count returns to one. The -// object is deleted when the reference count goes to zero. -// -// The idea is that squeezing takes place when no one is looking except -// the manager... - - - -#ifndef RCSBase_h -#define RCSBase_h 1 -class RCSBase -{ - - public: - - RCSBase(); - - - void ref() const; - - void unref() const; - - unsigned int refCount() const; - - virtual void uncache() const; - - protected: - - virtual ~RCSBase(); - - private: - - RCSBase(const RCSBase &right); - - const RCSBase & operator=(const RCSBase &right); - - mutable unsigned short int m_count; - - - -}; - - - - - - -#endif - - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Selection.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Selection.h deleted file mode 100644 index f175cd829c25a9d36e78f4ee4c3ba5a62da20bd0..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Selection.h +++ /dev/null @@ -1,58 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_SELECTION_H -#define QATDATAANALYSIS_SELECTION_H -#include "QatDataAnalysis/Table.h" -#include "QatDataAnalysis/Tuple.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -// -----------------------------------------------------// -// This class defines selection operations on tables: // -// -----------------------------------------------------// - -class Selection { - - public: - - // Constructor: - Selection( const Cut<Tuple> & cut); - - // Copy Constructor: - Selection (const Selection & sel); - - // Destructor: - ~Selection(); - - // Assignment - Selection & operator = (const Selection & sel); - - // Operation on Table - Table operator * (const Table & table) const; - - - private: - - const Cut<Tuple> * m_cut; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.h deleted file mode 100644 index 6ce908cec6de09641e01c3cfc5baedb8a4483b37..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.h +++ /dev/null @@ -1,29 +0,0 @@ -// Definition of the ServerSocket class - -#ifndef ServerSocket_class -#define ServerSocket_class - -#include "QatDataAnalysis/Socket.h" - -class ServerSocket : private Socket -{ - public: - - ServerSocket ( int port ); - ServerSocket (){}; - virtual ~ServerSocket(); - - const ServerSocket& operator << ( const std::string& ) const; - const ServerSocket& operator >> ( std::string& ) const; - - - template <class T> const ServerSocket& operator << ( const T & query) const; - template <class T> const ServerSocket& operator >> ( T & query) const; - - void accept ( ServerSocket& ); - -}; - -#include "QatDataAnalysis/ServerSocket.icc" - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.icc deleted file mode 100644 index 16b52d28a69db2e401c1a228f599964210b5c0de..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ServerSocket.icc +++ /dev/null @@ -1,24 +0,0 @@ -#include "QatDataAnalysis/SocketException.h" -template<class T> inline const ServerSocket& ServerSocket::operator << ( const T & query ) const -{ - if ( ! Socket::send ( query ) ) - { - throw SocketException ( "Could not write to socket." ); - } - - return *this; - -} - - -template<class T> inline const ServerSocket& ServerSocket::operator >> ( T & query ) const -{ - if ( ! Socket::recv ( query ) ) - { - throw SocketException ( "Could not read from socket." ); - } - - return *this; -} - - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.h deleted file mode 100644 index d86efcc0abcb05409d79496528bacc425ac3cf20..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.h +++ /dev/null @@ -1,60 +0,0 @@ -// Definition of the Socket class - -#ifndef Socket_class -#define Socket_class - - -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <unistd.h> -#include <string> -#include <arpa/inet.h> - -#ifndef MSG_NOSIGNAL -#define MSG_NOSIGNAL 0 -#endif - -const int MAXHOSTNAME = 200; -const int MAXCONNECTIONS = 5; -const int MAXRECV = 500; - -class Socket -{ - public: - Socket(); - virtual ~Socket(); - - // Server initialization - bool create(); - bool bind ( const int port ); - bool listen() const; - bool accept ( Socket& ) const; - - // Client initialization - bool connect ( const std::string host, const int port ); - - // Data Transimission - bool send ( const std::string ) const; - int recv ( std::string& ) const; - - template<class T> bool send ( const T & query ) const; - template<class T> int recv ( T & query) const; - - - void set_non_blocking ( const bool ); - - bool is_valid() const { return m_sock != -1; } - - private: - - int m_sock; - sockaddr_in m_addr; - - -}; - -#include "QatDataAnalysis/Socket.icc" - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.icc deleted file mode 100644 index 32313563c22a89ba04b2c6ec7a889a97a148a6ca..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Socket.icc +++ /dev/null @@ -1,35 +0,0 @@ -#include <errno.h> -#include <iostream> -template <class T> inline bool Socket::send ( const T & query ) const -{ - int status = ::send ( m_sock, &query, sizeof(query), MSG_NOSIGNAL ); - if ( status == -1 ) - { - return false; - } - else - { - return true; - } -} - - -template <class T> inline int Socket::recv ( T & query ) const -{ - int status = ::recv ( m_sock, &query, sizeof(query), 0 ); - - if ( status == -1 ) - { - std::cout << "status == -1 errno == " << errno << " in Socket::recv\n"; - return 0; - } - else if ( status == 0 ) - { - return 0; - } - else - { - return status; - } -} - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/SocketException.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/SocketException.h deleted file mode 100644 index 009622cb0d9fd475444ba5222c8450c950a79080..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/SocketException.h +++ /dev/null @@ -1,23 +0,0 @@ -// SocketException class - - -#ifndef SocketException_class -#define SocketException_class - -#include <string> - -class SocketException -{ - public: - SocketException ( std::string s ) : m_s ( s ) {}; - ~SocketException (){}; - - std::string description() { return m_s; } - - private: - - std::string m_s; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.h deleted file mode 100644 index 53d1542cfd7112a89dc66551b364fe3d24787ba7..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.h +++ /dev/null @@ -1,110 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_TABLE_H -#define QATDATAANALYSIS_TABLE_H -#include "CLHEP/GenericFunctions/Variable.hh" -#include "QatDataAnalysis/TupleStore.h" -#include <vector> -#include <list> -#include <set> -#include <iostream> -class Tuple; -class Attribute; -class AttributeList; -class Table { - - public: - - - // Constructor: - Table(const std::string & name); - - // Copy Constructor: - Table(const Table & t); - - // Construct from a store (not for casual users) - Table(const std::string & name, const TupleStoreLink s); - - // Destructor: - virtual ~Table(); - - // Get the title: - std::string & name(); - const std::string & name() const; - - // Getting the data into the Table. Sets values and builds header at same time. - template <typename T> void add (const std::string & name, const T & t); - template <typename T> void add (const Attribute & a, const T & t); - - // Capture: - virtual TupleConstLink capture(); - - // Get the size of the table (number of tuples): - virtual size_t numTuples() const; - - // Getting the data out of the Table: - virtual TupleConstLink operator [] (size_t index) const; - - // Alternate. Convenient but slow. - template <typename T> void read (size_t index, const std::string & aname, T & t) const; - - // Print: - std::ostream & print (std::ostream & o= std::cout) const; - - // Get the size of the table (number of attributes): - size_t numAttributes() const; - - // Get Attributes: - const Attribute & attribute(unsigned int i) const; - const Attribute & attribute(const std::string & name) const; - AttributeListConstLink attributeList() const; - - // Get the attribute symbol. For symbolic expressions: - Genfun::Variable symbol (const std::string & name) const; - - // Operations: - void operator += (const Table &); - - // Obtain the store (not for casual users). - TupleStoreConstLink store() const; - - // Copy the Table (which may be disk-resident) to a simple memory - // resident version: - - Table *memorize() const; - - private: - - // These operations are illegal: - Table & operator=(const Table & t); - - // Keep these details out of the interface: - class Clockwork; - Clockwork *m_c; - -}; - - - -#include "QatDataAnalysis/Table.icc" -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.icc deleted file mode 100644 index 42f00125e1db32b37cc890b24f5513f48afc0f7f..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Table.icc +++ /dev/null @@ -1,118 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/AttributeList.h" -#include "QatDataAnalysis/AttributeListLink.h" -#include "QatDataAnalysis/ValueList.h" -#include "QatDataAnalysis/Value.h" -#include "QatDataAnalysis/Tuple.h" -#include <algorithm> -#include <list> -#include <set> - - -class Table::Clockwork { - -public: - - - std::string name; - - TupleLink tuple; - TupleStoreLink store; - std::vector<std::string> nameList; // Cached again for speed. - - -}; - -inline std::string & Table::name() { - return m_c->name; -} - -inline const std::string & Table::name() const { - return m_c->name; -} - -inline size_t Table::numTuples() const { - return m_c->store->size(); -} - -template <typename T> inline void Table::read (size_t index, const std::string & aname, T & t) const { - if (!(*this)[index]->read(t, this->attribute(aname).attrId())) { - std::string message ("Error retreiving attribute "); - message += aname; - message += " from table "; - message += name(); - throw std::runtime_error(message.c_str()); - }; -} - -template <typename T> inline void Table::add (const std::string & name, const T & t) { - - - if (numTuples()==0) { - Value v(&t, sizeof(t)); - AttributeListLink a = AttributeListLink(m_c->tuple->attributeList()); - a->add(name,typeid(t)); - m_c->tuple->valueList().add(v); - } - else { - std::vector<std::string>::const_iterator a = std::lower_bound(m_c->nameList.begin(), - m_c->nameList.end(), - name); - int n = a-m_c->nameList.begin(); - m_c->tuple->valueList()[n].setValue(t); - } - -} - - -template <typename T> inline void Table::add (const Attribute & a, const T & t) { - if (m_c->store->size()==0) { - throw std::runtime_error ("Table::add: you are using an attribute for an undefined table"); - } - else { - size_t n = a.attrId(); - m_c->tuple->valueList()[n].setValue(t); - } -} - -inline const Attribute & Table::attribute (unsigned int i) const { - if (m_c->store->size()==0) throw std::runtime_error ("Table::attribute. Attribute list not formed"); - if (i<m_c->tuple->attributeList()->size()) - return (*m_c->tuple->attributeList())[i]; - else - throw std::range_error ("Table::attribute range error"); -} - - -inline const Attribute & Table::attribute (const std::string & name) const { - if (m_c->store->size()==0) throw std::runtime_error ("Table::attribute. Attribute list not formed"); - AttributeList::ConstIterator a = - std::find_if(m_c->tuple->attributeList()->begin(), m_c->tuple->attributeList()->end(),Attribute::NameEquals(name)); - if (a!=m_c->tuple->attributeList()->end()) - return *a; - else - throw std::range_error ("Table::attribute range error"); -} - - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.h deleted file mode 100644 index c440c762d3f461724a9a57cc70203f1ff0ca8851..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.h +++ /dev/null @@ -1,142 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -// -------------------------Tuple-------------------------------// -// // -// This class represents a single row of a table. It can hold // -// a variety of different data types and provides access to // -// them. Tables build tuples and monger tables. The // -// way in which you get data out of a data is to call one of // -// the overloaded read methods. You can then check the status // -// to see whether the read succeeded: // -// // -// int value; // -// if (tuple->read(value,i)) { // -// .. // -// } // -// // -// If the data type of datum i is wrong, the read will fail. // -// This provides a way of detecting data type, which is not // -// really recommended for repeated accesses if speed is an // -// If speed is an issue, the datatype should be determined // -// (say, from the table) and the fastread method should be // -// used. // -// // -// int value // -// switch (attribute(i).type()) { // -// case Attribute::DOUBLE: // -// { // -// tuple->fastread(value,i); // -// break; // -// } // -// // -// And then there is a third way to access the information for // -// very fast operations on double precision representations of // -// data (when they exist): // -// // -// const Genfun::Argument & a = tuple->asDoublePrec(); // -// double x = a[i]; // -// // -//--------------------------------------------------------------// - -#ifndef QATDATAANALYSIS_TUPLE_H -#define QATDATAANALYSIS_TUPLE_H -#include "QatDataAnalysis/RCSBase.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "QatDataAnalysis/AttributeListConstLink.h" -#include "QatDataAnalysis/ValueList.h" -#include <iostream> -#include <vector> -#include <set> - - -class Tuple:public RCSBase { - - public: - - - // Constructors - Tuple(AttributeListConstLink); - - // Constructors - Tuple(AttributeListConstLink, const ValueList &); - - // Access to the attributeList (where header info lives).: - AttributeListConstLink attributeList() const {return m_attributeList;} - - // Print method: - std::ostream & print (std::ostream & o= std::cout) const; - - // Check status of last operation: - operator bool () const { return m_status;} - - // Read in an integer: - inline const Tuple & read (int & i, unsigned int pos) const; - inline void fastread (int & i, unsigned int pos) const; - - // Read an unsigned int: - inline const Tuple & read (unsigned int & i, unsigned int pos) const; - inline void fastread (unsigned int & i, unsigned int pos) const; - - // Read a double: - inline const Tuple & read (double & d, unsigned int pos) const; - inline void fastread (double & d, unsigned int pos) const; - - // Read a float: - inline const Tuple & read (float & f, unsigned int pos) const; - inline void fastread (float & f, unsigned int pos) const; - - // Access to values: - inline ValueList & valueList(); - inline const ValueList & valueList() const; - - // Access to a double precision rep of all quantities: - const Genfun::Argument & asDoublePrec() const; - - // Uncache. - virtual void uncache() const; - - private: - - // Destructor - virtual ~Tuple(); - - // Copy Constructor: - Tuple (const Tuple & tuple); - - // Assignment Operator: - Tuple & operator=(const Tuple & tuple); - - - AttributeListConstLink m_attributeList; - mutable ValueList m_valList; - //Maybe: - //IOAddress *_io; - - mutable bool m_status; - mutable Genfun::Argument *m_doubleRep; - mutable bool m_doubleRepStale; - -}; - -#include "QatDataAnalysis/Tuple.icc" -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.icc deleted file mode 100644 index e3b1ecd1cca299045d3c56f99e874b93b45061dd..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Tuple.icc +++ /dev/null @@ -1,142 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/AttributeListConstLink.h" -//#include "QatDataAnalysis/TupleLink.h" - -inline Tuple::Tuple(AttributeListConstLink attributeList): - m_attributeList(attributeList),m_status(true),m_doubleRep(NULL), - m_doubleRepStale(true){ -} - -inline Tuple::Tuple(AttributeListConstLink attributeList, const ValueList & valList): - m_attributeList(attributeList), - m_valList(valList), - m_status(true), - m_doubleRep(NULL), - m_doubleRepStale(true){ -} - - -inline Tuple::~Tuple() { - delete m_doubleRep; - -} - -inline ValueList & Tuple::valueList() { - // If a nonconst version is ever accessed, we must assume that - // the data values are going to change!! - m_doubleRepStale=true; - return m_valList; -} - -inline const ValueList & Tuple::valueList() const { - return m_valList; -} - -inline const Tuple & Tuple::read (int & i, unsigned int pos) const { - const std::string &typeName = (*m_attributeList)[pos].typeName(); - if (typeName=="i") { - i = * (int *) m_valList[pos].asCharStar(); - m_status=true; - } - else { - m_status=false; - } - return *this; -} - - -inline const Tuple & Tuple::read (double & d, unsigned int pos) const { - const std::string &typeName = (*m_attributeList)[pos].typeName(); - if (typeName=="d") { - d = * (double *) m_valList[pos].asCharStar(); - m_status=true; - } - else { - m_status=false; - } - return *this; -} - -inline const Tuple & Tuple::read (float & d, unsigned int pos) const { - const std::string &typeName = (*m_attributeList)[pos].typeName(); - if (typeName=="f") { - d = * (float *) m_valList[pos].asCharStar(); - m_status=true; - } - else { - m_status=false; - } - return *this; -} - -inline const Tuple & Tuple::read (unsigned int & i, unsigned int pos) const { - const std::string &typeName = (*m_attributeList)[pos].typeName(); - if (typeName=="j"|| typeName=="m") { - i = * (unsigned int *) m_valList[pos].asCharStar(); - m_status=true; - } - else { - m_status=false; - } - return *this; -} - - - - - - - - - - - - - - - - -inline void Tuple::fastread (int & i, unsigned int pos) const { - i = * (int *) m_valList[pos].asCharStar(); -} - - -inline void Tuple::fastread (double & d, unsigned int pos) const { - d = * (double *) m_valList[pos].asCharStar(); -} - -inline void Tuple::fastread (float & d, unsigned int pos) const { - d = * (float *) m_valList[pos].asCharStar(); -} - -inline void Tuple::fastread (unsigned int & i, unsigned int pos) const { - i = * (unsigned int *) m_valList[pos].asCharStar(); -} - - -inline void Tuple::uncache() const { - delete m_doubleRep; - m_doubleRep=NULL; - m_doubleRepStale=true; -} diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleConstLink.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleConstLink.h deleted file mode 100755 index a8e42932a8427a44b0fba4d0b71da67e8b193290..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleConstLink.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef TupleConstLink_h -#define TupleConstLink_h 1 -#include "QatDataAnalysis/Tuple.h" -#include "QatDataAnalysis/ConstLink.h" -typedef ConstLink< Tuple > TupleConstLink; -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleCut.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleCut.h deleted file mode 100644 index f5d39cfd5a321bf6c69045c9ce32488e5198738b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleCut.h +++ /dev/null @@ -1,72 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATDATAANALYSIS_TUPLECUT_H -#define QATDATAANALYSIS_TUPLECUT_H -#include "QatDataAnalysis/Tuple.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -//-----------------TupleCut-----------------------------// -// A lower limit, upper limit or window around some // -// function of a tuple. These can be anded, or'd or // -// notted. // -//------------------------------------------------------// - -class TupleCut : public Cut<Tuple> { - - public: - - enum Type {GT,LT,GE,LE,NA}; - - // Copy Constructor: - TupleCut (const TupleCut & right); - - // Can say: TupleCut cut(f,-1, 1); - TupleCut (Genfun::GENFUNCTION f, double min, double max); - - // Can also say TupleCut cut (f, TupleCut::GT, 0), - // Can also say TupleCut cut (f, TupleCut::LT, 0); - TupleCut (Genfun::GENFUNCTION f, Type t, double val); - //no assignment - TupleCut & operator=(const TupleCut & other)=delete; - - // Don't forget you can and and or these, too. - - // Destructor: - virtual ~TupleCut(); - - // Clone - virtual TupleCut * clone (void) const; - - // Truth operator: - virtual bool operator () (const Tuple & t) const; - - private: - - const Genfun::AbsFunction *m_f; - Type m_t; - double m_v1; - double m_v2; - -}; - -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleLink.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleLink.h deleted file mode 100644 index 39281a4d0c0d4d0cee1b10f211f035ca0cb480a7..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleLink.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef TupleLink_h -#define TupleLink_h 1 -#include "QatDataAnalysis/Tuple.h" -#include "QatDataAnalysis/Link.h" -typedef Link< Tuple > TupleLink; -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleStore.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleStore.h deleted file mode 100644 index 4d974258758a5313337e4522fbf5c480b8275079..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/TupleStore.h +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef QATDATAANALYSIS_TUPLESTORE_H -#define QATDATAANALYSIS_TUPLESTORE_H -#include "CLHEP/GenericFunctions/RCBase.hh" -#include "QatDataAnalysis/TupleConstLink.h" -#include "QatDataAnalysis/TupleLink.h" - -class TupleStore : public Genfun::RCBase { - - -public: - - // Constructor: - TupleStore(); - - // Read - virtual TupleConstLink operator [](size_t i) const = 0; - - // Write (if implemented) - virtual void push_back(TupleConstLink) { - throw std::runtime_error ("Write only tuple store"); - } - - // Get the size: - virtual size_t size() const = 0; - - // lock - void lock() const; - - // check lock: - bool isLocked() const; - -protected: - - // Destructor: - virtual ~TupleStore(); - - // Data: - mutable bool m_lock; - - // Silence compiler warnings about solitude - friend class ImaginaryFriend; - - -}; - -typedef Link< TupleStore > TupleStoreLink; -typedef ConstLink< TupleStore > TupleStoreConstLink; - -class SimpleStore: public TupleStore { - - public: - - // Constructor - SimpleStore(); - - // Read - virtual TupleConstLink operator [](size_t i) const; - - // Write - virtual void push_back(TupleConstLink); - - // Get the size: - virtual size_t size() const; - - private: - - // Destructor: - ~SimpleStore(); - - // Illegal Operations: - SimpleStore(const SimpleStore &); - SimpleStore & operator = (const SimpleStore & ); - - // Data: - std::vector<TupleConstLink> m_tVector; - - // Silence compiler warnings about solitude - friend class ImaginaryFriend; - -}; - - -class CompoundStore: public TupleStore { - public: - - // Constructor - CompoundStore(); - - // Read - virtual TupleConstLink operator [](size_t i) const; - - // Extend - virtual void push_back(TupleStoreLink); - - // Write - virtual void push_back(TupleConstLink); - - // Get the size: - virtual size_t size() const; - - private: - - // Destructor: - ~CompoundStore(); - - // Illegal Operations: - CompoundStore(const CompoundStore &); - CompoundStore & operator = (const CompoundStore & ); - - - // Data: - std::vector<TupleStoreLink> m_sVector; - - // Silence compiler warnings about solitude - friend class ImaginaryFriend; - -}; - - -#endif - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.h deleted file mode 100644 index 31b5feabcdb9886e2fe3268adf48f7edd3f16a2f..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.h +++ /dev/null @@ -1,55 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef _Value_h_ -#define _Value_h_ -#include <vector> -#include <algorithm> -#include <iostream> - -class Value { - - public: - - Value(const void * value, size_t sizeInBytes): - m_rep(std::vector<char>(sizeInBytes)){ - std::copy ((char *) value, (char *) value + sizeInBytes, m_rep.begin()); - } - - const char * asCharStar() const { return & m_rep[0];} - - void clear() { - std::fill(m_rep.begin(),m_rep.end(),0); - } - - template <typename T> void setValue (const T & t) { - * ((T *) & m_rep[0]) = t; - } - - private: - - std::vector<char> m_rep; -}; - - -#include "QatDataAnalysis/Value.icc" -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.icc deleted file mode 100644 index c1a969ec6416781c5280a1c8688a096256be8f50..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/Value.icc +++ /dev/null @@ -1,22 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.h deleted file mode 100644 index 0de9c73d292bb3583efbaf361dfaf24f2046e4d3..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.h +++ /dev/null @@ -1,64 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef ValueList_h_ -#define ValueList_h_ -#include "QatDataAnalysis/Value.h" -#include <vector> - -class ValueList { - - public: - - // Type Definitions: - typedef std::vector<Value>::const_iterator ConstIterator; - - // Constructor: - inline ValueList(); - - // Destructor: - inline ~ValueList(); - - // Add an attribute to the list: - inline void add(const Value & value); - - // Iterate over the attributes; - inline ConstIterator begin () const; - inline ConstIterator end() const; - - // Random access: - inline Value & operator[] (size_t i) ; - inline const Value & operator[] (size_t i) const; - - // Size of the attribute list; - inline size_t size() const; - - inline void clear(); - - private: - - std::vector<Value> m_valueList; - -}; - -#include "QatDataAnalysis/ValueList.icc" -#endif diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.icc b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.icc deleted file mode 100644 index 1f80f975bedef39d689d0bf11cc2408dbf42f600..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/ValueList.icc +++ /dev/null @@ -1,53 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include <algorithm> -#include <stdexcept> -inline ValueList::ValueList() {} - -inline ValueList::~ValueList() {} - -// Add an attribute: -inline void ValueList::add (const Value & value) { - m_valueList.push_back(value); -} - -// ConstIterator over attributes: -inline ValueList::ConstIterator ValueList::begin() const {return m_valueList.begin();} -inline ValueList::ConstIterator ValueList::end() const {return m_valueList.end();} - - -inline size_t ValueList::size() const { return m_valueList.size();} - -inline Value & ValueList::operator[] (size_t i) { - return m_valueList[i]; -} - -inline const Value & ValueList::operator[] (size_t i) const { - return m_valueList[i]; -} - -inline void ValueList::clear() { - for (unsigned int i=0;i<m_valueList.size(); i++) { - m_valueList[i].clear(); - } -} diff --git a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/asymmetry.h b/graphics/Qat/QatDataAnalysis/QatDataAnalysis/asymmetry.h deleted file mode 100644 index bbc2968a6e3924c42b8d52fec704b4965bb7e849..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/QatDataAnalysis/asymmetry.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _ASYMMETRY_H_ -#define _ASYMMETRY_H_ -// Calculates error bars in an efficiency measurement where N successes were -// recorded out of M trials. -#define ASYMM_NORMAL 0 -#define ASYMM_ERROR 1 -int asymmetry (int M, int N, double & xmean, double & xplus, double & xminus); - - -#endif diff --git a/graphics/Qat/QatDataAnalysis/grid/Makefile b/graphics/Qat/QatDataAnalysis/grid/Makefile deleted file mode 100644 index 80eb02e417b41ffb6e03f4a5d58850ade7187508..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/grid/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -THISDIR = QatDataAnalysis - -include ../../../sw/grid/Makefile.common -LOADLIBES+= -L../../../local/lib -lCLHEP-GenericFunctions-2.1.3.1 - diff --git a/graphics/Qat/QatDataAnalysis/src/Attribute.cpp b/graphics/Qat/QatDataAnalysis/src/Attribute.cpp deleted file mode 100644 index 8398ace10bfc62b561ea30f0aa54445abfd1af73..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/Attribute.cpp +++ /dev/null @@ -1,24 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Attribute.h" - diff --git a/graphics/Qat/QatDataAnalysis/src/AttributeList.cpp b/graphics/Qat/QatDataAnalysis/src/AttributeList.cpp deleted file mode 100644 index e98cadade4345eae9bb83fe80ffdf4ca0a5f1af9..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/AttributeList.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/AttributeList.h" -#include <algorithm> -#include <stdexcept> -AttributeList::AttributeList():m_locked(false) { -} - -AttributeList::~AttributeList() { -} - -// Add an attribute: -void AttributeList::add (const std::string & name, const std::type_info & type) { - - if (m_locked) throw std::runtime_error ("Error: adding attribute to a locked attribute list"); - - Attribute a(name,type); - if (std::find(m_attrList.begin(),m_attrList.end(),a)==m_attrList.end()) { - m_attrList.push_back(a); - } - else { - throw std::runtime_error ("Error: duplicate attribute name"); - } -} - -// Lock the list against additional adding of attributes. Also, now fill some cache -// relating to data sizes and positions: -void AttributeList::lock() { - if (!m_locked) { - std::sort(m_attrList.begin(),m_attrList.end()); - for (size_t a=0;a<m_attrList.size();a++) { - m_attrList[a].attrId()=a; - } - m_locked=true; - } -} diff --git a/graphics/Qat/QatDataAnalysis/src/ClientSocket.cpp b/graphics/Qat/QatDataAnalysis/src/ClientSocket.cpp deleted file mode 100644 index 6450e2f0d2c9a9c2f9834724d8917ed94d6eb5b2..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/ClientSocket.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// Implementation of the ClientSocket class - -#include "QatDataAnalysis/ClientSocket.h" -#include "QatDataAnalysis/SocketException.h" - - -ClientSocket::ClientSocket ( std::string host, int port ) -{ - if ( ! Socket::create() ) - { - throw SocketException ( "Could not create client socket." ); - } - - if ( ! Socket::connect ( host, port ) ) - { - throw SocketException ( "Could not bind to port." ); - } - -} - - -const ClientSocket& ClientSocket::operator << ( const std::string& s ) const -{ - if ( ! Socket::send ( s ) ) - { - throw SocketException ( "Could not write to socket." ); - } - - return *this; - -} - - -const ClientSocket& ClientSocket::operator >> ( std::string& s ) const -{ - if ( ! Socket::recv ( s ) ) - { - throw SocketException ( "Could not read from socket." ); - } - - return *this; -} - - - - diff --git a/graphics/Qat/QatDataAnalysis/src/Hist1D.cpp b/graphics/Qat/QatDataAnalysis/src/Hist1D.cpp deleted file mode 100644 index 5a8783fe12a437de6fbe0ee0aea25c95c96d6725..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/Hist1D.cpp +++ /dev/null @@ -1,164 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist1D.h" -#include <stdexcept> -Hist1D::Hist1D(const std::string & name, size_t nBins, double min, double max): - m_c(new Clockwork()) -{ - m_c->name=name; - m_c->nBins=nBins; - m_c->min=min; - m_c->max=max; - m_c->binWidth=(max-min)/nBins; - m_c->overflow=0; - m_c->underflow=0; - m_c->entries=0; - m_c->xW=0; - m_c->xxW=0; - m_c->sumWeight=0; - m_c->minContents=0; - m_c->maxContents=0; - m_c->contents.resize(nBins); - m_c->errors.resize(nBins); -} - -Hist1D::~Hist1D() { - delete m_c; -} - -void Hist1D::accumulate(double x, double weight) { - int bin = int((x-m_c->min)/m_c->binWidth); - if (x<m_c->min) { - m_c->underflow++; - } - else if (bin>=int(m_c->nBins)) { - m_c->overflow++; - } - else { - m_c->entries++; - m_c->xW += x*weight; - m_c->xxW += (x*x*weight); - m_c->sumWeight += weight; - m_c->minContents = 0; - m_c->maxContents = 0; - m_c->contents[bin]+= weight; - m_c->errors[bin] += weight*weight; - } -} - -Hist1D & Hist1D::operator += (const Hist1D & source) { - if ((m_c->nBins!=source.m_c->nBins) || - (m_c->min !=source.m_c->min) || - (m_c->max !=source.m_c->max) ) { - throw (std::runtime_error("Incompatible histograms are added")); - } - else { - m_c->overflow += source.m_c->overflow; - m_c->underflow += source.m_c->underflow; - m_c->entries += source.m_c->entries; - m_c->xW += source.m_c->xW; - m_c->xxW += source.m_c->xxW; - m_c->sumWeight += source.m_c->sumWeight; - m_c->minContents = 0; - m_c->maxContents = 0; - for (unsigned int i=0;i<m_c->nBins;i++) { - m_c->contents[i] += source.m_c->contents[i]; - m_c->errors[i] += source.m_c->errors[i]; - } - } - - return *this; -} - -Hist1D & Hist1D::operator -= (const Hist1D & source) { - if ((m_c->nBins!=source.m_c->nBins) || - (m_c->min !=source.m_c->min) || - (m_c->max !=source.m_c->max) ) { - throw (std::runtime_error("Incompatible histograms are added")); - } - else { - m_c->overflow += source.m_c->overflow; - m_c->underflow += source.m_c->underflow; - m_c->entries += source.m_c->entries; - m_c->xW -= source.m_c->xW; - m_c->xxW -= source.m_c->xxW; - m_c->sumWeight -= source.m_c->sumWeight; - m_c->minContents = 0; - m_c->maxContents = 0; - for (unsigned int i=0;i<m_c->nBins;i++) { - m_c->contents[i] -= source.m_c->contents[i]; - m_c->errors[i] += source.m_c->errors[i]; - } - } - return *this; -} - -Hist1D & Hist1D::operator *= (double scale) { - m_c->xW *= scale; - m_c->xxW *= scale; - m_c->sumWeight *= scale; - m_c->minContents = 0; - m_c->maxContents = 0; - for (unsigned int i=0;i<m_c->nBins;i++) { - m_c->contents[i] *= scale; - m_c->errors[i] *= (scale*scale); - } - return *this; -} - -void Hist1D::clear() { - - m_c->overflow = 0; - m_c->underflow = 0; - m_c->entries = 0; - m_c->xW = 0; - m_c->xxW = 0; - m_c->sumWeight = 0; - m_c->minContents = 0; - m_c->maxContents = 0; - std::fill(m_c->contents.begin(),m_c->contents.end(), 0); - std::fill(m_c->errors.begin(), m_c->errors.end(), 0); - -} - -// Get the internals: -const Hist1D::Clockwork *Hist1D::clockwork() const { - return m_c; -} - -// Remake this from the interals: -Hist1D::Hist1D(const Clockwork * cw) { - m_c = new Clockwork(*cw); -} - -Hist1D::Hist1D( const Hist1D & source) { - m_c = new Clockwork(*source.m_c); -} - -Hist1D & Hist1D::operator = (const Hist1D & source ) { - if (this!=&source) { - delete m_c; - m_c = new Clockwork(*source.m_c); - } - return *this; -} diff --git a/graphics/Qat/QatDataAnalysis/src/Hist1DMaker.cpp b/graphics/Qat/QatDataAnalysis/src/Hist1DMaker.cpp deleted file mode 100644 index fc8290251a7aac8fc50fbfba4d387f6220731f6f..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/Hist1DMaker.cpp +++ /dev/null @@ -1,78 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist1DMaker.h" -#include "QatDataAnalysis/Hist1D.h" -#include "QatDataAnalysis/Attribute.h" -#include "QatDataAnalysis/Table.h" -#include "CLHEP/GenericFunctions/Argument.hh" -class Hist1DMaker::Clockwork { - -public: - - Genfun::AbsFunction *f; - size_t nBins; - double min; - double max; - Genfun::AbsFunction *w; - -}; - - -Hist1DMaker::Hist1DMaker (Genfun::GENFUNCTION f, size_t nbinsx, double min, double max, - const Genfun::AbsFunction *weight) : m_c(new Clockwork()) { - m_c->f = f.clone(); - m_c->nBins = nbinsx; - m_c->min = min; - m_c->max = max; - m_c->w = weight ? weight->clone() : NULL; -} - -Hist1DMaker::~Hist1DMaker() { - delete m_c->f; - delete m_c->w; - delete m_c; -} - - -Hist1D Hist1DMaker::operator * (const Table & table) const { - - Hist1D h(table.name(),m_c->nBins, m_c->min, m_c->max); - - - for (size_t t=0; ; t++) { - - TupleConstLink tuple = table[t]; - if (!tuple) break; - - const Genfun::Argument & a = tuple->asDoublePrec(); - - if (m_c->w) { - Genfun::GENFUNCTION W=*m_c->w; - h.accumulate((*(m_c->f))(a), W(a)); - } - else { - h.accumulate((*(m_c->f))(a)); - } - } - return h; -} diff --git a/graphics/Qat/QatDataAnalysis/src/Hist2D.cpp b/graphics/Qat/QatDataAnalysis/src/Hist2D.cpp deleted file mode 100644 index 8f0e5fe66c0f5efa2783a4a3f36aaadf092cd81b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/Hist2D.cpp +++ /dev/null @@ -1,176 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist2D.h" -#include <stdexcept> -Hist2D::Hist2D(const std::string & name, size_t nBinsX, double minX, double maxX, - size_t nBinsY, double minY, double maxY): - m_c(new Clockwork) -{ - m_c->name=name; - m_c->nBinsX=nBinsX; - m_c->nBinsY=nBinsY; - m_c->minX=minX; - m_c->maxX=maxX; - m_c->minY=minY; - m_c->maxY=maxY; - m_c->binWidthX=(maxX-minX)/nBinsX; - m_c->binWidthY=(maxY-minY)/nBinsY; - m_c->overUnderFlow[0][0]=m_c->overUnderFlow[0][1]=m_c->overUnderFlow[0][2]=0; - m_c->overUnderFlow[1][0]=m_c->overUnderFlow[1][1]=m_c->overUnderFlow[1][2]=0; - m_c->overUnderFlow[2][0]=m_c->overUnderFlow[2][1]=m_c->overUnderFlow[2][2]=0; - m_c->overflow=0; - m_c->xW=0; - m_c->xxW=0; - m_c->yW=0; - m_c->yyW=0; - m_c->xyW=0; - m_c->sumWeight=0; - m_c->minContents=0; - m_c->maxContents=0; - m_c->contents.resize(nBinsX*nBinsY); - m_c->errors.resize(nBinsX*nBinsY); -} - -void Hist2D::clear() { - m_c->overUnderFlow[0][0]=m_c->overUnderFlow[0][1]=m_c->overUnderFlow[0][2]=0; - m_c->overUnderFlow[1][0]=m_c->overUnderFlow[1][1]=m_c->overUnderFlow[1][2]=0; - m_c->overUnderFlow[2][0]=m_c->overUnderFlow[2][1]=m_c->overUnderFlow[2][2]=0; - m_c->overflow=0; - m_c->xW=0; - m_c->xxW=0; - m_c->yW=0; - m_c->yyW=0; - m_c->xyW=0; - m_c->sumWeight=0; - m_c->minContents=0; - m_c->maxContents=0; - std::fill(m_c->contents.begin(),m_c->contents.end(), 0); - std::fill(m_c->errors.begin(), m_c->errors.end(), 0);} - - -Hist2D::~Hist2D() { - delete m_c; -} - -void Hist2D::accumulate(double x, double y, double weight) { - - int nx = m_c->nBinsX, ny=m_c->nBinsY; - - OVF a,b; - int binX = int((x-m_c->minX)/m_c->binWidthX); - int binY = int((y-m_c->minY)/m_c->binWidthY); - if (x<m_c->minX) { - a=Underflow; - } - else if (binX<nx) { - a=InRange; - } - else { - a=Overflow; - } - if (y<m_c->minY) { - b=Underflow; - } - else if (binY<ny) { - b=InRange; - } - else { - b=Overflow; - } - m_c->overUnderFlow[a][b]++; - - if (a==InRange && b==InRange) { - - m_c->xW += x*weight; - m_c->xxW += (x*x*weight); - m_c->yW += (y*weight); - m_c->yyW += (y*y*weight); - m_c->xyW += (x*y*weight); - m_c->sumWeight += weight; - m_c->minContents = 0; - m_c->maxContents = 0; - m_c->contents[ii(binX,binY)]+= weight; - m_c->errors[ii(binX,binY)] += weight*weight; - } -} - -Hist2D & Hist2D::operator += (const Hist2D & source) { - if ((m_c->nBinsX!=source.m_c->nBinsX) || - (m_c->minX !=source.m_c->minX) || - (m_c->maxX !=source.m_c->maxX) || - (m_c->nBinsY!=source.m_c->nBinsY) || - (m_c->minY !=source.m_c->minY) || - (m_c->maxY !=source.m_c->maxY)) - { - throw (std::runtime_error("Incompatible histograms are added")); - } - else - { - m_c->overflow += source.m_c->overflow; - for (int i=0;i<3;i++) { - for (int j=0;j<3;j++) { - m_c->overUnderFlow[i][j]+=source.m_c->overUnderFlow[i][j]; - } - } - - m_c->xW += source.m_c->xW; - m_c->yW += source.m_c->yW; - m_c->xxW += source.m_c->xxW; - m_c->yyW += source.m_c->yyW; - m_c->xyW += source.m_c->xyW; - m_c->sumWeight += source.m_c->sumWeight; - m_c->minContents = 0; - m_c->maxContents = 0; - for (size_t i=0;i<m_c->nBinsX;i++) { - for (size_t j=0; j<m_c->nBinsY;j++) { - size_t k = ii(i,j); - m_c->contents[k] += source.m_c->contents[k]; - m_c->errors[k] += source.m_c->errors[k]; - } - } - } - return *this; -} - - -// Get the internals: -const Hist2D::Clockwork *Hist2D::clockwork() const { - return m_c; -} - -// Remake this from the interals: -Hist2D::Hist2D(const Clockwork * cw) { - m_c = new Clockwork(*cw); -} - -Hist2D::Hist2D( const Hist2D & source) { - m_c = new Clockwork(*source.m_c); -} - -Hist2D & Hist2D::operator = (const Hist2D & source ) { - if (this!=&source) { - delete m_c; - m_c = new Clockwork(*source.m_c); - } - return *this; -} diff --git a/graphics/Qat/QatDataAnalysis/src/Hist2DMaker.cpp b/graphics/Qat/QatDataAnalysis/src/Hist2DMaker.cpp deleted file mode 100644 index c126875c49b13e4a098751813551eb694f3e5bbe..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/Hist2DMaker.cpp +++ /dev/null @@ -1,97 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist2DMaker.h" -#include "QatDataAnalysis/Hist2D.h" -#include "QatDataAnalysis/Table.h" - - - -class Hist2DMaker::Clockwork { - -public: - - Genfun::AbsFunction *fX; - size_t nBinsX; - double minX; - double maxX; - Genfun::AbsFunction *fY; - size_t nBinsY; - double minY; - double maxY; - const Genfun::AbsFunction *w; - -}; - - -Hist2DMaker::Hist2DMaker (Genfun::GENFUNCTION fX, size_t nBinsX, double minX, double maxX, - Genfun::GENFUNCTION fY, size_t nBinsY, double minY, double maxY, - const Genfun::AbsFunction *weight) : - m_c(new Clockwork()) { - m_c->fX = fX.clone(); - m_c->nBinsX = nBinsX; - m_c->minX = minX; - m_c->maxX = maxX; - m_c->fY = fY.clone(); - m_c->nBinsY = nBinsY; - m_c->minY = minY; - m_c->maxY = maxY; - m_c->w = weight ? weight->clone() : NULL; -} - -Hist2DMaker::~Hist2DMaker() { - delete m_c->fX; - delete m_c->fY; - delete m_c->w; - delete m_c; -} - - -Hist2D Hist2DMaker::operator * (const Table & table) const { - - - Hist2D h(table.name(), - m_c->nBinsX, m_c->minX, m_c->maxX, - m_c->nBinsY, m_c->minY, m_c->maxY); - - - - - for (size_t t=0; ; t++) { - - - TupleConstLink tuple = table[t]; - if (!tuple) break; - - const Genfun::Argument & a = tuple->asDoublePrec(); - if (m_c->w) { - Genfun::GENFUNCTION W = *m_c->w; - h.accumulate((*(m_c->fX))(a), (*(m_c->fY))(a), W(a)); - } - else { - h.accumulate((*(m_c->fX))(a), (*(m_c->fY))(a)); - } - } - return h; -} - - diff --git a/graphics/Qat/QatDataAnalysis/src/HistSetMaker.cpp b/graphics/Qat/QatDataAnalysis/src/HistSetMaker.cpp deleted file mode 100644 index bc0a7110c60bf3c2ee59979006160742c81620b0..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/HistSetMaker.cpp +++ /dev/null @@ -1,181 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/HistSetMaker.h" -#include "QatDataAnalysis/Hist1D.h" -#include "QatDataAnalysis/Hist2D.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatDataAnalysis/Attribute.h" -#include "QatDataAnalysis/Table.h" -#include "CLHEP/GenericFunctions/Argument.hh" -class HistSetMaker::Clockwork { - -public: - - struct Hist1DDescriptor { - Hist1DDescriptor() :name{},f(NULL),nBins(0),min(0.0),max(0.0),hist(NULL),weight(NULL) {} - std::string name; - Genfun::AbsFunction *f; - unsigned int nBins; - double min; - double max; - Hist1D *hist; - const Genfun::AbsFunction *weight; - }; - - - struct Hist2DDescriptor { - Hist2DDescriptor() :name{},fX(NULL),nBinsX(0),minX(0.0),maxX(0.0), - fY(NULL),nBinsY(0),minY(0.0),maxY(0.0),hist(NULL),weight(NULL) {} - std::string name; - Genfun::AbsFunction *fX; - unsigned int nBinsX; - double minX; - double maxX; - Genfun::AbsFunction *fY; - unsigned int nBinsY; - double minY; - double maxY; - Hist2D *hist; - const Genfun::AbsFunction *weight; - }; - - std::vector<Hist1DDescriptor> hist1DList; - std::vector<Hist2DDescriptor> hist2DList; -}; - -HistSetMaker::HistSetMaker():m_c(new Clockwork()){ -} - -void HistSetMaker::scheduleHist1D(const std::string & name, Genfun::GENFUNCTION f, unsigned int nbins, double min, double max, const Genfun::AbsFunction *w) { - Clockwork::Hist1DDescriptor descriptor; - m_c->hist1DList.push_back(descriptor); - m_c->hist1DList.back().name=name; - m_c->hist1DList.back().f= f.clone(); - m_c->hist1DList.back().nBins= nbins; - m_c->hist1DList.back().min = min; - m_c->hist1DList.back().max = max; - m_c->hist1DList.back().weight = w ? w->clone(): NULL; -} - -void HistSetMaker::scheduleHist2D(const std::string & name, - Genfun::GENFUNCTION fX, unsigned int nbinsX, double minX, double maxX, - Genfun::GENFUNCTION fY, unsigned int nbinsY, double minY, double maxY, - const Genfun::AbsFunction *w) { - Clockwork::Hist2DDescriptor descriptor; - m_c->hist2DList.push_back(descriptor); - m_c->hist2DList.back().name=name; - m_c->hist2DList.back().fX= fX.clone(); - m_c->hist2DList.back().nBinsX= nbinsX; - m_c->hist2DList.back().minX = minX; - m_c->hist2DList.back().maxX = maxX; - m_c->hist2DList.back().fY= fY.clone(); - m_c->hist2DList.back().nBinsY= nbinsY; - m_c->hist2DList.back().minY = minY; - m_c->hist2DList.back().maxY = maxY; - m_c->hist2DList.back().weight = w ? w->clone(): NULL; -} - -HistSetMaker::~HistSetMaker() { - for (unsigned int i=0;i<m_c->hist1DList.size();i++) { - delete m_c->hist1DList[i].f; - delete m_c->hist1DList[i].weight; - } - for (unsigned int i=0;i<m_c->hist2DList.size();i++) { - delete m_c->hist2DList[i].fX; - delete m_c->hist2DList[i].fY; - delete m_c->hist2DList[i].weight; - } - delete m_c; -} - - -void HistSetMaker::exec (const Table & table, HistogramManager *m) const { - - // Make some histograms; - for (unsigned int i=0;i<m_c->hist1DList.size();i++) { - m_c->hist1DList[i].hist = m->newHist1D(m_c->hist1DList[i].name, - m_c->hist1DList[i].nBins, - m_c->hist1DList[i].min, - m_c->hist1DList[i].max); - } - for (unsigned int i=0;i<m_c->hist2DList.size();i++) { - m_c->hist2DList[i].hist = m->newHist2D(m_c->hist2DList[i].name, - m_c->hist2DList[i].nBinsX, - m_c->hist2DList[i].minX, - m_c->hist2DList[i].maxX, - m_c->hist2DList[i].nBinsY, - m_c->hist2DList[i].minY, - m_c->hist2DList[i].maxY); - } - - // Do not worry about cleaning up that memory. Histograms are - // owned by the manager! - for (unsigned int t=0; ; t++) { - - TupleConstLink tuple = table[t]; - if (!tuple) break; - - const Genfun::Argument & a = tuple->asDoublePrec(); - - for (unsigned int i=0;i<m_c->hist1DList.size();i++) { - if (m_c->hist1DList[i].weight) { - Genfun::GENFUNCTION W=*m_c->hist1DList[i].weight; - m_c->hist1DList[i].hist->accumulate((*(m_c->hist1DList[i].f))(a),W(a)); - } - else { - m_c->hist1DList[i].hist->accumulate((*(m_c->hist1DList[i].f))(a)); - } - } - - for (unsigned int i=0;i<m_c->hist2DList.size();i++) { - if (m_c->hist2DList[i].weight) { - Genfun::GENFUNCTION W=*m_c->hist2DList[i].weight; - m_c->hist2DList[i].hist->accumulate((*(m_c->hist2DList[i].fX))(a), (*(m_c->hist2DList[i].fY))(a) ,W(a) ); - } - else { - m_c->hist2DList[i].hist->accumulate((*(m_c->hist2DList[i].fX))(a), (*(m_c->hist2DList[i].fY))(a) ); - } - - } - - } - - -} - - -// Number of Histograms: -unsigned int HistSetMaker::numH1D() const { - return m_c->hist1DList.size(); -} -unsigned int HistSetMaker::numH2D() const{ - return m_c->hist2DList.size(); -} - -// Name of Histograms -const std::string & HistSetMaker::nameH1D(unsigned int i) const { - return m_c->hist1DList[i].name; -} -const std::string & HistSetMaker::nameH2D(unsigned int i) const { - return m_c->hist2DList[i].name; -} diff --git a/graphics/Qat/QatDataAnalysis/src/HistogramManager.cpp b/graphics/Qat/QatDataAnalysis/src/HistogramManager.cpp deleted file mode 100644 index f5409ce9eadccf86cb7392350405f7451ea850a9..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/HistogramManager.cpp +++ /dev/null @@ -1,235 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/HistogramManager.h" -#include <algorithm> - -HistogramManager::HistogramManager(const std::string & name): m_name(name) { -} - - -const std::string & HistogramManager::name() const { - return m_name; -} - - -std::string & HistogramManager::name() { - return m_name; -} - - -HistogramManager::H1Iterator HistogramManager::beginH1() { - return m_histograms.begin(); -} - -HistogramManager::H1Iterator HistogramManager::endH1() { - return m_histograms.end(); -} - -HistogramManager::H1ConstIterator HistogramManager::beginH1() const{ - return m_histograms.begin(); -} - -HistogramManager::H1ConstIterator HistogramManager::endH1() const { - return m_histograms.end(); -} - -HistogramManager::H2Iterator HistogramManager::beginH2() { - return m_scatterPlots.begin(); -} - -HistogramManager::H2Iterator HistogramManager::endH2() { - return m_scatterPlots.end(); -} - -HistogramManager::H2ConstIterator HistogramManager::beginH2() const{ - return m_scatterPlots.begin(); -} - -HistogramManager::H2ConstIterator HistogramManager::endH2() const { - return m_scatterPlots.end(); -} - -HistogramManager::DIterator HistogramManager::beginDir() { - return m_managers.begin(); -} - -HistogramManager::DIterator HistogramManager::endDir() { - return m_managers.end(); -} - -HistogramManager::DConstIterator HistogramManager::beginDir() const{ - return m_managers.begin(); -} - -HistogramManager::DConstIterator HistogramManager::endDir() const { - return m_managers.end(); -} - -HistogramManager::TIterator HistogramManager::beginTable() { - return m_tables.begin(); -} - -HistogramManager::TIterator HistogramManager::endTable() { - return m_tables.end(); -} - -HistogramManager::TConstIterator HistogramManager::beginTable() const{ - return m_tables.begin(); -} - -HistogramManager::TConstIterator HistogramManager::endTable() const { - return m_tables.end(); -} - -const Hist1D *HistogramManager::findHist1D(const std::string & name) const{ - H1ConstIterator i = std::find_if(m_histograms.begin(),m_histograms.end(), NameEq(name)); - if (i!=m_histograms.end()) return *i; - else return NULL; -} - -const Hist2D *HistogramManager::findHist2D(const std::string & name) const{ - H2ConstIterator i = std::find_if(m_scatterPlots.begin(),m_scatterPlots.end(), NameEq(name)); - if (i!=m_scatterPlots.end()) return *i; - else return NULL; -} - -const HistogramManager *HistogramManager::findDir(const std::string & name) const { - DConstIterator i = std::find_if(m_managers.begin(),m_managers.end(), NameEq(name)); - if (i!=m_managers.end()) return *i; - else return NULL; -} - -const Table *HistogramManager::findTable(const std::string & name) const { - TConstIterator i = std::find_if(m_tables.begin(),m_tables.end(), NameEq(name)); - if (i!=m_tables.end()) return *i; - else return NULL; -} - - - - -Hist1D *HistogramManager::newHist1D(const std::string & name, unsigned int nBins, double min, double max) { - purge(name); - Hist1D * newHist = new Hist1D(name,nBins,min, max); - m_histograms.push_back(newHist); - m_histograms.sort(SortByName()); - return newHist; -} - -Hist1D *HistogramManager::newHist1D(const Hist1D & source) { - purge(source.name()); - Hist1D * newHist = new Hist1D(source); - m_histograms.push_back(newHist); - m_histograms.sort(SortByName()); - return newHist; -} - -Table *HistogramManager::newTable(const Table & source) { - - - purge(source.name()); - Table * newTable = new Table(source); - m_tables.push_back(newTable); - m_tables.sort(SortByName()); - return newTable; -} - -Hist2D *HistogramManager::newHist2D(const std::string & name, unsigned int nBinsX, double minX, double maxX, - unsigned int nBinsY, double minY, double maxY) { - - purge(name); - Hist2D *newHist = new Hist2D(name,nBinsX,minX, maxX, nBinsY, minY, maxY); - m_scatterPlots.push_back(newHist); - m_scatterPlots.sort(SortByName()); - return newHist; -} - -Hist2D *HistogramManager::newHist2D(const Hist2D & source) { - purge(source.name()); - Hist2D * newHist = new Hist2D(source); - m_scatterPlots.push_back(newHist); - m_scatterPlots.sort(SortByName()); - return newHist; -} - - - - -Table *HistogramManager::newTable(const std::string & name, TupleStoreLink store) { - purge (name); - Table *t = store ? new Table(name,store): new Table(name); - m_tables.push_back(t); - m_tables.sort(SortByName()); - return t; -} - - -HistogramManager *HistogramManager::newDir(const std::string & name) { - purge (name); - HistogramManager *t = new HistogramManager(name); - m_managers.push_back(t); - m_managers.sort(SortByName()); - return t; -} - - -void HistogramManager::nameOrder() { - // Sort tables: Other objects already ordered. - m_tables.sort(SortByName()); -} - -void HistogramManager::purge(const std::string & name) { - - H1Iterator doomedHistogram = std::find_if(m_histograms.begin(),m_histograms.end(), NameEq(name)); - if (doomedHistogram!=m_histograms.end()) { - delete *doomedHistogram; - m_histograms.erase(doomedHistogram); - } - - H2Iterator doomedScatterPlot = std::find_if(m_scatterPlots.begin(),m_scatterPlots.end(), NameEq(name)); - if (doomedScatterPlot!=m_scatterPlots.end()) { - delete *doomedScatterPlot; - m_scatterPlots.erase(doomedScatterPlot); - } - - TIterator doomedTable = std::find_if(m_tables.begin(),m_tables.end(), NameEq(name)); - if (doomedTable!=m_tables.end()) { - delete *doomedTable; - m_tables.erase(doomedTable); - } - - DIterator doomedDir = std::find_if(m_managers.begin(),m_managers.end(), NameEq(name)); - if (doomedDir!=m_managers.end()) { - delete *doomedDir; - m_managers.erase(doomedDir); - } -} - - - -HistogramManager::~HistogramManager() { - for (H1Iterator i=m_histograms.begin(); i!=m_histograms.end(); i++) delete *i; - for (DIterator i=m_managers.begin(); i!=m_managers.end(); i++) delete *i; - for (H2Iterator i=m_scatterPlots.begin(); i!=m_scatterPlots.end();i++) delete *i; - for (TIterator i=m_tables.begin(); i!=m_tables.end(); i++) delete *i; -} diff --git a/graphics/Qat/QatDataAnalysis/src/IODriver.cpp b/graphics/Qat/QatDataAnalysis/src/IODriver.cpp deleted file mode 100644 index 877e8a57863cb7cc2319295b9c3f07212fd62445..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/IODriver.cpp +++ /dev/null @@ -1,28 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/IODriver.h" - -IODriver::IODriver () {} - -IODriver::~IODriver() {} - diff --git a/graphics/Qat/QatDataAnalysis/src/IOLoader.cpp b/graphics/Qat/QatDataAnalysis/src/IOLoader.cpp deleted file mode 100644 index be86c7c90019f5be704ac48a283e6a111323572b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/IOLoader.cpp +++ /dev/null @@ -1,158 +0,0 @@ -// ---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/IOLoader.h" -#include <iostream> -#include <map> -#include <sstream> -#include <unistd.h> -#include <dirent.h> -#include <dlfcn.h> -#include <cstdlib> -#include <cstring> -#include <cerrno> -#include <cstdio> -class IOLoader::Clockwork { -public: - //Creation method is a function pointer taking no parameters and returning void * - typedef void * (*CreationMethod) (); - //could use: 'using CreationMethod = void* (*)();', or just use std::function<> instead of pointer - std::string _loadFileName; - - std::map<std::string, CreationMethod> _create; - std::map<std::string, const IODriver *> _driver; - - void - loadDrivers() { - // - // This is only for atlas: - // - char *ldlibpath_env = getenv("LD_LIBRARY_PATH"); - char *ldlibpath = ldlibpath_env ? strdup(ldlibpath_env) : NULL; - - if (ldlibpath) { - char *thisDir = strtok(ldlibpath, (char *) ":"); - int nLoaded = 0; - while (thisDir) { - DIR *directory = opendir(thisDir); - if (directory) { - dirent *entry = readdir(directory); - while (entry) { - std::string name = entry->d_name; - std::string path = thisDir + std::string("/") + name; - std::string basename, extension; - size_t dotpos = name.find_last_of('.'); - if (dotpos != name.npos) { - extension = name.substr(dotpos); - basename = name.substr(0, dotpos); - } - - std::string shortName; - - // Here is a list of known drivers. This is not nice but neither - // is CMT... - - if (name == "libQoot.so") { - shortName = "RootDriver"; - } - if (name == "libQHDF5.so") { - shortName = "HDF5Driver"; - } - - // .. and their is only one driver on the list.. - if (shortName != "") { - if (_create.find(shortName) == _create.end()) { - std::string createFunctionName; - createFunctionName = shortName + "Create"; - - void *handle = dlopen(path.c_str(), RTLD_LAZY); - if (!handle) { - std::cerr << dlerror() << std::endl; - free(ldlibpath);ldlibpath=nullptr; - int retVal = closedir(directory); - if (retVal !=0){ - std::cerr<<"Failed to close directory in "<<__FILE__<<std::endl; - } - return; - } - - CreationMethod createMethod; - union { - CreationMethod func; - void *data; - } sym; - - sym.data = dlsym(handle, createFunctionName.c_str()); - createMethod = sym.func; - _create[shortName] = createMethod; - if (!createMethod) { - std::cout << basename << " load failed" << std::endl; - }else { - nLoaded++; - if (nLoaded == 2) { - break; - } - } - } - } - entry = readdir(directory); - } - closedir(directory); - if (nLoaded == 2) { - break; - } - }else { - // perror(NULL); - } - thisDir = strtok(NULL, (char *) ":"); - } - free(ldlibpath);ldlibpath=nullptr; - } - } -}; - -IOLoader::IOLoader() : m_c(new Clockwork()) { - m_c->loadDrivers(); -} - -IOLoader::~IOLoader() { - delete m_c; -} - -const IODriver * -IOLoader::ioDriver(const std::string &name) const { - std::map<std::string, const IODriver *>::iterator d = m_c->_driver.find(name); - - if (d == m_c->_driver.end()) { - std::map<std::string, Clockwork::CreationMethod>::iterator m = m_c->_create.find(name); - if (m != m_c->_create.end()) { - Clockwork::CreationMethod createMethod = (*m).second; - IODriver *driver = (IODriver *) (*createMethod)(); - m_c->_driver[name] = driver; - return driver; - }else { - return NULL; - } - }else { - return (*d).second; - } -} diff --git a/graphics/Qat/QatDataAnalysis/src/Makefile b/graphics/Qat/QatDataAnalysis/src/Makefile deleted file mode 100644 index 4ac7b226052478e7e79995b5b09a49b1bafc2d92..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -THISDIR = QatDataAnalysis -MFILES = - -include ../../../Build/Makefile.Versions -include ../../../Build/Makefile.common -LOADLIBES+=-lCLHEP - diff --git a/graphics/Qat/QatDataAnalysis/src/MultiHistFileManager.cpp b/graphics/Qat/QatDataAnalysis/src/MultiHistFileManager.cpp deleted file mode 100644 index 27ccf143ad946f7dfc2a320ca4d994dc7fe2408a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/MultiHistFileManager.cpp +++ /dev/null @@ -1,139 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/MultiHistFileManager.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatDataAnalysis/IODriver.h" -#include <fstream> -#include <iomanip> -#include <algorithm> -#include <cstdlib> -#include <climits> - -MultiHistFileManager::MultiHistFileManager() -{ -} - -MultiHistFileManager::~MultiHistFileManager(){ - for (unsigned int i=0; i<m_outputFileManager.size(); i++) { - m_outputDrivers[i]->write(m_outputFileManager[i]); - m_outputDrivers[i]->close(m_outputFileManager[i]); - delete m_outputFileManager[i]; - } - for (unsigned int i=0; i<m_inputFileManager.size(); i++) { - m_inputDrivers[i]->close(m_inputFileManager[i]); - delete m_inputFileManager[i]; - } -} - -int MultiHistFileManager::getNumInputManagers() { - return m_inputFileManager.size(); -} - -const HistogramManager *MultiHistFileManager::getInputFileManager(int i) const { - return m_inputFileManager[i]; -} - -std::string MultiHistFileManager::getInputFileName(int i) const { - return m_inputFileName[i]; -} - -MultiHistFileManager::FileFormat MultiHistFileManager::getInputFileFormat(int i) const { - return m_inputFileFormat[i]; -} - -int MultiHistFileManager::getNumOutputManagers() { - return m_outputFileManager.size(); -} - -HistogramManager *MultiHistFileManager::getOutputFileManager(int i) const { - return m_outputFileManager[i]; -} - -std::string MultiHistFileManager::getOutputFileName(int i) const { - return m_outputFileName[i]; -} - -MultiHistFileManager::FileFormat MultiHistFileManager::getOutputFileFormat(int i) const { - return m_outputFileFormat[i]; -} - -MultiHistFileManager::Status MultiHistFileManager::addInputFileManager (std::string name) { - - const IODriver *pvsdriver = m_loader.ioDriver("PVSDriver"); - if (pvsdriver) { - const HistogramManager *manager = pvsdriver->openManager(name); - if (manager) { - m_inputFileManager.push_back(manager); - m_inputFileFormat.push_back(NATIVE); - m_inputFileName.push_back(name); - m_inputDrivers.push_back(pvsdriver); - return NORMAL; - } - } - const IODriver *rootdriver = m_loader.ioDriver("RootDriver"); - if (rootdriver) { - const HistogramManager *manager = rootdriver->openManager(name); - if (manager) { - m_inputFileManager.push_back(manager); - m_inputFileFormat.push_back(ROOT); - m_inputFileName.push_back(name); - m_inputDrivers.push_back(rootdriver); - return NORMAL; - } - } - return ERROR; -} - - - -MultiHistFileManager::Status MultiHistFileManager::addOutputFileManager (std::string name) { - - if (name.find(".pvs")!= name.npos) { - const IODriver *pvsdriver = m_loader.ioDriver("PVSDriver"); - if (pvsdriver) { - HistogramManager *manager = pvsdriver->newManager(name); - if (manager) { - m_outputFileManager.push_back(manager); - m_outputFileFormat.push_back(NATIVE); - m_outputFileName.push_back(name); - m_outputDrivers.push_back(pvsdriver); - return NORMAL; - } - } - } - else { - const IODriver *rootdriver = m_loader.ioDriver("RootDriver"); - if (rootdriver) { - HistogramManager *manager = rootdriver->newManager(name); - if (manager) { - m_outputFileManager.push_back(manager); - m_outputFileFormat.push_back(ROOT); - m_outputFileName.push_back(name); - m_outputDrivers.push_back(rootdriver); - return NORMAL; - } - } - } - return ERROR; -} - diff --git a/graphics/Qat/QatDataAnalysis/src/OptParse.cpp b/graphics/Qat/QatDataAnalysis/src/OptParse.cpp deleted file mode 100644 index 06987815beb0120b87566f6c042747078aece232..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/OptParse.cpp +++ /dev/null @@ -1,385 +0,0 @@ -#include <string> -#include <stdexcept> -#include <iostream> -#include <sstream> -#include "QatDataAnalysis/OptParse.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatDataAnalysis/IOLoader.h" -#include "QatDataAnalysis/IODriver.h" - - -inline std::string getDriver(std::string driverName) { - // Rules: - if (driverName!="") { - return driverName; - } - else { - char *dn=getenv("QAT_IO_DRIVER"); - if (dn) { - return std::string(dn); - } - else { - char *cmt=getenv("CMTPATH"); - if (cmt) { - return "RootDriver"; - } - else { - return "HDF5Driver"; - } - } - } -} - - - -class HIOZeroToOne::Clockwork { -public: - IOLoader loader; - const IODriver *driver; -}; - -HIOZeroToOne::HIOZeroToOne(const std::string & driver):output(NULL), verbose(false), m_c(new Clockwork) { - m_c->driver = m_c->loader.ioDriver(getDriver(driver)); - if (!m_c->driver) throw std::runtime_error("Warning, could not open a driver. Possible installation problem"); -} - -HIOZeroToOne::~HIOZeroToOne() { - if (output) m_c->driver->write(output); - if (output) m_c->driver->close(output); - delete m_c; -} - -void HIOZeroToOne::optParse(int & argc, char ** & argv) { - for (int i=1; i<argc;i++) { - if (std::string(argv[i])=="-o") { - i++; - if (i<argc) { - if (output) { - throw std::runtime_error("HIOZeroToOne two output files specified" ); - } - else { - output = m_c->driver->newManager (argv[i]); - std::copy (argv+i+1, argv+argc, argv+i-1); - argc -=2; - i -=2; - } - } - else { - throw std::runtime_error("Cannot parse output file" ); - } - } - else if (std::string(argv[i])=="-v") { - verbose=true; - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - - } - if (!output) throw std::runtime_error("HIOZeroToOne options parse error" ); -} - - -class HIOOneToOne::Clockwork { -public: - IOLoader loader; - const IODriver *driver; -}; - -HIOOneToOne::HIOOneToOne(const std::string & driver):input(NULL),output(NULL), verbose(false), m_c(new Clockwork) { - m_c->driver = m_c->loader.ioDriver(getDriver(driver)); - if (!m_c->driver) throw std::runtime_error("Warning, could not open a driver. Possible installation problem"); -} - -HIOOneToOne::~HIOOneToOne() { - if (output) m_c->driver->write(output); - if (output) m_c->driver->close(output); - if (input) m_c->driver->close(input); - delete m_c; -} - -void HIOOneToOne::optParse(int & argc, char ** & argv) { - for (int i=1; i<argc;i++) { - if (std::string(argv[i])=="-o") { - i++; - if (i<argc) { - if (output) { - throw std::runtime_error("HIOOneToOne two output files specified" ); - } - else { - output = m_c->driver->newManager (argv[i]); - std::copy (argv+i+1, argv+argc, argv+i-1); - argc -=2; - i -=2; - } - } - else { - throw std::runtime_error("Cannot parse output file" ); - } - } - else if (std::string(argv[i])=="-i") { - i++; - if (i<argc) { - if (input) { - throw std::runtime_error("HIOOneToOne two input files specified" ); - } - else { - input = m_c->driver->openManager (argv[i]); - std::copy (argv+i+1, argv+argc, argv+i-1); - argc -=2; - i -=2; - } - } - else { - throw std::runtime_error("Cannot parse input file" ); - } - } - else if (std::string(argv[i])=="-v") { - verbose=true; - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - - } - if (!output) throw std::runtime_error("HIOOneToOne options parse error" ); - if (!input) throw std::runtime_error("HIOOneToOne no input file" ); -} - -class HIOOneToZero::Clockwork { -public: - IOLoader loader; - const IODriver *driver; -}; - -HIOOneToZero::HIOOneToZero(const std::string & driver):input(NULL), verbose(false), m_c(new Clockwork) { - m_c->driver = m_c->loader.ioDriver(getDriver(driver)); - if (!m_c->driver) throw std::runtime_error("Warning, could not open a root driver. Possible installation problem"); -} - -HIOOneToZero::~HIOOneToZero() { - if (input) m_c->driver->close(input); - delete m_c; -} - -void HIOOneToZero::optParse(int & argc, char ** & argv) { - for (int i=1; i<argc;i++) { - if (std::string(argv[i])=="-i") { - i++; - if (i<argc) { - if (input) { - throw std::runtime_error("HIOOneToZero two input files specified" ); - } - else { - input = m_c->driver->openManager (argv[i]); - std::copy (argv+i+1, argv+argc, argv+i-1); - argc -=2; - i -=2; - } - } - else { - throw std::runtime_error("Cannot parse input file" ); - } - } - else if (std::string(argv[i])=="-v") { - verbose=true; - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - - } - if (!input) throw std::runtime_error("HIOOneToZero no input file" ); -} - - -class HIONToOne::Clockwork { -public: - IOLoader loader; - const IODriver *driver; -}; - -HIONToOne::HIONToOne(const std::string & driver):output(NULL), verbose(false), m_c(new Clockwork) { - m_c->driver = m_c->loader.ioDriver(getDriver(driver)); - if (!m_c->driver) throw std::runtime_error("Warning, could not open a root driver. Possible installation problem"); -} - -HIONToOne::~HIONToOne() { - if (output) m_c->driver->write(output); - if (output) m_c->driver->close(output); - for (unsigned int i=0;i<input.size();i++) m_c->driver->close(input[i]); - delete m_c; -} - -void HIONToOne::optParse(int & argc, char ** & argv) { - for (int i=1; i<argc;i++) { - if (std::string(argv[i])=="-o") { - i++; - if (i<argc) { - if (output) { - throw std::runtime_error("HIONToOne two output files specified" ); - } - else { - output = m_c->driver->newManager (argv[i]); - std::copy (argv+i+1, argv+argc, argv+i-1); - argc -=2; - i -=2; - } - } - else { - throw std::runtime_error("Cannot parse output file" ); - } - } - else if (std::string(argv[i])=="-v") { - verbose=true; - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - else { - if (std::string(argv[i]).find('=')==std::string(argv[i]).npos) { - const HistogramManager *manager=m_c->driver->openManager(argv[i]); - if (manager) input.push_back(manager); - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - } - } - if (!input.size()) throw std::runtime_error("HIONToOne no input file" ); - if (!output) throw std::runtime_error("HIONToOne options parse error" ); -} - -class HIONToZero::Clockwork { -public: - IOLoader loader; - const IODriver *driver; -}; - -HIONToZero::HIONToZero(const std::string & driver):verbose(false), m_c(new Clockwork) { - m_c->driver = m_c->loader.ioDriver(getDriver(driver)); - if (!m_c->driver) throw std::runtime_error("Warning, could not open a root driver. Possible installation problem"); -} - -HIONToZero::~HIONToZero() { - for (unsigned int i=0;i<input.size();i++) m_c->driver->close(input[i]); - delete m_c; -} - -void HIONToZero::optParse(int & argc, char ** & argv) { - for (int i=1; i<argc;i++) { - if (std::string(argv[i])=="-v") { - verbose=true; - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - else { - if (std::string(argv[i]).find('=')==std::string(argv[i]).npos) { - const HistogramManager *manager=m_c->driver->openManager(argv[i]); - if (manager) input.push_back(manager); - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - } - } - if (!input.size()) throw std::runtime_error("HIONToZero no input file" ); -} - - -class NumericInput::Clockwork { -public: - - - - struct InputData { - std::string name; - std::string doc; - double value; - }; - - - std::vector<InputData> inputData; - bool modParameter (const std::string & modifier); - -}; - -bool NumericInput::Clockwork::modParameter (const std::string & modifier) { - // Parse modifier - size_t pos = modifier.find('='); - if (pos==modifier.npos) { - return false; - } - else { - std::string variable = modifier.substr(0,pos); - std::string value = modifier.substr(pos+1,modifier.npos); - std::istringstream valueStream(value); - double val; - valueStream >> val; - if (!valueStream) return false; - for (unsigned int i=0;i<inputData.size();i++) { - std::string trimmedVar= (inputData[i].name.substr(0,inputData[i].name.find(' '))); - if (trimmedVar==variable) { - inputData[i].value=val; - return true; - } - } - - return false; - } -} - - -NumericInput::NumericInput() :m_c(new Clockwork()) { -} - -NumericInput::~NumericInput() { - delete m_c; -} - - -std::string NumericInput::usage() const { - std::ostringstream stream; - stream << "Parameter usage" << std::endl; - for (unsigned int i = 0; i< m_c->inputData.size();i++) { - stream << m_c->inputData[i].name << " " << m_c->inputData[i].doc << '\t' << m_c->inputData[i].value << std::endl; - } - return stream.str(); - -} -void NumericInput::optParse(int & argc, char ** & argv) { - for (int i=1; i<argc;i++) { - std::string thisArg(argv[i]); - if (thisArg.find("=")!=thisArg.npos) { - if (!m_c->modParameter(thisArg)) { - throw std::runtime_error("Cannot modify parameter "+ thisArg); - } else { - std::copy(argv+i+1, argv+argc, argv+i); - argc -= 1; - i -= 1; - } - } - } -} - - -void NumericInput::declare(const std::string & name, const std::string & doc, double val){ - Clockwork::InputData data; - data.name=name; - data.doc =doc; - data.value=val; - m_c->inputData.push_back(data); -} - -double NumericInput::getByName (const std::string & name) const { - for (unsigned int i=0;i<m_c->inputData.size();i++) { - std::string trimmedVar= (m_c->inputData[i].name.substr(0,m_c->inputData[i].name.find(' '))); - if (trimmedVar==name) { - return m_c->inputData[i].value; - } - } - //something wrong if you reached here - throw std::runtime_error("Cannot parse parameter " + name); -} - diff --git a/graphics/Qat/QatDataAnalysis/src/Projection.cpp b/graphics/Qat/QatDataAnalysis/src/Projection.cpp deleted file mode 100644 index 6a5bceae10bf1e7b09920eee04a0a47096ff2386..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/Projection.cpp +++ /dev/null @@ -1,145 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Projection.h" -#include "QatDataAnalysis/AttributeList.h" -#include "QatDataAnalysis/AttributeListLink.h" -#include "QatDataAnalysis/Table.h" -#include <sstream> -#include <typeinfo> - - -class ProjectionStore: public TupleStore { - -public: - - // Constructor: - ProjectionStore(TupleStoreConstLink StoreA, AttributeListConstLink BList, const std::vector<int> & Dist): - m_opA(StoreA),m_bList(BList),m_ssize(-1),m_dist(Dist){ - - } - - // For input: - virtual TupleConstLink operator [](size_t i) const { - - TupleConstLink t = ((*m_opA)[i]); - if (!t) return NULL; - - TupleLink xt = new Tuple(m_bList); - for (unsigned int i=0;i<m_dist.size();i++) { - xt->valueList().add(t->valueList()[m_dist[i]]); - } - return xt; - } - - // Get the size: - virtual size_t size() const { - - if (m_ssize<0) { - m_ssize=m_opA->size(); - } - return m_ssize; - } - -private: - - // Destructor: - virtual ~ProjectionStore() { - } - - TupleStoreConstLink m_opA; - AttributeListConstLink m_bList; - mutable int m_ssize; - std::vector<int> m_dist; - - - // Silence compiler warnings about solitude - friend class ImaginaryFriend; -}; - - -Table Projection::operator * (const Table & table) const -{ - - AttributeListLink bList = new AttributeList(); - - // Add an entry - - std::vector<int> dist; - - for (AttributeList::ConstIterator a = table.attributeList()->begin();a!= table.attributeList()->end();a++) { - std::string name = (*a).name(); - if (std::find(m_nameList.begin(),m_nameList.end(),name)!=m_nameList.end()) { - - //int distance = a-table.attributeList()->begin(); - dist.push_back((*a).attrId()); - - if ((*a).type()==Attribute::DOUBLE) { - bList->add(name,typeid(double(0))); - } - else if ((*a).type()==Attribute::FLOAT) { - bList->add(name,typeid(float(0))); - } - else if ((*a).type()==Attribute::INT) { - bList->add(name,typeid(int(0))); - } - else if ((*a).type()==Attribute::UINT) { - bList->add(name,typeid(size_t(0))); - } - else { - throw std::runtime_error("Error unknown type in projection operation"); - } - } - } - - const ProjectionStore *newStore = new ProjectionStore(table.store(),bList,dist); - - Table t(table.name(),newStore); - return t; -} - - - -Projection::Projection () -{ - m_nameList.insert(std::string("Entry")); -} - -Projection::~Projection () { - -} - -Projection::Projection(const Projection & projection): - m_nameList(projection.m_nameList) -{ -} - -Projection & Projection::operator = (const Projection & projection) { - if (&projection != this) { - m_nameList=projection.m_nameList; - } - return *this; -} - -void Projection::add (const std::string & name) { - m_nameList.insert (name); -} diff --git a/graphics/Qat/QatDataAnalysis/src/QatUtils.cpp b/graphics/Qat/QatDataAnalysis/src/QatUtils.cpp deleted file mode 100644 index 36ba97578057e40955343042b3d0b8a37d477809..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/QatUtils.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include "QatDataAnalysis/QatUtils.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatDataAnalysis/Hist1D.h" -#include "QatDataAnalysis/Hist2D.h" -#include "QatDataAnalysis/Table.h" -void deepCopy(const HistogramManager *input, HistogramManager *output) { - for (HistogramManager::DConstIterator d=input->beginDir();d!=input->endDir();d++) { - HistogramManager *newDir=output->newDir((*d)->name()); - deepCopy(*d,newDir); - } - - for (HistogramManager::H1ConstIterator d=input->beginH1();d!=input->endH1();d++) { - output->newHist1D(**d); - } - - for (HistogramManager::H2ConstIterator d=input->beginH2();d!=input->endH2();d++) { - output->newHist2D(**d); - } - - for (HistogramManager::TConstIterator d=input->beginTable();d!=input->endTable();d++) { - output->newTable(**d); - } - -} diff --git a/graphics/Qat/QatDataAnalysis/src/RCSBase.cpp b/graphics/Qat/QatDataAnalysis/src/RCSBase.cpp deleted file mode 100644 index debc270c06f2a409b80a4c8cd661ab1ed6144721..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/RCSBase.cpp +++ /dev/null @@ -1,65 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/RCSBase.h" - -RCSBase::RCSBase() - : m_count(0) -{ -} - - -RCSBase::~RCSBase() -{ -} - - - -void RCSBase::ref() const -{ - m_count++; -} - -void RCSBase::unref() const -{ - if (!m_count) - { - - } - else - { - m_count--; - if (m_count==1) uncache(); - if (!m_count) delete this; - } - -} - -unsigned int RCSBase::refCount() const -{ - return m_count; -} - -void RCSBase::uncache() const { -} - - diff --git a/graphics/Qat/QatDataAnalysis/src/Selection.cpp b/graphics/Qat/QatDataAnalysis/src/Selection.cpp deleted file mode 100644 index fd0e44bfe5006c0d0b57924f26aab07f8b20556d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/Selection.cpp +++ /dev/null @@ -1,111 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Selection.h" -#include "QatDataAnalysis/TupleConstLink.h" -class SelectionStore: public TupleStore { - -public: - - // Constructor: - SelectionStore(TupleStoreConstLink StoreA, const Cut<Tuple> & Cut): - m_opA(StoreA),m_cut(Cut.clone()),m_ssize(-1),m_lastAccess(-1),m_lastAddress(-1) { - } - - // For input: - virtual TupleConstLink operator [](size_t i) const { - - unsigned int asize = (*m_opA).size(); - unsigned int address = (int(i)>m_lastAccess) ? m_lastAddress+1: 0; - - while (address<asize) { - TupleConstLink t = ((*m_opA)[address]); - if ((*m_cut)(*t)) { - m_lastAddress=address; - m_lastAccess=i; - return t; - } - address++; - } - return NULL; - } - - // Get the size: - virtual size_t size() const { - - if (m_ssize<0) { - m_ssize=0; - for (unsigned int i=0;i<m_opA->size();i++) { - if ((*m_cut)(*(*m_opA)[i])) m_ssize++; - } - } - return m_ssize; - } - -private: - - // Destructor: - virtual ~SelectionStore() { - delete m_cut; - } - - TupleStoreConstLink m_opA; - Cut<Tuple> *m_cut; - mutable int m_ssize; - mutable int m_lastAccess; - mutable int m_lastAddress; - - // Silence compiler warnings about solitude - friend class ImaginaryFriend; -}; - - - - -Selection::Selection (const Cut<Tuple> & cut): -m_cut(cut.clone()) -{ -} - -Selection::~Selection () { - delete m_cut; -} - -Selection::Selection(const Selection & selection): - m_cut(selection.m_cut->clone()) -{ -} - -Table Selection::operator * (const Table & table) const -{ - TupleStoreLink newStore = new SelectionStore(table.store(),*m_cut); - Table t(table.name(), newStore); - return t; -} - -Selection & Selection::operator = (const Selection & selection) { - if (&selection != this) { - delete m_cut; - m_cut=selection.m_cut->clone(); - } - return *this; -} diff --git a/graphics/Qat/QatDataAnalysis/src/ServerSocket.cpp b/graphics/Qat/QatDataAnalysis/src/ServerSocket.cpp deleted file mode 100644 index a01483094549cbb17f221d6a8e728a68cf50790d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/ServerSocket.cpp +++ /dev/null @@ -1,59 +0,0 @@ -// Implementation of the ServerSocket class - -#include "QatDataAnalysis/ServerSocket.h" -#include "QatDataAnalysis/SocketException.h" - - -ServerSocket::ServerSocket ( int port ) -{ - if ( ! Socket::create() ) - { - throw SocketException ( "Could not create server socket." ); - } - - if ( ! Socket::bind ( port ) ) - { - throw SocketException ( "Could not bind to port." ); - } - - if ( ! Socket::listen() ) - { - throw SocketException ( "Could not listen to socket." ); - } - -} - -ServerSocket::~ServerSocket() -{ -} - - -const ServerSocket& ServerSocket::operator << ( const std::string& s ) const -{ - if ( ! Socket::send ( s ) ) - { - throw SocketException ( "Could not write to socket." ); - } - - return *this; - -} - - -const ServerSocket& ServerSocket::operator >> ( std::string& s ) const -{ - if ( ! Socket::recv ( s ) ) - { - throw SocketException ( "Could not read from socket." ); - } - - return *this; -} - -void ServerSocket::accept ( ServerSocket& sock ) -{ - if ( ! Socket::accept ( sock ) ) - { - throw SocketException ( "Could not accept socket." ); - } -} diff --git a/graphics/Qat/QatDataAnalysis/src/Socket.cpp b/graphics/Qat/QatDataAnalysis/src/Socket.cpp deleted file mode 100644 index 74ced40f4f69caa1934fee8cebb01b5f0fc15574..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/Socket.cpp +++ /dev/null @@ -1,194 +0,0 @@ -// Implementation of the Socket class. - - -#include "QatDataAnalysis/Socket.h" -#include "string.h" -#include <string.h> -#include <errno.h> -#include <fcntl.h> -#include <iostream> - - -Socket::Socket() : - m_sock ( -1 ) -{ - - memset ( &m_addr, - 0, - sizeof ( m_addr ) ); - -} - -Socket::~Socket() -{ - if ( is_valid() ) - ::close ( m_sock ); -} - -bool Socket::create() -{ - m_sock = socket ( AF_INET, - SOCK_STREAM, - 0 ); - - if ( ! is_valid() ) - return false; - - - // TIME_WAIT - argh - int on = 1; - if ( setsockopt ( m_sock, SOL_SOCKET, SO_REUSEADDR, ( const char* ) &on, sizeof ( on ) ) == -1 ) - return false; - - - return true; - -} - - - -bool Socket::bind ( const int port ) -{ - - if ( ! is_valid() ) - { - return false; - } - - - - m_addr.sin_family = AF_INET; - m_addr.sin_addr.s_addr = INADDR_ANY; - m_addr.sin_port = htons ( port ); - - int bind_return = ::bind ( m_sock, - ( struct sockaddr * ) &m_addr, - sizeof ( m_addr ) ); - - - if ( bind_return == -1 ) - { - return false; - } - - return true; -} - - -bool Socket::listen() const -{ - if ( ! is_valid() ) - { - return false; - } - - int listen_return = ::listen ( m_sock, MAXCONNECTIONS ); - - - if ( listen_return == -1 ) - { - return false; - } - - return true; -} - - -bool Socket::accept ( Socket& new_socket ) const -{ - int addr_length = sizeof ( m_addr ); - new_socket.m_sock = ::accept ( m_sock, ( sockaddr * ) &m_addr, ( socklen_t * ) &addr_length ); - - if ( new_socket.m_sock <= 0 ) - return false; - else - return true; -} - - -bool Socket::send ( const std::string s ) const -{ - int status = ::send ( m_sock, s.c_str(), s.size(), MSG_NOSIGNAL ); - if ( status == -1 ) - { - return false; - } - else - { - return true; - } -} - - -int Socket::recv ( std::string& s ) const -{ - char buf [ MAXRECV + 1 ]; - - s = ""; - - memset ( buf, 0, MAXRECV + 1 ); - - int status = ::recv ( m_sock, buf, MAXRECV, 0 ); - - if ( status == -1 ) - { - std::cout << "status == -1 errno == " << errno << " in Socket::recv\n"; - return 0; - } - else if ( status == 0 ) - { - return 0; - } - else - { - s = buf; - return status; - } -} - - - - - -bool Socket::connect ( const std::string host, const int port ) -{ - if ( ! is_valid() ) return false; - - m_addr.sin_family = AF_INET; - m_addr.sin_port = htons ( port ); - - int status = inet_pton ( AF_INET, host.c_str(), &m_addr.sin_addr ); - - if ( errno == EAFNOSUPPORT ) return false; - - status = ::connect ( m_sock, ( sockaddr * ) &m_addr, sizeof ( m_addr ) ); - - return ( status == 0 ); -} - -void Socket::set_non_blocking ( const bool b ) -{ - - int opts; - - opts = fcntl ( m_sock, - F_GETFL ); - - if ( opts < 0 ) - { - return; - } - - if ( b ) - opts = ( opts | O_NONBLOCK ); - else - opts = ( opts & ~O_NONBLOCK ); - - const int retval=fcntl ( m_sock,F_SETFL,opts ); - if (retval==-1){ - std::cout << "status == -1 in Socket::set_non_blocking of QatDataAnalysis\n"; - } -} - - - diff --git a/graphics/Qat/QatDataAnalysis/src/Table.cpp b/graphics/Qat/QatDataAnalysis/src/Table.cpp deleted file mode 100644 index e7701f88103a809721ad2570c84768c84ef65594..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/Table.cpp +++ /dev/null @@ -1,198 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Table.h" -#include "QatDataAnalysis/AttributeList.h" -#include "QatDataAnalysis/AttributeListLink.h" -#include "QatDataAnalysis/Tuple.h" -#include "CLHEP/GenericFunctions/Variable.hh" -#include <iomanip> -#include <stdexcept> - - - -AttributeListConstLink Table::attributeList() const { - if (!m_c->tuple) return AttributeListConstLink(); - return m_c->tuple->attributeList(); -} - -Table::Table(const std::string & name, const TupleStoreLink s): - m_c(new Clockwork) -{ - m_c->name = name; - - // Make a compound table (it is the most general!) - m_c->store=s; - - - if (s->size()==0) { - AttributeListConstLink attributeList=new AttributeList(); - m_c->tuple=new Tuple(attributeList); - } - else { - m_c->tuple = (TupleLink) (*s)[s->size()-1]; - } - -} - -Table::Table(const std::string & name): - m_c(new Clockwork) -{ - m_c->name = name; - - // Assign to Link, will delete automatically. - AttributeListConstLink attributeList=new AttributeList(); - - // Assign to Link, will delete automatically. - m_c->tuple=new Tuple(attributeList); - - // Make a compound table (it is the most general!) - m_c->store=new CompoundStore(); -} - -Table::~Table() { - delete m_c; -} - -TupleConstLink Table::capture() { - - if (!m_c->store->size()) { - - AttributeListLink attListPtr = AttributeListLink(m_c->tuple->attributeList()); - ValueList * valListPtr = & m_c->tuple->valueList(); - AttributeList & attList = *attListPtr; - ValueList & valList = *valListPtr; - - size_t maxNameLength=0; - - // - // Bubble sort both the list of atrributes and their values:--// - // These operations will re-organize the tuple (requiring const_cast). - // - for (unsigned int i = 0; i< attList.size(); i++) { - maxNameLength = std::max(maxNameLength,attList[i].name().size()); - for (unsigned int j = 0; j< attList.size(); j++) { - if (attList[i] < attList[j]) { - std::swap(attList[i], attList[j]); - std::swap(valList[i], valList[j]); - } - } - } - for (unsigned int i=0;i<attList.size();i++) { - m_c->nameList.push_back(attList[i].name()); - attList[i].attrId()=i; - } - } - m_c->store->push_back(m_c->tuple); - m_c->tuple=new Tuple(m_c->tuple->attributeList(),m_c->tuple->valueList()); - - return (*(m_c->store))[m_c->store->size()-1]; -} - -std::ostream & Table::print (std::ostream & o) const { - if (m_c->store->size()==0) return o; - - for (AttributeList::ConstIterator t=m_c->tuple->attributeList()->begin();t!=m_c->tuple->attributeList()->end();t++) { - o << std::setw(10); - o << (*t).name() << " "; - } - o << std::endl; - for (size_t t = 0; t< numTuples();t++) { - (*this)[t]->print(o); - } - return o; -} - - -size_t Table::numAttributes() const { - if (m_c->store->size()==0) throw std::runtime_error ("Table::size. Attribute list not formed"); - return m_c->tuple->attributeList()->size(); -} - - -TupleConstLink Table::operator [] (size_t index) const { - return (*(m_c->store))[index]; - -} - - - -void Table::operator += (const Table & a) { - - CompoundStore *cStore = dynamic_cast<CompoundStore *> (m_c->store.operator->()); - if (!cStore) throw std::runtime_error("Error summing tables: table type?"); - - if (cStore->isLocked()) throw std::runtime_error("Error summing tables: first operand is locked"); - - // Check that both tables are compatible with the union: - - if (!attributeList()||attributeList()->size()==0) { - m_c->tuple=new Tuple(a.attributeList(),a.m_c->tuple->valueList()); - } - - if (a.attributeList()->size()!=attributeList()->size()) { - throw std::runtime_error ("Error summing tables: operands are not compatible with the union"); - } - for (unsigned int i=0;i<a.attributeList()->size(); i++) { - if ((*attributeList())[i].name()!=(*a.attributeList())[i].name()) { - throw std::runtime_error ("Error summing tables: operands are not compatible with the union"); - } - if ((*attributeList())[i].typeName()!=(*a.attributeList())[i].typeName()) { - throw std::runtime_error ("Error summing tables: operands are not compatible with the union"); - } - } - cStore->push_back(a.m_c->store); - - // Once this table has been used in an "operation" it is locked to further modification! - - a.m_c->store->lock(); -} - -Table::Table(const Table & table) : - m_c(new Clockwork(*table.m_c)) -{ -} - -TupleStoreConstLink Table::store() const { - return m_c->store; -} - -Genfun::Variable Table::symbol (const std::string & name) const { - const Attribute & a = attribute(name); - return Genfun::Variable(a.attrId(),numAttributes()); -} - - - -Table *Table::memorize() const{ - - Table *t = new Table(m_c->name); - t->m_c->store=new CompoundStore(); - t->m_c->tuple = m_c->tuple; - - for (unsigned int n=0;n<numTuples();n++) { - TupleConstLink tp=(*m_c->store)[n]; - TupleConstLink nt=new Tuple(tp->attributeList(),tp->valueList()); - t->m_c->store->push_back(nt); - } - return t; -} diff --git a/graphics/Qat/QatDataAnalysis/src/Tuple.cpp b/graphics/Qat/QatDataAnalysis/src/Tuple.cpp deleted file mode 100644 index 803bb9f93a1904115c07e338a917af9157695dfa..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/Tuple.cpp +++ /dev/null @@ -1,122 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Tuple.h" -#include <iomanip> -#include <stdexcept> - -std::ostream & Tuple::print (std::ostream & o) const { - - - for (unsigned int i=0; i<m_attributeList->size();i++) { - o << std::setw(10); - - { - int value=0; - if (this->read(value,i)) { - o << value << " "; continue; - } - } - - - { - double value=0; - if (this->read(value,i)) { - o << value << " "; continue; - } - } - - { - float value=0; - if (this->read(value,i)) { - o << value << " "; continue; - } - } - - { - unsigned int value=0; - if (this->read(value,i)) { - o << value << " "; continue; - } - } - - - o << (*m_attributeList)[i].typeName() << "(?)" ; - } - o << std::endl; - return o; -} - - - -const Genfun::Argument & Tuple::asDoublePrec() const { - - // No space has ever been allocated. Allocate it! - if (!m_doubleRep) { - m_doubleRep = new Genfun::Argument(m_attributeList->size()); - // just to be sure: - m_doubleRepStale=true; - } - - if (m_doubleRepStale) { - Genfun::Argument &a = *m_doubleRep; - - unsigned int nAttr=m_attributeList->size(); - for (unsigned int i=0;i<nAttr;i++) { - switch ((*m_attributeList)[i].type()) { - case Attribute::DOUBLE: - { - fastread(a[i],i); - break; - } - case Attribute::FLOAT: - { - float value; - fastread(value,i); - a[i]=value; - break; - } - case Attribute::INT: - { - int value; - fastread(value,i); - a[i]=value; - break; - } - case Attribute::UINT: - { - unsigned int value; - fastread(value,i); - a[i]=value; - break; - } - default: - { - a[i]=0; - } - } - } - m_doubleRepStale=false; - } - return *m_doubleRep; -} - diff --git a/graphics/Qat/QatDataAnalysis/src/TupleCut.cpp b/graphics/Qat/QatDataAnalysis/src/TupleCut.cpp deleted file mode 100644 index df9abb7cebfe5f0fdae767caf32aa0ecb6b94809..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/TupleCut.cpp +++ /dev/null @@ -1,71 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/TupleCut.h" -#include <set> -TupleCut::TupleCut (const TupleCut & right): - Cut<Tuple>(), - m_f(right.m_f->clone()), - m_t(right.m_t), - m_v1(right.m_v1), - m_v2(right.m_v2) -{} - -TupleCut::TupleCut(Genfun::GENFUNCTION f, double min, double max): - m_f(f.clone()), - m_t(NA), - m_v1(min), - m_v2(max) {} - -TupleCut::TupleCut(Genfun::GENFUNCTION f, Type t, double val): -m_f(f.clone()), -m_t(t), -m_v1(val), -m_v2(0) -{ -} - -TupleCut::~TupleCut() { - delete m_f; -} - -TupleCut *TupleCut::clone(void) const { - return new TupleCut(*this); -} - -bool TupleCut::operator () (const Tuple & t) const { - - double fx = (*m_f)(t.asDoublePrec()); - switch (m_t) { - case NA: - return fx >= m_v1 && fx <= m_v2; - case GT: - return fx > m_v1; - case LT: - return fx < m_v1; - case GE: - return fx >= m_v1; - case LE: - return fx <= m_v1; - } - return false; -} diff --git a/graphics/Qat/QatDataAnalysis/src/TupleStore.cpp b/graphics/Qat/QatDataAnalysis/src/TupleStore.cpp deleted file mode 100644 index dbe6922556732985a46c244ef3b37a589bcc19e2..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/TupleStore.cpp +++ /dev/null @@ -1,101 +0,0 @@ -#include "QatDataAnalysis/TupleStore.h" -#include <stdexcept> -TupleStore::TupleStore(): m_lock(false) { -} -TupleStore::~TupleStore() { -} -void TupleStore::lock() const { - m_lock=true; -} -bool TupleStore::isLocked() const { - return m_lock; -} - -SimpleStore::SimpleStore(){ -} - -SimpleStore::~SimpleStore() { -} - - -TupleConstLink SimpleStore::operator [](size_t i) const { - return m_tVector[i]; -} - -void SimpleStore::push_back(TupleConstLink t) { - - if (isLocked()) { - throw std::runtime_error("Attempt to write to a locked tuple store!"); - } - else { - m_tVector.push_back(t); - } -} - -size_t SimpleStore::size() const { - return m_tVector.size(); -} - - -CompoundStore::CompoundStore(){ -} - -CompoundStore::~CompoundStore() { -} - - -TupleConstLink CompoundStore::operator [](size_t i) const { - unsigned int V=0; - for (unsigned int v=0;v<m_sVector.size();v++) { - if ((i-V)<(*m_sVector[v]).size()) { - return (*m_sVector[v])[i-V]; - } - else { - V+=(*m_sVector[v]).size(); - } - } - return TupleConstLink(); -} - -void CompoundStore::push_back(TupleConstLink t) { - - if (isLocked()) { - throw std::runtime_error("Attempt to write to a locked tuple store!"); - } - else { - SimpleStore *s = m_sVector.empty() ? 0 : dynamic_cast<SimpleStore *> (m_sVector.back().operator ->()) ; - if (!s) { - if (!m_sVector.empty()) (*m_sVector.back()).lock(); - s = new SimpleStore(); - TupleStoreLink sLink(s); - m_sVector.push_back(sLink); - } - s->push_back(t); - } -} -void CompoundStore::push_back(TupleStoreLink t) { - if (isLocked()) { - throw std::runtime_error("Attempt to write to a locked tuple store!"); - } - else if (t.operator->()==this) { - throw std::runtime_error("Attempt to add a compound store to itself"); - } - else { - // Lock the store being added. No more modification possible. - t->lock(); - - // Lock also the last tupleStore, if it exists. - if (!m_sVector.empty()) (*m_sVector.back()).lock(); - - m_sVector.push_back(t); - } -} - -size_t CompoundStore::size() const { - unsigned int total(0); - - for (unsigned int i=0;i<m_sVector.size();i++) { - total+=(*m_sVector[i]).size(); - } - return total; -} diff --git a/graphics/Qat/QatDataAnalysis/src/ValueList.cpp b/graphics/Qat/QatDataAnalysis/src/ValueList.cpp deleted file mode 100644 index 735869be6d1daa83b2a4e00ee97a47ac1fff9d09..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/ValueList.cpp +++ /dev/null @@ -1,23 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/ValueList.h" diff --git a/graphics/Qat/QatDataAnalysis/src/asymmetry.cpp b/graphics/Qat/QatDataAnalysis/src/asymmetry.cpp deleted file mode 100644 index a40c7c744177e38970981ac56799690c2559a202..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataAnalysis/src/asymmetry.cpp +++ /dev/null @@ -1,140 +0,0 @@ -/*------------------------------------------------------------------------*/ -/* */ -/* Routine to calculate error bars for efficiency plots */ -/* */ -/* Joe Boudreau October 1994 */ -/* */ -/*------------------------------------------------------------------------*/ -#include "QatDataAnalysis/asymmetry.h" -#include <cmath> -double ConfidenceLevel(int M, int N, double x); -double ConfidenceLevel(int M, int N, double x); -double Binomial(int M, int N); -double xsearch(int M, int N, double cl); - -int asymmetry (int M, int N, double & xmean, double & xplus, double & xminus) { - - // No statistics, no information - - if (M==0) return ASYMM_ERROR; - - // Decide which whether to "flip" the problem for efficiency - - int invert=0; - if (N>(M+1)/2) { - N = M-N; - invert = true; - } - - // Find the confidence level of the mean - - double cmean,cplus,cminus; - xmean = double(N)/double (M); - if (M-N>25) { - double p = double(N)/double(M), q= 1.0-p; - xplus = xmean+sqrt(p*q/M); - xminus= xmean-sqrt(p*q/M); - } - else { - if (N==M) cmean=1.0; - else if (N==0) cmean=0.0; - else cmean=ConfidenceLevel(M,N,xmean); - - // Search of upper and lower confidence intervals - - const double OneStd=0.6827; - if (cmean>(1.0-OneStd/2.0)) { - xplus = 1.0; - cminus = 1-OneStd; - xminus = xsearch(M,N,cminus); - } - else if ((cmean<OneStd/2.0)) { - xminus = 0.0; - cplus = OneStd; - xplus = xsearch(M,N,cplus); - } - else { - cplus = cmean + OneStd/2.0; - cminus = cmean - OneStd/2.0; - xplus = xsearch (M,N,cplus); - xminus = xsearch (M,N,cminus); - } - } - // Now if we "flipped" the problem, then flip it back - - if (invert) { - double xp = xplus, xm=xminus; - xmean = 1.0 - xmean; - xplus = 1.0 - xm; - xminus = 1.0 - xp; - } - - return ASYMM_NORMAL; -} - - -/*------------------------------------------------------------------------*/ -/* */ -/* Search for x when the confidence level of x is given */ -/* */ -/* Joe Boudreau October 1994 */ -/* */ -/*------------------------------------------------------------------------*/ -double xsearch(int M, int N, double cl) { - - double X,interval[2]={0.0,1.0},precision=1.0; - while (precision>0.00001) { - X = (interval[0]+interval[1])/2.0; - precision = (interval[1]-interval[0]); - if (ConfidenceLevel(M,N,X)<cl){ - interval[0]=X; - } - else if (ConfidenceLevel(M,N,X)>cl){ - interval[1]=X; - } - else { - return X; - } - } - return X; -} - -/*------------------------------------------------------------------------*/ -/* */ -/* Search for x when the confidence level of x is given */ -/* */ -/* Joe Boudreau October 1994 */ -/* */ -/*------------------------------------------------------------------------*/ - -double ConfidenceLevel(int M, int N, double x) { - double CL=0.0; - if (x<=0.0) { - return 0.0; - } - else if (CL>=1.0) { - return 1.0; - } - else if (N<(M+1)/2) { - CL = 1.0; - for (int i=0;i<=N;i++) CL -= (Binomial(M+1,i)*pow(x,i)*pow(1.0-x,M+1-i)); - return CL; - } - else { - for (int i=N+1;i<=M+1;i++) CL += (Binomial(M+1,i)*pow(x,i)*pow(1.0-x,M+1-i)); - return CL; - } -} - -/*------------------------------------------------------------------------*/ -/* */ -/* Binomial coefficients from the C math library */ -/* */ -/* Joe Boudreau October 1994 */ -/* */ -/*------------------------------------------------------------------------*/ - -double Binomial(int M, int N){ - return floor(0.5 + exp(lgamma(double(M+1)) -lgamma(double(N+1)) - lgamma(double(M-N+1)))); -} - diff --git a/graphics/Qat/QatDataModeling/CMakeLists.txt b/graphics/Qat/QatDataModeling/CMakeLists.txt deleted file mode 100644 index 0e70d66009aa01f90d41f71455e464eb96190b35..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# Package: QatDataModeling -################################################################################ - -# Declare the package name: -atlas_subdir( QatDataModeling ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PRIVATE - graphics/Qat/QatDataAnalysis ) - -# External dependencies: -find_package( CLHEP ) - -# Component(s) in the package: -atlas_add_library( QatDataModeling - src/*.cpp - src/*.cc - src/*.F - PUBLIC_HEADERS QatDataModeling - INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} - DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} - PRIVATE_LINK_LIBRARIES QatDataAnalysis ) - diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/ChiSq.h b/graphics/Qat/QatDataModeling/QatDataModeling/ChiSq.h deleted file mode 100644 index 41606b0f10c89aca2348bf0092355044e66368fe..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/ChiSq.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef _CHISQ_H_ -#define _CHISQ_H_ -#include "QatDataModeling/ObjectiveFunction.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "CLHEP/GenericFunctions/AbsFunctional.hh" -#include <vector> -class ChiSq:public Genfun::AbsFunctional { -public: - - // Constructor - ChiSq(){} - - // Destructor: - ~ChiSq(){} - - // Function Call Operator - virtual double operator [] (const Genfun::AbsFunction & f) const { - double c2=0.0; - for (unsigned int i=0;i<_points.size();i++) { - point p = _points[i]; - double y = f(p.x); - c2 += (p.y-y)*(p.y-y)/p.dy/p.dy; - } - return c2; - } - - // Add a data point: - void addPoint (double x, double y, double dy) { - point p; - p.x=x; - p.y=y; - p.dy=dy; - _points.push_back(p); - } - -private: - struct point { - double x; - double y; - double dy; - }; - - std::vector<point> _points; - -}; -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/FitFunction.h b/graphics/Qat/QatDataModeling/QatDataModeling/FitFunction.h deleted file mode 100644 index 239441476d38f523994f7657054915817924bc7d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/FitFunction.h +++ /dev/null @@ -1,75 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------*FitFunction*-----------------------// -// // -// Joe Boudreau December 2K // -// Abstract base class for fit functions. These "functions" // -// are actually multiple functions, controlled by the same // -// parameters, or at least having some of the same parameters. // -// This allows us to handle "constrained fits" // -// // -//----------------------------------------------------------------// -#ifndef FitFunction_h_ -#define FitFunction_h_ - -class Hist1D; -namespace Genfun { - class AbsFunction; - class Parameter; -} - - -class FitFunction { - -public: - - // Constructor: - FitFunction(); - - // Destructor: - virtual ~FitFunction(); - - // Get number of parameters: - virtual int getNumParameters() const = 0; - - // Get number of functions: - virtual int getNumFunctions() const = 0; - - // Get i^th parameter - Genfun::Parameter & getParameter(int i); - virtual const Genfun::Parameter & getParameter(int i) const = 0; - - // Get i^th function: - virtual const Genfun::AbsFunction & getFunction(int i) const = 0; - - // Is the i^th function normalized? - virtual bool isIntegrable(int i=0) = 0; - - // Give a hint to the i^th function, where it should start from: - // Do nothing (by default); - virtual void hint (const Hist1D & /*histogram*/, int /*i*/) {;} - - - -}; -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/HistChi2Functional.h b/graphics/Qat/QatDataModeling/QatDataModeling/HistChi2Functional.h deleted file mode 100644 index 2dd71d84f5f266c34d5039790107b5c24581d175..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/HistChi2Functional.h +++ /dev/null @@ -1,79 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - - -//-------------------------------------------------------------// -// // -// This functional returns the ChiSquared of a function // -// with respect to some histogram. // -// // -//-------------------------------------------------------------// - -#ifndef _HistChi2Functional_h_ -#define _HistChi2Functional_h_ -#include "CLHEP/GenericFunctions/AbsFunctional.hh" -class Hist1D; -class HistChi2Functional:public Genfun::AbsFunctional { - -public: - - // Constructor: - HistChi2Functional(const Hist1D * histogram, - double lower=-1E100, - double upper= 1E100, - bool integrate=false); - - // Destructor: - ~HistChi2Functional(); - - // Copy constructor - HistChi2Functional(const HistChi2Functional &); - - // Evaluate ChiSquared of a function w.r.t the histogram - virtual double operator [] (const Genfun::AbsFunction & function) const; - -private: - - const Hist1D *m_histogram; // does not own this histogram. - double m_minValue; // min bin value for fit. - double m_maxValue; // max bin value for fit. - bool m_integrate; // integration flag. - - // These are caches for Histogram-like quantities. They are - // held here because they are expensive to extract from the - // histogram: - - int m_nBins; - float m_min; - float m_max; - float m_delta; - float m_width; - - - // Assignment is illegal: - const HistChi2Functional & operator= (const HistChi2Functional &); - - -}; -#endif - - diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/HistLikelihoodFunctional.h b/graphics/Qat/QatDataModeling/QatDataModeling/HistLikelihoodFunctional.h deleted file mode 100644 index 706a5db991b1d34969bfeae67ceee297b4e4c4ef..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/HistLikelihoodFunctional.h +++ /dev/null @@ -1,77 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//-------------------------------------------------------------// -// // -// This functional returns the -2.0*log(L) of a function // -// with respect to some histogram. // -// // -//-------------------------------------------------------------// -#ifndef QATDATAMODELING_HISTLIKELIHOODFUNCTIONAL_H -#define QATDATAMODELING_HISTLIKELIHOODFUNCTIONAL_H -#include "CLHEP/GenericFunctions/AbsFunctional.hh" -class Hist1D; -class HistLikelihoodFunctional:public Genfun::AbsFunctional { - -public: - - // Constructor: - HistLikelihoodFunctional(const Hist1D * histogram, - double lower=-1E100, - double upper= 1E100, - bool integrate=false); - - // Destructor: - ~HistLikelihoodFunctional(); - - // Copy constructor - HistLikelihoodFunctional(const HistLikelihoodFunctional &); - - // Evaluate ChiSquared of a function w.r.t the histogram - virtual double operator [] (const Genfun::AbsFunction & function) const; - -private: - - const Hist1D *m_histogram; // does not own this histogram. - double m_minValue; // min bin value for fit. - double m_maxValue; // max bin value for fit. - bool m_integrate; // integration flag. - - // These are caches for Histogram-like quantities. They are - // held here because they are expensive to extract from the - // histogram: - - int m_nBins; - float m_min; - float m_max; - float m_delta; - float m_width; - - - // Assignment is illegal: - const HistLikelihoodFunctional & operator= (const HistLikelihoodFunctional &); - - -}; -#endif - - diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/MinuitMinimizer.h b/graphics/Qat/QatDataModeling/QatDataModeling/MinuitMinimizer.h deleted file mode 100644 index c66ed88e1731cd5cd8f67e039ae63ada551f291f..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/MinuitMinimizer.h +++ /dev/null @@ -1,125 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -// Write this class now. Abstract it later. -#ifndef QATDATAMODELING_MINUITMINIMIZER_H -#define QATDATAMODELING_MINUITMINIMIZER_H -#include <vector> -#include "CLHEP/Matrix/Vector.h" -#include "CLHEP/Matrix/SymMatrix.h" - -namespace Genfun { - class AbsFunctional; - class Parameter; - class AbsFunction; -} - -class ObjectiveFunction; - -class MinuitMinimizer { - -public: - - // Constructor: - MinuitMinimizer (bool verbose=false); - - // Destructor: - virtual ~MinuitMinimizer (); - - // Add a parameter. Minuit minimizes the statistic w.r.t the parameters. - virtual void addParameter (Genfun::Parameter * par); - - // Add a statistic: a function, and a functional (e.g. Chisqaured, Likelihood) - void addStatistic (const Genfun::AbsFunctional * functional, const Genfun::AbsFunction * function); - - // Add a statistic: a (Gaussian) constraint or similar function of parameters. - void addStatistic (const ObjectiveFunction *); - - // Tell minuit to minimize this: - virtual void minimize (); - - // Get the parameter value: - double getValue(const Genfun::Parameter *) const; - - // Get the parameter error: - double getError(const Genfun::Parameter *ipar, const Genfun::Parameter *jpar=NULL) const; - - // Get the functionValue - double getFunctionValue() const; - - // Get the status - int getStatus() const; - - // Get all of the values, as a vector: - CLHEP::HepVector getValues() const; - - // Get all of the errors, as a matrix: - CLHEP::HepSymMatrix getErrorMatrix() const; - - // Get information on parameters: - unsigned int getNumParameters() const; - - // Get Parameter: - const Genfun::Parameter *getParameter( unsigned int i) const; - - // Get Parameter - Genfun::Parameter * getParameter(unsigned int i); - - // Set the minimizer command (nominally "MINIMIZE"). - void setMinimizeCommand(const std::string & command); - -private: - - std::vector<const Genfun::AbsFunctional *> m_functionalList; - std::vector<const Genfun::AbsFunction *> m_functionList; - std::vector<const ObjectiveFunction *> m_objectiveList; - std::vector<Genfun::Parameter *> m_parList; - CLHEP::HepVector m_valList; - CLHEP::HepSymMatrix m_errorList; - double m_fcnMin; - int m_status; - bool m_verbose; - std::string m_minimizeCommand; - - static void s_worldWideCallback(int &, double *, double &, double *, int &, void *); - static std::vector<const Genfun::AbsFunctional *> *s_worldWideFunctionalList; - static std::vector<const Genfun::AbsFunction *> *s_worldWideFunctionList; - static std::vector<const ObjectiveFunction *> *s_worldWideObjectiveList; - static std::vector<Genfun::Parameter *> *s_worldWideParameterList; - - -}; - -class HistogramManager; - -struct MinuitMeasurement { - double value; - double error; -}; - -// This records the state of the minimizer in an output directory: -void record(HistogramManager *output, const MinuitMinimizer & minimizer); - -// This retrieves a single measurement: -MinuitMeasurement getMeasurement(const HistogramManager *manager, const std::string & name); - -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/ObjectiveFunction.h b/graphics/Qat/QatDataModeling/QatDataModeling/ObjectiveFunction.h deleted file mode 100644 index cc4f47e782888bc34a7aff3d28fba4ff5fc52280..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/ObjectiveFunction.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef ObjectiveFunction_h_ -#define ObjectiveFunction_h_ -class ObjectiveFunction { - - // An objective (ie function to be minimized): - - public: - - - // Its constructor - ObjectiveFunction(); - - // Its destructor - virtual ~ObjectiveFunction(); - - // Its function call operator: - virtual double operator() () const=0; - -}; -#endif - diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.h b/graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.h deleted file mode 100644 index 804f0bae95bb8b6442bbd8bea90ad3375df41276..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.h +++ /dev/null @@ -1,119 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -// Write this class now. Abstract it later. -#ifndef _RemoteMinimizer_h_ -#define _RemoteMinimizer_h_ -#include <vector> -#include "CLHEP/Matrix/Vector.h" -#include "CLHEP/Matrix/SymMatrix.h" - -namespace Genfun { - class AbsFunctional; - class Parameter; - class AbsFunction; -} - -class ObjectiveFunction; - -template <class Q> class RemoteMinimizer { - -public: - - // Constructor: - RemoteMinimizer (Q *query, bool verbose=false); - - // Destructor: - ~RemoteMinimizer (); - - // Add a parameter. Minuit minimizes the statistic w.r.t the parameters. - void addParameter (Genfun::Parameter * par, double * parLoc); - - // Add a socket, listening for Q - void addSocket(ClientSocket *client); - - // Add a statistic: a (Gaussian) constraint or similar function of parameters. - void addStatistic (const ObjectiveFunction *); - - // Tell minuit to minimize this: - virtual void minimize (); - - // Get the parameter value: - double getValue(const Genfun::Parameter *) const; - - // Get the parameter error: - double getError(const Genfun::Parameter *ipar, const Genfun::Parameter *jpar=NULL) const; - - // Get the functionValue - double getFunctionValue() const; - - // Get the status - int getStatus() const; - - // Get all of the values, as a vector: - CLHEP::HepVector getValues() const; - - // Get all of the errors, as a matrix: - CLHEP::HepSymMatrix getErrorMatrix() const; - - // Get information on parameters: - unsigned int getNumParameters() const; - - // Get Parameter: - const Genfun::Parameter *getParameter( unsigned int i) const; - - // Get Parameter - Genfun::Parameter * getParameter(unsigned int i); - - - -private: - - class Response { - public: - int Status; - double FCN; - }; - - - - Q *query; - Response response; - - std::vector<const ObjectiveFunction *> _objectiveList; - std::vector<Genfun::Parameter *> _parList; - std::vector<double *> _parLocList; - std::vector<ClientSocket *> _socketList; - CLHEP::HepVector _valList; - CLHEP::HepSymMatrix _errorList; - double _fcnMin; - int _status; - bool _verbose; - - static void _worldWideCallback(int &, double *, double &, double *, int &, void *); - static RemoteMinimizer *This; - -}; - -#include "QatDataModeling/RemoteMinimizer.icc" - -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.icc b/graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.icc deleted file mode 100644 index 6e3ec0be7b9c97549ff94cd15c75bac746fb0154..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/RemoteMinimizer.icc +++ /dev/null @@ -1,270 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "CLHEP/GenericFunctions/AbsFunctional.hh" -#include "CLHEP/GenericFunctions/Parameter.hh" -#include "QatDataModeling/ObjectiveFunction.h" -typedef void (*minuitCallback) (int & npar, // which par is changing? - double * gradient, // my gradient calculation - double & functionValue, // the function value - double * xValue, // parameters - int & iFlag, // what to do flag. - void * ); // unused pointer - - -extern "C" void mninit_ (int &, int &, int &); -extern "C" void mnseti_ (char * string, int size); -extern "C" void mnparm_ (int &, const char *, double &, double &, double &, double &, int &, int); -extern "C" void mncomd_ (minuitCallback, char *, int &, void *, int); -extern "C" void mnpout_ (int &, const char *, double &, double &, double &, double &, int &, int); -extern "C" void mnstat_ (double &, double &, double &, int &, int &, int &); -extern "C" void mnemat_ (double *, int &); - -template <class Q> RemoteMinimizer<Q> * RemoteMinimizer<Q>::This = NULL; - -template <class Q> inline RemoteMinimizer<Q>::RemoteMinimizer(Q * query, bool verbose) - :query(query), - _fcnMin(0.0), - _status(0), - _verbose(verbose) -{ -} - -template <class Q> inline void RemoteMinimizer<Q>::addParameter(Genfun::Parameter * par, double * parLoc) { - - // add the parameter to the list: - _parList.push_back(par); - - // add a new parameter location - _parLocList.push_back(parLoc); - - // resize the error matrix: - _errorList = CLHEP::HepSymMatrix(_parList.size(),0); - - // create a new Vector, longer. - CLHEP::HepVector tmp(_parList.size()); - - // Copy data there, adding one more datum: - for (int i=0;i<_valList.num_row();i++) tmp[i]=_valList[i]; - tmp[_valList.num_row()]=par->getValue(); - - // And set the value list equal to that. - _valList=tmp; - -} - - -template <class Q> inline RemoteMinimizer<Q>::~RemoteMinimizer() { -} - - -template <class Q> inline void RemoteMinimizer<Q>::minimize() { - - This=this; - - if ( ((_socketList.size()==0) ) && _objectiveList.size()==0 )return; - unsigned int DIM=_parList.size(); - // - // Initialize: - // - int status; - int fInputUnit=0,fOutputUnit=0,fSaveUnit=0; - const char * title = "Embedded minimizer"; - mninit_(fInputUnit,fOutputUnit, fSaveUnit); - mnseti_((char *) title, sizeof(title)); - if (!_verbose) { - const char *printLevelCommand="SET PRINT -1"; - mncomd_(_worldWideCallback,(char *) printLevelCommand, status, 0,12 ); - } - // - // Declare all of the parameters: - // - for (unsigned int i=0; i<DIM;i++) { - int number = i+1; - double startingValue =_parList[i]->getValue(); - double step = (_parList[i]->getUpperLimit()-_parList[i]->getLowerLimit())/100.0; - double bnd1 =_parList[i]->getLowerLimit(); - double bnd2 =_parList[i]->getUpperLimit(); - int error; - mnparm_ ( number, - _parList[i]->getName().c_str(), - startingValue, - step, - bnd1, - bnd2, - error, - _parList[i]->getName().size()); - } - // - // Flush the world-wide-buffer and minimize this functional w.r.t its parameters. - // - const char *minimizeCommand="MINIMIZE"; - mncomd_(_worldWideCallback,(char *) minimizeCommand, status, 0, sizeof(minimizeCommand)); - - for (unsigned int i=0;i<DIM;i++) { - char name[11]; - int I=i+1, iinternal=0; - double value=0, error=0, bnd1=0, bnd2=0; - mnpout_(I,name,value, error, bnd1, bnd2, iinternal, 10); - name[10]=0; - _valList[i]=value; - } - - // Get function minimum: - double estDistance, errdef; - int npari, nparx; - mnstat_(_fcnMin, estDistance, errdef, npari, nparx, _status); - - double *emat = new double [DIM*DIM]; - int IDIM=DIM; - mnemat_(emat,IDIM); - for (unsigned int i=0;i<DIM;i++) { - for (unsigned int j=0;j<DIM;j++) { - _errorList[i][j]=emat[i*DIM+j]; - } - } - delete [] emat; - - // Do this so that nobody else can screw it up: - -} - - -template <class Q> inline void RemoteMinimizer<Q>::addStatistic (const ObjectiveFunction *objective) { - _objectiveList.push_back(objective); -} - - -template <class Q> inline void RemoteMinimizer<Q>::_worldWideCallback(int & npar, // which par is changing? - double * /*gradient*/, // my gradient calculation - double & functionValue, // the function value - double * xValue, // parameters - int & iFlag, // what to do flag. - void * /*vp*/) -{ - switch (iFlag) { - - case 4: // value of 4: - for (int i=0;i<npar;i++) { - This->_parList[i]->setValue(xValue[i]); - *This->_parLocList[i]=xValue[i]; - } - - functionValue=0; - - // Get FCN from the remote server - for (unsigned int i=0;i<This->_socketList.size(); i++) { - double f; - (*This->_socketList[i]) << 1; // Ask for an FCN calculation - (*This->_socketList[i]) << *This->query; // Send along the parameters - (*This->_socketList[i]) >> f; // Read back the response. - functionValue += f; - } - // Add Gaussian constraints, if any - for (unsigned int j=0;j<This->_objectiveList.size();j++) { - functionValue += (*(This->_objectiveList)[j])(); - } - // for debug: - break; - default: - std::cerr << "Warning. _worldWideCallback called back with flag of " << iFlag << std::endl; - break; - } -} - - -// Get the parameter value: -template <class Q> inline double RemoteMinimizer<Q>::getValue(const Genfun::Parameter *par) const { - for (unsigned int i=0;i<_parList.size();i++) { - if (_parList[i]==par) { - return _valList[i]; - } - } - std::cerr << "Error in RemoteMinimizer<Q>::getValue. Parameter not found" << std::endl; - return 0; -} - -// Get the parameter error: -template <class Q> inline double RemoteMinimizer<Q>::getError(const Genfun::Parameter *ipar, const Genfun::Parameter *jpar) const { - - int iIndex=-1, jIndex=-1; - - for (unsigned int i=0;i<_parList.size();i++) { - if (_parList[i]==ipar) { - iIndex=i; - } - } - - if (iIndex!=-1) { - if (jpar) { - for (unsigned int j=0;j<_parList.size();j++) { - if (_parList[j]==jpar) { - jIndex=j; - } - } - } - else { - jIndex=iIndex; - } - } - - if (iIndex !=-1 && jIndex!=-1) return _errorList[iIndex][jIndex]; - std::cerr << "Error in RemoteMinimizer<Q>::getError. Parameter not found" << std::endl; - return 0; -} - - -template <class Q> inline double RemoteMinimizer<Q>::getFunctionValue() const { - return _fcnMin; -} - -template <class Q> inline int RemoteMinimizer<Q>::getStatus() const { - return _status; -} - -template <class Q> inline CLHEP::HepVector RemoteMinimizer<Q>::getValues() const { - return _valList; -} - -template <class Q> inline CLHEP::HepSymMatrix RemoteMinimizer<Q>::getErrorMatrix() const { - return _errorList; -} - - -template <class Q> inline unsigned int RemoteMinimizer<Q>::getNumParameters() const { - return _parList.size(); -} - -template <class Q> inline Genfun::Parameter * RemoteMinimizer<Q>::getParameter(unsigned int i) { - return _parList[i]; -} - - - -template <class Q> inline const Genfun::Parameter * RemoteMinimizer<Q>::getParameter(unsigned int i) const { - return _parList[i]; -} - -template <class Q> inline void RemoteMinimizer<Q>::addSocket(ClientSocket * socket) -{ - _socketList.push_back(socket); -} diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/TableLikelihoodFunctional.h b/graphics/Qat/QatDataModeling/QatDataModeling/TableLikelihoodFunctional.h deleted file mode 100644 index da8e2d828afd3f73f60e694b398a312d5e2bd3d3..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/TableLikelihoodFunctional.h +++ /dev/null @@ -1,54 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//-------------------------------------------------------------// -// // -// This functional returns the Likelihood of a functoin // -// given some data // -// // -//-------------------------------------------------------------// -#ifndef QATDATAMODELING_TABLELIKELIHOODFUNCTIONAL_H -#define QATDATAMODELING_TABLELIKELIHOODFUNCTIONAL_H -#include "CLHEP/GenericFunctions/AbsFunctional.hh" -#include "CLHEP/GenericFunctions/ArgumentList.hh" -class Table; -class TableLikelihoodFunctional:public Genfun::AbsFunctional { - - public: - - // Constructor: - TableLikelihoodFunctional(const Table & table); - - // Destructor: - ~TableLikelihoodFunctional(); - - // Evaluate ChiSquared of a function w.r.t the data. - virtual double operator [] (const Genfun::AbsFunction & function) const; - - private: - - - const Table &m_table; - -}; - -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/d506cm.inc b/graphics/Qat/QatDataModeling/QatDataModeling/d506cm.inc deleted file mode 100644 index 953a49b85b99162a80934e9fa706231209667ab5..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/d506cm.inc +++ /dev/null @@ -1,64 +0,0 @@ -* -* $Id: d506cm.inc,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: d506cm.inc,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.2 2001/01/02 08:35:54 andras -* *** empty log message *** -* -* Revision 1.1.1.1 2000/06/08 11:19:21 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#ifndef CERNLIB_MINUIT_D506CM_INC -#define CERNLIB_MINUIT_D506CM_INC -* -* -* d506cm.inc -* - PARAMETER (MNE=1600 , MNI=1600) - PARAMETER (MNIHL=MNI*(MNI+1)/2) - CHARACTER*10 CPNAM - COMMON - 1/MN7NAM/ CPNAM(MNE) - 2/MN7EXT/ U(MNE) ,ALIM(MNE) ,BLIM(MNE) - 3/MN7ERR/ ERP(MNI) ,ERN(MNI) ,WERR(MNI) ,GLOBCC(MNI) - 4/MN7INX/ NVARL(MNE) ,NIOFEX(MNE),NEXOFI(MNI) - 5/MN7INT/ X(MNI) ,XT(MNI) ,DIRIN(MNI) - 6/MN7FX2/ XS(MNI) ,XTS(MNI) ,DIRINS(MNI) - 7/MN7DER/ GRD(MNI) ,G2(MNI) ,GSTEP(MNI) ,GIN(MNE) ,DGRD(MNI) - 8/MN7FX3/ GRDS(MNI) ,G2S(MNI) ,GSTEPS(MNI) - 9/MN7FX1/ IPFIX(MNI) ,NPFIX - A/MN7VAR/ VHMAT(MNIHL) - B/MN7VAT/ VTHMAT(MNIHL) - C/MN7SIM/ P(MNI,MNI+1),PSTAR(MNI),PSTST(MNI) ,PBAR(MNI),PRHO(MNI) -C - PARAMETER (MAXDBG=10, MAXSTK=10, MAXCWD=20, MAXP=30, MAXCPT=101) - PARAMETER (ZERO=0.0, ONE=1.0, HALF=0.5) - COMMON - D/MN7NPR/ MAXINT ,NPAR ,MAXEXT ,NU - E/MN7IOU/ ISYSRD ,ISYSWR ,ISYSSA ,NPAGWD ,NPAGLN ,NEWPAG - E/MN7IO2/ ISTKRD(MAXSTK) ,NSTKRD ,ISTKWR(MAXSTK) ,NSTKWR - F/MN7TIT/ CFROM ,CSTATU ,CTITL ,CWORD ,CUNDEF ,CVRSN ,COVMES - G/MN7FLG/ ISW(7) ,IDBG(0:MAXDBG) ,NBLOCK ,ICOMND - H/MN7MIN/ AMIN ,UP ,EDM ,FVAL3 ,EPSI ,APSI ,DCOVAR - I/MN7CNV/ NFCN ,NFCNMX ,NFCNLC ,NFCNFR ,ITAUR,ISTRAT,NWRMES(2) - J/MN7ARG/ WORD7(MAXP) - K/MN7LOG/ LWARN ,LREPOR ,LIMSET ,LNOLIM ,LNEWMN ,LPHEAD - L/MN7CNS/ EPSMAC ,EPSMA2 ,VLIMLO ,VLIMHI ,UNDEFI ,BIGEDM,UPDFLT - M/MN7RPT/ XPT(MAXCPT) ,YPT(MAXCPT) - N/MN7CPT/ CHPT(MAXCPT) - o/MN7XCR/ XMIDCR ,YMIDCR ,XDIRCR ,YDIRCR ,KE1CR ,KE2CR - CHARACTER CTITL*50, CWORD*(MAXCWD), CUNDEF*10, CFROM*8, - + CVRSN*6, COVMES(0:3)*22, CSTATU*10, CHPT*1 - LOGICAL LWARN, LREPOR, LIMSET, LNOLIM, LNEWMN, LPHEAD - -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/d506dp.inc b/graphics/Qat/QatDataModeling/QatDataModeling/d506dp.inc deleted file mode 100644 index b1e45df4bb462a7051d159ada408898352423ed6..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/d506dp.inc +++ /dev/null @@ -1,32 +0,0 @@ -* -* $Id: d506dp.inc,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: d506dp.inc,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:21 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#ifndef CERNLIB_MINUIT_D506DP_INC -#define CERNLIB_MINUIT_D506DP_INC -* -* -* d506dp.inc -* -#if defined(CERNLIB_DOUBLE) -C ************ DOUBLE PRECISION VERSION ************* - IMPLICIT DOUBLE PRECISION (A-H,O-Z) -#endif -#if !defined(CERNLIB_DOUBLE) -C ************ SINGLE PRECISION VERSION ************* -#endif - -#endif diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/minuit.h b/graphics/Qat/QatDataModeling/QatDataModeling/minuit.h deleted file mode 100644 index f70532e0b68e90295094015d80040ed6339d72b5..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/minuit.h +++ /dev/null @@ -1,16 +0,0 @@ -/*************************************************************************** - minuit.h - description - ------------------- - begin : Tue Dec 28 2004 - copyright : (C) 2004 by Joseph F. Boudreau - email : boudreau@pitt.edu - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ diff --git a/graphics/Qat/QatDataModeling/QatDataModeling/pilot.h b/graphics/Qat/QatDataModeling/QatDataModeling/pilot.h deleted file mode 100644 index 238733af335345213a8fa3721920b4c35ccc6f2e..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/QatDataModeling/pilot.h +++ /dev/null @@ -1,7 +0,0 @@ -#if 0 -#endif -#if !defined(CERNLIB_SINGLE) -#ifndef CERNLIB_DOUBLE -#define CERNLIB_DOUBLE -#endif -#endif diff --git a/graphics/Qat/QatDataModeling/grid/Makefile b/graphics/Qat/QatDataModeling/grid/Makefile deleted file mode 100644 index acf8415948e861d145b3dbad9def1dd10fa8f776..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/grid/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -THISDIR = QatDataModeling -XTRA_INCLUDES = -I../../../local/include -include ../../../sw/grid/Makefile.common - -LDFLAGS += -L../../../local/lib -UNAME_S := $(shell uname -s) -LOADLIBES+=-lgfortran -ifeq ($(UNAME_S),Darwin) - LOADLIBES+=-lQatDataAnalysis - LOADLIBES+=-lCLHEP-GenericFunctions-2.1.3.1 - LOADLIBES+=-lCLHEP-Matrix-2.1.3.1 - LOADLIBES+=-lCLHEP-Vector-2.1.3.1 -endif - - diff --git a/graphics/Qat/QatDataModeling/src/FitFunction.cpp b/graphics/Qat/QatDataModeling/src/FitFunction.cpp deleted file mode 100644 index 351cff23fdec130fede5f224fb6e210112e8c833..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/FitFunction.cpp +++ /dev/null @@ -1,32 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataModeling/FitFunction.h" - -FitFunction::FitFunction() {;} - -FitFunction::~FitFunction() {;} - -Genfun::Parameter & FitFunction::getParameter(int i) { - const FitFunction *cnThis = this; - return const_cast<Genfun::Parameter &> (cnThis->getParameter(i)); -} diff --git a/graphics/Qat/QatDataModeling/src/HistChi2Functional.cpp b/graphics/Qat/QatDataModeling/src/HistChi2Functional.cpp deleted file mode 100644 index 5bc7297ca82ef5197d67ce1baa9c15b248ac9cd7..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/HistChi2Functional.cpp +++ /dev/null @@ -1,103 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist1D.h" -#include "QatDataModeling/HistChi2Functional.h" -#include "CLHEP/GenericFunctions/DefiniteIntegral.hh" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include <algorithm> -#include <sstream> -#include <stdexcept> -HistChi2Functional::HistChi2Functional(const Hist1D * histogram, - double minValue, - double maxValue, - bool integrate): - m_histogram(histogram), - m_minValue(minValue), - m_maxValue(maxValue), - m_integrate(integrate), - m_nBins(m_histogram->nBins()), - m_min(m_histogram->min()), - m_max(m_histogram->max()), - m_width(m_histogram->binWidth()) -{ - m_delta=(m_max-m_min)/m_nBins; -} - -HistChi2Functional::~HistChi2Functional() { -} - -HistChi2Functional::HistChi2Functional (const HistChi2Functional & right): - Genfun::AbsFunctional(), - m_histogram(right.m_histogram), - m_minValue(right.m_minValue), - m_maxValue(right.m_maxValue), - m_integrate(right.m_integrate), - m_nBins(right.m_nBins), - m_min(right.m_min), - m_max(right.m_max), - m_delta(right.m_delta), - m_width(right.m_width) -{ -} - - -double HistChi2Functional::operator[] (const Genfun::AbsFunction & function) const{ - double c2=0; - for (int i = 0; i<m_nBins;i++) { - double a = m_min +i*m_delta; - double b = a+m_delta; - double y = m_histogram->bin(i); - double e = m_histogram->binError(i); - if (e!=0) { - if (b>m_minValue && a < m_maxValue) { - double y0; - if (m_integrate) { - Genfun::DefiniteIntegral integral(a,b); - y0=integral[function]; - } - else { - y0 = function ((a+b)/2.0) * m_width; - if (!finite(y0)) { - std::ostringstream message; - message << "HistChi2Functional, Function is infinite at " << (a+b)/2.0 << std::endl; - throw std::runtime_error(message.str()); - } - } - double inc = (y-y0)*(y-y0)/e/e; - if (!finite(inc)) { - std::ostringstream message; - message << "HistChi2Functional, Chi^2 contribution is infinite at " << (a+b)/2.0 << std::endl; - throw std::runtime_error(message.str()); - } - c2 += inc; - if (!finite(c2)) { - std::ostringstream message; - std::cout << "HistChi2Functional, Chi2 is infinite at " << (a+b)/2.0 << std::endl; - throw std::runtime_error(message.str()); - } - } - } - } - return c2; -} - diff --git a/graphics/Qat/QatDataModeling/src/HistLikelihoodFunctional.cpp b/graphics/Qat/QatDataModeling/src/HistLikelihoodFunctional.cpp deleted file mode 100644 index 9313ac4fbf0218c1f27ff3175f08358c79f1a3bd..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/HistLikelihoodFunctional.cpp +++ /dev/null @@ -1,106 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataModeling/HistLikelihoodFunctional.h" -#include "QatDataAnalysis/Hist1D.h" -#include "CLHEP/GenericFunctions/DefiniteIntegral.hh" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include <algorithm> -#include <stdexcept> -#include <sstream> -#include <math.h> - -HistLikelihoodFunctional::HistLikelihoodFunctional(const Hist1D * histogram, - double minValue, - double maxValue, - bool integrate): - m_histogram(histogram), - m_minValue(minValue), - m_maxValue(maxValue), - m_integrate(integrate), - m_nBins(m_histogram->nBins()), - m_min(m_histogram->min()), - m_max(m_histogram->max()), - m_width(m_histogram->binWidth()) -{ - m_delta=(m_max-m_min)/m_nBins; -} - -HistLikelihoodFunctional::~HistLikelihoodFunctional() { -} - -HistLikelihoodFunctional::HistLikelihoodFunctional (const HistLikelihoodFunctional & right): - Genfun::AbsFunctional(), - m_histogram(right.m_histogram), - m_minValue(right.m_minValue), - m_maxValue(right.m_maxValue), - m_integrate(right.m_integrate), - m_nBins(right.m_nBins), - m_min(right.m_min), - m_max(right.m_max), - m_delta(right.m_delta), - m_width(right.m_width) -{ -} - - -double HistLikelihoodFunctional::operator[] (const Genfun::AbsFunction & function) const{ - double logLik=0; - for (int i = 0; i<m_nBins;i++) { - double a = m_min +i*m_delta; - double b = a+m_delta; - double y = m_histogram->bin(i); - double e = m_histogram->binError(i); - if (e!=0) { - if (b>m_minValue && a < m_maxValue) { - double y0; - if (m_integrate) { - Genfun::DefiniteIntegral integral(a,b); - y0=integral[function]; - if (!finite(y0)) { - std::ostringstream message; - message << "HistLikelihoodFunctional, Function is infinite at " << (a+b)/2.0 << std::endl; - throw std::runtime_error(message.str()); - } - - } - else { - y0 = function ((a+b)/2.0)*m_histogram->binWidth(); - if (!finite(y0)) { - std::ostringstream message; - message << "HistLikelihoodFunctional, Function is infinite at " << (a+b)/2.0 << std::endl; - throw std::runtime_error(message.str()); - } - } - logLik += -2.0*(-y0 + y*log(y0)); - if (!finite(logLik)) { - std::ostringstream message; - message << "HistLikelihoodFunctional, Likelihood is infinite at " << (a+b)/2.0 << std::endl; - message << "Value of point is " << y0 << std::endl; - throw std::runtime_error(message.str()); - } - } - } - } - return logLik; -} - diff --git a/graphics/Qat/QatDataModeling/src/Makefile b/graphics/Qat/QatDataModeling/src/Makefile deleted file mode 100644 index a042c6a757387a726236c2293ce200298003a5b4..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -THISDIR = QatDataModeling -MFILES = -XTRA_INCLUDES = -I../../QatDataAnalysis -include ../../../Build/Makefile.Versions -include ../../../Build/Makefile.common -LOADLIBES+=-lgfortran - diff --git a/graphics/Qat/QatDataModeling/src/Makefile.MAC b/graphics/Qat/QatDataModeling/src/Makefile.MAC deleted file mode 100644 index 226223b4be27998564e169b09cd17000e2a0bfb1..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/Makefile.MAC +++ /dev/null @@ -1,6 +0,0 @@ -THISDIR = QatDataModeling -MFILES = -XTRA_INCLUDES = -I../../QatDataAnalysis -include ../../../Build/Makefile.Versions -include ../../../Build/Makefile.MAC - diff --git a/graphics/Qat/QatDataModeling/src/MinuitMinimizer.cpp b/graphics/Qat/QatDataModeling/src/MinuitMinimizer.cpp deleted file mode 100644 index 0e9f469b15668c232139d13c4b5810fd49f79650..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/MinuitMinimizer.cpp +++ /dev/null @@ -1,290 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "CLHEP/GenericFunctions/AbsFunctional.hh" -#include "CLHEP/GenericFunctions/Parameter.hh" -#include "QatDataModeling/MinuitMinimizer.h" -#include "QatDataModeling/ObjectiveFunction.h" -#include "QatDataModeling/minuit.h" -#include <stdexcept> -#include <cstring> -typedef void (*minuitCallback) (int & npar, // which par is changing? - double * gradient, // my gradient calculation - double & functionValue, // the function value - double * xValue, // parameters - int & iFlag, // what to do flag. - void * ); // unused pointer - - -extern "C" void mninit_ (int &, int &, int &); -extern "C" void mnseti_ (char * string, int size); -extern "C" void mnparm_ (int &, const char *, double &, double &, double &, double &, int &, int); -extern "C" void mncomd_ (minuitCallback, char *, int &, void *, int); -extern "C" void mnpout_ (int &, const char *, double &, double &, double &, double &, int &, int); -extern "C" void mnstat_ (double &, double &, double &, int &, int &, int &); -extern "C" void mnemat_ (double *, int &); -std::vector<const Genfun::AbsFunctional *> *MinuitMinimizer::s_worldWideFunctionalList =0; -std::vector<const Genfun::AbsFunction *> *MinuitMinimizer::s_worldWideFunctionList =0; -std::vector<const ObjectiveFunction *> *MinuitMinimizer::s_worldWideObjectiveList =0; -std::vector<Genfun::Parameter *> *MinuitMinimizer::s_worldWideParameterList =0; -bool MINUITERROR=false; -MinuitMinimizer::MinuitMinimizer(bool verbose) - :m_fcnMin(0.0), - m_status(0), - m_verbose(verbose), - m_minimizeCommand("MINIMIZE") -{ -} - -void MinuitMinimizer::addParameter(Genfun::Parameter * par) { - - // add the parameter to the list: - m_parList.push_back(par); - - // resize the error matrix: - m_errorList = CLHEP::HepSymMatrix(m_parList.size(),0); - - // create a new Vector, longer. - CLHEP::HepVector tmp(m_parList.size()); - - // Copy data there, adding one more datum: - for (int i=0;i<m_valList.num_row();i++) tmp[i]=m_valList[i]; - tmp[m_valList.num_row()]=par->getValue(); - - // And set the value list equal to that. - m_valList=tmp; - -} - - -MinuitMinimizer::~MinuitMinimizer() { -} -void MinuitMinimizer::minimize() { - if ( ((m_functionList.size()==0) || (m_functionalList.size()==0) ) && m_objectiveList.size()==0 )return; - unsigned int DIM=m_parList.size(); - // - // Initialize: - // - int status; - int fInputUnit=0,fOutputUnit=0,fSaveUnit=0; - const char * title = "Embedded minimizer"; - mninit_(fInputUnit,fOutputUnit, fSaveUnit); - mnseti_((char *) title, std::strlen(title)); - if (!m_verbose) { - const char *printLevelCommand="SET PRINT -1"; - mncomd_(s_worldWideCallback,(char *) printLevelCommand, status, 0,12 ); - } - // - // Declare all of the parameters: - // - for (unsigned int i=0; i<DIM;i++) { - int number = i+1; - double startingValue =m_parList[i]->getValue(); - double step = (m_parList[i]->getUpperLimit()-m_parList[i]->getLowerLimit())/100.0; - double bnd1 =m_parList[i]->getLowerLimit(); - double bnd2 =m_parList[i]->getUpperLimit(); - int error; - mnparm_ ( number, - m_parList[i]->getName().c_str(), - startingValue, - step, - bnd1, - bnd2, - error, - m_parList[i]->getName().size()); - } - // - // Flush the world-wide-buffer and minimize this functional w.r.t its parameters. - // - s_worldWideFunctionalList = &m_functionalList; - s_worldWideFunctionList = &m_functionList; - s_worldWideObjectiveList = &m_objectiveList; - s_worldWideParameterList = &m_parList; - - // Special case. If there are no parameters make one FCN call and return; - if (m_parList.size()==0) { - int zeroLength=0; - int iPar=4; - (*s_worldWideCallback)(zeroLength,(double *) NULL,m_fcnMin, (double *) NULL, iPar, (void *) NULL); - if (MINUITERROR) { - MINUITERROR=false; - throw std::runtime_error("MINUIT ERROR (INFINITE LIKELIHOOD?) "); - } - return; - } - const char *minimizeCommand=m_minimizeCommand.c_str(); - - mncomd_(s_worldWideCallback,(char *) minimizeCommand, status, 0, std::strlen(minimizeCommand)); - if (MINUITERROR) { - MINUITERROR=false; - throw std::runtime_error("MINUIT ERROR (INFINITE LIKELIHOOD?) "); - } - for (unsigned int i=0;i<DIM;i++) { - char name[11]; - int I=i+1, iinternal=0; - double value=0, error=0, bnd1=0, bnd2=0; - mnpout_(I,name,value, error, bnd1, bnd2, iinternal, 10); - name[10]=0; - m_valList[i]=value; - } - - // Get function minimum: - double estDistance, errdef; - int npari, nparx; - mnstat_(m_fcnMin, estDistance, errdef, npari, nparx, m_status); - - double *emat = new double [DIM*DIM]; - int IDIM=DIM; - mnemat_(emat,IDIM); - for (unsigned int i=0;i<DIM;i++) { - for (unsigned int j=0;j<DIM;j++) { - m_errorList[i][j]=emat[i*DIM+j]; - } - } - delete [] emat; - - // Do this so that nobody else can screw it up: - s_worldWideFunctionalList = 0; - s_worldWideFunctionList = 0; - s_worldWideObjectiveList = 0; - s_worldWideParameterList = 0; -} - -void MinuitMinimizer::addStatistic(const Genfun::AbsFunctional * functional, const Genfun::AbsFunction * function) { - m_functionalList.push_back(functional); - m_functionList.push_back(function); -} - -void MinuitMinimizer::addStatistic (const ObjectiveFunction *objective) { - m_objectiveList.push_back(objective); -} - - -void MinuitMinimizer::s_worldWideCallback(int & npar, // which par is changing? - double * /*gradient*/, // my gradient calculation - double & functionValue, // the function value - double * xValue, // parameters - int & iFlag, // what to do flag. - void * /*vp*/) -{ - switch (iFlag) { - - case 4: // value of 4: - for (int i=0;i<npar;i++) { - (*s_worldWideParameterList)[i]->setValue(xValue[i]); - } - functionValue=0; - for (unsigned int j=0;j<s_worldWideFunctionalList->size();j++) { - try { - functionValue += (*(*s_worldWideFunctionalList)[j])[(*(*s_worldWideFunctionList)[j])]; - } - catch (const std::exception & e) { - std::cout << e.what() <<std::endl; - for (unsigned int p=0;p<(*s_worldWideParameterList).size();p++) std::cerr << *(*s_worldWideParameterList)[p] << std::endl; - MINUITERROR=true; //THROW EXCEPTION. - } - } - for (unsigned int j=0;j<s_worldWideObjectiveList->size();j++) { - functionValue += (*(*s_worldWideObjectiveList)[j])(); - } - // for debug: - break; - default: - std::cerr << "Warning. _worldWideCallback called back with flag of " << iFlag << std::endl; - break; - } -} - - -// Get the parameter value: -double MinuitMinimizer::getValue(const Genfun::Parameter *par) const { - for (unsigned int i=0;i<m_parList.size();i++) { - if (m_parList[i]==par) { - return m_valList[i]; - } - } - std::cerr << "Error in MinuitMinimizer::getValue. Parameter not found" << std::endl; - return 0; -} - -// Get the parameter error: -double MinuitMinimizer::getError(const Genfun::Parameter *ipar, const Genfun::Parameter *jpar) const { - - int iIndex=-1, jIndex=-1; - - for (unsigned int i=0;i<m_parList.size();i++) { - if (m_parList[i]==ipar) { - iIndex=i; - } - } - - if (iIndex!=-1) { - if (jpar) { - for (unsigned int j=0;j<m_parList.size();j++) { - if (m_parList[j]==jpar) { - jIndex=j; - } - } - } - else { - jIndex=iIndex; - } - } - - if (iIndex !=-1 && jIndex!=-1) return m_errorList[iIndex][jIndex]; - std::cerr << "Error in MinuitMinimizer::getError. Parameter not found" << std::endl; - return 0; -} - - -double MinuitMinimizer::getFunctionValue() const { - return m_fcnMin; -} - -int MinuitMinimizer::getStatus() const { - return m_status; -} - -CLHEP::HepVector MinuitMinimizer::getValues() const { - return m_valList; -} - -CLHEP::HepSymMatrix MinuitMinimizer::getErrorMatrix() const { - return m_errorList; -} - - -unsigned int MinuitMinimizer::getNumParameters() const { - return m_parList.size(); -} - -Genfun::Parameter * MinuitMinimizer::getParameter(unsigned int i) { - return m_parList[i]; -} - -const Genfun::Parameter * MinuitMinimizer::getParameter(unsigned int i) const { - return m_parList[i]; -} -void MinuitMinimizer::setMinimizeCommand(const std::string & command) { - m_minimizeCommand=command; -} - diff --git a/graphics/Qat/QatDataModeling/src/ObjectiveFunction.cpp b/graphics/Qat/QatDataModeling/src/ObjectiveFunction.cpp deleted file mode 100644 index 77c0d7a0e73376726faaa3f76223fd89abdb93d0..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/ObjectiveFunction.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#include "QatDataModeling/ObjectiveFunction.h" -ObjectiveFunction::ObjectiveFunction () {} - -ObjectiveFunction::~ObjectiveFunction () {} - diff --git a/graphics/Qat/QatDataModeling/src/RecordMinimizer.cpp b/graphics/Qat/QatDataModeling/src/RecordMinimizer.cpp deleted file mode 100644 index b84860f9d20de33744a8ccda5c66613dd886904a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/RecordMinimizer.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include "QatDataAnalysis/Table.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatDataModeling/MinuitMinimizer.h" -#include "CLHEP/GenericFunctions/Parameter.hh" -#include <string> -void record(HistogramManager *output, const MinuitMinimizer & minimizer) { - Table *param = output->newTable("PARAMETERS"); - Table *index = output->newTable("INDICES"); - Table *covariance = output->newTable("COVARIANCE"); - Table *FCNmin = output->newTable("FCNMin"); - - FCNmin->add("FCNmin",minimizer.getFunctionValue()); - FCNmin->add("Status",minimizer.getStatus()); - FCNmin->capture(); - for (unsigned int i=0;i<minimizer.getNumParameters();i++) { - const Genfun::Parameter *p = minimizer.getParameter(i); - - index->add(p->getName(),i); - param->add("Index",i); - param->add("Value",p->getValue()); - param->add("Min",p->getLowerLimit()); - param->add("Max",p->getUpperLimit()); - param->capture(); - for (unsigned int j=0;j<minimizer.getNumParameters();j++ ) { - const Genfun::Parameter *q = minimizer.getParameter(j); - covariance->add("I",i); - covariance->add("J",j); - covariance->add("CIJ", minimizer.getError(p,q)); - covariance->capture(); - } - } - index->capture(); -} - -MinuitMeasurement getMeasurement(const HistogramManager *input, const std::string & parName) { - MinuitMeasurement measurement; - measurement.value=0; - measurement.error=0; - const Table *indices = input->findTable("INDICES"); - const Table *parameters = input->findTable("PARAMETERS"); - const Table *covariance = input->findTable("COVARIANCE"); - - unsigned int index=0; - indices->read(0,parName,index); - double value=0; - parameters->read(index,"Value", value); - unsigned int I(0),J(0); - double CIJ=0; - for (unsigned int i=0;i<covariance->numTuples();i++) { - covariance->read(i,"I", I); - covariance->read(i,"J", J); - if (I==index && J==index) { - covariance->read(i,"CIJ", CIJ); - measurement.value=value; - measurement.error=sqrt(CIJ); - break; - } - } - - return measurement; -} diff --git a/graphics/Qat/QatDataModeling/src/TableLikelihoodFunctional.cpp b/graphics/Qat/QatDataModeling/src/TableLikelihoodFunctional.cpp deleted file mode 100644 index 3b1f815612688d50bf620f6c9347d6a564eaa18a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/TableLikelihoodFunctional.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataModeling/TableLikelihoodFunctional.h" -#include "QatDataAnalysis/Table.h" -#include "QatDataAnalysis/Tuple.h" -#include "CLHEP/GenericFunctions/Argument.hh" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include <cmath> -TableLikelihoodFunctional::TableLikelihoodFunctional(const Table & table): -m_table(table) -{} - -TableLikelihoodFunctional::~TableLikelihoodFunctional() { -} - -double TableLikelihoodFunctional::operator [] (const Genfun::AbsFunction & function) const { - double logLikelihood(0); - - for (size_t t=0; ; t++) { - - TupleConstLink tuple = m_table [t]; - if (!tuple) break; - - const Genfun::Argument & a = tuple->asDoublePrec(); - - double f = function(a); - if (f<0) - std::cerr - << "Warning.. negative likelihood arg[" << t << "]=" << a - << std::endl; - logLikelihood -= log(f); - - } - return 2.0*logLikelihood; -} - diff --git a/graphics/Qat/QatDataModeling/src/minuit.F b/graphics/Qat/QatDataModeling/src/minuit.F deleted file mode 100644 index 6091715d88654d3da2d14b3f9866d058bf96308f..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/minuit.F +++ /dev/null @@ -1,150 +0,0 @@ -* -* $Id: minuit.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: minuit.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:18 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:28 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MINUIT(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -#include "QatDataModeling/d506cm.inc" -C -C CPNAM Parameter name (10 characters) -C U External (visible to user in FCN) value of parameter -C ALIM, BLIM Lower and upper parameter limits. If both zero, no limits. -C ERP,ERN Positive and negative MINOS errors, if calculated. -C WERR External parameter error (standard deviation, defined by UP) -C GLOBCC Global Correlation Coefficient -C NVARL =-1 if parameter undefined, =0 if constant, -C = 1 if variable without limits, =4 if variable with limits -C (Note that if parameter has been fixed, NVARL=1 or =4, and NIOFEX=0) -C NIOFEX Internal parameter number, or zero if not currently variable -C NEXOFI External parameter number for currently variable parameters -C X, XT Internal parameter values (X are sometimes saved in XT) -C DIRIN (Internal) step sizes for current step -C variables with names ending in ..S are saved values for fixed params -C VHMAT (Internal) error matrix stored as Half MATrix, since -C it is symmetric -C VTHMAT VHMAT is sometimes saved in VTHMAT, especially in MNMNOT -C -C ISW definitions: -C ISW(1) =0 normally, =1 means CALL LIMIT EXCEEDED -C ISW(2) =0 means no error matrix -C =1 means only approximate error matrix -C =2 means full error matrix, but forced pos-def. -C =3 means good normal full error matrix exists -C ISW(3) =0 if Minuit is calculating the first derivatives -C =1 if first derivatives calculated inside FCN -C ISW(4) =-1 if most recent minimization did not converge. -C = 0 if problem redefined since most recent minimization. -C =+1 if most recent minimization did converge. -C ISW(5) is the PRInt level. See SHO PRIntlevel -C ISW(6) = 0 for batch mode, =1 for interactive mode -C =-1 for originally interactive temporarily batch -C -C LWARN is true if warning messges are to be put out (default=true) -C SET WARN turns it on, set NOWarn turns it off -C LREPOR is true if exceptional conditions are put out (default=false) -C SET DEBUG turns it on, SET NODebug turns it off -C LIMSET is true if a parameter is up against limits (for MINOS) -C LNOLIM is true if there are no limits on any parameters (not yet used) -C LNEWMN is true if the previous process has unexpectedly improved FCN -C LPHEAD is true if a heading should be put out for the next parameter -C definition, false if a parameter has just been defined -C - EXTERNAL FCN,FUTIL - CHARACTER*40 CWHYXT - DATA CWHYXT/'FOR UNKNOWN REASONS '/ - DATA JSYSRD,JSYSWR,JSYSSA/5,6,7/ -C . . . . . . . . . . initialize MINUIT - WRITE (JSYSWR,'(1X,75(1H*))') - CALL MNINIT (JSYSRD,JSYSWR,JSYSSA) -C . . . . initialize new data block - 100 CONTINUE - WRITE (ISYSWR,'(1X,75(1H*))') - NBLOCK = NBLOCK + 1 - WRITE (ISYSWR,'(26X,A,I4)') 'MINUIT DATA BLOCK NO.',NBLOCK - WRITE (ISYSWR,'(1X,75(1H*))') -C . . . . . . . . . . . set parameter lists to undefined - CALL MNCLER -C . . . . . . . . read title - CALL MNREAD(FCN,1,IFLGUT,FUTIL) - IF (IFLGUT .EQ. 2) GO TO 500 - IF (IFLGUT .EQ. 3) GO TO 600 -C . . . . . . . . read parameters - CALL MNREAD(FCN,2,IFLGUT,FUTIL) - IF (IFLGUT .EQ. 2) GO TO 500 - IF (IFLGUT .EQ. 3) GO TO 600 - IF (IFLGUT .EQ. 4) GO TO 700 -C . . . . . . verify FCN not time-dependent - WRITE (ISYSWR,'(/A,A)') ' MINUIT: FIRST CALL TO USER FUNCTION,', - + ' WITH IFLAG=1' - NPARX = NPAR - CALL MNINEX(X) - FZERO = UNDEFI - CALL FCN(NPARX,GIN,FZERO,U,1,FUTIL) - FIRST = UNDEFI - CALL FCN(NPARX,GIN,FIRST,U,4,FUTIL) - NFCN = 2 - IF (FZERO.EQ.UNDEFI .AND. FIRST.EQ.UNDEFI) THEN - CWHYXT = 'BY ERROR IN USER FUNCTION. ' - WRITE (ISYSWR,'(/A,A/)') ' USER HAS NOT CALCULATED FUNCTION', - + ' VALUE WHEN IFLAG=1 OR 4' - GO TO 800 - ENDIF - AMIN = FIRST - IF (FIRST .EQ. UNDEFI) AMIN=FZERO - CALL MNPRIN(1,AMIN) - NFCN = 2 - IF (FIRST .EQ. FZERO) GO TO 300 - FNEW = 0.0 - CALL FCN(NPARX,GIN,FNEW,U,4,FUTIL) - IF (FNEW .NE. AMIN) WRITE (ISYSWR,280) AMIN, FNEW - 280 FORMAT (/' MINUIT WARNING: PROBABLE ERROR IN USER FUNCTION.'/ - + ' FOR FIXED VALUES OF PARAMETERS, FCN IS TIME-DEPENDENT'/ - + ' F =',E22.14,' FOR FIRST CALL'/ - + ' F =',E22.14,' FOR SECOND CALL.'/) - NFCN = 3 - 300 FVAL3 = 2.0*AMIN+1.0 -C . . . . . . . . . . . read commands - CALL MNREAD(FCN,3,IFLGUT,FUTIL) - IF (IFLGUT .EQ. 2) GO TO 500 - IF (IFLGUT .EQ. 3) GO TO 600 - IF (IFLGUT .EQ. 4) GO TO 700 - CWHYXT = 'BY MINUIT COMMAND: '//CWORD - IF (INDEX(CWORD,'STOP').GT. 0) GO TO 800 - IF (INDEX(CWORD,'EXI') .GT. 0) GO TO 800 - IF (INDEX(CWORD,'RET') .EQ. 0) GO TO 100 - CWHYXT = 'AND RETURNS TO USER PROGRAM. ' - WRITE (ISYSWR,'(A,A)') ' ..........MINUIT TERMINATED ',CWHYXT - RETURN -C . . . . . . stop conditions - 500 CONTINUE - CWHYXT = 'BY END-OF-DATA ON PRIMARY INPUT FILE. ' - GO TO 800 - 600 CONTINUE - CWHYXT = 'BY UNRECOVERABLE READ ERROR ON INPUT. ' - GO TO 800 - 700 CONTINUE - CWHYXT = ': FATAL ERROR IN PARAMETER DEFINITIONS. ' - 800 WRITE (ISYSWR,'(A,A)') ' ..........MINUIT TERMINATED ',CWHYXT - STOP -C -C ......................entry to set unit numbers - - - - - - - - - - - ENTRY MINTIO(I1,I2,I3) - JSYSRD = I1 - JSYSWR = I2 - JSYSSA = I3 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnamin.F b/graphics/Qat/QatDataModeling/src/mnamin.F deleted file mode 100644 index b311ce49f07e6cdf4cb3c0046747fcdca136eb37..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnamin.F +++ /dev/null @@ -1,36 +0,0 @@ -* -* $Id: mnamin.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mnamin.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:18 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:28 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNAMIN(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called from many places. Initializes the value of AMIN by -CC calling the user function. Prints out the function value and -CC parameter values if Print Flag value is high enough. -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - NPARX = NPAR - IF (ISW(5) .GE. 1) WRITE (ISYSWR,'(/A,A)') ' FIRST CALL TO ', - + 'USER FUNCTION AT NEW START POINT, WITH IFLAG=4.' - CALL MNEXIN(X) - CALL FCN(NPARX,GIN,FNEW,U,4,FUTIL) - NFCN = NFCN + 1 - AMIN = FNEW - EDM = BIGEDM - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnbins.F b/graphics/Qat/QatDataModeling/src/mnbins.F deleted file mode 100644 index f7a2b006852dfa364ccd7265689268ed03edb52c..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnbins.F +++ /dev/null @@ -1,76 +0,0 @@ -* -* $Id: mnbins.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mnbins.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:18 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:28 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNBINS(A1,A2,NAA,BL,BH,NB,BWID) -#include "QatDataModeling/d506dp.inc" -C SUBROUTINE TO DETERMINE REASONABLE HISTOGRAM INTERVALS -C GIVEN ABSOLUTE UPPER AND LOWER BOUNDS A1 AND A2 -C AND DESIRED MAXIMUM NUMBER OF BINS NAA -C PROGRAM MAKES REASONABLE BINNING FROM BL TO BH OF WIDTH BWID -C F. JAMES, AUGUST, 1974 , stolen for Minuit, 1988 - PARAMETER (ZERO=0.0, ONE=1.0) - AL = MIN(A1,A2) - AH = MAX(A1,A2) - IF (AL.EQ.AH) AH = AL + 1. -C IF NAA .EQ. -1 , PROGRAM USES BWID INPUT FROM CALLING ROUTINE - IF (NAA .EQ. -1) GO TO 150 - 10 NA = NAA - 1 - IF (NA .LT. 1) NA = 1 -C GET NOMINAL BIN WIDTH IN EXPON FORM - 20 AWID = (AH-AL)/FLOAT(NA) - LOG = INT(DLOG10(DBLE(AWID))) - IF (AWID .LE. ONE) LOG=LOG-1 - SIGFIG = AWID * (10.00 **(-LOG)) -C ROUND MANTISSA UP TO 2, 2.5, 5, OR 10 - IF(SIGFIG .GT. 2.0) GO TO 40 - SIGRND = 2.0 - GO TO 100 - 40 IF (SIGFIG .GT. 2.5) GO TO 50 - SIGRND = 2.5 - GO TO 100 - 50 IF(SIGFIG .GT. 5.0) GO TO 60 - SIGRND =5.0 - GO TO 100 - 60 SIGRND = 1.0 - LOG = LOG + 1 - 100 CONTINUE - BWID = SIGRND*10.0**LOG - GO TO 200 -C GET NEW BOUNDS FROM NEW WIDTH BWID - 150 IF (BWID .LE. ZERO) GO TO 10 - 200 CONTINUE - ALB = AL/BWID - LWID=ALB - IF (ALB .LT. ZERO) LWID=LWID-1 - BL = BWID*FLOAT(LWID) - ALB = AH/BWID + 1.0 - KWID = ALB - IF (ALB .LT. ZERO) KWID=KWID-1 - BH = BWID*FLOAT(KWID) - NB = KWID-LWID - IF (NAA .GT. 5) GO TO 240 - IF (NAA .EQ. -1) RETURN -C REQUEST FOR ONE BIN IS DIFFICULT CASE - IF (NAA .GT. 1 .OR. NB .EQ. 1) RETURN - BWID = BWID*2.0 - NB = 1 - RETURN - 240 IF (2*NB .NE. NAA) RETURN - NA = NA + 1 - GO TO 20 - END diff --git a/graphics/Qat/QatDataModeling/src/mncalf.F b/graphics/Qat/QatDataModeling/src/mncalf.F deleted file mode 100644 index 8680c6a563eb9f99fcf1f85cb241e6a1fa61a2bd..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mncalf.F +++ /dev/null @@ -1,49 +0,0 @@ -* -* $Id: mncalf.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncalf.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:28 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCALF(FCN,PVEC,YCALF,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called only from MNIMPR. Transforms the function FCN -CC by dividing out the quadratic part in order to find further -CC minima. Calculates ycalf = (f-fmin)/(x-xmin)*v*(x-xmin) -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION PVEC(15) - NPARX = NPAR - CALL MNINEX(PVEC) - CALL FCN(NPARX,GIN,F,U,4,FUTIL) - NFCN = NFCN + 1 - DO 200 I= 1, NPAR - GRD(I) = 0. - DO 200 J= 1, NPAR - M = MAX(I,J) - N = MIN(I,J) - NDEX = M*(M-1)/2 + N - 200 GRD(I) = GRD(I) + VTHMAT(NDEX) * (XT(J)-PVEC(J)) - DENOM = 0. - DO 210 I= 1, NPAR - 210 DENOM = DENOM + GRD(I) * (XT(I)-PVEC(I)) - IF (DENOM .LE. ZERO) THEN - DCOVAR = 1. - ISW(2) = 0 - DENOM = 1.0 - ENDIF - YCALF = (F-APSI) / DENOM - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncler.F b/graphics/Qat/QatDataModeling/src/mncler.F deleted file mode 100644 index 02c0d892378c1bc59d44fb5ca1f4d18a18e07aa8..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mncler.F +++ /dev/null @@ -1,42 +0,0 @@ -* -* $Id: mncler.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncler.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:28 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCLER -#include "QatDataModeling/d506dp.inc" -CC Called from MINUIT and by option from MNEXCM -CC Resets the parameter list to UNDEFINED -#include "QatDataModeling/d506cm.inc" - NPFIX = 0 - NU = 0 - NPAR = 0 - NFCN = 0 - NWRMES(1) = 0 - NWRMES(2) = 0 - DO 10 I= 1, MAXEXT - U(I) = 0.0 - CPNAM(I) = CUNDEF - NVARL(I) = -1 - 10 NIOFEX(I) = 0 - CALL MNRSET(1) - CFROM = 'CLEAR ' - NFCNFR = NFCN - CSTATU ='UNDEFINED ' - LNOLIM = .TRUE. - LPHEAD = .TRUE. - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncntr.F b/graphics/Qat/QatDataModeling/src/mncntr.F deleted file mode 100644 index ca8b8006f2675ea65de1235673aaa87b80aa8cbd..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mncntr.F +++ /dev/null @@ -1,164 +0,0 @@ -* -* $Id: mncntr.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncntr.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:28 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCNTR(FCN,KE1,KE2,IERRF,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC to print function contours in two variables, on line printer -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - PARAMETER (NUMBCS=20,NXMAX=115) - DIMENSION CONTUR(NUMBCS), FCNA(NXMAX),FCNB(NXMAX) - CHARACTER CLABEL*(NUMBCS) - CHARACTER CHLN*(NXMAX),CHMID*(NXMAX),CHZERO*(NXMAX) - DATA CLABEL/'0123456789ABCDEFGHIJ'/ -C input arguments: parx, pary, devs, ngrid - IF (KE1.LE.0 .OR. KE2.LE.0) GO TO 1350 - IF (KE1.GT.NU .OR. KE2.GT.NU) GO TO 1350 - KI1 = NIOFEX(KE1) - KI2 = NIOFEX(KE2) - IF (KI1.LE.0 .OR. KI2.LE.0) GO TO 1350 - IF (KI1 .EQ. KI2) GO TO 1350 -C - IF (ISW(2) .LT. 1) THEN - CALL MNHESS(FCN,FUTIL) - CALL MNWERR - ENDIF - NPARX = NPAR - XSAV = U(KE1) - YSAV = U(KE2) - DEVS = WORD7(3) - IF (DEVS .LE. ZERO) DEVS=2. - XLO = U(KE1) - DEVS*WERR(KI1) - XUP = U(KE1) + DEVS*WERR(KI1) - YLO = U(KE2) - DEVS*WERR(KI2) - YUP = U(KE2) + DEVS*WERR(KI2) - NGRID = WORD7(4) - IF (NGRID .LE. 0) THEN - NGRID=25 - NX = MIN(NPAGWD-15,NGRID) - NY = MIN(NPAGLN-7, NGRID) - ELSE - NX = NGRID - NY = NGRID - ENDIF - IF (NX .LT. 11) NX=11 - IF (NY .LT. 11) NY=11 - IF (NX .GE. NXMAX) NX=NXMAX-1 -C ask if parameter outside limits - IF (NVARL(KE1) .GT. 1) THEN - IF (XLO .LT. ALIM(KE1)) XLO = ALIM(KE1) - IF (XUP .GT. BLIM(KE1)) XUP = BLIM(KE1) - ENDIF - IF (NVARL(KE2) .GT. 1) THEN - IF (YLO .LT. ALIM(KE2)) YLO = ALIM(KE2) - IF (YUP .GT. BLIM(KE2)) YUP = BLIM(KE2) - ENDIF - BWIDX = (XUP-XLO)/REAL(NX) - BWIDY = (YUP-YLO)/REAL(NY) - IXMID = INT((XSAV-XLO)*REAL(NX)/(XUP-XLO)) + 1 - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - DO 185 I= 1, NUMBCS - CONTUR(I) = AMIN + UP*FLOAT(I-1)**2 - 185 CONTINUE - CONTUR(1) = CONTUR(1) + 0.01*UP -C fill FCNB to prepare first row, and find column zero - U(KE2) = YUP - IXZERO = 0 - XB4 = ONE - DO 200 IX= 1, NX+1 - U(KE1) = XLO + REAL(IX-1)*BWIDX - CALL FCN(NPARX,GIN,FF,U,4,FUTIL) - FCNB(IX) = FF - IF (XB4.LT.ZERO .AND. U(KE1).GT.ZERO) IXZERO = IX-1 - XB4 = U(KE1) - CHMID(IX:IX) = '*' - CHZERO(IX:IX)= '-' - 200 CONTINUE - WRITE (ISYSWR,'(A,I3,A,A)') ' Y-AXIS: PARAMETER ', - + KE2,': ',CPNAM(KE2) - IF (IXZERO .GT. 0) THEN - CHZERO(IXZERO:IXZERO) = '+' - CHLN = ' ' - WRITE (ISYSWR,'(12X,A,A)') CHLN(1:IXZERO),'X=0' - ENDIF -C loop over rows - DO 280 IY= 1, NY - UNEXT = U(KE2) - BWIDY -C prepare this line's background pattern for contour - CHLN = ' ' - CHLN(IXMID:IXMID) = '*' - IF (IXZERO .NE. 0) CHLN(IXZERO:IXZERO) = ':' - IF (U(KE2).GT.YSAV .AND. UNEXT.LT.YSAV) CHLN=CHMID - IF (U(KE2).GT.ZERO .AND. UNEXT.LT.ZERO) CHLN=CHZERO - U(KE2) = UNEXT - YLABEL = U(KE2) + 0.5*BWIDY -C move FCNB to FCNA and fill FCNB with next row - DO 220 IX= 1, NX+1 - FCNA(IX) = FCNB(IX) - U(KE1) = XLO + REAL(IX-1)*BWIDX - CALL FCN(NPARX,GIN,FF,U,4,FUTIL) - FCNB(IX) = FF - 220 CONTINUE -C look for contours crossing the FCNxy squares - DO 250 IX= 1, NX - FMX = MAX(FCNA(IX),FCNB(IX),FCNA(IX+1),FCNB(IX+1)) - FMN = MIN(FCNA(IX),FCNB(IX),FCNA(IX+1),FCNB(IX+1)) - DO 230 ICS= 1, NUMBCS - IF (CONTUR(ICS) .GT. FMN) GO TO 240 - 230 CONTINUE - GO TO 250 - 240 IF (CONTUR(ICS) .LT. FMX) CHLN(IX:IX)=CLABEL(ICS:ICS) - 250 CONTINUE -C print a row of the contour plot - WRITE (ISYSWR,'(1X,G12.4,1X,A)') YLABEL,CHLN(1:NX) - 280 CONTINUE -C contours printed, label x-axis - CHLN = ' ' - CHLN( 1: 1) = 'I' - CHLN(IXMID:IXMID) = 'I' - CHLN(NX:NX) = 'I' - WRITE (ISYSWR,'(14X,A)') CHLN(1:NX) -C the hardest of all: print x-axis scale! - CHLN = ' ' - IF (NX .LE. 26) THEN - NL = MAX(NX-12,2) - NL2 = NL/2 - WRITE (ISYSWR,'(8X,G12.4,A,G12.4)') XLO,CHLN(1:NL),XUP - WRITE (ISYSWR,'(14X,A,G12.4)') CHLN(1:NL2),XSAV - ELSE - NL = MAX(NX-24,2)/2 - NL2 = NL - IF (NL .GT. 10) NL2=NL-6 - WRITE (ISYSWR,'(8X,G12.4,A,G12.4,A,G12.4)') XLO, - + CHLN(1:NL),XSAV,CHLN(1:NL2),XUP - ENDIF - WRITE (ISYSWR,'(6X,A,I3,A,A,A,G12.4)') ' X-AXIS: PARAMETER', - + KE1,': ',CPNAM(KE1),' ONE COLUMN=',BWIDX - WRITE (ISYSWR,'(A,G12.4,A,G12.4,A)') ' FUNCTION VALUES: F(I)=', - + AMIN,' +',UP,' *I**2' -C finished. reset input values - U(KE1) = XSAV - U(KE2) = YSAV - IERRF = 0 - RETURN - 1350 WRITE (ISYSWR,1351) - 1351 FORMAT (' INVALID PARAMETER NUMBER(S) REQUESTED. IGNORED.' /) - IERRF = 1 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncomd.F b/graphics/Qat/QatDataModeling/src/mncomd.F deleted file mode 100644 index d39dbfd3344fad7ad3db655dd38f189a90dd8e80..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mncomd.F +++ /dev/null @@ -1,112 +0,0 @@ -* -* $Id: mncomd.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncomd.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCOMD(FCN,CRDBIN,ICONDN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called by user. 'Reads' a command string and executes. -CC Equivalent to MNEXCM except that the command is given as a -CC character string. -CC -CC ICONDN = 0: command executed normally -CC 1: command is blank, ignored -CC 2: command line unreadable, ignored -CC 3: unknown command, ignored -CC 4: abnormal termination (e.g., MIGRAD not converged) -CC 5: command is a request to read PARAMETER definitions -CC 6: 'SET INPUT' command -CC 7: 'SET TITLE' command -CC 8: 'SET COVAR' command -CC 9: reserved -CC 10: END command -CC 11: EXIT or STOP command -CC 12: RETURN command -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION PLIST(MAXP) - CHARACTER COMAND*(MAXCWD) - CHARACTER CLOWER*26, CUPPER*26 - LOGICAL LEADER -C - EXTERNAL FCN,FUTIL - CHARACTER*(*) CRDBIN - CHARACTER*100 CRDBUF - DATA CLOWER/'abcdefghijklmnopqrstuvwxyz'/ - DATA CUPPER/'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/ -C - LENBUF = LEN(CRDBIN) - CRDBUF = CRDBIN - ICONDN = 0 -C record not case-sensitive, get upper case, strip leading blanks - LEADER = .TRUE. - IPOS = 1 - DO 110 I= 1, MIN(MAXCWD,LENBUF) - IF (CRDBUF(I:I) .EQ. '''') GO TO 111 - IF (CRDBUF(I:I) .EQ. ' ') THEN - IF (LEADER) IPOS = IPOS + 1 - GO TO 110 - ENDIF - LEADER = .FALSE. - DO 108 IC= 1, 26 - IF (CRDBUF(I:I) .EQ. CLOWER(IC:IC)) CRDBUF(I:I)=CUPPER(IC:IC) - 108 CONTINUE - 110 CONTINUE - 111 CONTINUE -C blank or null command - IF (IPOS .GT. LENBUF) THEN - WRITE (ISYSWR,'(A)') ' BLANK COMMAND IGNORED.' - ICONDN = 1 - GO TO 900 - ENDIF -C . . preemptive commands -C if command is 'PARAMETER' - IF (CRDBUF(IPOS:IPOS+2) .EQ. 'PAR') THEN - ICONDN = 5 - LPHEAD = .TRUE. - GO TO 900 - ENDIF -C if command is 'SET INPUT' - IF (CRDBUF(IPOS:IPOS+6) .EQ. 'SET INP') THEN - ICONDN = 6 - LPHEAD = .TRUE. - GO TO 900 - ENDIF -C if command is 'SET TITLE' - IF (CRDBUF(IPOS:IPOS+6) .EQ. 'SET TIT') THEN - ICONDN = 7 - LPHEAD = .TRUE. - GO TO 900 - ENDIF -C if command is 'SET COVARIANCE' - IF (CRDBUF(IPOS:IPOS+6) .EQ. 'SET COV') THEN - ICONDN = 8 - LPHEAD = .TRUE. - GO TO 900 - ENDIF -C crack the command . . . . . . . . . . . . . . . . - CALL MNCRCK(CRDBUF(IPOS:LENBUF),MAXCWD,COMAND,LNC, - + MAXP, PLIST, LLIST, IERR,ISYSWR) - IF (IERR .GT. 0) THEN - WRITE (ISYSWR,'(A)') ' COMMAND CANNOT BE INTERPRETED' - ICONDN = 2 - GO TO 900 - ENDIF -C - CALL MNEXCM(FCN,COMAND(1:LNC),PLIST,LLIST,IERR,FUTIL) - ICONDN = IERR - 900 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncont.F b/graphics/Qat/QatDataModeling/src/mncont.F deleted file mode 100644 index a39141118085ea7a5e9b6dbf0ae2f444d8e4647a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mncont.F +++ /dev/null @@ -1,285 +0,0 @@ -* -* $Id: mncont.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncont.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCONT(FCN,KE1,KE2,NPTU,XPTU,YPTU,IERRF,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Find NPTU points along a contour where the function -CC FMIN (X(KE1),X(KE2)) = AMIN+UP -CC where FMIN is the minimum of FCN with respect to all -CC the other NPAR-2 variable parameters (if any). -CC IERRF on return will be equal to the number of points found: -CC NPTU if normal termination with NPTU points found -CC -1 if errors in the calling sequence (KE1, KE2 not variable) -CC 0 if less than four points can be found (using MNMNOT) -CC n>3 if only n points can be found (n < NPTU) -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION XPTU(NPTU), YPTU(NPTU), W(MNI),GCC(MNI) - CHARACTER CHERE*10 - PARAMETER (CHERE='MNContour ') - LOGICAL LDEBUG - EXTERNAL FCN,FUTIL -C input arguments: parx, pary, devs, ngrid - LDEBUG = (IDBG(6) .GE. 1) - IF (KE1.LE.0 .OR. KE2.LE.0) GO TO 1350 - IF (KE1.GT.NU .OR. KE2.GT.NU) GO TO 1350 - KI1 = NIOFEX(KE1) - KI2 = NIOFEX(KE2) - IF (KI1.LE.0 .OR. KI2.LE.0) GO TO 1350 - IF (KI1 .EQ. KI2) GO TO 1350 - IF (NPTU .LT. 4) GO TO 1400 -C - NFCNCO = NFCN - NFCNMX = 100*(NPTU+5)*(NPAR+1) -C The minimum - CALL MNCUVE(FCN,FUTIL) - U1MIN = U(KE1) - U2MIN = U(KE2) - IERRF = 0 - CFROM = CHERE - NFCNFR = NFCNCO - IF (ISW(5) .GE. 0) THEN - WRITE (ISYSWR,'(1X,A,I4,A)') - + 'START MNCONTOUR CALCULATION OF',NPTU,' POINTS ON CONTOUR.' - IF (NPAR .GT. 2) THEN - IF (NPAR .EQ. 3) THEN - KI3 = 6 - KI1 - KI2 - KE3 = NEXOFI(KI3) - WRITE (ISYSWR,'(1X,A,I3,2X,A)') - + 'EACH POINT IS A MINIMUM WITH RESPECT TO PARAMETER ', - + KE3, CPNAM(KE3) - ELSE - WRITE (ISYSWR,'(1X,A,I3,A)') - + 'EACH POINT IS A MINIMUM WITH RESPECT TO THE OTHER', - + NPAR-2, ' VARIABLE PARAMETERS.' - ENDIF - ENDIF - ENDIF -C -C Find the first four points using MNMNOT -C ........................ first two points - CALL MNMNOT(FCN,KE1,KE2,VAL2PL,VAL2MI,FUTIL) - IF (ERN(KI1) .EQ. UNDEFI) THEN - XPTU(1) = ALIM(KE1) - CALL MNWARN('W',CHERE,'Contour squeezed by parameter limits.') - ELSE - IF (ERN(KI1) .GE. ZERO) GO TO 1500 - XPTU(1) = U1MIN+ERN(KI1) - ENDIF - YPTU(1) = VAL2MI -C - IF (ERP(KI1) .EQ. UNDEFI) THEN - XPTU(3) = BLIM(KE1) - CALL MNWARN('W',CHERE,'Contour squeezed by parameter limits.') - ELSE - IF (ERP(KI1) .LE. ZERO) GO TO 1500 - XPTU(3) = U1MIN+ERP(KI1) - ENDIF - YPTU(3) = VAL2PL - SCALX = 1.0/(XPTU(3) - XPTU(1)) -C ........................... next two points - CALL MNMNOT(FCN,KE2,KE1,VAL2PL,VAL2MI,FUTIL) - IF (ERN(KI2) .EQ. UNDEFI) THEN - YPTU(2) = ALIM(KE2) - CALL MNWARN('W',CHERE,'Contour squeezed by parameter limits.') - ELSE - IF (ERN(KI2) .GE. ZERO) GO TO 1500 - YPTU(2) = U2MIN+ERN(KI2) - ENDIF - XPTU(2) = VAL2MI - IF (ERP(KI2) .EQ. UNDEFI) THEN - YPTU(4) = BLIM(KE2) - CALL MNWARN('W',CHERE,'Contour squeezed by parameter limits.') - ELSE - IF (ERP(KI2) .LE. ZERO) GO TO 1500 - YPTU(4) = U2MIN+ERP(KI2) - ENDIF - XPTU(4) = VAL2PL - SCALY = 1.0/(YPTU(4) - YPTU(2)) - NOWPTS = 4 - NEXT = 5 - IF (LDEBUG) THEN - WRITE (ISYSWR,'(A)') ' Plot of four points found by MINOS' - XPT(1) = U1MIN - YPT(1) = U2MIN - CHPT(1) = ' ' - NALL = MIN(NOWPTS+1,MAXCPT) - DO 85 I= 2, NALL - XPT(I) = XPTU(I-1) - YPT(I) = YPTU(I-1) - 85 CONTINUE - CHPT(2)= 'A' - CHPT(3)= 'B' - CHPT(4)= 'C' - CHPT(5)= 'D' - CALL MNPLOT(XPT,YPT,CHPT,NALL,ISYSWR,NPAGWD,NPAGLN) - ENDIF -C -C ..................... save some values before fixing - ISW2 = ISW(2) - ISW4 = ISW(4) - SIGSAV = EDM - ISTRAV = ISTRAT - DC = DCOVAR - APSI = EPSI*0.5 - ABEST=AMIN - MPAR=NPAR - NFMXIN = NFCNMX - DO 125 I= 1, MPAR - 125 XT(I) = X(I) - DO 130 J= 1, MPAR*(MPAR+1)/2 - 130 VTHMAT(J) = VHMAT(J) - DO 135 I= 1, MPAR - GCC(I) = GLOBCC(I) - 135 W(I) = WERR(I) -C fix the two parameters in question - KINTS = NIOFEX(KE1) - CALL MNFIXP (KINTS,IERR) - KINTS = NIOFEX(KE2) - CALL MNFIXP (KINTS,IERR) -C ......................Fill in the rest of the points - DO 900 INEW= NEXT, NPTU -C find the two neighbouring points with largest separation - BIGDIS = 0. - DO 200 IOLD = 1, INEW-1 - I2 = IOLD + 1 - IF (I2 .EQ. INEW) I2 = 1 - DIST = (SCALX*(XPTU(IOLD)-XPTU(I2)))**2 + - + (SCALY*(YPTU(IOLD)-YPTU(I2)))**2 - IF (DIST .GT. BIGDIS) THEN - BIGDIS = DIST - IDIST = IOLD - ENDIF - 200 CONTINUE - I1 = IDIST - I2 = I1 + 1 - IF (I2 .EQ. INEW) I2 = 1 -C next point goes between I1 and I2 - A1 = HALF - A2 = HALF - 300 XMIDCR = A1*XPTU(I1) + A2*XPTU(I2) - YMIDCR = A1*YPTU(I1) + A2*YPTU(I2) - XDIR = YPTU(I2) - YPTU(I1) - YDIR = XPTU(I1) - XPTU(I2) - SCLFAC = MAX(ABS(XDIR*SCALX), ABS(YDIR*SCALY)) - XDIRCR = XDIR/SCLFAC - YDIRCR = YDIR/SCLFAC - KE1CR = KE1 - KE2CR = KE2 -C Find the contour crossing point along DIR - AMIN = ABEST - CALL MNCROS(FCN,AOPT,IERCR,FUTIL) - IF (IERCR .GT. 1) THEN -C If cannot find mid-point, try closer to point 1 - IF (A1 .GT. HALF) THEN - IF (ISW(5) .GE. 0) - + WRITE (ISYSWR,'(A,A,I3,A)') ' MNCONT CANNOT FIND NEXT', - + ' POINT ON CONTOUR. ONLY ',NOWPTS,' POINTS FOUND.' - GO TO 950 - ENDIF - CALL MNWARN('W',CHERE,'Cannot find midpoint, try closer.') - A1 = 0.75 - A2 = 0.25 - GO TO 300 - ENDIF -C Contour has been located, insert new point in list - DO 830 MOVE= NOWPTS,I1+1,-1 - XPTU(MOVE+1) = XPTU(MOVE) - YPTU(MOVE+1) = YPTU(MOVE) - 830 CONTINUE - NOWPTS = NOWPTS + 1 - XPTU(I1+1) = XMIDCR + XDIRCR*AOPT - YPTU(I1+1) = YMIDCR + YDIRCR*AOPT - 900 CONTINUE - 950 CONTINUE -C - IERRF = NOWPTS - CSTATU = 'SUCCESSFUL' - IF (NOWPTS .LT. NPTU) CSTATU = 'INCOMPLETE' -C make a lineprinter plot of the contour - IF (ISW(5) .GE. 0) THEN - XPT(1) = U1MIN - YPT(1) = U2MIN - CHPT(1) = ' ' - NALL = MIN(NOWPTS+1,MAXCPT) - DO 1000 I= 2, NALL - XPT(I) = XPTU(I-1) - YPT(I) = YPTU(I-1) - CHPT(I)= 'X' - 1000 CONTINUE - WRITE (ISYSWR,'(A,I3,2X,A)') ' Y-AXIS: PARAMETER ',KE2, - + CPNAM(KE2) - CALL MNPLOT(XPT,YPT,CHPT,NALL,ISYSWR,NPAGWD,NPAGLN) - WRITE (ISYSWR,'(25X,A,I3,2X,A)') 'X-AXIS: PARAMETER ', - + KE1,CPNAM(KE1) - ENDIF -C print out the coordinates around the contour - IF (ISW(5) .GE. 1) THEN - NPCOL = (NOWPTS+1)/2 - NFCOL = NOWPTS/2 - WRITE (ISYSWR,'(/I5,A,G13.5,A,G11.3)') NOWPTS, - + ' POINTS ON CONTOUR. FMIN=',ABEST,' ERRDEF=',UP - WRITE (ISYSWR,'(9X,A,3X,A,18X,A,3X,A)') - + CPNAM(KE1),CPNAM(KE2),CPNAM(KE1),CPNAM(KE2) - DO 1050 LINE = 1, NFCOL - LR = LINE + NPCOL - WRITE (ISYSWR,'(1X,I5,2G13.5,10X,I5,2G13.5)') - + LINE,XPTU(LINE),YPTU(LINE),LR,XPTU(LR),YPTU(LR) - 1050 CONTINUE - IF (NFCOL .LT. NPCOL) WRITE (ISYSWR,'(1X,I5,2G13.5)') - + NPCOL,XPTU(NPCOL),YPTU(NPCOL) - ENDIF -C . . contour finished. reset v - ITAUR = 1 - CALL MNFREE(1) - CALL MNFREE(1) - DO 1100 J= 1, MPAR*(MPAR+1)/2 - 1100 VHMAT(J) = VTHMAT(J) - DO 1120 I= 1, MPAR - GLOBCC(I) = GCC(I) - WERR(I) = W(I) - 1120 X(I) = XT(I) - CALL MNINEX (X) - EDM = SIGSAV - AMIN = ABEST - ISW(2) = ISW2 - ISW(4) = ISW4 - DCOVAR = DC - ITAUR = 0 - NFCNMX = NFMXIN - ISTRAT = ISTRAV - U(KE1) = U1MIN - U(KE2) = U2MIN - GO TO 2000 -C Error returns - 1350 WRITE (ISYSWR,'(A)') ' INVALID PARAMETER NUMBERS.' - GO TO 1450 - 1400 WRITE (ISYSWR,'(A)') ' LESS THAN FOUR POINTS REQUESTED.' - 1450 IERRF = -1 - CSTATU = 'USER ERROR' - GO TO 2000 - 1500 WRITE (ISYSWR,'(A)') ' MNCONT UNABLE TO FIND FOUR POINTS.' - U(KE1) = U1MIN - U(KE2) = U2MIN - IERRF = 0 - CSTATU = 'FAILED' - 2000 CONTINUE - CFROM = CHERE - NFCNFR = NFCNCO - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncrck.F b/graphics/Qat/QatDataModeling/src/mncrck.F deleted file mode 100644 index 759c131d36c1e0cf6fb57d04210df05d01108b88..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mncrck.F +++ /dev/null @@ -1,138 +0,0 @@ -* -* $Id: mncrck.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncrck.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCRCK(CRDBUF,MAXCWD,COMAND,LNC, - + MXP, PLIST, LLIST,IERR,ISYSWR) -#include "QatDataModeling/d506dp.inc" -CC -CC Called from MNREAD. -CC Cracks the free-format input, expecting zero or more -CC alphanumeric fields (which it joins into COMAND(1:LNC)) -CC followed by one or more numeric fields separated by -CC blanks and/or one comma. The numeric fields are put into -CC the LLIST (but at most MXP) elements of PLIST. -CC IERR = 0 if no errors, -CC = 1 if error(s). -CC Diagnostic messages are written to ISYSWR -CC - PARAMETER (MAXELM=25, MXLNEL=19) - CHARACTER*(*) COMAND, CRDBUF - CHARACTER CNUMER*13, CELMNT(MAXELM)*(MXLNEL), CNULL*15 - DIMENSION LELMNT(MAXELM),PLIST(MXP) - DATA CNULL /')NULL STRING '/ - DATA CNUMER/'123456789-.0+'/ - IELMNT = 0 - LEND = LEN(CRDBUF) - NEXTB = 1 - IERR = 0 -C . . . . loop over words CELMNT - 10 CONTINUE - DO 100 IPOS= NEXTB,LEND - IBEGIN = IPOS - IF (CRDBUF(IPOS:IPOS).EQ.' ') GO TO 100 - IF (CRDBUF(IPOS:IPOS).EQ.',') GO TO 250 - GO TO 150 - 100 CONTINUE - GO TO 300 - 150 CONTINUE -C found beginning of word, look for end - DO 180 IPOS = IBEGIN+1,LEND - IF (CRDBUF(IPOS:IPOS).EQ.' ') GO TO 250 - IF (CRDBUF(IPOS:IPOS).EQ.',') GO TO 250 - 180 CONTINUE - IPOS = LEND+1 - 250 IEND = IPOS-1 - IELMNT = IELMNT + 1 - IF (IEND .GE. IBEGIN) THEN - CELMNT(IELMNT) = CRDBUF(IBEGIN:IEND) - ELSE - CELMNT(IELMNT) = CNULL - ENDIF - LELMNT(IELMNT) = IEND-IBEGIN+1 - IF (LELMNT(IELMNT) .GT. MXLNEL) THEN - WRITE (ISYSWR, 253) CRDBUF(IBEGIN:IEND),CELMNT(IELMNT) - 253 FORMAT (' MINUIT WARNING: INPUT DATA WORD TOO LONG.' - + /' ORIGINAL:',A - + /' TRUNCATED TO:',A) - LELMNT(IELMNT) = MXLNEL - ENDIF - IF (IPOS .GE. LEND) GO TO 300 - IF (IELMNT .GE. MAXELM) GO TO 300 -C look for comma or beginning of next word - DO 280 IPOS= IEND+1,LEND - IF (CRDBUF(IPOS:IPOS) .EQ. ' ') GO TO 280 - NEXTB = IPOS - IF (CRDBUF(IPOS:IPOS) .EQ. ',') NEXTB = IPOS+1 - GO TO 10 - 280 CONTINUE -C All elements found, join the alphabetic ones to -C form a command - 300 CONTINUE - NELMNT = IELMNT - COMAND = ' ' - LNC = 1 - PLIST(1) = 0. - LLIST = 0 - IF (IELMNT .EQ. 0) GO TO 900 - KCMND = 0 - DO 400 IELMNT = 1, NELMNT - IF (CELMNT(IELMNT) .EQ. CNULL) GO TO 450 - DO 350 IC= 1, 13 - IF (CELMNT(IELMNT)(1:1) .EQ. CNUMER(IC:IC)) GO TO 450 - 350 CONTINUE - IF (KCMND .GE. MAXCWD) GO TO 400 - LEFT = MAXCWD-KCMND - LTOADD = LELMNT(IELMNT) - IF (LTOADD .GT. LEFT) LTOADD=LEFT - COMAND(KCMND+1:KCMND+LTOADD) = CELMNT(IELMNT)(1:LTOADD) - KCMND = KCMND + LTOADD - IF (KCMND .EQ. MAXCWD) GO TO 400 - KCMND = KCMND + 1 - COMAND(KCMND:KCMND) = ' ' - 400 CONTINUE - LNC = KCMND - GO TO 900 - 450 CONTINUE - LNC = KCMND -C . . . . we have come to a numeric field - LLIST = 0 - DO 600 IFLD= IELMNT,NELMNT - LLIST = LLIST + 1 - IF (LLIST .GT. MXP) THEN - NREQ = NELMNT-IELMNT+1 - WRITE (ISYSWR,511) NREQ,MXP - 511 FORMAT (/' MINUIT WARNING IN MNCRCK: '/ ' COMMAND HAS INPUT',I5, - + ' NUMERIC FIELDS, BUT MINUIT CAN ACCEPT ONLY',I3) - GO TO 900 - ENDIF - IF (CELMNT(IFLD) .EQ. CNULL) THEN - PLIST(LLIST) = 0. - ELSE - READ (CELMNT(IFLD), '(BN,F19.0)',ERR=575) PLIST(LLIST) - ENDIF - GO TO 600 - 575 WRITE (ISYSWR,'(A,A,A)') ' FORMAT ERROR IN NUMERIC FIELD: "', - + CELMNT(IFLD)(1:LELMNT(IFLD)),'"' - IERR = 1 - PLIST(LLIST) = 0. - 600 CONTINUE -C end loop over numeric fields - 900 CONTINUE - IF (LNC .LE. 0) LNC=1 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncros.F b/graphics/Qat/QatDataModeling/src/mncros.F deleted file mode 100644 index 16d34258de99ac764a56ceb9eed03720f1a12b77..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mncros.F +++ /dev/null @@ -1,343 +0,0 @@ -* -* $Id: mncros.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncros.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCROS(FCN,AOPT,IERCR,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Find point where MNEVAL=AMIN+UP, along the line through -CC XMIDCR,YMIDCR with direction XDIRCR,YDIRCR, where X and Y -CC are parameters KE1CR and KE2CR. If KE2CR=0 (from MINOS), -CC only KE1CR is varied. From MNCONT, both are varied. -CC Crossing point is at -CC (U(KE1),U(KE2)) = (XMID,YMID) + AOPT*(XDIR,YDIR) -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER CHERE*10, CHARAL*28, CHSIGN*4 - PARAMETER (CHERE='MNCROS ', MLSB=3, MAXITR=15, TLR=0.01) - DIMENSION FLSB(MLSB),ALSB(MLSB), COEFF(3) - LOGICAL LDEBUG - EXTERNAL FCN,FUTIL - DATA CHARAL/' .ABCDEFGHIJKLMNOPQRSTUVWXYZ'/ - LDEBUG = (IDBG(6) .GE. 1) - AMINSV = AMIN -C convergence when F is within TLF of AIM and next prediction -C of AOPT is within TLA of previous value of AOPT - AIM = AMIN + UP - TLF = TLR*UP - TLA = TLR - XPT(1) = 0.0 - YPT(1) = AIM - CHPT(1) = ' ' - IPT = 1 - IF (KE2CR .EQ. 0) THEN - XPT(2) = -1.0 - YPT(2) = AMIN - CHPT(2) = '.' - IPT = 2 - ENDIF -C find the largest allowed A - AULIM = 100. - DO 100 IK= 1, 2 - IF (IK .EQ. 1) THEN - KEX = KE1CR - ZMID = XMIDCR - ZDIR = XDIRCR - ELSE - IF (KE2CR .EQ. 0) GO TO 100 - KEX = KE2CR - ZMID = YMIDCR - ZDIR = YDIRCR - ENDIF - IF (NVARL(KEX) .LE. 1) GO TO 100 - IF (ZDIR .EQ. ZERO) GO TO 100 - ZLIM = ALIM(KEX) - IF (ZDIR .GT. ZERO) ZLIM = BLIM(KEX) - AULIM = MIN(AULIM,(ZLIM-ZMID)/ZDIR) - 100 CONTINUE -C LSB = Line Search Buffer -C first point - ANEXT = 0. - AOPT = ANEXT - LIMSET = .FALSE. - IF (AULIM .LT. AOPT+TLA) LIMSET = .TRUE. - CALL MNEVAL(FCN,ANEXT,FNEXT,IEREV,FUTIL) -C debug printout: - IF (LDEBUG) WRITE (ISYSWR,'(A,I8,A,F10.5,A,2F10.5)') - + ' MNCROS: calls=',NFCN,' AIM=',AIM,' F,A=',FNEXT,AOPT - IF (IEREV .GT. 0) GO TO 900 - IF (LIMSET .AND. FNEXT .LE. AIM) GO TO 930 - IPT = IPT + 1 - XPT(IPT) = ANEXT - YPT(IPT) = FNEXT - CHPT(IPT)= CHARAL(IPT:IPT) - ALSB(1) = ANEXT - FLSB(1) = FNEXT - FNEXT = MAX(FNEXT,AMINSV+0.1*UP) - AOPT = SQRT((UP)/(FNEXT-AMINSV)) - 1.0 - IF (ABS(FNEXT-AIM) .LT. TLF) GO TO 800 -C - IF (AOPT .LT. -HALF) AOPT = -HALF - IF (AOPT .GT. ONE) AOPT = ONE - LIMSET = .FALSE. - IF (AOPT .GT. AULIM) THEN - AOPT = AULIM - LIMSET = .TRUE. - ENDIF - CALL MNEVAL(FCN,AOPT,FNEXT,IEREV,FUTIL) -C debug printout: - IF (LDEBUG) WRITE (ISYSWR,'(A,I8,A,F10.5,A,2F10.5)') - + ' MNCROS: calls=',NFCN,' AIM=',AIM,' F,A=',FNEXT,AOPT - IF (IEREV .GT. 0) GO TO 900 - IF (LIMSET .AND. FNEXT .LE. AIM) GO TO 930 - ALSB(2) = AOPT - IPT = IPT + 1 - XPT(IPT) = ALSB(2) - YPT(IPT) = FNEXT - CHPT(IPT)= CHARAL(IPT:IPT) - FLSB(2) = FNEXT - DFDA = (FLSB(2)-FLSB(1))/ (ALSB(2)-ALSB(1)) -C DFDA must be positive on the contour - IF (DFDA .GT. ZERO) GO TO 460 - 300 CALL MNWARN('D',CHERE,'Looking for slope of the right sign') - MAXLK = MAXITR - IPT - DO 400 IT= 1, MAXLK - ALSB(1) = ALSB(2) - FLSB(1) = FLSB(2) - AOPT = ALSB(1) + 0.2*REAL(IT) - LIMSET = .FALSE. - IF (AOPT .GT. AULIM) THEN - AOPT = AULIM - LIMSET = .TRUE. - ENDIF - CALL MNEVAL(FCN,AOPT,FNEXT,IEREV,FUTIL) -C debug printout: - IF (LDEBUG) WRITE (ISYSWR,'(A,I8,A,F10.5,A,2F10.5)') - + ' MNCROS: calls=',NFCN,' AIM=',AIM,' F,A=',FNEXT,AOPT - IF (IEREV .GT. 0) GO TO 900 - IF (LIMSET .AND. FNEXT .LE. AIM) GO TO 930 - ALSB(2) = AOPT - IPT = IPT + 1 - XPT(IPT) = ALSB(2) - YPT(IPT) = FNEXT - CHPT(IPT)= CHARAL(IPT:IPT) - FLSB(2) = FNEXT - DFDA = (FLSB(2)-FLSB(1))/ (ALSB(2)-ALSB(1)) - IF (DFDA .GT. ZERO) GO TO 450 - 400 CONTINUE - CALL MNWARN('W',CHERE,'Cannot find slope of the right sign') - GO TO 950 - 450 CONTINUE -C we have two points with the right slope - 460 AOPT = ALSB(2) + (AIM-FLSB(2))/DFDA - FDIST = MIN(ABS(AIM -FLSB(1)),ABS(AIM -FLSB(2))) - ADIST = MIN(ABS(AOPT-ALSB(1)),ABS(AOPT-ALSB(2))) - TLA = TLR - IF (ABS(AOPT) .GT. ONE) TLA = TLR*ABS(AOPT) - IF (ADIST .LT. TLA .AND. FDIST .LT. TLF) GO TO 800 - IF (IPT .GE. MAXITR) GO TO 950 - BMIN = MIN(ALSB(1),ALSB(2)) - 1.0 - IF (AOPT .LT. BMIN) AOPT = BMIN - BMAX = MAX(ALSB(1),ALSB(2)) + 1.0 - IF (AOPT .GT. BMAX) AOPT = BMAX -C Try a third point - LIMSET = .FALSE. - IF (AOPT .GT. AULIM) THEN - AOPT = AULIM - LIMSET = .TRUE. - ENDIF - CALL MNEVAL(FCN,AOPT,FNEXT,IEREV,FUTIL) -C debug printout: - IF (LDEBUG) WRITE (ISYSWR,'(A,I8,A,F10.5,A,2F10.5)') - + ' MNCROS: calls=',NFCN,' AIM=',AIM,' F,A=',FNEXT,AOPT - IF (IEREV .GT. 0) GO TO 900 - IF (LIMSET .AND. FNEXT .LE. AIM) GO TO 930 - ALSB(3) = AOPT - IPT = IPT + 1 - XPT(IPT) = ALSB(3) - YPT(IPT) = FNEXT - CHPT(IPT)= CHARAL(IPT:IPT) - FLSB(3) = FNEXT - INEW = 3 -C now we have three points, ask how many <AIM - ECARMN = ABS(FNEXT-AIM) - IBEST = 3 - ECARMX = 0. - NOLESS = 0 - DO 480 I= 1, 3 - ECART = ABS(FLSB(I) - AIM) - IF (ECART .GT. ECARMX) THEN - ECARMX = ECART - IWORST = I - ENDIF - IF (ECART .LT. ECARMN) THEN - ECARMN = ECART - IBEST = I - ENDIF - IF (FLSB(I) .LT. AIM) NOLESS = NOLESS + 1 - 480 CONTINUE - INEW = IBEST -C if at least one on each side of AIM, fit a parabola - IF (NOLESS.EQ.1 .OR. NOLESS.EQ.2) GO TO 500 -C if all three are above AIM, third must be closest to AIM - IF (NOLESS .EQ. 0 .AND. IBEST .NE. 3) GO TO 950 -C if all three below, and third is not best, then slope -C has again gone negative, look for positive slope. - IF (NOLESS .EQ. 3 .AND. IBEST .NE. 3) THEN - ALSB(2) = ALSB(3) - FLSB(2) = FLSB(3) - GO TO 300 - ENDIF -C in other cases, new straight line thru last two points - ALSB(IWORST) = ALSB(3) - FLSB(IWORST) = FLSB(3) - DFDA = (FLSB(2)-FLSB(1))/ (ALSB(2)-ALSB(1)) - GO TO 460 -C parabola fit - 500 CALL MNPFIT(ALSB,FLSB,3,COEFF,SDEV) - IF (COEFF(3) .LE. ZERO) CALL MNWARN ('D',CHERE, - + 'Curvature is negative near contour line.') - DETERM = COEFF(2)**2 - 4.*COEFF(3)*(COEFF(1)-AIM) - IF (DETERM .LE. ZERO) THEN - CALL MNWARN('D',CHERE,'Problem 2, impossible determinant') - GO TO 950 - ENDIF -C Find which root is the right one - RT = SQRT(DETERM) - X1 = (-COEFF(2) + RT)/(2.*COEFF(3)) - X2 = (-COEFF(2) - RT)/(2.*COEFF(3)) - S1 = COEFF(2) + 2.*X1*COEFF(3) - S2 = COEFF(2) + 2.*X2*COEFF(3) - IF (S1*S2 .GT. ZERO) WRITE (ISYSWR,'(A)') ' MNCONTour problem 1' - AOPT = X1 - SLOPE = S1 - IF (S2 .GT. ZERO) THEN - AOPT = X2 - SLOPE = S2 - ENDIF -C ask if converged - TLA = TLR - IF (ABS(AOPT) .GT. ONE) TLA = TLR*ABS(AOPT) - IF (ABS(AOPT-ALSB(IBEST)) .LT. TLA .AND. - & ABS(FLSB(IBEST)-AIM) .LT. TLF) GO TO 800 - IF (IPT .GE. MAXITR) GO TO 950 -C see if proposed point is in acceptable zone between L and R -C first find ILEFT, IRIGHT, IOUT and IBEST - ILEFT = 0 - IRIGHT = 0 - IBEST = 1 - ECARMX = 0. - ECARMN = ABS(AIM-FLSB(1)) - DO 550 I= 1, 3 - ECART = ABS(FLSB(I) - AIM) - IF (ECART .LT. ECARMN) THEN - ECARMN = ECART - IBEST = I - ENDIF - IF (ECART .GT. ECARMX) ECARMX = ECART - IF (FLSB(I) .GT. AIM) THEN - IF (IRIGHT .EQ. 0) THEN - IRIGHT = I - ELSE IF (FLSB(I) .GT. FLSB(IRIGHT)) THEN - IOUT = I - ELSE - IOUT = IRIGHT - IRIGHT = I - ENDIF - ELSE IF (ILEFT .EQ. 0) THEN - ILEFT = I - ELSE IF (FLSB(I) .LT. FLSB(ILEFT)) THEN - IOUT = I - ELSE - IOUT = ILEFT - ILEFT = I - ENDIF - 550 CONTINUE -C avoid keeping a very bad point next time around - IF (ECARMX .GT. 10.*ABS(FLSB(IOUT)-AIM)) - & AOPT = HALF*AOPT + HALF*HALF*(ALSB(IRIGHT)+ALSB(ILEFT)) -C knowing ILEFT and IRIGHT, get acceptable window - SMALLA = 0.1*TLA - IF (SLOPE*SMALLA .GT. TLF) SMALLA = TLF/SLOPE - ALEFT = ALSB(ILEFT) + SMALLA - ARIGHT = ALSB(IRIGHT) - SMALLA -C move proposed point AOPT into window if necessary - IF (AOPT .LT. ALEFT) AOPT = ALEFT - IF (AOPT .GT. ARIGHT) AOPT = ARIGHT - IF (ALEFT .GT. ARIGHT)AOPT = HALF*(ALEFT + ARIGHT) -C see if proposed point outside limits (should be impossible!) - LIMSET = .FALSE. - IF (AOPT .GT. AULIM) THEN - AOPT = AULIM - LIMSET = .TRUE. - ENDIF -C Evaluate function at new point AOPT - CALL MNEVAL(FCN,AOPT,FNEXT,IEREV,FUTIL) -C debug printout: - IF (LDEBUG) WRITE (ISYSWR,'(A,I8,A,F10.5,A,2F10.5)') - + ' MNCROS: calls=',NFCN,' AIM=',AIM,' F,A=',FNEXT,AOPT - IF (IEREV .GT. 0) GO TO 900 - IF (LIMSET .AND. FNEXT .LE. AIM) GO TO 930 - IPT = IPT + 1 - XPT(IPT) = AOPT - YPT(IPT) = FNEXT - CHPT(IPT)= CHARAL(IPT:IPT) -C Replace odd point by new one - ALSB(IOUT) = AOPT - FLSB(IOUT) = FNEXT -C the new point may not be the best, but it is the only one -C which could be good enough to pass convergence criteria - IBEST = IOUT - GO TO 500 -C -C Contour has been located, return point to MNCONT OR MINOS - 800 CONTINUE - IERCR = 0 - GO TO 1000 -C error in the minimization - 900 IF (IEREV .EQ. 1) GO TO 940 - GO TO 950 -C parameter up against limit - 930 IERCR = 1 - GO TO 1000 -C too many calls to FCN - 940 IERCR = 2 - GO TO 1000 -C cannot find next point - 950 IERCR = 3 -C in any case - 1000 CONTINUE - IF (LDEBUG) THEN - ITOOHI = 0 - DO 1100 I= 1, IPT - IF (YPT(I) .GT. AIM+UP) THEN - YPT(I) = AIM+UP - CHPT(I) = '+' - ITOOHI = 1 - ENDIF - 1100 CONTINUE - CHSIGN = 'POSI' - IF (XDIRCR .LT. ZERO) CHSIGN = 'NEGA' - IF (KE2CR .EQ. 0) WRITE (ISYSWR, '(2X,A,A,I3)') - + CHSIGN,'TIVE MINOS ERROR, PARAMETER ',KE1CR - IF (ITOOHI .EQ. 1) WRITE (ISYSWR, '(10X,A)') - + 'POINTS LABELLED "+" WERE TOO HIGH TO PLOT.' - IF (IERCR .EQ. 1) WRITE (ISYSWR,'(10X,A)') - + 'RIGHTMOST POINT IS UP AGAINST LIMIT.' - CALL MNPLOT(XPT,YPT,CHPT,IPT,ISYSWR,NPAGWD,NPAGLN) - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mncuve.F b/graphics/Qat/QatDataModeling/src/mncuve.F deleted file mode 100644 index 1477e5836880b580922dc257d17240eecfb70e10..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mncuve.F +++ /dev/null @@ -1,65 +0,0 @@ -* -* $Id: mncuve.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mncuve.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNCUVE(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Makes sure that the current point is a local -CC minimum and that the error matrix exists, -CC or at least something good enough for MINOS and MNCONT -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - IF (ISW(4) .LT. 1) THEN - WRITE (ISYSWR,'(/A,A)') - + ' FUNCTION MUST BE MINIMIZED BEFORE CALLING ',CFROM - APSI = EPSI - CALL MNMIGR(FCN,FUTIL) - ENDIF - IF (ISW(2) .LT. 3) THEN - CALL MNHESS(FCN,FUTIL) - IF (ISW(2) .LT. 1) THEN - CALL MNWARN('W',CFROM,'NO Error Matrix. WILL IMPROVISE.') - DO 555 I=1,NPAR - NDEX = I*(I-1)/2 - DO 554 J=1,I-1 - NDEX = NDEX + 1 - 554 VHMAT(NDEX) = 0. - NDEX = NDEX + 1 - IF (G2(I) .LE. ZERO) THEN - WINT = WERR(I) - IEXT = NEXOFI(I) - IF (NVARL(IEXT) .GT. 1) THEN - CALL MNDXDI(X(I),I,DXDI) - IF (ABS(DXDI) .LT. .001) THEN - WINT = .01 - ELSE - WINT = WINT/ABS(DXDI) - ENDIF - ENDIF - G2(I) = UP/WINT**2 - ENDIF - VHMAT(NDEX) = 2./G2(I) - 555 CONTINUE - ISW(2) = 1 - DCOVAR = 1. - ELSE - CALL MNWERR - ENDIF - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnderi.F b/graphics/Qat/QatDataModeling/src/mnderi.F deleted file mode 100644 index 9d2d4a4a2474e3e3ba1e8b24703eca41dea93ba2..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnderi.F +++ /dev/null @@ -1,150 +0,0 @@ -* -* $Id: mnderi.F,v 1.1 2008/10/27 20:58:47 jfb Exp $ -* -* $Log: mnderi.F,v $ -* Revision 1.1 2008/10/27 20:58:47 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:43 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNDERI(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Calculates the first derivatives of FCN (GRD), -CC either by finite differences or by transforming the user- -CC supplied derivatives to internal coordinates, -CC according to whether ISW(3) is zero or one. -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - LOGICAL LDEBUG - CHARACTER CBF1*22 - NPARX = NPAR - LDEBUG = (IDBG(2) .GE. 1) - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - IF (ISW(3) .EQ. 1) GO TO 100 - IF (LDEBUG) THEN -C make sure starting at the right place - CALL MNINEX(X) - NPARX = NPAR - CALL FCN(NPARX,GIN,FS1,U,4,FUTIL) - NFCN = NFCN + 1 - IF (FS1 .NE. AMIN) THEN - DF = AMIN - FS1 - WRITE (CBF1(1:12),'(G12.3)') DF - CALL MNWARN('D','MNDERI', - + 'function value differs from AMIN by '//CBF1(1:12) ) - AMIN = FS1 - ENDIF - WRITE - + (ISYSWR,'(/'' FIRST DERIVATIVE DEBUG PRINTOUT. MNDERI''/ - + '' PAR DERIV STEP MINSTEP OPTSTEP '', - + '' D1-D2 2ND DRV'')') - ENDIF - DFMIN = 8. * EPSMA2*(ABS(AMIN)+UP) - VRYSML = 8.* EPSMAC**2 - IF (ISTRAT .LE. 0) THEN - NCYC = 2 - TLRSTP = 0.5 - TLRGRD = 0.1 - ELSE IF (ISTRAT .EQ. 1) THEN - NCYC = 3 - TLRSTP = 0.3 - TLRGRD = 0.05 - ELSE - NCYC = 5 - TLRSTP = 0.1 - TLRGRD = 0.02 - ENDIF -C loop over variable parameters - DO 60 I=1,NPAR - EPSPRI = EPSMA2 + ABS(GRD(I)*EPSMA2) -C two-point derivatives always assumed necessary -C maximum number of cycles over step size depends on strategy - XTF = X(I) - STEPB4 = 0. -C loop as little as possible here! - DO 45 ICYC= 1, NCYC -C ........ theoretically best step - OPTSTP = SQRT(DFMIN/(ABS(G2(I))+EPSPRI)) -C step cannot decrease by more than a factor of ten - STEP = MAX(OPTSTP, ABS(0.1*GSTEP(I))) -C but if parameter has limits, max step size = 0.5 - IF (GSTEP(I).LT.ZERO .AND. STEP.GT.0.5) STEP=0.5 -C and not more than ten times the previous step - STPMAX = 10.*ABS(GSTEP(I)) - IF (STEP .GT. STPMAX) STEP = STPMAX -C minimum step size allowed by machine precision - STPMIN = MAX(VRYSML, 8.*ABS(EPSMA2*X(I))) - IF (STEP .LT. STPMIN) STEP = STPMIN -C end of iterations if step change less than factor 2 - IF (ABS((STEP-STEPB4)/STEP) .LT. TLRSTP) GO TO 50 -C take step positive - GSTEP(I) = SIGN(STEP, GSTEP(I)) - STEPB4 = STEP - X(I) = XTF + STEP - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FS1,U,4,FUTIL) - NFCN=NFCN+1 -C take step negative - X(I) = XTF - STEP - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FS2,U,4,FUTIL) - NFCN=NFCN+1 - GRBFOR = GRD(I) - GRD(I) = (FS1-FS2)/(2.0*STEP) - G2(I) = (FS1+FS2-2.0*AMIN)/(STEP**2) - X(I) = XTF - IF (LDEBUG) THEN - D1D2 = (FS1+FS2-2.0*AMIN)/STEP - WRITE (ISYSWR,41) I,GRD(I),STEP,STPMIN,OPTSTP,D1D2,G2(I) - 41 FORMAT (I4,2G11.3,5G10.2) - ENDIF -C see if another iteration is necessary - IF (ABS(GRBFOR-GRD(I))/(ABS(GRD(I))+DFMIN/STEP) .LT. TLRGRD) - + GO TO 50 - 45 CONTINUE -C end of ICYC loop. too many iterations - IF (NCYC .EQ. 1) GO TO 50 - WRITE (CBF1,'(2E11.3)') GRD(I),GRBFOR - CALL MNWARN('D','MNDERI', - + 'First derivative not converged. '//CBF1) - 50 CONTINUE -C - 60 CONTINUE - CALL MNINEX(X) - RETURN -C . derivatives calc by fcn - 100 DO 150 IINT= 1, NPAR - IEXT = NEXOFI(IINT) - IF (NVARL(IEXT) .GT. 1) GO TO 120 - GRD(IINT) = GIN(IEXT) - GO TO 150 - 120 DD = (BLIM(IEXT)-ALIM(IEXT))*0.5 *COS(X(IINT)) - GRD(IINT) = GIN(IEXT)*DD - 150 CONTINUE - 200 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mndxdi.F b/graphics/Qat/QatDataModeling/src/mndxdi.F deleted file mode 100644 index d0460845e43fa362d0f35c3ee2084dd3567953b9..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mndxdi.F +++ /dev/null @@ -1,30 +0,0 @@ -* -* $Id: mndxdi.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mndxdi.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNDXDI(PINT,IPAR,DXDI) -#include "QatDataModeling/d506dp.inc" -CC calculates the transformation factor between external and -CC internal parameter values. this factor is one for -CC parameters which are not limited. called from MNEMAT. -#include "QatDataModeling/d506cm.inc" - I = NEXOFI(IPAR) - DXDI = 1.0 - IF (NVARL(I) .GT. 1) - + DXDI = 0.5 *ABS((BLIM(I)-ALIM(I)) * COS(PINT)) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mneig.F b/graphics/Qat/QatDataModeling/src/mneig.F deleted file mode 100644 index d95e3eccd7721558b1be4b8e4943e29a8f7a67f2..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mneig.F +++ /dev/null @@ -1,204 +0,0 @@ -* -* $Id: mneig.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mneig.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNEIG(A,NDIMA,N,MITS,WORK,PRECIS,IFAULT) -#include "QatDataModeling/d506dp.inc" -C - PARAMETER (ZERO=0.0, ONE=1.0, TWO=2.0) - PARAMETER (TOL=1.0E-35) - DIMENSION A(NDIMA,*),WORK(*) -C PRECIS is the machine precision EPSMAC - IFAULT = 1 -C - I = N - DO 70 I1 = 2,N - L = I-2 - F = A(I,I-1) - GL = ZERO -C - IF(L .LT. 1) GO TO 25 -C - DO 20 K = 1,L - 20 GL = GL+A(I,K)**2 - 25 H = GL + F**2 -C - IF(GL .GT. TOL) GO TO 30 -C - WORK(I) = ZERO - WORK(N+I) = F - GO TO 65 - 30 L = L+1 -C - GL = SQRT(H) -C - IF(F .GE. ZERO) GL = -GL -C - WORK(N+I) = GL - H = H-F*GL - A(I,I-1) = F-GL - F = ZERO - DO 50 J = 1,L - A(J,I) = A(I,J)/H - GL = ZERO - DO 40 K = 1,J - 40 GL = GL+A(J,K)*A(I,K) -C - IF(J .GE. L) GO TO 47 -C - J1 = J+1 - DO 45 K = J1,L - 45 GL = GL+A(K,J)*A(I,K) - 47 WORK(N+J) = GL/H - F = F+GL*A(J,I) - 50 CONTINUE - HH = F/(H+H) - DO 60 J = 1,L - F = A(I,J) - GL = WORK(N+J)-HH*F - WORK(N+J) = GL - DO 60 K = 1,J - A(J,K) = A(J,K)-F*WORK(N+K)-GL*A(I,K) - 60 CONTINUE - WORK(I) = H - 65 I = I-1 - 70 CONTINUE - WORK(1) = ZERO - WORK(N+1) = ZERO - DO 110 I = 1,N - L = I-1 -C - IF(WORK(I) .EQ. ZERO .OR. L .EQ. 0) GO TO 100 -C - DO 90 J = 1,L - GL = ZERO - DO 80 K = 1,L - 80 GL = GL+A(I,K)*A(K,J) - DO 90 K = 1,L - A(K,J) = A(K,J)-GL*A(K,I) - 90 CONTINUE - 100 WORK(I) = A(I,I) - A(I,I) = ONE -C - IF(L .EQ. 0) GO TO 110 -C - DO 105 J = 1,L - A(I,J) = ZERO - A(J,I) = ZERO - 105 CONTINUE - 110 CONTINUE -C -C - N1 = N-1 - DO 130 I = 2,N - I0 = N+I-1 - 130 WORK(I0) = WORK(I0+1) - WORK(N+N) = ZERO - B = ZERO - F = ZERO - DO 210 L = 1,N - J = 0 - H = PRECIS*(ABS(WORK(L))+ABS(WORK(N+L))) -C - IF(B .LT. H) B = H -C - DO 140 M1 = L,N - M = M1 -C - IF(ABS(WORK(N+M)) .LE. B) GO TO 150 -C - 140 CONTINUE -C - 150 IF(M .EQ. L) GO TO 205 -C - 160 IF(J .EQ. MITS) RETURN -C - J = J+1 - PT = (WORK(L+1)-WORK(L))/(TWO*WORK(N+L)) - R = SQRT(PT*PT+ONE) - PR = PT+R -C - IF(PT .LT. ZERO) PR=PT-R -C - H = WORK(L)-WORK(N+L)/PR - DO 170 I=L,N - 170 WORK(I) = WORK(I)-H - F = F+H - PT = WORK(M) - C = ONE - S = ZERO - M1 = M-1 - I = M - DO 200 I1 = L,M1 - J = I - I = I-1 - GL = C*WORK(N+I) - H = C*PT -C - IF(ABS(PT) .GE. ABS(WORK(N+I))) GO TO 180 -C - C = PT/WORK(N+I) - R = SQRT(C*C+ONE) - WORK(N+J) = S*WORK(N+I)*R - S = ONE/R - C = C/R - GO TO 190 - 180 C = WORK(N+I)/PT - R = SQRT(C*C+ONE) - WORK(N+J) = S*PT*R - S = C/R - C = ONE/R - 190 PT = C*WORK(I)-S*GL - WORK(J) = H+S*(C*GL+S*WORK(I)) - DO 200 K = 1,N - H = A(K,J) - A(K,J) = S*A(K,I)+C*H - A(K,I) = C*A(K,I)-S*H - 200 CONTINUE - WORK(N+L) = S*PT - WORK(L) = C*PT -C - IF(ABS(WORK(N+L)) .GT. B) GO TO 160 -C - 205 WORK(L) = WORK(L)+F - 210 CONTINUE - DO 240 I=1,N1 - K = I - PT = WORK(I) - I1 = I+1 - DO 220 J = I1,N -C - IF(WORK(J) .GE. PT) GO TO 220 -C - K = J - PT = WORK(J) - 220 CONTINUE -C - IF(K .EQ. I) GO TO 240 -C - WORK(K) = WORK(I) - WORK(I) = PT - DO 230 J=1,N - PT = A(J,I) - A(J,I) = A(J,K) - A(J,K) = PT - 230 CONTINUE - 240 CONTINUE - IFAULT = 0 -C - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnemat.F b/graphics/Qat/QatDataModeling/src/mnemat.F deleted file mode 100644 index 3b7b156e7130a8a6a92b0e849c61c689d37e9562..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnemat.F +++ /dev/null @@ -1,65 +0,0 @@ -* -* $Id: mnemat.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnemat.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNEMAT(EMAT,NDIM) -#include "QatDataModeling/d506dp.inc" - DIMENSION EMAT(NDIM,NDIM) -CC Calculates the external error matrix from the internal -CC to be called by user, who must dimension EMAT at (NDIM,NDIM) -#include "QatDataModeling/d506cm.inc" - IF (ISW(2) .LT. 1) RETURN - IF (ISW(5) .GE. 2) WRITE (ISYSWR,'(/A,I4,A,I3,A,G10.3)') - + ' EXTERNAL Error Matrix. NDIM=',NDIM,' NPAR=',NPAR, - + ' ERR DEF=',UP -C size of matrix to be printed - NPARD = NPAR - IF (NDIM .LT. NPAR) THEN - NPARD = NDIM - IF (ISW(5) .GE. 0) WRITE (ISYSWR,'(A,A)') ' USER-DIMENSIONED ', - + ' ARRAY EMAT NOT BIG ENOUGH. REDUCED MATRIX CALCULATED.' - ENDIF -C NPERLN is the number of elements that fit on one line - NPERLN = (NPAGWD-5)/10 - NPERLN = MIN(NPERLN,13) - IF (ISW(5).GE. 1 .AND. NPARD.GT.NPERLN) WRITE (ISYSWR,'(A)') - + ' ELEMENTS ABOVE DIAGONAL ARE NOT PRINTED.' -C I counts the rows of the matrix - DO 110 I= 1, NPARD - CALL MNDXDI(X(I),I,DXDI) - KGA = I*(I-1)/2 - DO 100 J= 1, I - CALL MNDXDI(X(J),J,DXDJ) - KGB = KGA + J - EMAT(I,J) = DXDI * VHMAT(KGB) * DXDJ * UP - EMAT(J,I) = EMAT(I,J) - 100 CONTINUE - 110 CONTINUE -C IZ is number of columns to be printed in row I - IF (ISW(5) .GE. 2) THEN - DO 160 I= 1, NPARD - IZ = NPARD - IF (NPARD .GE. NPERLN) IZ = I - DO 150 K= 1, IZ, NPERLN - K2 = K + NPERLN - 1 - IF (K2 .GT. IZ) K2=IZ - WRITE (ISYSWR,'(1X,13E10.3)') (EMAT(I,KK),KK=K,K2) - 150 CONTINUE - 160 CONTINUE - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnerrs.F b/graphics/Qat/QatDataModeling/src/mnerrs.F deleted file mode 100644 index 203775e176750069f00cc1a522c9e9178daea208..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnerrs.F +++ /dev/null @@ -1,59 +0,0 @@ -* -* $Id: mnerrs.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnerrs.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNERRS(NUMBER,EPLUS,EMINUS,EPARAB,GCC) -#include "QatDataModeling/d506dp.inc" -CC Called by user, utility routine to get MINOS errors -CC If NUMBER is positive, then it is external parameter number, -CC if negative, it is -internal number. -CC values returned by MNERRS: -CC EPLUS, EMINUS are MINOS errors of parameter NUMBER, -CC EPARAB is 'parabolic' error (from error matrix). -CC (Errors not calculated are set = 0.) -CC GCC is global correlation coefficient from error matrix -#include "QatDataModeling/d506cm.inc" -C - IEX = NUMBER - IF (NUMBER .LT. 0) THEN - IIN = -NUMBER - IF (IIN .GT. NPAR) GO TO 900 - IEX = NEXOFI(IIN) - ENDIF - IF (IEX .GT. NU .OR. IEX .LE. 0) GO TO 900 - IIN = NIOFEX(IEX) - IF (IIN .LE. 0) GO TO 900 -C IEX is external number, IIN is internal number - EPLUS = ERP(IIN) - IF (EPLUS.EQ.UNDEFI) EPLUS=0. - EMINUS= ERN(IIN) - IF (EMINUS.EQ.UNDEFI) EMINUS=0. - CALL MNDXDI(X(IIN),IIN,DXDI) - NDIAG = IIN*(IIN+1)/2 - EPARAB = ABS(DXDI*SQRT(ABS(UP*VHMAT(NDIAG)))) -C global correlation coefficient - GCC = 0. - IF (ISW(2) .LT. 2) GO TO 990 - GCC = GLOBCC(IIN) - GO TO 990 -C ERROR. parameter number not valid - 900 EPLUS = 0. - EMINUS = 0. - EPARAB = 0. - GCC = 0. - 990 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mneval.F b/graphics/Qat/QatDataModeling/src/mneval.F deleted file mode 100644 index e1bcf06f2c8e45ea64c9bd24b1626c93be61a84d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mneval.F +++ /dev/null @@ -1,48 +0,0 @@ -* -* $Id: mneval.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mneval.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNEVAL(FCN,ANEXT,FNEXT,IEREV,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Evaluates the function being analyzed by MNCROS, which is -CC generally the minimum of FCN with respect to all remaining -CC variable parameters. Common block /MN7XCR/ contains the -CC data necessary to know the values of U(KE1CR) and U(KE2CR) -CC to be used, namely U(KE1CR) = XMIDCR + ANEXT*XDIRCR -CC and (if KE2CR .NE. 0) U(KE2CR) = YMIDCR + ANEXT*YDIRCR -#include "QatDataModeling/d506cm.inc" -CC - EXTERNAL FCN,FUTIL - U(KE1CR) = XMIDCR + ANEXT*XDIRCR - IF ( KE2CR .NE. 0) U(KE2CR) = YMIDCR + ANEXT*YDIRCR - CALL MNINEX(X) - NPARX = NPAR - CALL FCN(NPARX,GIN,FNEXT,U,4,FUTIL) - NFCN = NFCN + 1 - IEREV = 0 - IF (NPAR .GT. 0) THEN - ITAUR = 1 - AMIN = FNEXT - ISW(1) = 0 - CALL MNMIGR(FCN,FUTIL) - ITAUR = 0 - FNEXT = AMIN - IF (ISW(1) .GE. 1) IEREV = 1 - IF (ISW(4) .LT. 1) IEREV = 2 - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnexcm.F b/graphics/Qat/QatDataModeling/src/mnexcm.F deleted file mode 100644 index 4c52374abb8261d053508b68448e5b32be7f7ca5..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnexcm.F +++ /dev/null @@ -1,478 +0,0 @@ -* -* $Id: mnexcm.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnexcm.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:45 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNEXCM(FCN,COMAND,PLIST,LLIST,IERFLG,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Interprets a command and takes appropriate action, -CC either directly by skipping to the corresponding code in -CC MNEXCM, or by setting up a call to a subroutine -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - CHARACTER*(*) COMAND -C Cannot say DIMENSION PLIST(LLIST) since LLIST can be =0. - DIMENSION PLIST(*) - PARAMETER (MXPT=101) - DIMENSION XPTU(MXPT), YPTU(MXPT) -C alphabetical order of command names! - CHARACTER*10 CNAME(40), CNEWAY, CHWHY*18, C26*30, CVBLNK*2 - LOGICAL LTOFIX, LFIXED, LFREED -C - CHARACTER COMD*4 - CHARACTER CLOWER*26, CUPPER*26 - DATA CLOWER/'abcdefghijklmnopqrstuvwxyz'/ - DATA CUPPER/'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/ -C -C recognized MINUIT commands: - DATA CNAME( 1) / 'MINImize ' / - DATA CNAME( 2) / 'SEEk ' / - DATA CNAME( 3) / 'SIMplex ' / - DATA CNAME( 4) / 'MIGrad ' / - DATA CNAME( 5) / 'MINOs ' / - DATA CNAME( 6) / 'SET xxx ' / - DATA CNAME( 7) / 'SHOw xxx ' / - DATA CNAME( 8) / 'TOP of pag' / - DATA CNAME( 9) / 'FIX ' / - DATA CNAME(10) / 'REStore ' / - DATA CNAME(11) / 'RELease ' / - DATA CNAME(12) / 'SCAn ' / - DATA CNAME(13) / 'CONtour ' / - DATA CNAME(14) / 'HESse ' / - DATA CNAME(15) / 'SAVe ' / - DATA CNAME(16) / 'IMProve ' / - DATA CNAME(17) / 'CALl fcn ' / - DATA CNAME(18) / 'STAndard ' / - DATA CNAME(19) / 'END ' / - DATA CNAME(20) / 'EXIt ' / - DATA CNAME(21) / 'RETurn ' / - DATA CNAME(22) / 'CLEar ' / - DATA CNAME(23) / 'HELP ' / - DATA CNAME(24) / 'MNContour ' / - DATA CNAME(25) / 'STOp ' / - DATA CNAME(26) / 'JUMp ' / - DATA CNAME(27) / ' ' / - DATA CNAME(28) / ' ' / - DATA CNAME(29) / ' ' / - DATA CNAME(30) / ' ' / - DATA CNAME(31) / ' ' / - DATA CNAME(32) / ' ' / - DATA CNAME(33) / ' ' / -C obsolete commands: - DATA CNAME(34) / 'COVARIANCE' / - DATA CNAME(35) / 'PRINTOUT ' / - DATA CNAME(36) / 'GRADIENT ' / - DATA CNAME(37) / 'MATOUT ' / - DATA CNAME(38) / 'ERROR DEF ' / - DATA CNAME(39) / 'LIMITS ' / - DATA CNAME(40) / 'PUNCH ' / - DATA NNTOT/40/ -C IERFLG is now (94.5) defined the same as ICONDN in MNCOMD -CC = 0: command executed normally -CC 1: command is blank, ignored -CC 2: command line unreadable, ignored -CC 3: unknown command, ignored -CC 4: abnormal termination (e.g., MIGRAD not converged) -CC 9: reserved -CC 10: END command -CC 11: EXIT or STOP command -CC 12: RETURN command - LK = LEN(COMAND) - IF (LK .GT. MAXCWD) LK=MAXCWD - CWORD = COMAND(1:LK) -C get upper case - DO 16 ICOL= 1, LK - DO 15 LET= 1, 26 - IF (CWORD(ICOL:ICOL) .EQ. CLOWER(LET:LET)) - + CWORD(ICOL:ICOL) = CUPPER(LET:LET) - 15 CONTINUE - 16 CONTINUE -C Copy the first MAXP arguments into COMMON (WORD7), making -C sure that WORD7(1)=0. if LLIST=0 - DO 20 IW= 1, MAXP - WORD7(IW) = ZERO - IF (IW .LE. LLIST) WORD7(IW) = PLIST(IW) - 20 CONTINUE - ICOMND = ICOMND + 1 - NFCNLC = NFCN - IF (CWORD(1:7).NE.'SET PRI' .OR. WORD7(1).GE.0.) THEN - IF (ISW(5) .GE. 0) THEN - LNOW = LLIST - IF (LNOW .GT. 4) LNOW=4 - WRITE (ISYSWR,25) ICOMND,CWORD(1:LK),(PLIST(I),I=1,LNOW) - 25 FORMAT (1H ,10(1H*)/' **',I5,' **',A,4G12.4) - INONDE = 0 - IF (LLIST .GT. LNOW) THEN - KLL = LLIST - IF (LLIST .GT. MAXP) THEN - INONDE = 1 - KLL = MAXP - ENDIF - WRITE (CVBLNK,'(I2)') LK - C26 = '(11H **********,'//CVBLNK//'X,4G12.4)' - WRITE (ISYSWR,C26) (PLIST(I),I=LNOW+1,KLL) - ENDIF - WRITE (ISYSWR, '(1H ,10(1H*))' ) - IF (INONDE .GT. 0) WRITE (ISYSWR, '(1H ,10(1H*),A,I3,A)') - + ' ERROR: ABOVE CALL TO MNEXCM TRIED TO PASS MORE THAN ', - + MAXP,' PARAMETERS.' - ENDIF - ENDIF - NFCNMX = WORD7(1) - IF (NFCNMX .LE. 0) NFCNMX = 200 + 100*NPAR + 5*NPAR**2 - EPSI = WORD7(2) - IF (EPSI .LE. ZERO) EPSI = 0.1 * UP - LNEWMN = .FALSE. - LPHEAD = .TRUE. - ISW(1) = 0 - IERFLG = 0 -C look for command in list CNAME . . . . . . . . . . - DO 80 I= 1, NNTOT - IF (CWORD(1:3) .EQ. CNAME(I)(1:3)) GO TO 90 - 80 CONTINUE - WRITE (ISYSWR,'(11X,''UNKNOWN COMMAND IGNORED:'',A)') COMAND - IERFLG = 3 - GO TO 5000 -C normal case: recognized MINUIT command . . . . . . . - 90 CONTINUE - IF (CWORD(1:4) .EQ. 'MINO') I = 5 - IF (I.NE.6 .AND. I.NE.7 .AND. I.NE.8 .AND. I.NE.23) THEN - CFROM = CNAME(I) - NFCNFR = NFCN - ENDIF -C 1 2 3 4 5 6 7 8 9 10 - GO TO ( 400, 200, 300, 400, 500, 700, 700, 800, 900,1000, - 1 1100,1200,1300,1400,1500,1600,1700,1800,1900,1900, - 2 1900,2200,2300,2400,1900,2600,3300,3300,3300,3300, - 3 3300,3300,3300,3400,3500,3600,3700,3800,3900,4000) , I -C . . . . . . . . . . seek - 200 CALL MNSEEK(FCN,FUTIL) - GO TO 5000 -C . . . . . . . . . . simplex - 300 CALL MNSIMP(FCN,FUTIL) - IF (ISW(4) .LT. 1) IERFLG = 4 - GO TO 5000 -C . . . . . . migrad, minimize - 400 CONTINUE - NF = NFCN - APSI = EPSI - CALL MNMIGR(FCN,FUTIL) - CALL MNWERR - IF (ISW(4) .GE. 1) GO TO 5000 - IERFLG = 4 - IF (ISW(1) .EQ. 1) GO TO 5000 - IF (CWORD(1:3) .EQ. 'MIG') GO TO 5000 - NFCNMX = NFCNMX + NF - NFCN - NF = NFCN - CALL MNSIMP(FCN,FUTIL) - IF (ISW(1) .EQ. 1) GO TO 5000 - NFCNMX = NFCNMX + NF - NFCN - CALL MNMIGR(FCN,FUTIL) - IF (ISW(4) .GE. 1) IERFLG = 0 - CALL MNWERR - GO TO 5000 -C . . . . . . . . . . minos - 500 CONTINUE - NSUPER = NFCN + 2*(NPAR+1)*NFCNMX -C possible loop over new minima - EPSI = 0.1 * UP - 510 CONTINUE - CALL MNCUVE(FCN,FUTIL) - CALL MNMNOS(FCN,FUTIL) - IF (.NOT. LNEWMN) GO TO 5000 - CALL MNRSET(0) - CALL MNMIGR(FCN,FUTIL) - CALL MNWERR - IF (NFCN .LT. NSUPER) GO TO 510 - WRITE (ISYSWR,'(/'' TOO MANY FUNCTION CALLS. MINOS GIVES UP''/)') - IERFLG = 4 - GO TO 5000 -C . . . . . . . . . .set, show - 700 CALL MNSET(FCN,FUTIL) - GO TO 5000 -C . . . . . . . . . . top of page - 800 CONTINUE - WRITE (ISYSWR,'(1H1)') - GO TO 5000 -C . . . . . . . . . . fix - 900 LTOFIX = .TRUE. -C . . (also release) .... - 901 CONTINUE - LFREED = .FALSE. - LFIXED = .FALSE. - IF (LLIST .EQ. 0) THEN - WRITE (ISYSWR,'(A,A)') CWORD,': NO PARAMETERS REQUESTED ' - GO TO 5000 - ENDIF - DO 950 ILIST= 1, LLIST - IEXT = PLIST(ILIST) - CHWHY = ' IS UNDEFINED.' - IF (IEXT .LE. 0) GO TO 930 - IF (IEXT .GT. NU) GO TO 930 - IF (NVARL(IEXT) .LT. 0) GO TO 930 - CHWHY = ' IS CONSTANT. ' - IF (NVARL(IEXT) .EQ. 0) GO TO 930 - IINT = NIOFEX(IEXT) - IF (LTOFIX) THEN - CHWHY = ' ALREADY FIXED.' - IF (IINT .EQ. 0) GO TO 930 - CALL MNFIXP(IINT,IERR) - IF (IERR .EQ. 0) THEN - LFIXED = .TRUE. - ELSE - IERFLG = 4 - ENDIF - ELSE - CHWHY = ' ALREADY VARIABLE.' - IF (IINT .GT. 0) GO TO 930 - KRL = -IABS(IEXT) - CALL MNFREE(KRL) - LFREED = .TRUE. - ENDIF - GO TO 950 - 930 WRITE (ISYSWR,'(A,I4,A,A)') ' PARAMETER',IEXT,CHWHY,' IGNORED.' - 950 CONTINUE - IF (LFREED .OR. LFIXED) CALL MNRSET(0) - IF (LFREED) THEN - ISW(2) = 0 - DCOVAR = 1. - EDM = BIGEDM - ISW(4) = 0 - ENDIF - CALL MNWERR - IF (ISW(5) .GT. 1) CALL MNPRIN(5,AMIN) - GO TO 5000 -C . . . . . . . . . . restore - 1000 IT = WORD7(1) - IF (IT.GT.1 .OR. IT.LT.0) GO TO 1005 - LFREED = (NPFIX .GT. 0) - CALL MNFREE(IT) - IF (LFREED) THEN - CALL MNRSET(0) - ISW(2) = 0 - DCOVAR = 1. - EDM = BIGEDM - ENDIF - GO TO 5000 - 1005 WRITE (ISYSWR,'(A,I4)') ' IGNORED. UNKNOWN ARGUMENT:',IT - IERFLG = 3 - GO TO 5000 -C . . . . . . . . . . release - 1100 LTOFIX = .FALSE. - GO TO 901 -C . . . . . . . . . . scan . . . - 1200 CONTINUE - IEXT = WORD7(1) - IF (IEXT .LE. 0) GO TO 1210 - IT2 = 0 - IF (IEXT .LE. NU) IT2 = NIOFEX(IEXT) - IF (IT2 .LE. 0) GO TO 1250 - 1210 CALL MNSCAN(FCN,FUTIL) - GO TO 5000 - 1250 WRITE (ISYSWR,'(A,I4,A)') ' PARAMETER',IEXT,' NOT VARIABLE.' - IERFLG = 3 - GO TO 5000 -C . . . . . . . . . . contour - 1300 CONTINUE - KE1 = WORD7(1) - KE2 = WORD7(2) - IF (KE1 .EQ. 0) THEN - IF (NPAR .EQ. 2) THEN - KE1 = NEXOFI(1) - KE2 = NEXOFI(2) - ELSE - WRITE (ISYSWR,'(A,A)') CWORD,': NO PARAMETERS REQUESTED ' - IERFLG = 3 - GO TO 5000 - ENDIF - ENDIF - NFCNMX = 1000 - CALL MNCNTR(FCN,KE1,KE2,IERRF,FUTIL) - IF (IERRF .GT. 0) IERFLG = 3 - GO TO 5000 -C . . . . . . . . . . hesse - 1400 CONTINUE - CALL MNHESS(FCN,FUTIL) - CALL MNWERR - IF (ISW(5) .GE. 0) CALL MNPRIN(2, AMIN) - IF (ISW(5) .GE. 1) CALL MNMATU(1) - GO TO 5000 -C . . . . . . . . . . save - 1500 CONTINUE - CALL MNSAVE - GO TO 5000 -C . . . . . . . . . . improve - 1600 CONTINUE - CALL MNCUVE(FCN,FUTIL) - CALL MNIMPR(FCN,FUTIL) - IF (LNEWMN) GO TO 400 - IERFLG = 4 - GO TO 5000 -C . . . . . . . . . . call fcn - 1700 IFLAG = WORD7(1) - NPARX = NPAR - F = UNDEFI - CALL FCN(NPARX,GIN,F,U,IFLAG,FUTIL) - NFCN = NFCN + 1 - NOWPRT = 0 - IF (F .NE. UNDEFI) THEN - IF (AMIN .EQ. UNDEFI) THEN - AMIN = F - NOWPRT = 1 - ELSE IF (F .LT. AMIN) THEN - AMIN = F - NOWPRT = 1 - ENDIF - IF (ISW(5).GE.0 .AND. IFLAG.LE.5 .AND. NOWPRT.EQ.1) - + CALL MNPRIN(5,AMIN) - IF (IFLAG .EQ. 3) FVAL3=F - ENDIF - IF (IFLAG .GT. 5) CALL MNRSET(1) - GO TO 5000 -C . . . . . . . . . . standard - 1800 CALL STAND - GO TO 5000 -C . . . return, stop, end, exit - 1900 IT = WORD7(1) - IF (FVAL3 .NE. AMIN .AND. IT .EQ. 0) THEN - IFLAG = 3 - IF (ISW(5) .GE. 0) - +WRITE (ISYSWR,'(/A/)') ' CALL TO USER FUNCTION WITH IFLAG = 3' - NPARX = NPAR - CALL FCN(NPARX,GIN,F,U,IFLAG,FUTIL) - NFCN = NFCN + 1 - FVAL3 = F - ENDIF - IERFLG = 11 - IF (CWORD(1:3) .EQ. 'END') IERFLG = 10 - IF (CWORD(1:3) .EQ. 'RET') IERFLG = 12 - GO TO 5000 -C . . . . . . . . . . clear - 2200 CONTINUE - CALL MNCLER - IF (ISW(5) .GE. 1) WRITE (ISYSWR,'(A)') - + ' MINUIT MEMORY CLEARED. NO PARAMETERS NOW DEFINED.' - GO TO 5000 -C . . . . . . . . . . help - 2300 CONTINUE -CCCC IF (INDEX(CWORD,'SHO') .GT. 0) GO TO 700 -CCCC IF (INDEX(CWORD,'SET') .GT. 0) GO TO 700 - KCOL = 0 - DO 2310 ICOL= 5,LK - IF (CWORD(ICOL:ICOL) .EQ. ' ') GO TO 2310 - KCOL = ICOL - GO TO 2320 - 2310 CONTINUE - 2320 CONTINUE - IF (KCOL .EQ. 0) THEN - COMD = '* ' - ELSE - COMD = CWORD(KCOL:LK) - ENDIF - CALL MNHELP(COMD,ISYSWR) - GO TO 5000 -C . . . . . . . . . . MNContour - 2400 CONTINUE - EPSI = 0.05 * UP - KE1 = WORD7(1) - KE2 = WORD7(2) - IF (KE1.EQ.0 .AND. NPAR.EQ.2) THEN - KE1 = NEXOFI(1) - KE2 = NEXOFI(2) - ENDIF - NPTU = WORD7(3) - IF (NPTU .LE. 0) NPTU=20 - IF (NPTU .GT. MXPT) NPTU = MXPT - NFCNMX = 100*(NPTU+5)*(NPAR+1) - CALL MNCONT(FCN,KE1,KE2,NPTU,XPTU,YPTU,IERRF,FUTIL) - IF (IERRF .LT. NPTU) IERFLG = 4 - IF (IERRF .EQ. -1) IERFLG = 3 - GO TO 5000 -C . . . . . . . . . . jump - 2600 CONTINUE - STEP = WORD7(1) - IF (STEP .LE. ZERO) STEP = 2. - RNO = 0. - IZERO = 0 - DO 2620 I= 1, NPAR - CALL MNRN15(RNO,IZERO) - RNO = 2.0*RNO - 1.0 - 2620 X(I) = X(I) + RNO*STEP*WERR(I) - CALL MNINEX(X) - CALL MNAMIN(FCN,FUTIL) - CALL MNRSET(0) - GO TO 5000 -C . . . . . . . . . . blank line - 3300 CONTINUE - WRITE (ISYSWR,'(10X,A)') ' BLANK COMMAND IGNORED.' - IERFLG = 1 - GO TO 5000 -C . . . . . . . . obsolete commands . . . . . . . . . . . . . . -C . . . . . . . . . . covariance - 3400 CONTINUE - WRITE (ISYSWR, '(A)') ' THE "COVARIANCE" COMMAND IS OSBSOLETE.', - + ' THE COVARIANCE MATRIX IS NOW SAVED IN A DIFFERENT FORMAT', - + ' WITH THE "SAVE" COMMAND AND READ IN WITH:"SET COVARIANCE"' - IERFLG = 3 - GO TO 5000 -C . . . . . . . . . . printout - 3500 CONTINUE - CNEWAY = 'SET PRInt ' - GO TO 3100 -C . . . . . . . . . . gradient - 3600 CONTINUE - CNEWAY = 'SET GRAd ' - GO TO 3100 -C . . . . . . . . . . matout - 3700 CONTINUE - CNEWAY = 'SHOW COVar' - GO TO 3100 -C . . . . . . . . . error def - 3800 CONTINUE - CNEWAY = 'SET ERRdef' - GO TO 3100 -C . . . . . . . . . . limits - 3900 CONTINUE - CNEWAY = 'SET LIMits' - GO TO 3100 -C . . . . . . . . . . punch - 4000 CONTINUE - CNEWAY = 'SAVE ' -C ....... come from obsolete commands - 3100 WRITE (ISYSWR, 3101) CWORD,CNEWAY - 3101 FORMAT (' OBSOLETE COMMAND:',1X,A10,5X,'PLEASE USE:',1X,A10) - CWORD = CNEWAY - IF (CWORD .EQ. 'SAVE ') GO TO 1500 - GO TO 700 -C . . . . . . . . . . . . . . . . . . - 5000 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnexin.F b/graphics/Qat/QatDataModeling/src/mnexin.F deleted file mode 100644 index ebb836153cc81a392df07bbee4223ad35ff10ea3..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnexin.F +++ /dev/null @@ -1,33 +0,0 @@ -* -* $Id: mnexin.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnexin.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNEXIN(PINT) -#include "QatDataModeling/d506dp.inc" -CC Transforms the external parameter values U to internal -CC values in the dense array PINT. Subroutine MNPINT is used. -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION PINT(*) - LIMSET = .FALSE. - DO 100 IINT= 1, NPAR - IEXT = NEXOFI(IINT) - CALL MNPINT(U(IEXT),IEXT,PINTI) - PINT(IINT) = PINTI - 100 CONTINUE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnfixp.F b/graphics/Qat/QatDataModeling/src/mnfixp.F deleted file mode 100644 index 48754b39f31496cf042bd97e4deda8bf3f72d101..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnfixp.F +++ /dev/null @@ -1,90 +0,0 @@ -* -* $Id: mnfixp.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnfixp.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNFIXP(IINT,IERR) -#include "QatDataModeling/d506dp.inc" -CC removes parameter IINT from the internal (variable) parameter -CC list, and arranges the rest of the list to fill the hole. -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION YY(MNI) -C first see if it can be done - IERR = 0 - IF (IINT.GT.NPAR .OR. IINT.LE.0) THEN - IERR = 1 - WRITE (ISYSWR,'(A,I4)') - + ' MINUIT ERROR. ARGUMENT TO MNFIXP=',IINT - GO TO 300 - ENDIF - IEXT = NEXOFI(IINT) - IF (NPFIX .GE. MNI) THEN - IERR = 1 - WRITE (ISYSWR,'(A,I4,A,I4)') ' MINUIT CANNOT FIX PARAMETER', - + IEXT,' MAXIMUM NUMBER THAT CAN BE FIXED IS',MNI - GO TO 300 - ENDIF -C reduce number of variable parameters by one - NIOFEX(IEXT) = 0 - NOLD = NPAR - NPAR = NPAR - 1 -C save values in case parameter is later restored - NPFIX = NPFIX + 1 - IPFIX(NPFIX) = IEXT - LC = IINT - XS(NPFIX) = X(LC) - XTS(NPFIX) = XT(LC) - DIRINS(NPFIX) = WERR(LC) - GRDS(NPFIX) = GRD(LC) - G2S(NPFIX) = G2(LC) - GSTEPS(NPFIX) = GSTEP(LC) -C shift values for other parameters to fill hole - DO 100 IK= IEXT+1, NU - IF (NIOFEX(IK) .GT. 0) THEN - LC = NIOFEX(IK) - 1 - NIOFEX(IK) = LC - NEXOFI(LC) = IK - X(LC) = X(LC+1) - XT(LC) = XT(LC+1) - DIRIN(LC) = DIRIN(LC+1) - WERR(LC) = WERR(LC+1) - GRD(LC) = GRD(LC+1) - G2(LC) = G2(LC+1) - GSTEP(LC) = GSTEP(LC+1) - ENDIF - 100 CONTINUE - IF (ISW(2) .LE. 0) GO TO 300 -C remove one row and one column from variance matrix - IF (NPAR .LE. 0) GO TO 300 - DO 260 I= 1, NOLD - M = MAX(I,IINT) - N = MIN(I,IINT) - NDEX = M*(M-1)/2 + N - 260 YY(I)=VHMAT(NDEX) - YYOVER = 1.0/YY(IINT) - KNEW = 0 - KOLD = 0 - DO 294 I= 1, NOLD - DO 292 J= 1, I - KOLD = KOLD + 1 - IF (J.EQ.IINT .OR. I.EQ.IINT) GO TO 292 - KNEW = KNEW + 1 - VHMAT(KNEW) = VHMAT(KOLD) - YY(J)*YY(I)*YYOVER - 292 CONTINUE - 294 CONTINUE - 300 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnfree.F b/graphics/Qat/QatDataModeling/src/mnfree.F deleted file mode 100644 index dd2f44e7a3ec1d7f459ce9b06a691191b3552cd7..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnfree.F +++ /dev/null @@ -1,118 +0,0 @@ -* -* $Id: mnfree.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnfree.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNFREE(K) -#include "QatDataModeling/d506dp.inc" -CC Restores one or more fixed parameter(s) to variable status -CC by inserting it into the internal parameter list at the -CC appropriate place. -CC -#include "QatDataModeling/d506cm.inc" -C-- K = 0 means restore all parameters -C-- K = 1 means restore the last parameter fixed -C-- K = -I means restore external parameter I (if possible) -C-- IQ = fix-location where internal parameters were stored -C-- IR = external number of parameter being restored -C-- IS = internal number of parameter being restored - IF (K .GT. 1) WRITE (ISYSWR,510) - IF (NPFIX .LT. 1) WRITE (ISYSWR,500) - IF (K.EQ.1 .OR. K.EQ.0) GO TO 40 -C release parameter with specified external number - KA = IABS(K) - IF (NIOFEX(KA) .EQ. 0) GO TO 15 - WRITE (ISYSWR,540) - 540 FORMAT (' IGNORED. PARAMETER SPECIFIED IS ALREADY VARIABLE.') - RETURN - 15 IF (NPFIX .LT. 1) GO TO 21 - DO 20 IK= 1, NPFIX - IF (IPFIX(IK) .EQ. KA) GO TO 24 - 20 CONTINUE - 21 WRITE (ISYSWR,530) KA - 530 FORMAT (' PARAMETER',I4,' NOT FIXED. CANNOT BE RELEASED.') - RETURN - 24 IF (IK .EQ. NPFIX) GO TO 40 -C move specified parameter to end of list - IPSAV = KA - XV = XS(IK) - XTV = XTS(IK) - DIRINV = DIRINS(IK) - GRDV = GRDS(IK) - G2V = G2S(IK) - GSTEPV = GSTEPS(IK) - DO 30 I= IK+1,NPFIX - IPFIX(I-1) = IPFIX(I) - XS(I-1) = XS(I) - XTS(I-1) = XTS(I) - DIRINS(I-1) = DIRINS(I) - GRDS(I-1) = GRDS(I) - G2S(I-1) = G2S(I) - GSTEPS(I-1) = GSTEPS(I) - 30 CONTINUE - IPFIX(NPFIX) = IPSAV - XS(NPFIX) = XV - XTS(NPFIX) = XTV - DIRINS(NPFIX) = DIRINV - GRDS(NPFIX) = GRDV - G2S(NPFIX) = G2V - GSTEPS(NPFIX) = GSTEPV -C restore last parameter in fixed list -- IPFIX(NPFIX) - 40 CONTINUE - IF (NPFIX .LT. 1) GO TO 300 - IR = IPFIX(NPFIX) - IS = 0 - DO 100 IK= NU, IR, -1 - IF (NIOFEX(IK) .GT. 0) THEN - LC = NIOFEX(IK) + 1 - IS = LC - 1 - NIOFEX(IK) = LC - NEXOFI(LC) = IK - X(LC) = X(LC-1) - XT(LC) = XT(LC-1) - DIRIN(LC) = DIRIN(LC-1) - WERR(LC) = WERR(LC-1) - GRD(LC) = GRD(LC-1) - G2(LC) = G2(LC-1) - GSTEP(LC) = GSTEP(LC-1) - ENDIF - 100 CONTINUE - NPAR = NPAR + 1 - IF (IS .EQ. 0) IS = NPAR - NIOFEX(IR) = IS - NEXOFI(IS) = IR - IQ = NPFIX - X(IS) = XS(IQ) - XT(IS) = XTS(IQ) - DIRIN(IS) = DIRINS(IQ) - WERR(IS) = DIRINS(IQ) - GRD(IS) = GRDS(IQ) - G2(IS) = G2S(IQ) - GSTEP(IS) = GSTEPS(IQ) - NPFIX = NPFIX - 1 - ISW(2) = 0 - DCOVAR = 1. - IF (ISW(5)-ITAUR .GE. 1) WRITE(ISYSWR,520) IR,CPNAM(IR) - IF (K.EQ.0) GO TO 40 - 300 CONTINUE -C if different from internal, external values are taken - CALL MNEXIN(X) - 400 RETURN - 500 FORMAT (' CALL TO MNFREE IGNORED. THERE ARE NO FIXED PA', - + 'RAMETERS'/) - 510 FORMAT (' CALL TO MNFREE IGNORED. ARGUMENT GREATER THAN ONE'/) - 520 FORMAT (20X, 9HPARAMETER,I4,2H, ,A10,' RESTORED TO VARIABLE.') - END diff --git a/graphics/Qat/QatDataModeling/src/mngrad.F b/graphics/Qat/QatDataModeling/src/mngrad.F deleted file mode 100644 index b18480b7b34b242a221f4d73308507feeec27c1b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mngrad.F +++ /dev/null @@ -1,80 +0,0 @@ -* -* $Id: mngrad.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mngrad.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:19 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNGRAD(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called from MNSET -CC Interprets the SET GRAD command, which informs MINUIT whether -CC the first derivatives of FCN will be calculated by the user -CC inside FCN. It can check the user's derivative calculation -CC by comparing it with a finite difference approximation. -CC -#include "QatDataModeling/d506cm.inc" -C - EXTERNAL FCN,FUTIL - CHARACTER*4 CGOOD,CBAD,CNONE,CWD - LOGICAL LNONE - DIMENSION GF(MNI) - PARAMETER (CGOOD='GOOD',CBAD=' BAD',CNONE='NONE') -C - ISW(3) = 1 - NPARX = NPAR - IF (WORD7(1) .GT. ZERO) GO TO 2000 -C get user-calculated first derivatives from FCN - DO 30 I= 1, NU - 30 GIN(I) = UNDEFI - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FZERO,U,2,FUTIL) - NFCN = NFCN + 1 - CALL MNDERI(FCN,FUTIL) - DO 40 I= 1, NPAR - 40 GF(I) = GRD(I) -C get MINUIT-calculated first derivatives - ISW(3) = 0 - ISTSAV = ISTRAT - ISTRAT = 2 - CALL MNHES1(FCN,FUTIL) - ISTRAT = ISTSAV - WRITE (ISYSWR,51) - 51 FORMAT(/' CHECK OF GRADIENT CALCULATION IN FCN'/12X,'PARAMETER', - + 6X,9HG(IN FCN) ,3X,9HG(MINUIT) ,2X,'DG(MINUIT)',3X,9HAGREEMENT) - ISW(3) = 1 - LNONE = .FALSE. - DO 100 LC = 1, NPAR - I = NEXOFI(LC) - CWD = CGOOD - ERR = DGRD(LC) - IF (ABS(GF(LC)-GRD(LC)) .GT. ERR) CWD = CBAD - IF (GIN(I) .EQ. UNDEFI) THEN - CWD = CNONE - LNONE = .TRUE. - GF(LC) = 0. - ENDIF - IF (CWD .NE. CGOOD) ISW(3) = 0 - WRITE (ISYSWR,99) I,CPNAM(I),GF(LC),GRD(LC),ERR,CWD - 99 FORMAT (7X,I5,2X ,A10,3E12.4,4X ,A4) - 100 CONTINUE - IF (LNONE) WRITE (ISYSWR,'(A)') - + ' AGREEMENT=NONE MEANS FCN DID NOT CALCULATE THE DERIVATIVE' - IF (ISW(3) .EQ. 0) WRITE (ISYSWR,1003) - 1003 FORMAT(/' MINUIT DOES NOT ACCEPT DERIVATIVE CALCULATIONS BY FCN'/ - + ' TO FORCE ACCEPTANCE, ENTER "SET GRAD 1"'/) -C - 2000 CONTINUE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnhelp.F b/graphics/Qat/QatDataModeling/src/mnhelp.F deleted file mode 100644 index aaa80f063078f118804ea8578a8d798f3e83c995..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnhelp.F +++ /dev/null @@ -1,633 +0,0 @@ -* -* $Id: mnhelp.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnhelp.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1999/09/03 09:17:47 couet -* - \Cind{} removed in the help of MINUIT. This was a Tex directive which very -* likely has been forgotten during a Tex to f77 translation. This didn't -* compile on RH6. -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNHELP(COMD,LOUT) -*. -*. HELP routine for MINUIT interactive commands. -*. -*. COMD ='* ' prints a global help for all commands -*. COMD =Command_name: print detailed help for one command. -*. Note that at least 3 characters must be given for the command name. -*. -*. Author: Rene Brun -* comments extracted from the MINUIT documentation file. -*. - CHARACTER*(*) COMD - CHARACTER*3 CMD3 -*. -*-- command name ASSUMED to be in upper case -*__________________________________________________________________ -*-- -*-- Global HELP: Summary of all commands -*-- ==================================== -*-- - IF(COMD(1:1) .EQ. '*')THEN - WRITE(LOUT,10000) - WRITE(LOUT,10001) - GO TO 99 - ENDIF -10000 FORMAT(' ==>List of MINUIT Interactive commands:',/, - +' CLEar Reset all parameter names and values undefined',/, - +' CONtour Make contour map of the user function',/, - +' EXIT Exit from Interactive Minuit',/, - +' FIX Cause parameter(s) to remain constant',/, - +' HESse Calculate the Hessian or error matrix.',/, - +' IMPROVE Search for a new minimum around current minimum',/, - +' MIGrad Minimize by the method of Migrad',/, - +' MINImize MIGRAD + SIMPLEX method if Migrad fails',/, - +' MINOs Exact (non-linear) parameter error analysis') -10001 FORMAT(' MNContour Calculate one MINOS function contour',/, - +' PARameter Define or redefine new parameters and values',/, - +' RELease Make previously FIXed parameters variable again',/, - +' REStore Release last parameter fixed',/, - +' SAVe Save current parameter values on a file',/, - +' SCAn Scan the user function by varying parameters',/, - +' SEEk Minimize by the method of Monte Carlo',/, - +' SET Set various MINUIT constants or conditions',/, - +' SHOw Show values of current constants or conditions',/, - +' SIMplex Minimize by the method of Simplex') -* - CMD3=COMD(1:3) -*__________________________________________________________________ -*-- -*-- Command CLEAR -*-- ============= -*. - IF(CMD3.EQ.'CLE')THEN - WRITE(LOUT,10100) - GO TO 99 - ENDIF -10100 FORMAT(' ***>CLEAR',/, - +' Resets all parameter names and values to undefined.',/, - +' Must normally be followed by a PARameters command or ',/, - +' equivalent, in order to define parameter values.') -*__________________________________________________________________ -*-- -*-- Command CONTOUR -*-- =============== -*. - IF(CMD3.EQ.'CON')THEN - WRITE(LOUT,10200) - GO TO 99 - ENDIF -10200 FORMAT(' ***>CONTOUR <par1> <par2> [devs] [ngrid]',/, - +' Instructs Minuit to trace contour lines of the user function',/, - +' with respect to the two parameters whose external numbers',/, - +' are <par1> and <par2>.',/, - +' Other variable parameters of the function, if any, will have',/, - +' their values fixed at the current values during the contour',/, - +' tracing. The optional parameter [devs] (default value 2.)',/, - +' gives the number of standard deviations in each parameter',/, - +' which should lie entirely within the plotting area.',/, - +' Optional parameter [ngrid] (default value 25 unless page',/, - +' size is too small) determines the resolution of the plot,',/, - +' i.e. the number of rows and columns of the grid at which the',/, - +' function will be evaluated. [See also MNContour.]') -*__________________________________________________________________ -*-- -*-- Command END -*-- =========== -*. - IF(CMD3.EQ.'END')THEN - WRITE(LOUT,10300) - GO TO 99 - ENDIF -10300 FORMAT(' ***>END',/, - +' Signals the end of a data block (i.e., the end of a fit),',/, - +' and implies that execution should continue, because another',/, - +' Data Block follows. A Data Block is a set of Minuit data',/, - +' consisting of',/, - +' (1) A Title,',/, - +' (2) One or more Parameter Definitions,',/, - +' (3) A blank line, and',/, - +' (4) A set of Minuit Commands.',/, - +' The END command is used when more than one Data Block is to',/, - +' be used with the same FCN function. It first causes Minuit',/, - +' to issue a CALL FCN with IFLAG=3, in order to allow FCN to',/, - +' perform any calculations associated with the final fitted',/, - +' parameter values, unless a CALL FCN 3 command has already',/, - +' been executed at the current FCN value.') -*__________________________________________________________________ -*. -*-- -*-- Command EXIT -*-- ============ - IF(CMD3 .EQ.'EXI')THEN - WRITE(LOUT,10400) - GO TO 99 - ENDIF -10400 FORMAT(' ***>EXIT',/, - +' Signals the end of execution.',/, - +' The EXIT command first causes Minuit to issue a CALL FCN',/, - +' with IFLAG=3, to allow FCN to perform any calculations',/, - +' associated with the final fitted parameter values, unless a',/, - +' CALL FCN 3 command has already been executed.') -*__________________________________________________________________ -*-- -*-- Command FIX -*-- =========== -*. - IF(CMD3.EQ.'FIX')THEN - WRITE(LOUT,10500) - GO TO 99 - ENDIF -10500 FORMAT(' ***>FIX} <parno> [parno] ... [parno]',/, - +' Causes parameter(s) <parno> to be removed from the list of',/, - +' variable parameters, and their value(s) will remain constant',/, - +' during subsequent minimizations, etc., until another command',/, - +' changes their value(s) or status.') -*__________________________________________________________________ -*-- -*-- Command HESSE -*-- ============= -*. - IF(CMD3.EQ.'HES')THEN - WRITE(LOUT,10600) - GO TO 99 - ENDIF -10600 FORMAT(' ***>HESse [maxcalls]',/, - +' Calculate, by finite differences, the Hessian or error matrix.', - +/,' That is, it calculates the full matrix of second derivatives' - +,/,' of the function with respect to the currently variable',/, - +' parameters, and inverts it, printing out the resulting error',/, - +' matrix. The optional argument [maxcalls] specifies the',/, - +' (approximate) maximum number of function calls after which',/, - +' the calculation will be stopped.') -*__________________________________________________________________ -*-- -*-- Command IMPROVE -*-- =============== -*. - IF(CMD3.EQ.'IMP')THEN - WRITE(LOUT,10700) - GO TO 99 - ENDIF -10700 FORMAT(' ***>IMPROVE [maxcalls]',/, - +' If a previous minimization has converged, and the current',/, - +' values of the parameters therefore correspond to a local',/, - +' minimum of the function, this command requests a search for',/, - +' additional distinct local minima.',/, - +' The optional argument [maxcalls] specifies the (approximate)',/, - +' maximum number of function calls after which the calculation',/, - +' will be stopped.') -*__________________________________________________________________ -*-- -*-- Command MIGRAD -*-- ============== -*. - IF(CMD3.EQ.'MIG')THEN - WRITE(LOUT,10800) - GO TO 99 - ENDIF -10800 FORMAT(' ***>MIGrad [maxcalls] [tolerance]',/, - +' Causes minimization of the function by the method of Migrad,',/, - +' the most efficient and complete single method, recommended',/, - +' for general functions (see also MINImize).',/, - +' The minimization produces as a by-product the error matrix',/, - +' of the parameters, which is usually reliable unless warning',/, - +' messages are produced.',/, - +' The optional argument [maxcalls] specifies the (approximate)',/, - +' maximum number of function calls after which the calculation',/, - +' will be stopped even if it has not yet converged.',/, - +' The optional argument [tolerance] specifies required tolerance', - +/,' on the function value at the minimum.',/, - +' The default tolerance is 0.1, and the minimization will stop',/, - +' when the estimated vertical distance to the minimum (EDM) is',/, - +' less than 0.001*[tolerance]*UP (see [SET ERRordef]).') -*__________________________________________________________________ -*-- -*-- Command MINIMIZE -*-- ================ -*. - IF(COMD(1:4).EQ.'MINI')THEN - WRITE(LOUT,10900) - GO TO 99 - ENDIF -10900 FORMAT(' ***>MINImize [maxcalls] [tolerance]',/, - +' Causes minimization of the function by the method of Migrad,',/, - +' as does the MIGrad command, but switches to the SIMplex method', - +/,' if Migrad fails to converge. Arguments are as for MIGrad.',/, - +' Note that command requires four characters to be unambiguous.') -*__________________________________________________________________ -*-- -*-- Command MINOS -*-- ============= -*. - IF(COMD(1:4).EQ.'MINO')THEN - WRITE(LOUT,11000) - GO TO 99 - ENDIF -11000 FORMAT(' ***>MINOs [maxcalls] [parno] [parno] ...',/, - +' Causes a Minos error analysis to be performed on the parameters' - +,/,' whose numbers [parno] are specified. If none are specified,', - +/,' Minos errors are calculated for all variable parameters.',/, - +' Minos errors may be expensive to calculate, but are very',/, - +' reliable since they take account of non-linearities in the',/, - +' problem as well as parameter correlations, and are in general',/ - +' asymmetric.',/, - +' The optional argument [maxcalls] specifies the (approximate)',/, - +' maximum number of function calls per parameter requested,',/, - +' after which the calculation will stop for that parameter.') -*__________________________________________________________________ -*-- -*-- Command MNCONTOUR -*-- ================= -*. - IF(CMD3.EQ.'MNC')THEN - WRITE(LOUT,11100) - GO TO 99 - ENDIF -11100 FORMAT(' ***>MNContour <par1> <par2> [npts]',/, - +' Calculates one function contour of FCN with respect to',/, - +' parameters par1 and par2, with FCN minimized always with',/, - +' respect to all other NPAR-2 variable parameters (if any).',/, - +' Minuit will try to find npts points on the contour (default 20)' - +,/,' If only two parameters are variable at the time, it is not', - +/,' necessary to specify their numbers. To calculate more than',/, - +' one contour, it is necessary to SET ERRordef to the appropriate' - +,/,' value and issue the MNContour command for each contour.') -*__________________________________________________________________ -*-- -*-- Command PARAMETER -*-- ================= -*. - IF(CMD3.EQ.'PAR')THEN - WRITE(LOUT,11150) - GO TO 99 - ENDIF -11150 FORMAT(' ***>PARameters',/, - +' followed by one or more parameter definitions.',/, - +' Parameter definitions are of the form:',/, - +' <number> ''name'' <value> <step> [lolim] [uplim] ',/, - +' for example:',/, - +' 3 ''K width'' 1.2 0.1' ,/, - +' the last definition is followed by a blank line or a zero.') -*__________________________________________________________________ -*-- -*-- Command RELEASE -*-- =============== -*. - IF(CMD3.EQ.'REL')THEN - WRITE(LOUT,11200) - GO TO 99 - ENDIF -11200 FORMAT(' ***>RELease <parno> [parno] ... [parno]',/, - +' If <parno> is the number of a previously variable parameter',/, - +' which has been fixed by a command: FIX <parno>, then that',/, - +' parameter will return to variable status. Otherwise a warning' - +,/,' message is printed and the command is ignored.',/, - +' Note that this command operates only on parameters which were',/ - +' at one time variable and have been FIXed. It cannot make',/, - +' constant parameters variable; that must be done by redefining',/ - +' the parameter with a PARameters command.') -*__________________________________________________________________ -*-- -*-- Command RESTORE -*-- =============== -*. - IF(CMD3.EQ.'RES')THEN - WRITE(LOUT,11300) - GO TO 99 - ENDIF -11300 FORMAT(' ***>REStore [code]',/, - +' If no [code] is specified, this command restores all previously' - +,/,' FIXed parameters to variable status. If [code]=1, then only', - +/,' the last parameter FIXed is restored to variable status.',/, - +' If code is neither zero nor one, the command is ignored.') -*__________________________________________________________________ -*-- -*-- Command RETURN -*-- ============== -*. - IF(CMD3.EQ.'RET')THEN - WRITE(LOUT,11400) - GO TO 99 - ENDIF -11400 FORMAT(' ***>RETURN',/, - +' Signals the end of a data block, and instructs Minuit to return' - +,/,' to the program which called it. The RETurn command first',/, - +' causes Minuit to CALL FCN with IFLAG=3, in order to allow FCN',/ - +,' to perform any calculations associated with the final fitted',/ - +,' parameter values, unless a CALL FCN 3 command has already been' - +,/,' executed at the current FCN value.') -*__________________________________________________________________ -*-- -*-- Command SAVE -*-- ============ -*. - IF(CMD3.EQ.'SAV')THEN - WRITE(LOUT,11500) - GO TO 99 - ENDIF -11500 FORMAT(' ***>SAVe',/, - +' Causes the current parameter values to be saved on a file in',/, - +' such a format that they can be read in again as Minuit',/, - +' parameter definitions. If the covariance matrix exists, it is',/ - +,' also output in such a format. The unit number is by default 7,' - +,/,' or that specified by the user in his call to MINTIO or',/, - +' MNINIT. The user is responsible for opening the file previous' - +,/,' to issuing the [SAVe] command (except where this can be done' - +,/,' interactively).') -*__________________________________________________________________ -*-- -*-- Command SCAN -*-- ============ -*. - IF(CMD3.EQ.'SCA')THEN - WRITE(LOUT,11600) - GO TO 99 - ENDIF -11600 FORMAT(' ***>SCAn [parno] [numpts] [from] [to]',/, - +' Scans the value of the user function by varying parameter',/, - +' number [parno], leaving all other parameters fixed at the',/, - +' current value. If [parno] is not specified, all variable',/, - +' parameters are scanned in sequence.',/, - +' The number of points [numpts] in the scan is 40 by default,',/, - +' and cannot exceed 100. The range of the scan is by default',/, - +' 2 standard deviations on each side of the current best value,', - +/,' but can be specified as from [from] to [to].',/, - +' After each scan, if a new minimum is found, the best parameter' - +,/,' values are retained as start values for future scans or',/, - +' minimizations. The curve resulting from each scan is plotted',/ - +,' on the output unit in order to show the approximate behaviour' - +,/,' of the function.',/, - +' This command is not intended for minimization, but is sometimes' - +,/,' useful for debugging the user function or finding a',/, - +' reasonable starting point.') -*__________________________________________________________________ -*-- -*-- Command SEEK -*-- ============ -*. - IF(CMD3.EQ.'SEE')THEN - WRITE(LOUT,11700) - GO TO 99 - ENDIF -11700 FORMAT(' ***>SEEk [maxcalls] [devs]',/, - +' Causes a Monte Carlo minimization of the function, by choosing', - +/,' random values of the variable parameters, chosen uniformly',/, - +' over a hypercube centered at the current best value.',/, - +' The region size is by default 3 standard deviations on each',/, - +' side, but can be changed by specifying the value of [devs].') -*__________________________________________________________________ -*-- -*-- Command SET -*-- =========== -*. - IF(CMD3.EQ.'SET')THEN - WRITE(LOUT,11800) - WRITE(LOUT,11801) - WRITE(LOUT,11802) - WRITE(LOUT,11803) - WRITE(LOUT,11804) - WRITE(LOUT,11805) - WRITE(LOUT,11806) - WRITE(LOUT,11807) - WRITE(LOUT,11808) - WRITE(LOUT,11809) - WRITE(LOUT,11810) - WRITE(LOUT,11811) - WRITE(LOUT,11812) - WRITE(LOUT,11813) - WRITE(LOUT,11814) - WRITE(LOUT,11815) - WRITE(LOUT,11816) - WRITE(LOUT,11817) - GO TO 99 - ENDIF -11800 FORMAT(' ***>SET <option_name>',/,/, - +' SET BATch',/, - +' Informs Minuit that it is running in batch mode.',//, - - +' SET EPSmachine <accuracy>',/, - +' Informs Minuit that the relative floating point arithmetic',/ - +' precision is <accuracy>. Minuit determines the nominal',/, - +' precision itself, but the SET EPSmachine command can be',/, - +' used to override Minuit own determination, when the user',/, - +' knows that the FCN function value is not calculated to',/, - +' the nominal machine accuracy. Typical values of <accuracy>',/ - +' are between 10**-5 and 10**-14.') - -11801 FORMAT(/,' SET ERRordef <up>',/, - +' Sets the value of UP (default value= 1.), defining parameter' - +,/,' errors. Minuit defines parameter errors as the change',/, - +' in parameter value required to change the function value',/, - +' by UP. Normally, for chisquared fits UP=1, and for negative' - +,/,' log likelihood, UP=0.5.') - -11802 FORMAT(/,' SET GRAdient [force]',/, - +' Informs Minuit that the user function is prepared to',/, - +' calculate its own first derivatives and return their values' - +,/,' in the array GRAD when IFLAG=2 (see specs of FCN).',/, - +' If [force] is not specified, Minuit will calculate',/, - +' the FCN derivatives by finite differences at the current',/, - +' point and compare with the user calculation at that point,' - +,/,' accepting the user values only if they agree.',/, - +' If [force]=1, Minuit does not do its own derivative',/, - +' calculation, and uses the derivatives calculated in FCN.') - -11803 FORMAT(/,' SET INPut [unitno] [filename]',/, - +' Causes Minuit, in data-driven mode only, to read subsequent', - +/,' commands (or parameter definitions) from a different input' - +,/,' file. If no [unitno] is specified, reading reverts to the' - +,/,' previous input file, assuming that there was one.',/, - +' If [unitno] is specified, and that unit has not been opened,' - +,/,' then Minuit attempts to open the file [filename]} if a',/, - +' name is specified. If running in interactive mode and',/, - +' [filename] is not specified and [unitno] is not opened,',/, - +' Minuit prompts the user to enter a file name.',/, - +' If the word REWIND is added to the command (note:no blanks',/ - +' between INPUT and REWIND), the file is rewound before',/, - +' reading. Note that this command is implemented in standard',/ - +' Fortran 77 and the results may depend on the system;',/, - +' for example, if a filename is given under VM/CMS, it must',/, - +' be preceeded by a slash.') - -11804 FORMAT(/,' SET INTeractive',/, - +' Informs Minuit that it is running interactively.') - -11805 FORMAT(/,' SET LIMits [parno] [lolim] [uplim]',/, - +' Allows the user to change the limits on one or all',/, - +' parameters. If no arguments are specified, all limits are',/, - +' removed from all parameters. If [parno] alone is specified,', - +/,' limits are removed from parameter [parno].',/, - +' If all arguments are specified, then parameter [parno] will', - +/,' be bounded between [lolim] and [uplim].',/, - +' Limits can be specified in either order, Minuit will take',/, - +' the smaller as [lolim] and the larger as [uplim].',/, - +' However, if [lolim] is equal to [uplim], an error condition', - +/,' results.') - -11806 FORMAT(/,' SET LINesperpage',/, - +' Sets the number of lines for one page of output.',/, - +' Default value is 24 for interactive mode') - -11807 FORMAT(/,' SET NOGradient',/, - +' The inverse of SET GRAdient, instructs Minuit not to', - +/,' use the first derivatives calculated by the user in FCN.') - -11808 FORMAT(/,' SET NOWarnings',/, - +' Supresses Minuit warning messages.') - -11809 FORMAT(/,' SET OUTputfile <unitno>',/, - +' Instructs Minuit to write further output to unit <unitno>.') - -11810 FORMAT(/,' SET PAGethrow <integer>',/, - +' Sets the carriage control character for ``new page'' to',/, - +' <integer>. Thus the value 1 produces a new page, and 0',/, - +' produces a blank line, on some devices (see TOPofpage)') - - -11811 FORMAT(/,' SET PARameter <parno> <value>',/, - +' Sets the value of parameter <parno> to <value>.',/, - +' The parameter in question may be variable, fixed, or',/, - +' constant, but must be defined.') - -11812 FORMAT(/,' SET PRIntout <level>',/, - +' Sets the print level, determining how much output will be',/, - +' produced. Allowed values and their meanings are displayed',/, - +' after a SHOw PRInt command, and are currently <level>=:',/, - +' [-1] no output except from SHOW commands',/, - +' [0] minimum output',/, - +' [1] default value, normal output',/, - +' [2] additional output giving intermediate results.',/, - +' [3] maximum output, showing progress of minimizations.',/ - +' Note: See also the SET WARnings command.') - -11813 FORMAT(/,' SET RANdomgenerator <seed>',/, - +' Sets the seed of the random number generator used in SEEk.',/ - +' This can be any integer between 10000 and 900000000, for',/, - +' example one which was output from a SHOw RANdom command of',/ - +' a previous run.') - -11814 FORMAT(/,' SET STRategy <level>',/, - +' Sets the strategy to be used in calculating first and second' - +,/,' derivatives and in certain minimization methods.',/, - +' In general, low values of <level> mean fewer function calls', - +/,' and high values mean more reliable minimization.',/, - +' Currently allowed values are 0, 1 (default), and 2.') - -11815 FORMAT(/,' SET TITle',/, - +' Informs Minuit that the next input line is to be considered', - +/,' the (new) title for this task or sub-task. This is for',/, - +' the convenience of the user in reading his output.') - -11816 FORMAT(/,' SET WARnings',/, - +' Instructs Minuit to output warning messages when suspicious', - +/,' conditions arise which may indicate unreliable results.',/ - +' This is the default.') - -11817 FORMAT(/,' SET WIDthpage',/, - +' Informs Minuit of the output page width.',/, - +' Default values are 80 for interactive jobs') -*__________________________________________________________________ -*-- -*-- Command SHOW -*-- ============ -*. - IF(CMD3.EQ.'SHO')THEN - WRITE(LOUT,11900) - WRITE(LOUT,11901) - WRITE(LOUT,11902) - WRITE(LOUT,11903) - WRITE(LOUT,11904) - GO TO 99 - ENDIF -11900 FORMAT(' ***>SHOw <option_name>',/, - +' All SET XXXX commands have a corresponding SHOw XXXX command.', - +/,' In addition, the SHOw commands listed starting here have no', - +/,' corresponding SET command for obvious reasons.') - -11901 FORMAT(/,' SHOw CORrelations',/, - +' Calculates and prints the parameter correlations from the',/, - +' error matrix.') - -11902 FORMAT(/,' SHOw COVariance',/, - +' Prints the (external) covariance (error) matrix.') - -11903 FORMAT(/,' SHOw EIGenvalues',/, - +' Calculates and prints the eigenvalues of the covariance',/, - +' matrix.') - -11904 FORMAT(/,' SHOw FCNvalue',/, - +' Prints the current value of FCN.') -*__________________________________________________________________ -*-- -*-- Command SIMPLEX -*-- =============== -*. - IF(CMD3.EQ.'SIM')THEN - WRITE(LOUT,12000) - GO TO 99 - ENDIF -12000 FORMAT(' ***>SIMplex [maxcalls] [tolerance]',/, - +' Performs a function minimization using the simplex method of',/ - +' Nelder and Mead. Minimization terminates either when the',/, - +' function has been called (approximately) [maxcalls] times,',/, - +' or when the estimated vertical distance to minimum (EDM) is',/, - +' less than [tolerance].',/, - +' The default value of [tolerance] is 0.1*UP(see SET ERRordef).') -*__________________________________________________________________ -*-- -*-- Command STANDARD -*-- ================ -*. - IF(CMD3.EQ.'STA')THEN - WRITE(LOUT,12100) - GO TO 99 - ENDIF -12100 FORMAT(' ***>STAndard',/, - +' Causes Minuit to execute the Fortran instruction CALL STAND',/, - +' where STAND is a subroutine supplied by the user.') -*__________________________________________________________________ -*-- -*-- Command STOP -*-- ============ -*. - IF(CMD3.EQ.'STO')THEN - WRITE(LOUT,12200) - GO TO 99 - ENDIF -12200 FORMAT(' ***>STOP',/, - +' Same as EXIT.') -*__________________________________________________________________ -*-- -*-- Command TOPOFPAGE -*-- ================= -*. - IF(CMD3.EQ.'TOP')THEN - WRITE(LOUT,12300) - GO TO 99 - ENDIF -12300 FORMAT(' ***>TOPofpage',/, - +' Causes Minuit to write the character specified in a',/, - +' SET PAGethrow command (default = 1) to column 1 of the output' - +,/,' file, which may or may not position your output medium to', - +/,' the top of a page depending on the device and system.') -*__________________________________________________________________ -* - WRITE(LOUT,13000) -13000 FORMAT(' Unknown MINUIT command. Type HELP for list of commands.') -* - 99 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnhes1.F b/graphics/Qat/QatDataModeling/src/mnhes1.F deleted file mode 100644 index c89a386fd1d9be5aac855efcf00e6ac654719275..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnhes1.F +++ /dev/null @@ -1,87 +0,0 @@ -* -* $Id: mnhes1.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnhes1.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNHES1(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called from MNHESS and MNGRAD -CC Calculate first derivatives (GRD) and uncertainties (DGRD) -CC and appropriate step sizes GSTEP -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - LOGICAL LDEBUG - CHARACTER CBF1*22 - LDEBUG = (IDBG(5) .GE. 1) - IF (ISTRAT .LE. 0) NCYC = 1 - IF (ISTRAT .EQ. 1) NCYC = 2 - IF (ISTRAT .GT. 1) NCYC = 6 - IDRV = 1 - NPARX = NPAR - DFMIN = 4.*EPSMA2*(ABS(AMIN)+UP) -C main loop over parameters - DO 100 I= 1, NPAR - XTF = X(I) - DMIN = 4.*EPSMA2*ABS(XTF) - EPSPRI = EPSMA2 + ABS(GRD(I)*EPSMA2) - OPTSTP = SQRT(DFMIN/(ABS(G2(I))+EPSPRI)) - D = 0.2 * ABS(GSTEP(I)) - IF (D .GT. OPTSTP) D = OPTSTP - IF (D .LT. DMIN) D = DMIN - CHGOLD = 10000. -C iterate reducing step size - DO 50 ICYC= 1, NCYC - X(I) = XTF + D - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FS1,U,4,FUTIL) - NFCN = NFCN + 1 - X(I) = XTF - D - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FS2,U,4,FUTIL) - NFCN = NFCN + 1 - X(I) = XTF -C check if step sizes appropriate - SAG = 0.5*(FS1+FS2-2.0*AMIN) - GRDOLD = GRD(I) - GRDNEW = (FS1-FS2)/(2.0*D) - DGMIN = EPSMAC*(ABS(FS1)+ABS(FS2))/D - IF (LDEBUG) WRITE (ISYSWR,11) I,IDRV,GSTEP(I),D,G2(I),GRDNEW,SAG - 11 FORMAT (I4,I2,6G12.5) - IF (GRDNEW .EQ. ZERO) GO TO 60 - CHANGE = ABS((GRDOLD-GRDNEW)/GRDNEW) - IF (CHANGE.GT.CHGOLD .AND. ICYC.GT.1) GO TO 60 - CHGOLD = CHANGE - GRD(I) = GRDNEW - GSTEP(I) = SIGN(D,GSTEP(I)) -C decrease step until first derivative changes by <5% - IF (CHANGE .LT. 0.05) GO TO 60 - IF (ABS(GRDOLD-GRDNEW) .LT. DGMIN) GO TO 60 - IF (D .LT. DMIN) THEN - CALL MNWARN('D','MNHES1','Step size too small for 1st drv.') - GO TO 60 - ENDIF - D = 0.2*D - 50 CONTINUE -C loop satisfied = too many iter - WRITE (CBF1,'(2G11.3)') GRDOLD,GRDNEW - CALL MNWARN('D','MNHES1','Too many iterations on D1.'//CBF1) - 60 CONTINUE - DGRD(I) = MAX(DGMIN,ABS(GRDOLD-GRDNEW)) - 100 CONTINUE -C end of first deriv. loop - CALL MNINEX(X) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnhess.F b/graphics/Qat/QatDataModeling/src/mnhess.F deleted file mode 100644 index cef9ddf4d3e6d1407116c603d8da8ca0260f429e..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnhess.F +++ /dev/null @@ -1,232 +0,0 @@ -* -* $Id: mnhess.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnhess.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNHESS(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Calculates the full second-derivative matrix of FCN -CC by taking finite differences. When calculating diagonal -CC elements, it may iterate so that step size is nearly that -CC which gives function change= UP/10. The first derivatives -CC of course come as a free side effect, but with a smaller -CC step size in order to obtain a known accuracy. -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION YY(MNI) - LOGICAL LDEBUG - CHARACTER CBF1*22 -C - LDEBUG = (IDBG(3) .GE. 1) - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - IF (ISTRAT .LE. 0) THEN - NCYC = 3 - TLRSTP = 0.5 - TLRG2 = 0.1 - ELSE IF (ISTRAT .EQ. 1) THEN - NCYC = 5 - TLRSTP = 0.3 - TLRG2 = 0.05 - ELSE - NCYC = 7 - TLRSTP = 0.1 - TLRG2 = 0.02 - ENDIF - IF (ISW(5).GE.2 .OR. LDEBUG) WRITE (ISYSWR,'(A)') - + ' START COVARIANCE MATRIX CALCULATION.' - CFROM = 'HESSE ' - NFCNFR = NFCN - CSTATU= 'OK ' - NPARD = NPAR -C make sure starting at the right place - CALL MNINEX(X) - NPARX = NPAR - CALL FCN(NPARX,GIN,FS1,U,4,FUTIL) - NFCN = NFCN + 1 - IF (FS1 .NE. AMIN) THEN - DF = AMIN - FS1 - WRITE (CBF1(1:12),'(G12.3)') DF - CALL MNWARN('D','MNHESS', - + 'function value differs from AMIN by '//CBF1(1:12) ) - ENDIF - AMIN = FS1 - IF (LDEBUG) WRITE (ISYSWR,'(A,A)') ' PAR D GSTEP ', - +' D G2 GRD SAG ' -C . . . . . . diagonal elements . -C ISW(2) = 1 if approx, 2 if not posdef, 3 if ok -C AIMSAG is the sagitta we are aiming for in second deriv calc. - AIMSAG = SQRT(EPSMA2)*(ABS(AMIN)+UP) -C Zero the second derivative matrix - NPAR2 = NPAR*(NPAR+1)/2 - DO 10 I= 1,NPAR2 - 10 VHMAT(I) = 0. -C -C Loop over variable parameters for second derivatives - IDRV = 2 - DO 100 ID= 1, NPARD - I = ID + NPAR - NPARD - IEXT = NEXOFI(I) - IF (G2(I) .EQ. ZERO) THEN - WRITE (CBF1(1:4),'(I4)') IEXT - CALL MNWARN('W','HESSE', - + 'Second derivative enters zero, param '//CBF1(1:4) ) - WINT = WERR(I) - IF (NVARL(IEXT) .GT. 1) THEN - CALL MNDXDI(X(I),I,DXDI) - IF (ABS(DXDI) .LT. .001) THEN - WINT = .01 - ELSE - WINT = WINT/ABS(DXDI) - ENDIF - ENDIF - G2(I) = UP/WINT**2 - ENDIF - XTF = X(I) - DMIN = 8.*EPSMA2*ABS(XTF) -C -C find step which gives sagitta = AIMSAG - D = ABS(GSTEP(I)) - DO 40 ICYC= 1, NCYC -C loop here only if SAG=0. - DO 25 MULTPY= 1, 5 -C take two steps - X(I) = XTF + D - CALL MNINEX(X) - NPARX = NPAR - CALL FCN(NPARX,GIN,FS1,U,4,FUTIL) - NFCN = NFCN + 1 - X(I) = XTF - D - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FS2,U,4,FUTIL) - NFCN = NFCN + 1 - X(I) = XTF - SAG = 0.5*(FS1+FS2-2.0*AMIN) - IF (SAG .NE. ZERO) GO TO 30 - IF (GSTEP(I) .LT. ZERO) THEN - IF (D .GE. .5) GO TO 26 - D = 10.*D - IF (D .GT. 0.5) D = 0.51 - GO TO 25 - ENDIF - D = 10.*D - 25 CONTINUE - 26 WRITE (CBF1(1:4),'(I4)') IEXT - CALL MNWARN('W','HESSE', - + 'Second derivative zero for parameter'//CBF1(1:4) ) - GO TO 390 -C SAG is not zero - 30 G2BFOR = G2(I) - G2(I) = 2.*SAG/D**2 - GRD(I) = (FS1-FS2)/(2.*D) - IF (LDEBUG) WRITE (ISYSWR,31) I,IDRV,GSTEP(I),D,G2(I),GRD(I),SAG - 31 FORMAT (I4,I2,6G12.5) - GSTEP(I) = SIGN(D,GSTEP(I)) - DIRIN(I) = D - YY(I) = FS1 - DLAST = D - D = SQRT(2.0*AIMSAG/ABS(G2(I))) -C if parameter has limits, max int step size = 0.5 - STPINM = 0.5 - IF (GSTEP(I) .LT. ZERO) D = MIN(D,STPINM) - IF (D .LT. DMIN) D = DMIN -C see if converged - IF (ABS((D-DLAST)/D) .LT. TLRSTP) GO TO 50 - IF (ABS((G2(I)-G2BFOR)/G2(I)) .LT. TLRG2 ) GO TO 50 - D = MIN(D, 10.*DLAST) - D = MAX(D, 0.1*DLAST) - 40 CONTINUE -C end of step size loop - WRITE (CBF1,'(I2,2E10.2)') IEXT,SAG,AIMSAG - CALL MNWARN('D','MNHESS','Second Deriv. SAG,AIM= '//CBF1) -C - 50 CONTINUE - NDEX = I*(I+1)/2 - VHMAT(NDEX) = G2(I) - 100 CONTINUE -C end of diagonal second derivative loop - CALL MNINEX(X) -C refine the first derivatives - IF (ISTRAT .GT. 0) CALL MNHES1(FCN,FUTIL) - ISW(2) = 3 - DCOVAR = 0. -C . . . . off-diagonal elements - IF (NPAR .EQ. 1) GO TO 214 - DO 200 I= 1, NPAR - DO 180 J= 1, I-1 - XTI = X(I) - XTJ = X(J) - X(I) = XTI + DIRIN(I) - X(J) = XTJ + DIRIN(J) - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FS1,U,4,FUTIL) - NFCN = NFCN + 1 - X(I) = XTI - X(J) = XTJ - ELEM = (FS1+AMIN-YY(I)-YY(J)) / (DIRIN(I)*DIRIN(J)) - NDEX = I*(I-1)/2 + J - VHMAT(NDEX) = ELEM - 180 CONTINUE - 200 CONTINUE - 214 CALL MNINEX(X) -C verify matrix positive-definite - CALL MNPSDF - DO 220 I= 1, NPAR - DO 219 J= 1, I - NDEX = I*(I-1)/2 + J - P(I,J) = VHMAT(NDEX) - 219 P(J,I) = P(I,J) - 220 CONTINUE - CALL MNVERT(P,MAXINT,MAXINT,NPAR,IFAIL) - IF (IFAIL .GT. 0) THEN - CALL MNWARN('W','HESSE', 'Matrix inversion fails.') - GO TO 390 - ENDIF -C . . . . . . . calculate e d m - EDM = 0. - DO 230 I= 1, NPAR -C off-diagonal elements - NDEX = I*(I-1)/2 - DO 225 J= 1, I-1 - NDEX = NDEX + 1 - ZTEMP = 2.0 * P(I,J) - EDM = EDM + GRD(I)*ZTEMP*GRD(J) - 225 VHMAT(NDEX) = ZTEMP -C diagonal elements - NDEX = NDEX + 1 - VHMAT(NDEX) = 2.0 * P(I,I) - EDM = EDM + P(I,I) * GRD(I)**2 - 230 CONTINUE - IF (ISW(5).GE.1 .AND. ISW(2).EQ.3 .AND. ITAUR.EQ.0) - + WRITE(ISYSWR,'(A)')' COVARIANCE MATRIX CALCULATED SUCCESSFULLY' - GO TO 900 -C failure to invert 2nd deriv matrix - 390 ISW(2) = 1 - DCOVAR = 1. - CSTATU = 'FAILED ' - IF (ISW(5) .GE. 0) WRITE (ISYSWR,'(A)') - + ' MNHESS FAILS AND WILL RETURN DIAGONAL MATRIX. ' - DO 395 I= 1, NPAR - NDEX = I*(I-1)/2 - DO 394 J= 1, I-1 - NDEX = NDEX + 1 - 394 VHMAT(NDEX) = 0.0 - NDEX = NDEX +1 - G2I = G2(I) - IF (G2I .LE. ZERO) G2I = 1.0 - 395 VHMAT(NDEX) = 2.0/G2I - 900 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnimpr.F b/graphics/Qat/QatDataModeling/src/mnimpr.F deleted file mode 100644 index 0c0e021e2a99aeceeac40c9744d34bcf879f529a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnimpr.F +++ /dev/null @@ -1,199 +0,0 @@ -* -* $Id: mnimpr.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnimpr.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNIMPR(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Attempts to improve on a good local minimum by finding a -CC better one. The quadratic part of FCN is removed by MNCALF -CC and this transformed function is minimized using the simplex -CC method from several random starting points. -CC ref. -- Goldstein and Price, Math.Comp. 25, 569 (1971) -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION DSAV(MNI), Y(MNI+1) - PARAMETER (ALPHA=1.,BETA=0.5,GAMMA=2.0) - DATA RNUM/0./ - IF (NPAR .LE. 0) RETURN - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - CSTATU = 'UNCHANGED ' - ITAUR = 1 - EPSI = 0.1*UP - NPFN=NFCN - NLOOP = WORD7(2) - IF (NLOOP .LE. 0) NLOOP = NPAR + 4 - NPARX = NPAR - NPARP1=NPAR+1 - WG = 1.0/FLOAT(NPAR) - SIGSAV = EDM - APSI = AMIN - DO 2 I= 1, NPAR - XT(I) = X(I) - DSAV(I) = WERR(I) - DO 2 J = 1, I - NDEX = I*(I-1)/2 + J - P(I,J) = VHMAT(NDEX) - 2 P(J,I) = P(I,J) - CALL MNVERT(P,MAXINT,MAXINT,NPAR,IFAIL) - IF (IFAIL .GE. 1) GO TO 280 -C Save inverted matrix in VT - DO 12 I= 1, NPAR - NDEX = I*(I-1)/2 - DO 12 J= 1, I - NDEX = NDEX + 1 - 12 VTHMAT(NDEX) = P(I,J) - LOOP = 0 -C - 20 CONTINUE - DO 25 I= 1, NPAR - DIRIN(I) = 2.0*DSAV(I) - CALL MNRN15(RNUM,ISEED) - 25 X(I) = XT(I) + 2.0*DIRIN(I)*(RNUM-0.5) - LOOP = LOOP + 1 - REG = 2.0 - IF (ISW(5) .GE. 0) WRITE (ISYSWR, 1040) LOOP - 30 CALL MNCALF(FCN,X,YCALF,FUTIL) - AMIN = YCALF -C . . . . set up random simplex - JL = NPARP1 - JH = NPARP1 - Y(NPARP1) = AMIN - AMAX = AMIN - DO 45 I= 1, NPAR - XI = X(I) - CALL MNRN15(RNUM,ISEED) - X(I) = XI - DIRIN(I) *(RNUM-0.5) - CALL MNCALF(FCN,X,YCALF,FUTIL) - Y(I) = YCALF - IF (Y(I) .LT. AMIN) THEN - AMIN = Y(I) - JL = I - ELSE IF (Y(I) .GT. AMAX) THEN - AMAX = Y(I) - JH = I - ENDIF - DO 40 J= 1, NPAR - 40 P(J,I) = X(J) - P(I,NPARP1) = XI - X(I) = XI - 45 CONTINUE -C - EDM = AMIN - SIG2 = EDM -C . . . . . . . start main loop - 50 CONTINUE - IF (AMIN .LT. ZERO) GO TO 95 - IF (ISW(2) .LE. 2) GO TO 280 - EP = 0.1*AMIN - IF (SIG2 .LT. EP .AND. EDM.LT.EP ) GO TO 100 - SIG2 = EDM - IF ((NFCN-NPFN) .GT. NFCNMX) GO TO 300 -C calculate new point * by reflection - DO 60 I= 1, NPAR - PB = 0. - DO 59 J= 1, NPARP1 - 59 PB = PB + WG * P(I,J) - PBAR(I) = PB - WG * P(I,JH) - 60 PSTAR(I)=(1.+ALPHA)*PBAR(I)-ALPHA*P(I,JH) - CALL MNCALF(FCN,PSTAR,YCALF,FUTIL) - YSTAR = YCALF - IF(YSTAR.GE.AMIN) GO TO 70 -C point * better than jl, calculate new point ** - DO 61 I=1,NPAR - 61 PSTST(I)=GAMMA*PSTAR(I)+(1.-GAMMA)*PBAR(I) - CALL MNCALF(FCN,PSTST,YCALF,FUTIL) - YSTST = YCALF - 66 IF (YSTST .LT. Y(JL)) GO TO 67 - CALL MNRAZZ(YSTAR,PSTAR,Y,JH,JL) - GO TO 50 - 67 CALL MNRAZZ(YSTST,PSTST,Y,JH,JL) - GO TO 50 -C point * is not as good as jl - 70 IF (YSTAR .GE. Y(JH)) GO TO 73 - JHOLD = JH - CALL MNRAZZ(YSTAR,PSTAR,Y,JH,JL) - IF (JHOLD .NE. JH) GO TO 50 -C calculate new point ** - 73 DO 74 I=1,NPAR - 74 PSTST(I)=BETA*P(I,JH)+(1.-BETA)*PBAR(I) - CALL MNCALF(FCN,PSTST,YCALF,FUTIL) - YSTST = YCALF - IF(YSTST.GT.Y(JH)) GO TO 30 -C point ** is better than jh - IF (YSTST .LT. AMIN) GO TO 67 - CALL MNRAZZ(YSTST,PSTST,Y,JH,JL) - GO TO 50 -C . . . . . . end main loop - 95 IF (ISW(5) .GE. 0) WRITE (ISYSWR,1000) - REG = 0.1 -C . . . . . ask if point is new - 100 CALL MNINEX(X) - CALL FCN(NPARX,GIN,AMIN,U,4,FUTIL) - NFCN = NFCN + 1 - DO 120 I= 1, NPAR - DIRIN(I) = REG*DSAV(I) - IF (ABS(X(I)-XT(I)) .GT. DIRIN(I)) GO TO 150 - 120 CONTINUE - GO TO 230 - 150 NFCNMX = NFCNMX + NPFN - NFCN - NPFN = NFCN - CALL MNSIMP(FCN,FUTIL) - IF (AMIN .GE. APSI) GO TO 325 - DO 220 I= 1, NPAR - DIRIN(I) = 0.1 *DSAV(I) - IF (ABS(X(I)-XT(I)) .GT. DIRIN(I)) GO TO 250 - 220 CONTINUE - 230 IF (AMIN .LT. APSI) GO TO 350 - GO TO 325 -C . . . . . . truly new minimum - 250 LNEWMN = .TRUE. - IF (ISW(2) .GE. 1) THEN - ISW(2) = 1 - DCOVAR = MAX(DCOVAR,HALF) - ELSE - DCOVAR = 1. - ENDIF - ITAUR = 0 - NFCNMX = NFCNMX + NPFN - NFCN - CSTATU = 'NEW MINIMU' - IF (ISW(5) .GE. 0) WRITE (ISYSWR,1030) - RETURN -C . . . return to previous region - 280 IF (ISW(5) .GT. 0) WRITE (ISYSWR,1020) - GO TO 325 - 300 ISW(1) = 1 - 325 DO 330 I= 1, NPAR - DIRIN(I) = 0.01*DSAV(I) - 330 X(I) = XT(I) - AMIN = APSI - EDM = SIGSAV - 350 CALL MNINEX(X) - IF (ISW(5) .GT. 0) WRITE (ISYSWR,1010) - CSTATU= 'UNCHANGED ' - CALL MNRSET(0) - IF (ISW(2) .LT. 2) GO TO 380 - IF (LOOP .LT. NLOOP .AND. ISW(1) .LT. 1) GO TO 20 - 380 CALL MNPRIN (5,AMIN) - ITAUR = 0 - RETURN - 1000 FORMAT (54H AN IMPROVEMENT ON THE PREVIOUS MINIMUM HAS BEEN FOUND) - 1010 FORMAT (51H IMPROVE HAS RETURNED TO REGION OF ORIGINAL MINIMUM) - 1020 FORMAT (/44H COVARIANCE MATRIX WAS NOT POSITIVE-DEFINITE) - 1030 FORMAT (/38H IMPROVE HAS FOUND A TRULY NEW MINIMUM/1H ,37(1H*)/) - 1040 FORMAT (/18H START ATTEMPT NO.,I2, 20H TO FIND NEW MINIMUM) - END diff --git a/graphics/Qat/QatDataModeling/src/mninex.F b/graphics/Qat/QatDataModeling/src/mninex.F deleted file mode 100644 index eb8073a3d9f7ae6eeb8f6a8b61a340f68b5417b1..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mninex.F +++ /dev/null @@ -1,35 +0,0 @@ -* -* $Id: mninex.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mninex.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNINEX(PINT) -#include "QatDataModeling/d506dp.inc" -CC Transforms from internal coordinates (PINT) to external -CC parameters (U). The minimizing routines which work in -CC internal coordinates call this routine before calling FCN. -#include "QatDataModeling/d506cm.inc" - DIMENSION PINT(*) - DO 100 J= 1, NPAR - I = NEXOFI(J) - IF (NVARL(I) .EQ. 1) THEN - U(I) = PINT(J) - ELSE - U(I) = ALIM(I) + 0.5*(SIN(PINT(J)) +1.0) * (BLIM(I)-ALIM(I)) - ENDIF - 100 CONTINUE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mninit.F b/graphics/Qat/QatDataModeling/src/mninit.F deleted file mode 100644 index a416229df509d25c3ed695fe4977959233d915ad..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mninit.F +++ /dev/null @@ -1,136 +0,0 @@ -* -* $Id: mninit.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mninit.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.4 1997/09/02 15:16:08 mclareni -* WINNT corrections -* -* Revision 1.3 1997/03/14 17:18:00 mclareni -* WNT mods -* -* Revision 1.2.2.1 1997/01/21 11:33:28 mclareni -* All mods for Winnt 96a on winnt branch -* -* Revision 1.2 1996/03/15 18:02:47 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNINIT (I1,I2,I3) -#include "QatDataModeling/d506dp.inc" -CC This is the main initialization subroutine for MINUIT -CC It initializes some constants in common -CC (including the logical I/O unit nos.), -CC -#include "QatDataModeling/d506cm.inc" -C - EXTERNAL INTRAC - LOGICAL INTRAC -C I/O unit numbers - ISYSRD = I1 - ISYSWR = I2 - ISTKWR(1) = ISYSWR - NSTKWR = 1 - ISYSSA = I3 - NSTKRD = 0 -C version identifier - CVRSN = '96.03 ' -C some CONSTANT constants in COMMON - MAXINT=MNI - MAXEXT=MNE - UNDEFI = -54321. - BIGEDM = 123456. - CUNDEF = ')UNDEFINED' - COVMES(0) = 'NO ERR MATRIX ' - COVMES(1) = 'ERR MATRIX APPROXIMATE' - COVMES(2) = 'ERR MATRIX NOT POS-DEF' - COVMES(3) = 'ERR MATRIX ACCURATE ' -C some starting values in COMMON - NBLOCK = 0 - ICOMND = 0 - CTITL = CUNDEF - CFROM = 'INPUT ' - NFCNFR = NFCN - CSTATU= 'INITIALIZE' - ISW(3) = 0 - ISW(4) = 0 - ISW(5) = 1 -C ISW(6)=0 for batch jobs, =1 for interactive jobs -C =-1 for originally interactive temporarily batch - ISW(6) = 0 -#ifdef HAVE_CERNLIB -#ifndef CERNLIB_MSSTDCALL - IF (INTRAC(DUMMY)) ISW(6) = 1 -#else - IF (INTRAC()) ISW(6) = 1 -#endif -#endif -C DEBUG options set to default values - DO 10 IDB= 0, MAXDBG - 10 IDBG(IDB) = 0 - LREPOR = .FALSE. - LWARN = .TRUE. - LIMSET = .FALSE. - LNEWMN = .FALSE. - ISTRAT = 1 - ITAUR = 0 -C default page dimensions and 'new page' carriage control integer - NPAGWD = 120 - NPAGLN = 56 - NEWPAG = 1 - IF (ISW(6) .GT. 0) THEN - NPAGWD = 80 - NPAGLN = 30 - NEWPAG = 0 - ENDIF - UP = 1.0 - UPDFLT = UP -C determine machine accuracy epsmac - EPSTRY = 0.5 - DO 33 I= 1, 100 - EPSTRY = EPSTRY * 0.5 - EPSP1 = ONE + EPSTRY - CALL MNTINY(EPSP1, EPSBAK) - IF (EPSBAK .LT. EPSTRY) GO TO 35 - 33 CONTINUE - EPSTRY = 1.0E-7 - EPSMAC = 4.0*EPSTRY - WRITE (ISYSWR,'(A,A,E10.2)') ' MNINIT UNABLE TO DETERMINE', - + ' ARITHMETIC PRECISION. WILL ASSUME:',EPSMAC - 35 EPSMAC = 8.0 * EPSTRY - EPSMA2 = 2.0 * SQRT(EPSMAC) -C the vlims are a non-negligible distance from pi/2 -C used by MNPINT to set variables "near" the physical limits - PIBY2 = 2.0*ATAN(1.0) - DISTNN = 8.0*SQRT(EPSMA2) - VLIMHI = PIBY2 - DISTNN - VLIMLO = -PIBY2 + DISTNN - CALL MNCLER - WRITE (ISYSWR,'(3A,I3,A,I3,A,E10.2)') ' MINUIT RELEASE ',CVRSN, - +' INITIALIZED. DIMENSIONS ',MNE,'/',MNI,' EPSMAC=',EPSMAC - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mninpu.F b/graphics/Qat/QatDataModeling/src/mninpu.F deleted file mode 100644 index 463870a7b4bcb344bbc24b23e4a1996d9869f1f9..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mninpu.F +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: mninpu.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mninpu.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNINPU(IUNIT,IERR) -#include "QatDataModeling/d506dp.inc" -CC called by the user to SET INPUT to IUNIT, -CC an alternative to MNSTIN where the user can specify just -CC a logical unit number and he is not interrogated about -CC open files and rewinding, all that is the responsibility -CC of the user and cannot be fixed interactively. -#include "QatDataModeling/d506cm.inc" -C - IERR = 0 -C IUNIT = 0, revert to previous input file - IF (IUNIT .EQ. 0) THEN - IF (NSTKRD .EQ. 0) THEN - WRITE (ISYSWR, '(A)') ' CALL TO MNINPU(0) IGNORED' - WRITE (ISYSWR, '(A)') ' ALREADY READING FROM PRIMARY INPUT' - ELSE - ISYSRD = ISTKRD(NSTKRD) - NSTKRD = NSTKRD - 1 - ENDIF -C -C new input file - ELSE - IF (NSTKRD .GE. MAXSTK) THEN - WRITE (ISYSWR, '(A)') ' INPUT FILE STACK SIZE EXCEEDED.' - GO TO 800 - ENDIF - NSTKRD = NSTKRD + 1 - ISTKRD(NSTKRD) = ISYSRD - ISYSRD = IUNIT - ENDIF -C - RETURN - 800 IERR = 1 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnintr.F b/graphics/Qat/QatDataModeling/src/mnintr.F deleted file mode 100644 index 737dcc3f3fcea68ac22eb3f7ff6a11f5ae08c693..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnintr.F +++ /dev/null @@ -1,31 +0,0 @@ -* -* $Id: mnintr.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnintr.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNINTR(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called by user. Interfaces to MNREAD to allow user to change -CC easily from Fortran-callable to interactive mode. -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - IFLGIN = 3 - CALL MNREAD(FCN,IFLGIN,IFLGUT,FUTIL) - WRITE (ISYSWR,'(2A/)') ' END OF MINUIT COMMAND INPUT. ', - + ' RETURN TO USER PROGRAM.' - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnlims.F b/graphics/Qat/QatDataModeling/src/mnlims.F deleted file mode 100644 index 63a5f6ab7b7b8b15e3c588dda7951b3098c6440b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnlims.F +++ /dev/null @@ -1,134 +0,0 @@ -* -* $Id: mnlims.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnlims.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:48 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNLIMS -#include "QatDataModeling/d506dp.inc" -CC Called from MNSET -CC Interprets the SET LIM command, to reset the parameter limits -CC -#include "QatDataModeling/d506cm.inc" -C - CFROM = 'SET LIM ' - NFCNFR = NFCN - CSTATU= 'NO CHANGE ' - I2 = WORD7(1) - IF (I2 .GT. MAXEXT .OR. I2 .LT. 0) GO TO 900 - IF (I2 .GT. 0) GO TO 30 -C set limits on all parameters - NEWCOD = 4 - IF (WORD7(2) .EQ. WORD7(3)) NEWCOD = 1 - DO 20 INU= 1, NU - IF (NVARL(INU) .LE. 0) GO TO 20 - IF (NVARL(INU).EQ.1 .AND. NEWCOD.EQ.1) GO TO 20 - KINT = NIOFEX(INU) -C see if parameter has been fixed - IF (KINT .LE. 0) THEN - IF (ISW(5) .GE. 0) WRITE (ISYSWR,'(11X,A,I3)') - + ' LIMITS NOT CHANGED FOR FIXED PARAMETER:',INU - GO TO 20 - ENDIF - IF (NEWCOD .EQ. 1) THEN -C remove limits from parameter - IF (ISW(5) .GT. 0) WRITE (ISYSWR,134) INU - CSTATU = 'NEW LIMITS' - CALL MNDXDI(X(KINT),KINT,DXDI) - SNEW = GSTEP(KINT)*DXDI - GSTEP(KINT) = ABS(SNEW) - NVARL(INU) = 1 - ELSE -C put limits on parameter - ALIM(INU) = MIN(WORD7(2),WORD7(3)) - BLIM(INU) = MAX(WORD7(2),WORD7(3)) - IF (ISW(5) .GT. 0) WRITE (ISYSWR,237) INU,ALIM(INU),BLIM(INU) - NVARL(INU) = 4 - CSTATU = 'NEW LIMITS' - GSTEP(KINT) = -0.1 - ENDIF - 20 CONTINUE - GO TO 900 -C set limits on one parameter - 30 IF (NVARL(I2) .LE. 0) THEN - WRITE (ISYSWR,'(A,I3,A)') ' PARAMETER ',I2,' IS NOT VARIABLE.' - GO TO 900 - ENDIF - KINT = NIOFEX(I2) -C see if parameter was fixed - IF (KINT .EQ. 0) THEN - WRITE (ISYSWR,'(A,I3)') - + ' REQUEST TO CHANGE LIMITS ON FIXED PARAMETER:',I2 - DO 82 IFX= 1, NPFIX - IF (I2 .EQ. IPFIX(IFX)) GO TO 92 - 82 CONTINUE - WRITE (ISYSWR,'(A)') ' MINUIT BUG IN MNLIMS. SEE F. JAMES' - 92 CONTINUE - ENDIF - IF (WORD7(2) .NE. WORD7(3)) GO TO 235 -C remove limits - IF (NVARL(I2) .NE. 1) THEN - IF (ISW(5) .GT. 0) WRITE (ISYSWR,134) I2 - 134 FORMAT (30H LIMITS REMOVED FROM PARAMETER ,I4) - CSTATU = 'NEW LIMITS' - IF (KINT .LE. 0) THEN - GSTEPS(IFX) = ABS(GSTEPS(IFX)) - ELSE - CALL MNDXDI(X(KINT),KINT,DXDI) - IF (ABS(DXDI) .LT. 0.01) DXDI=0.01 - GSTEP(KINT) = ABS(GSTEP(KINT)*DXDI) - GRD(KINT) = GRD(KINT)*DXDI - ENDIF - NVARL(I2) = 1 - ELSE - WRITE (ISYSWR,'(A,I3)') ' NO LIMITS SPECIFIED. PARAMETER ', - + I2,' IS ALREADY UNLIMITED. NO CHANGE.' - ENDIF - GO TO 900 -C put on limits - 235 ALIM(I2) = MIN(WORD7(2),WORD7(3)) - BLIM(I2) = MAX(WORD7(2),WORD7(3)) - NVARL(I2) = 4 - IF (ISW(5) .GT. 0) WRITE (ISYSWR,237) I2,ALIM(I2),BLIM(I2) - 237 FORMAT (10H PARAMETER ,I3, 14H LIMITS SET TO ,2G15.5) - CSTATU = 'NEW LIMITS' - IF (KINT .LE. 0) THEN - GSTEPS(IFX) = -0.1 - ELSE - GSTEP(KINT) = -0.1 - ENDIF -C - 900 CONTINUE - IF (CSTATU .NE. 'NO CHANGE ') THEN - CALL MNEXIN(X) - CALL MNRSET(1) - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnline.F b/graphics/Qat/QatDataModeling/src/mnline.F deleted file mode 100644 index 774be4cc6440c46565b0a916d8fc552f3e0df3fa..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnline.F +++ /dev/null @@ -1,232 +0,0 @@ -* -* $Id: mnline.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnline.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNLINE(FCN,START,FSTART,STEP,SLOPE,TOLER,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Perform a line search from position START -CC along direction STEP, where the length of vector STEP -CC gives the expected position of minimum. -CC FSTART is value of function at START -CC SLOPE (if non-zero) is df/dx along STEP at START -CC TOLER is initial tolerance of minimum in direction STEP -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION START(*), STEP(*) - PARAMETER (MAXPT=12) - DIMENSION XPQ(MAXPT),YPQ(MAXPT) - CHARACTER*1 CHPQ(MAXPT) - DIMENSION XVALS(3),FVALS(3),COEFF(3) - CHARACTER*26 CHARAL - CHARACTER*60 CMESS - PARAMETER (SLAMBG=5.,ALPHA=2.) -C SLAMBG and ALPHA control the maximum individual steps allowed. -C The first step is always =1. The max length of second step is SLAMBG. -C The max size of subsequent steps is the maximum previous successful -C step multiplied by ALPHA + the size of most recent successful step, -C but cannot be smaller than SLAMBG. - LOGICAL LDEBUG - DATA CHARAL / 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' / - LDEBUG = (IDBG(1).GE.1) -C starting values for overall limits on total step SLAM - OVERAL = 1000. - UNDRAL = -100. -C debug check if start is ok - IF (LDEBUG) THEN - CALL MNINEX(START) - CALL FCN(NPARX,GIN,F1,U,4,FUTIL) - NFCN=NFCN+1 - IF (F1 .NE. FSTART) THEN - WRITE (ISYSWR,'(A/2E14.5/2X,10F10.5)') - + ' MNLINE start point not consistent, F values, parameters=', - + (X(KK),KK=1,NPAR) - ENDIF - ENDIF -C . set up linear search along STEP - - FVMIN = FSTART - XVMIN = ZERO - NXYPT = 1 - CHPQ(1) = CHARAL(1:1) - XPQ(1) = 0. - YPQ(1) = FSTART -C SLAMIN = smallest possible value of ABS(SLAM) - SLAMIN = ZERO - DO 20 I= 1, NPAR - IF (STEP(I) .EQ. ZERO) GO TO 20 - RATIO = ABS(START(I)/STEP(I)) - IF (SLAMIN .EQ. ZERO) SLAMIN = RATIO - IF (RATIO .LT. SLAMIN) SLAMIN = RATIO - 20 X(I) = START(I) + STEP(I) - IF (SLAMIN .EQ. ZERO) SLAMIN = EPSMAC - SLAMIN = SLAMIN*EPSMA2 - NPARX = NPAR -C - CALL MNINEX(X) - CALL FCN(NPARX,GIN,F1,U,4,FUTIL) - NFCN=NFCN+1 - NXYPT = NXYPT + 1 - CHPQ(NXYPT) = CHARAL(NXYPT:NXYPT) - XPQ(NXYPT) = 1. - YPQ(NXYPT) = F1 - IF (F1 .LT. FSTART) THEN - FVMIN = F1 - XVMIN = 1.0 - ENDIF -C . quadr interp using slope GDEL and two points - SLAM = 1. - TOLER8 = TOLER - SLAMAX = SLAMBG - FLAST = F1 -C can iterate on two-points (cut) if no imprvmnt - 25 CONTINUE - DENOM = 2.0*(FLAST-FSTART-SLOPE*SLAM)/SLAM**2 -C IF (DENOM .EQ. ZERO) DENOM = -0.1*SLOPE - SLAM = 1. - IF (DENOM .NE. ZERO) SLAM = -SLOPE/DENOM - IF (SLAM .LT. ZERO) SLAM = SLAMAX - IF (SLAM .GT. SLAMAX) SLAM = SLAMAX - IF (SLAM .LT. TOLER8) SLAM = TOLER8 - IF (SLAM .LT. SLAMIN) GO TO 80 - IF (ABS(SLAM-1.0).LT.TOLER8 .AND. F1.LT.FSTART) GO TO 70 - IF (ABS(SLAM-1.0).LT.TOLER8) SLAM = 1.0+TOLER8 - IF (NXYPT .GE. MAXPT) GO TO 65 - DO 30 I= 1, NPAR - 30 X(I) = START(I) + SLAM*STEP(I) - CALL MNINEX(X) - CALL FCN(NPAR,GIN,F2,U,4,FUTIL) - NFCN = NFCN + 1 - NXYPT = NXYPT + 1 - CHPQ(NXYPT) = CHARAL(NXYPT:NXYPT) - XPQ(NXYPT) = SLAM - YPQ(NXYPT) = F2 - IF (F2 .LT. FVMIN) THEN - FVMIN = F2 - XVMIN = SLAM - ENDIF - IF (FSTART .EQ. FVMIN) THEN - FLAST = F2 - TOLER8 = TOLER*SLAM - OVERAL = SLAM-TOLER8 - SLAMAX = OVERAL - GO TO 25 - ENDIF -C . quadr interp using 3 points - XVALS(1) = XPQ(1) - FVALS(1) = YPQ(1) - XVALS(2) = XPQ(NXYPT-1) - FVALS(2) = YPQ(NXYPT-1) - XVALS(3) = XPQ(NXYPT) - FVALS(3) = YPQ(NXYPT) -C begin iteration, calculate desired step - 50 CONTINUE - SLAMAX = MAX(SLAMAX,ALPHA*ABS(XVMIN)) - CALL MNPFIT(XVALS,FVALS,3,COEFF,SDEV) - IF (COEFF(3) .LE. ZERO) THEN - SLOPEM = 2.0*COEFF(3)*XVMIN + COEFF(2) - IF (SLOPEM .LE. ZERO) THEN - SLAM = XVMIN + SLAMAX - ELSE - SLAM = XVMIN - SLAMAX - ENDIF - ELSE - SLAM = -COEFF(2)/(2.0*COEFF(3)) - IF (SLAM .GT. XVMIN+SLAMAX) SLAM = XVMIN+SLAMAX - IF (SLAM .LT. XVMIN-SLAMAX) SLAM = XVMIN-SLAMAX - ENDIF - IF (SLAM .GT. ZERO) THEN - IF (SLAM .GT. OVERAL) SLAM = OVERAL - ELSE - IF (SLAM .LT. UNDRAL) SLAM = UNDRAL - ENDIF -C come here if step was cut below - 52 CONTINUE - TOLER9 = MAX(TOLER8,ABS(TOLER8*SLAM)) - DO 55 IPT= 1, 3 - IF (ABS(SLAM-XVALS(IPT)) .LT. TOLER9) GO TO 70 - 55 CONTINUE -C take the step - IF (NXYPT .GE. MAXPT) GO TO 65 - DO 60 I= 1, NPAR - 60 X(I) = START(I)+SLAM*STEP(I) - CALL MNINEX(X) - CALL FCN(NPARX,GIN,F3,U,4,FUTIL) - NFCN = NFCN + 1 - NXYPT = NXYPT + 1 - CHPQ(NXYPT) = CHARAL(NXYPT:NXYPT) - XPQ(NXYPT) = SLAM - YPQ(NXYPT) = F3 -C find worst previous point out of three - FVMAX = FVALS(1) - NVMAX = 1 - IF (FVALS(2) .GT. FVMAX) THEN - FVMAX = FVALS(2) - NVMAX = 2 - ENDIF - IF (FVALS(3) .GT. FVMAX) THEN - FVMAX = FVALS(3) - NVMAX = 3 - ENDIF -C if latest point worse than all three previous, cut step - IF (F3 .GE. FVMAX) THEN - IF (NXYPT .GE. MAXPT) GO TO 65 - IF (SLAM .GT. XVMIN) OVERAL = MIN(OVERAL,SLAM-TOLER8) - IF (SLAM .LT. XVMIN) UNDRAL = MAX(UNDRAL,SLAM+TOLER8) - SLAM = 0.5*(SLAM+XVMIN) - GO TO 52 - ENDIF -C prepare another iteration, replace worst previous point - XVALS(NVMAX) = SLAM - FVALS(NVMAX) = F3 - IF (F3 .LT. FVMIN) THEN - FVMIN = F3 - XVMIN = SLAM - ELSE - IF (SLAM .GT. XVMIN) OVERAL = MIN(OVERAL,SLAM-TOLER8) - IF (SLAM .LT. XVMIN) UNDRAL = MAX(UNDRAL,SLAM+TOLER8) - ENDIF - IF (NXYPT .LT. MAXPT) GO TO 50 -C . . end of iteration . . . -C stop because too many iterations - 65 CMESS = ' LINE SEARCH HAS EXHAUSTED THE LIMIT OF FUNCTION CALLS ' - IF (LDEBUG) THEN - WRITE (ISYSWR,'(A/(2X,6G12.4))') ' MNLINE DEBUG: steps=', - + (STEP(KK),KK=1,NPAR) - ENDIF - GO TO 100 -C stop because within tolerance - 70 CONTINUE - CMESS = ' LINE SEARCH HAS ATTAINED TOLERANCE ' - GO TO 100 - 80 CONTINUE - CMESS = ' STEP SIZE AT ARITHMETICALLY ALLOWED MINIMUM' - 100 CONTINUE - AMIN = FVMIN - DO 120 I= 1, NPAR - DIRIN(I) = STEP(I)*XVMIN - 120 X(I) = START(I) + DIRIN(I) - CALL MNINEX(X) - IF (XVMIN .LT. 0.) CALL MNWARN('D','MNLINE', - + ' LINE MINIMUM IN BACKWARDS DIRECTION') - IF (FVMIN .EQ. FSTART) CALL MNWARN('D','MNLINE', - + ' LINE SEARCH FINDS NO IMPROVEMENT ') - IF (LDEBUG) THEN - WRITE (ISYSWR,'('' AFTER'',I3,'' POINTS,'',A)') NXYPT,CMESS - CALL MNPLOT(XPQ,YPQ,CHPQ,NXYPT,ISYSWR,NPAGWD,NPAGLN) - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnmatu.F b/graphics/Qat/QatDataModeling/src/mnmatu.F deleted file mode 100644 index bcf1775779bb139fea0cc89e3ef593fdcca7f627..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnmatu.F +++ /dev/null @@ -1,78 +0,0 @@ -* -* $Id: mnmatu.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnmatu.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNMATU(KODE) -#include "QatDataModeling/d506dp.inc" -CC prints the covariance matrix v when KODE=1. -CC always prints the global correlations, and -CC calculates and prints the individual correlation coefficients -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION VLINE(MNI) - ISW2 = ISW(2) - IF (ISW2 .LT. 1) THEN - WRITE (ISYSWR,'(1X,A)') COVMES(ISW2) - GO TO 500 - ENDIF - IF (NPAR .EQ. 0) THEN - WRITE (ISYSWR,'('' MNMATU: NPAR=0'')') - GO TO 500 - ENDIF -C . . . . .external error matrix - IF (KODE .EQ. 1) THEN - ISW5 = ISW(5) - ISW(5) = 2 - CALL MNEMAT(P,MAXINT) - IF (ISW2.LT.3) WRITE (ISYSWR,'(1X,A)') COVMES(ISW2) - ISW(5) = ISW5 - ENDIF -C . . . . . correlation coeffs. . - IF (NPAR .LE. 1) GO TO 500 - CALL MNWERR -C NCOEF is number of coeff. that fit on one line, not to exceed 20 - NCOEF = (NPAGWD-19)/6 - NCOEF = MIN(NCOEF,20) - NPARM = MIN(NPAR,NCOEF) - WRITE (ISYSWR, 150) (NEXOFI(ID),ID=1,NPARM) - 150 FORMAT (/36H PARAMETER CORRELATION COEFFICIENTS / - + 18H NO. GLOBAL ,20I6) - DO 200 I= 1, NPAR - IX = NEXOFI(I) - NDI = I*(I+1)/2 - DO 170 J= 1, NPAR - M = MAX(I,J) - N = MIN(I,J) - NDEX = M*(M-1)/2 + N - NDJ = J*(J+1)/2 - 170 VLINE(J) = VHMAT(NDEX)/SQRT(ABS(VHMAT(NDI)*VHMAT(NDJ))) - NPARM = MIN(NPAR,NCOEF) - WRITE (ISYSWR,171) IX, GLOBCC(I), (VLINE(IT),IT=1,NPARM) - 171 FORMAT (6X,I3,2X,F7.5,1X,20F6.3) - IF (I.LE.NPARM) GO TO 200 - DO 190 ISO= 1, 10 - NSOFAR = NPARM - NPARM = MIN(NPAR,NSOFAR+NCOEF) - WRITE (ISYSWR,181) (VLINE(IT),IT=NSOFAR+1,NPARM) - 181 FORMAT (19X,20F6.3) - IF (I .LE. NPARM) GO TO 192 - 190 CONTINUE - 192 CONTINUE - 200 CONTINUE - IF (ISW2.LT.3) WRITE (ISYSWR,'(1X,A)') COVMES(ISW2) - 500 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnmigr.F b/graphics/Qat/QatDataModeling/src/mnmigr.F deleted file mode 100644 index c4737292b3da54f8ebe8777248a3d5884ced876f..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnmigr.F +++ /dev/null @@ -1,329 +0,0 @@ -* -* $Id: mnmigr.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnmigr.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:49 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNMIGR(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Performs a local function minimization using basically the -CC method of Davidon-Fletcher-Powell as modified by Fletcher -CC ref. -- Fletcher, Comp.J. 13,317 (1970) "switching method" -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION GS(MNI), STEP(MNI), XXS(MNI), FLNU(MNI), VG(MNI) - LOGICAL LDEBUG - PARAMETER (TOLER=0.05) - IF (NPAR .LE. 0) RETURN - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - LDEBUG = (IDBG(4) .GE. 1) - CFROM = 'MIGRAD ' - NFCNFR = NFCN - NFCNMG = NFCN - CSTATU= 'INITIATE ' - ISWTR = ISW(5) - 2*ITAUR - NPFN = NFCN - NPARX = NPAR - LENV = NPAR*(NPAR+1)/2 - NRSTRT = 0 - NPSDF = 0 - LINED2 = 0 - ISW(4) = -1 - RHOTOL = 1.0E-3*APSI - IF (ISWTR .GE. 1) WRITE (ISYSWR,470) ISTRAT,RHOTOL - 470 FORMAT (' START MIGRAD MINIMIZATION. STRATEGY',I2, - +'. CONVERGENCE WHEN EDM .LT.',E9.2) -C initialization strategy - IF (ISTRAT.LT.2 .OR. ISW(2).GE.3) GO TO 2 -C come (back) here to restart completely - 1 CONTINUE - IF (NRSTRT .GT. ISTRAT) THEN - CSTATU= 'FAILED ' - ISW(4) = -1 - GO TO 230 - ENDIF -C . get full covariance and gradient - CALL MNHESS(FCN,FUTIL) - CALL MNWERR - NPSDF = 0 - IF (ISW(2) .GE. 1) GO TO 10 -C . get gradient at start point - 2 CONTINUE - CALL MNINEX(X) - IF (ISW(3) .EQ. 1) THEN - CALL FCN(NPARX,GIN,FZERO,U,2,FUTIL) - NFCN = NFCN + 1 - ENDIF - CALL MNDERI(FCN,FUTIL) - IF (ISW(2) .GE. 1) GO TO 10 -C sometimes start with diagonal matrix - DO 3 I= 1, NPAR - XXS(I) = X(I) - STEP(I) = ZERO - 3 CONTINUE -C do line search if second derivative negative - LINED2 = LINED2 + 1 - IF (LINED2 .LT. (ISTRAT+1)*NPAR) THEN - DO 5 I= 1, NPAR - IF (G2(I) .GT. ZERO) GO TO 5 - STEP(I) = -SIGN(GSTEP(I),GRD(I)) - GDEL = STEP(I)*GRD(I) - FS = AMIN - CALL MNLINE(FCN,XXS,FS,STEP,GDEL,TOLER,FUTIL) - CALL MNWARN('D','MNMIGR','Negative G2 line search') - IEXT = NEXOFI(I) - IF (LDEBUG) WRITE (ISYSWR,'(A,I3,2G13.3)') - + ' Negative G2 line search, param ',IEXT,FS,AMIN - GO TO 2 - 5 CONTINUE - ENDIF -C make diagonal error matrix - DO 8 I=1,NPAR - NDEX = I*(I-1)/2 - DO 7 J=1,I-1 - NDEX = NDEX + 1 - 7 VHMAT(NDEX) = 0. - NDEX = NDEX + 1 - IF (G2(I) .LE. ZERO) G2(I) = 1. - VHMAT(NDEX) = 2./G2(I) - 8 CONTINUE - DCOVAR = 1. - IF (LDEBUG) WRITE (ISYSWR,'(A,A/(1X,10G10.2))') ' DEBUG MNMIGR,', - + ' STARTING MATRIX DIAGONAL, VHMAT=', (VHMAT(KK),KK=1,LENV) -C ready to start first iteration - 10 CONTINUE - NRSTRT = NRSTRT + 1 - IF (NRSTRT .GT. ISTRAT+1) THEN - CSTATU= 'FAILED ' - GO TO 230 - ENDIF - FS = AMIN -C . . . get EDM and set up loop - EDM = 0. - DO 18 I= 1, NPAR - GS(I) = GRD(I) - XXS(I) = X(I) - NDEX = I*(I-1)/2 - DO 17 J= 1, I-1 - NDEX = NDEX + 1 - 17 EDM = EDM + GS(I)*VHMAT(NDEX)*GS(J) - NDEX = NDEX + 1 - 18 EDM = EDM + 0.5 * GS(I)**2 *VHMAT(NDEX) - EDM = EDM * 0.5 * (1.0+3.0*DCOVAR) - IF (EDM .LT. ZERO) THEN - CALL MNWARN('W','MIGRAD','STARTING MATRIX NOT POS-DEFINITE.') - ISW(2) = 0 - DCOVAR = 1. - GO TO 2 - ENDIF - IF (ISW(2) .EQ. 0) EDM=BIGEDM - ITER = 0 - CALL MNINEX(X) - CALL MNWERR - IF (ISWTR .GE. 1) CALL MNPRIN(3,AMIN) - IF (ISWTR .GE. 2) CALL MNMATU(0) -C . . . . . start main loop - 24 CONTINUE - IF (NFCN-NPFN .GE. NFCNMX) GO TO 190 - GDEL = 0. - GSSQ = 0. - DO 30 I=1,NPAR - RI = 0. - GSSQ = GSSQ + GS(I)**2 - DO 25 J=1,NPAR - M = MAX(I,J) - N = MIN(I,J) - NDEX = M*(M-1)/2 + N - 25 RI = RI + VHMAT(NDEX) *GS(J) - STEP(I) = -0.5*RI - 30 GDEL = GDEL + STEP(I)*GS(I) - IF (GSSQ .EQ. ZERO) THEN - CALL MNWARN('D','MIGRAD', - + ' FIRST DERIVATIVES OF FCN ARE ALL ZERO') - GO TO 300 - ENDIF -C if gdel positive, V not posdef - IF (GDEL .GE. ZERO) THEN - CALL MNWARN('D','MIGRAD',' NEWTON STEP NOT DESCENT.') - IF (NPSDF .EQ. 1) GO TO 1 - CALL MNPSDF - NPSDF = 1 - GO TO 24 - ENDIF -C . . . . do line search - CALL MNLINE(FCN,XXS,FS,STEP,GDEL,TOLER,FUTIL) - IF (AMIN .EQ. FS) GO TO 200 - CFROM = 'MIGRAD ' - NFCNFR = NFCNMG - CSTATU= 'PROGRESS ' -C . get gradient at new point - CALL MNINEX(X) - IF (ISW(3) .EQ. 1) THEN - CALL FCN(NPARX,GIN,FZERO,U,2,FUTIL) - NFCN = NFCN + 1 - ENDIF - CALL MNDERI(FCN,FUTIL) -C . calculate new EDM - NPSDF = 0 - 81 EDM = 0. - GVG = 0. - DELGAM = 0. - GDGSSQ = 0. - DO 100 I= 1, NPAR - RI = 0. - VGI = 0. - DO 90 J= 1, NPAR - M = MAX(I,J) - N = MIN(I,J) - NDEX = M*(M-1)/2 + N - VGI = VGI + VHMAT(NDEX)*(GRD(J)-GS(J)) - 90 RI = RI + VHMAT(NDEX)* GRD(J) - VG(I) = VGI*0.5 - GAMI = GRD(I) - GS(I) - GDGSSQ = GDGSSQ + GAMI**2 - GVG = GVG + GAMI*VG(I) - DELGAM = DELGAM + DIRIN(I)*GAMI - 100 EDM = EDM + GRD(I)*RI*0.5 - EDM = EDM * 0.5 * (1.0 + 3.0*DCOVAR) -C . if EDM negative, not positive-definite - IF (EDM .LT. ZERO .OR. GVG .LE. ZERO) THEN - CALL MNWARN('D','MIGRAD','NOT POS-DEF. EDM OR GVG NEGATIVE.') - CSTATU = 'NOT POSDEF' - IF (NPSDF .EQ. 1) GO TO 230 - CALL MNPSDF - NPSDF = 1 - GO TO 81 - ENDIF -C print information about this iteration - ITER = ITER + 1 - IF (ISWTR.GE.3 .OR. (ISWTR.EQ.2.AND.MOD(ITER,10).EQ.1)) THEN - CALL MNWERR - CALL MNPRIN(3,AMIN) - ENDIF - IF (GDGSSQ .EQ. ZERO) CALL MNWARN('D','MIGRAD', - + 'NO CHANGE IN FIRST DERIVATIVES OVER LAST STEP') - IF (DELGAM .LT. ZERO) CALL MNWARN('D','MIGRAD', - + 'FIRST DERIVATIVES INCREASING ALONG SEARCH LINE') -C . update covariance matrix - CSTATU = 'IMPROVEMNT' - IF (LDEBUG) WRITE (ISYSWR,'(A,(1X,10G10.3))') ' VHMAT 1 =', - + (VHMAT(KK),KK=1,10) - DSUM = 0. - VSUM = 0. - DO 120 I=1, NPAR - DO 120 J=1, I - D = DIRIN(I)*DIRIN(J)/DELGAM - VG(I)*VG(J)/GVG - DSUM = DSUM + ABS(D) - NDEX = I*(I-1)/2 + J - VHMAT(NDEX) = VHMAT(NDEX) + 2.0*D - VSUM = VSUM + ABS(VHMAT(NDEX)) - 120 CONTINUE -C smooth local fluctuations by averaging DCOVAR - DCOVAR = 0.5*(DCOVAR + DSUM/VSUM) - IF (ISWTR.GE.3 .OR. LDEBUG) WRITE (ISYSWR,'(A,F5.1,A)') - + ' RELATIVE CHANGE IN COV. MATRIX=',DCOVAR*100.,'%' - IF (LDEBUG) WRITE (ISYSWR,'(A,(1X,10G10.3))') ' VHMAT 2 =', - + (VHMAT(KK),KK=1,10) - IF (DELGAM .LE. GVG) GO TO 135 - DO 125 I= 1, NPAR - 125 FLNU(I) = DIRIN(I)/DELGAM - VG(I)/GVG - DO 130 I= 1, NPAR - DO 130 J= 1, I - NDEX = I*(I-1)/2 + J - 130 VHMAT(NDEX) = VHMAT(NDEX) + 2.0*GVG*FLNU(I)*FLNU(J) - 135 CONTINUE -C and see if converged - IF (EDM .LT. 0.1*RHOTOL) GO TO 300 -C if not, prepare next iteration - DO 140 I= 1, NPAR - XXS(I) = X(I) - GS(I) = GRD(I) - 140 CONTINUE - FS = AMIN - IF (ISW(2) .EQ. 0 .AND. DCOVAR.LT. 0.5 ) ISW(2) = 1 - IF (ISW(2) .EQ. 3 .AND. DCOVAR.GT. 0.1 ) ISW(2) = 1 - IF (ISW(2) .EQ. 1 .AND. DCOVAR.LT. 0.05) ISW(2) = 3 - GO TO 24 -C . . . . . end main loop -C . . call limit in MNMIGR - 190 ISW(1) = 1 - IF (ISW(5) .GE. 0) - + WRITE (ISYSWR,'(A)') ' CALL LIMIT EXCEEDED IN MIGRAD.' - CSTATU = 'CALL LIMIT' - GO TO 230 -C . . fails to improve . . - 200 IF (ISWTR .GE. 1) WRITE (ISYSWR,'(A)') - + ' MIGRAD FAILS TO FIND IMPROVEMENT' - DO 210 I= 1, NPAR - 210 X(I) = XXS(I) - IF (EDM .LT. RHOTOL) GO TO 300 - IF (EDM .LT. ABS(EPSMA2*AMIN)) THEN - IF (ISWTR .GE. 0) WRITE (ISYSWR, '(A)') - + ' MACHINE ACCURACY LIMITS FURTHER IMPROVEMENT.' - GO TO 300 - ENDIF - IF (ISTRAT .LT. 1) THEN - IF (ISW(5) .GE. 0) WRITE (ISYSWR, '(A)') - + ' MIGRAD FAILS WITH STRATEGY=0. WILL TRY WITH STRATEGY=1.' - ISTRAT = 1 - ENDIF - GO TO 1 -C . . fails to converge - 230 IF (ISWTR .GE. 0) WRITE (ISYSWR,'(A)') - + ' MIGRAD TERMINATED WITHOUT CONVERGENCE.' - IF (ISW(2) .EQ. 3) ISW(2) = 1 - ISW(4) = -1 - GO TO 400 -C . . apparent convergence - 300 IF (ISWTR .GE. 0) WRITE(ISYSWR,'(/A)') - + ' MIGRAD MINIMIZATION HAS CONVERGED.' - IF (ITAUR .EQ. 0) THEN - IF (ISTRAT .GE. 2 .OR. (ISTRAT.EQ.1.AND.ISW(2).LT.3)) THEN - IF (ISW(5) .GE. 0) WRITE (ISYSWR, '(/A)') - + ' MIGRAD WILL VERIFY CONVERGENCE AND Error Matrix.' - CALL MNHESS(FCN,FUTIL) - CALL MNWERR - NPSDF = 0 - IF (EDM .GT. RHOTOL) GO TO 10 - ENDIF - ENDIF - CSTATU='CONVERGED ' - ISW(4) = 1 -C come here in any case - 400 CONTINUE - CFROM = 'MIGRAD ' - NFCNFR = NFCNMG - CALL MNINEX(X) - CALL MNWERR - IF (ISWTR .GE. 0) CALL MNPRIN (3,AMIN) - IF (ISWTR .GE. 1) CALL MNMATU(1) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnmnos.F b/graphics/Qat/QatDataModeling/src/mnmnos.F deleted file mode 100644 index ee9632aac08df4d530bbff3f4755302f3c2bdac1..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnmnos.F +++ /dev/null @@ -1,89 +0,0 @@ -* -* $Id: mnmnos.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnmnos.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNMNOS(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Performs a MINOS error analysis on those parameters for -CC which it is requested on the MINOS command by calling -CC MNMNOT for each parameter requested. -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - IF (NPAR .LE. 0) GO TO 700 - NGOOD = 0 - NBAD = 0 - NFCNMI = NFCN -C . loop over parameters requested - DO 570 KNT= 1, NPAR - IF (INT(WORD7(2)) .EQ. 0) THEN - ILAX = NEXOFI(KNT) - ELSE - IF (KNT .GE. 7) GO TO 580 - ILAX = INT(WORD7(KNT+1)) - IF (ILAX .EQ. 0) GO TO 580 - IF (ILAX .GT. 0 .AND. ILAX .LE. NU) THEN - IF (NIOFEX(ILAX) .GT. 0) GO TO 565 - ENDIF - WRITE (ISYSWR,564) ILAX - 564 FORMAT (' PARAMETER NUMBER ',I5,' NOT VARIABLE. IGNORED.') - GO TO 570 - ENDIF - 565 CONTINUE -C calculate one pair of M E's - ILAX2 = 0 - CALL MNMNOT(FCN,ILAX,ILAX2,VAL2PL,VAL2MI,FUTIL) - IF (LNEWMN) GO TO 650 -C update NGOOD and NBAD - IIN = NIOFEX(ILAX) - IF (ERP(IIN) .GT. ZERO) THEN - NGOOD=NGOOD+1 - ELSE - NBAD=NBAD+1 - ENDIF - IF (ERN(IIN) .LT. ZERO) THEN - NGOOD=NGOOD+1 - ELSE - NBAD=NBAD+1 - ENDIF - 570 CONTINUE -C end of loop . . . . . . . - 580 CONTINUE -C . . . . printout final values . - CFROM = 'MINOS ' - NFCNFR = NFCNMI - CSTATU= 'UNCHANGED ' - IF (NGOOD.EQ.0.AND.NBAD.EQ.0) GO TO 700 - IF (NGOOD.GT.0.AND.NBAD.EQ.0) CSTATU='SUCCESSFUL' - IF (NGOOD.EQ.0.AND.NBAD.GT.0) CSTATU='FAILURE ' - IF (NGOOD.GT.0.AND.NBAD.GT.0) CSTATU='PROBLEMS ' - IF (ISW(5) .GE. 0) CALL MNPRIN(4,AMIN) - IF (ISW(5) .GE. 2) CALL MNMATU(0) - GO TO 900 -C . . . new minimum found . . . . - 650 CONTINUE - CFROM = 'MINOS ' - NFCNFR = NFCNMI - CSTATU= 'NEW MINIMU' - IF (ISW(5) .GE. 0) CALL MNPRIN(4,AMIN) - WRITE (ISYSWR,675) - 675 FORMAT(/50H NEW MINIMUM FOUND. GO BACK TO MINIMIZATION STEP./1H , - +60(1H=)/60X,1HV/60X,1HV/60X,1HV/57X,7HVVVVVVV/58X,5HVVVVV/59X, - +3HVVV/60X,1HV//) - GO TO 900 - 700 WRITE (ISYSWR,'(A)') ' THERE ARE NO MINOS ERRORS TO CALCULATE.' - 900 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnmnot.F b/graphics/Qat/QatDataModeling/src/mnmnot.F deleted file mode 100644 index 2ac131145372d4620281967c7a0226b06d3529e3..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnmnot.F +++ /dev/null @@ -1,182 +0,0 @@ -* -* $Id: mnmnot.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnmnot.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNMNOT(FCN,ILAX,ILAX2,VAL2PL,VAL2MI,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Performs a MINOS error analysis on one parameter. -CC The parameter ILAX is varied, and the minimum of the -CC function with respect to the other parameters is followed -CC until it crosses the value FMIN+UP. -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION XDEV(MNI),W(MNI),GCC(MNI) - CHARACTER*4 CPOS,CNEG,CSIG - PARAMETER (CPOS='POSI',CNEG='NEGA') -C . . save and prepare start vals - ISW2 = ISW(2) - ISW4 = ISW(4) - SIGSAV = EDM - ISTRAV = ISTRAT - DC = DCOVAR - LNEWMN = .FALSE. - APSI = EPSI*0.5 - ABEST=AMIN - MPAR=NPAR - NFMXIN = NFCNMX - DO 125 I= 1, MPAR - 125 XT(I) = X(I) - DO 130 J= 1, MPAR*(MPAR+1)/2 - 130 VTHMAT(J) = VHMAT(J) - DO 135 I= 1, MPAR - GCC(I) = GLOBCC(I) - 135 W(I) = WERR(I) - IT = NIOFEX(ILAX) - ERP(IT) = 0. - ERN(IT) = 0. - CALL MNINEX(XT) - UT = U(ILAX) - IF (NVARL(ILAX) .EQ. 1) THEN - ALIM(ILAX) = UT -100.*W(IT) - BLIM(ILAX) = UT +100.*W(IT) - ENDIF - NDEX = IT*(IT+1)/2 - XUNIT = SQRT(UP/VTHMAT(NDEX)) - MARC = 0 - DO 162 I= 1, MPAR - IF (I .EQ. IT) GO TO 162 - MARC = MARC + 1 - IMAX = MAX(IT,I) - INDX = IMAX*(IMAX-1)/2 + MIN(IT,I) - XDEV(MARC) = XUNIT*VTHMAT(INDX) - 162 CONTINUE -C fix the parameter in question - CALL MNFIXP (IT,IERR) - IF (IERR .GT. 0) THEN - WRITE (ISYSWR,'(A,I5,A,I5)') - + ' MINUIT ERROR. CANNOT FIX PARAMETER',ILAX,' INTERNAL',IT - GO TO 700 - ENDIF -C . . . . . Nota Bene: from here on, NPAR=MPAR-1 -C Remember: MNFIXP squeezes IT out of X, XT, WERR, and VHMAT, -C not W, VTHMAT - DO 500 ISIG= 1,2 - IF (ISIG .EQ. 1) THEN - SIG = 1.0 - CSIG = CPOS - ELSE - SIG = -1.0 - CSIG = CNEG - ENDIF -C . sig=sign of error being calcd - IF (ISW(5) .GT. 1) WRITE (ISYSWR,806) CSIG,ILAX,CPNAM(ILAX) - 806 FORMAT (/' DETERMINATION OF ',A4,'TIVE MINOS ERROR FOR PARAMETER', - + I3, 2X ,A) - IF (ISW(2).LE.0) CALL MNWARN('D','MINOS','NO COVARIANCE MATRIX.') - NLIMIT = NFCN + NFMXIN - ISTRAT = MAX(ISTRAV-1,0) - DU1 = W(IT) - U(ILAX) = UT + SIG*DU1 - U(ILAX) = MIN(U(ILAX),BLIM(ILAX)) - U(ILAX) = MAX(U(ILAX),ALIM(ILAX)) - DELU = U(ILAX) - UT -C stop if already at limit with negligible step size - IF (ABS(DELU)/(ABS(UT)+ABS(U(ILAX))) .LT. EPSMAC) GO TO 440 - FAC = DELU/W(IT) - DO 185 I= 1, NPAR - 185 X(I) = XT(I) + FAC*XDEV(I) - IF (ISW(5) .GT. 1) WRITE (ISYSWR,801) ILAX,UT,DELU,U(ILAX) - 801 FORMAT (/' PARAMETER',I4,' SET TO',E11.3,' + ',E10.3,' = ',E12.3) -C loop to hit AMIN+UP - KE1CR = ILAX - KE2CR = 0 - XMIDCR = U(ILAX) - XDIRCR = DELU -C - AMIN = ABEST - NFCNMX = NLIMIT - NFCN - CALL MNCROS(FCN,AOPT,IERCR,FUTIL) - IF (ABEST-AMIN .GT. 0.01*UP) GO TO 650 - IF (IERCR .EQ. 1) GO TO 440 - IF (IERCR .EQ. 2) GO TO 450 - IF (IERCR .EQ. 3) GO TO 460 -C . error successfully calculated - EROS = XMIDCR-UT + AOPT*XDIRCR - IF (ISW(5) .GT. 1) WRITE (ISYSWR,808) CSIG,ILAX,CPNAM(ILAX),EROS - 808 FORMAT (/9X,4HTHE ,A4, 29HTIVE MINOS ERROR OF PARAMETER,I3, 2H - +, A10, 4H, IS ,E12.4) - GO TO 480 -C . . . . . . . . failure returns - 440 IF (ISW(5) .GE. 1) WRITE(ISYSWR,807) CSIG,ILAX,CPNAM(ILAX) - 807 FORMAT (5X,'THE ',A4,'TIVE MINOS ERROR OF PARAMETER',I3,', ',A, - +', EXCEEDS ITS LIMIT.'/) - EROS = UNDEFI - GO TO 480 - 450 IF (ISW(5) .GE. 1) WRITE (ISYSWR, 802) CSIG,ILAX,NFMXIN - 802 FORMAT (9X,'THE ',A,'TIVE MINOS ERROR',I4,' REQUIRES MORE THAN', - + I5,' FUNCTION CALLS.'/) - EROS = 0. - GO TO 480 - 460 IF (ISW(5) .GE. 1) WRITE (ISYSWR, 805) CSIG,ILAX - 805 FORMAT (25X,A,'TIVE MINOS ERROR NOT CALCULATED FOR PARAMETER',I4/) - EROS = 0. -C - 480 IF (ISW(5) .GT. 1) WRITE (ISYSWR,'(5X, 74(1H*))') - IF (SIG .LT. ZERO) THEN - ERN(IT) = EROS - IF (ILAX2.GT.0 .AND. ILAX2.LE.NU) VAL2MI = U(ILAX2) - ELSE - ERP(IT) = EROS - IF (ILAX2.GT.0 .AND. ILAX2.LE.NU) VAL2PL = U(ILAX2) - ENDIF - 500 CONTINUE -C . . parameter finished. reset v -C normal termination - ITAUR = 1 - CALL MNFREE(1) - DO 550 J= 1, MPAR*(MPAR+1)/2 - 550 VHMAT(J) = VTHMAT(J) - DO 595 I= 1, MPAR - WERR(I) = W(I) - GLOBCC(I) = GCC(I) - 595 X(I) = XT(I) - CALL MNINEX (X) - EDM = SIGSAV - AMIN = ABEST - ISW(2) = ISW2 - ISW(4) = ISW4 - DCOVAR = DC - GO TO 700 -C new minimum - 650 LNEWMN = .TRUE. - ISW(2) = 0 - DCOVAR = 1. - ISW(4) = 0 - SAV = U(ILAX) - ITAUR = 1 - CALL MNFREE(1) - U(ILAX) = SAV - CALL MNEXIN(X) - EDM = BIGEDM -C in any case - 700 CONTINUE - ITAUR = 0 - NFCNMX = NFMXIN - ISTRAT = ISTRAV - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnparm.F b/graphics/Qat/QatDataModeling/src/mnparm.F deleted file mode 100644 index 92d47a671f7150b15eb7dc39ba76928ade4bf610..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnparm.F +++ /dev/null @@ -1,229 +0,0 @@ -* -* $Id: mnparm.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnparm.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:50 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPARM(K,CNAMJ,UK,WK,A,B,IERFLG) -#include "QatDataModeling/d506dp.inc" -CC Called from MNPARS and user-callable -CC Implements one parameter definition, that is: -CC K (external) parameter number -CC CNAMK parameter name -CC UK starting value -CC WK starting step size or uncertainty -CC A, B lower and upper physical parameter limits -CC and sets up (updates) the parameter lists. -CC Output: IERFLG=0 if no problems -CC >0 if MNPARM unable to implement definition -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER*(*) CNAMJ - CHARACTER CNAMK*10, CHBUFI*4 -C - CNAMK = CNAMJ - KINT = NPAR - IF (K.LT.1 .OR. K.GT.MAXEXT) THEN -C parameter number exceeds allowed maximum value - WRITE (ISYSWR,9) K,MAXEXT - 9 FORMAT (/' MINUIT USER ERROR. PARAMETER NUMBER IS',I11/ - + ', ALLOWED RANGE IS ONE TO',I4/) - GO TO 800 - ENDIF -C normal parameter request - KTOFIX = 0 - IF (NVARL(K) .LT. 0) GO TO 50 -C previously defined parameter is being redefined -C find if parameter was fixed - DO 40 IX= 1, NPFIX - IF (IPFIX(IX) .EQ. K) KTOFIX = K - 40 CONTINUE - IF (KTOFIX .GT. 0) THEN - CALL MNWARN('W','PARAM DEF','REDEFINING A FIXED PARAMETER.') - IF (KINT .GE. MAXINT) THEN - WRITE (ISYSWR,'(A)') ' CANNOT RELEASE. MAX NPAR EXCEEDED.' - GO TO 800 - ENDIF - CALL MNFREE(-K) - ENDIF -C if redefining previously variable parameter - IF(NIOFEX(K) .GT. 0) KINT = NPAR-1 - 50 CONTINUE -C -C . . .print heading - IF (LPHEAD .AND. ISW(5).GE.0) THEN - WRITE (ISYSWR,61) - LPHEAD = .FALSE. - ENDIF - 61 FORMAT(/' PARAMETER DEFINITIONS:'/ - + ' NO. NAME VALUE STEP SIZE LIMITS') - IF (WK .GT. ZERO) GO TO 122 -C . . .constant parameter . . . . - IF (ISW(5) .GE. 0) WRITE (ISYSWR, 82) K,CNAMK,UK - 82 FORMAT (1X,I5,1X,1H',A10,1H',1X,G13.5, ' constant') - NVL = 0 - GO TO 200 - 122 IF (A.EQ.ZERO .AND. B.EQ.ZERO) THEN -C variable parameter without limits - NVL = 1 - IF (ISW(5) .GE. 0) WRITE (ISYSWR, 127) K,CNAMK,UK,WK - 127 FORMAT (1X,I5,1X,1H',A10,1H',1X,2G13.5, ' no limits') - ELSE -C variable parameter with limits - NVL = 4 - LNOLIM = .FALSE. - IF (ISW(5) .GE. 0) WRITE (ISYSWR, 132) K,CNAMK,UK,WK,A,B - 132 FORMAT(1X,I5,1X,1H',A10,1H',1X,2G13.5,2X,2G13.5) - ENDIF -C . . request for another variable parameter - KINT = KINT + 1 - IF (KINT .GT. MAXINT) THEN - WRITE (ISYSWR,135) MAXINT - 135 FORMAT (/' MINUIT USER ERROR. TOO MANY VARIABLE PARAMETERS.'/ - + ' THIS VERSION OF MINUIT DIMENSIONED FOR',I4//) - GO TO 800 - ENDIF - IF (NVL .EQ. 1) GO TO 200 - IF (A .EQ. B) THEN - WRITE (ISYSWR,'(/A,A/A/)') ' USER ERROR IN MINUIT PARAMETER', - + ' DEFINITION',' UPPER AND LOWER LIMITS EQUAL.' - GO TO 800 - ENDIF - IF (B .LT. A) THEN - SAV = B - B = A - A = SAV - CALL MNWARN('W','PARAM DEF','PARAMETER LIMITS WERE REVERSED.') - IF (LWARN) LPHEAD=.TRUE. - ENDIF - IF ((B-A) .GT. 1.0E7) THEN - WRITE (CHBUFI,'(I4)') K - CALL MNWARN('W','PARAM DEF', - + 'LIMITS ON PARAM'//CHBUFI//' TOO FAR APART.') - IF (LWARN) LPHEAD=.TRUE. - ENDIF - DANGER = (B-UK)*(UK-A) - IF (DANGER .LT. 0.) - + CALL MNWARN('W','PARAM DEF','STARTING VALUE OUTSIDE LIMITS.') - IF (DANGER .EQ. 0.) - + CALL MNWARN('W','PARAM DEF','STARTING VALUE IS AT LIMIT.') - 200 CONTINUE -C . . . input OK, set values, arrange lists, -C calculate step sizes GSTEP, DIRIN - CFROM = 'PARAMETR' - NFCNFR = NFCN - CSTATU= 'NEW VALUES' - NU = MAX(NU,K) - CPNAM(K) = CNAMK - U(K) = UK - ALIM(K) = A - BLIM(K) = B - NVARL(K) = NVL -C K is external number of new parameter -C LASTIN is the number of var. params with ext. param. no.< K - LASTIN = 0 - DO 240 IX= 1, K-1 - IF (NIOFEX(IX) .GT. 0) LASTIN=LASTIN+1 - 240 CONTINUE -C KINT is new number of variable params, NPAR is old - IF (KINT .EQ. NPAR) GO TO 280 - IF (KINT .GT. NPAR) THEN -C insert new variable parameter in list - DO 260 IN= NPAR,LASTIN+1,-1 - IX = NEXOFI(IN) - NIOFEX(IX) = IN+1 - NEXOFI(IN+1)= IX - X (IN+1) = X (IN) - XT (IN+1) = XT (IN) - DIRIN(IN+1) = DIRIN(IN) - G2 (IN+1) = G2 (IN) - GSTEP(IN+1) = GSTEP(IN) - 260 CONTINUE - ELSE -C remove variable parameter from list - DO 270 IN= LASTIN+1,KINT - IX = NEXOFI(IN+1) - NIOFEX(IX) = IN - NEXOFI(IN)= IX - X (IN)= X (IN+1) - XT (IN)= XT (IN+1) - DIRIN (IN)= DIRIN(IN+1) - G2 (IN)= G2 (IN+1) - GSTEP (IN)= GSTEP(IN+1) - 270 CONTINUE - ENDIF - 280 CONTINUE - IX = K - NIOFEX(IX) = 0 - NPAR = KINT - CALL MNRSET(1) -C lists are now arranged . . . . - IF (NVL .GT. 0) THEN - IN = LASTIN+1 - NEXOFI(IN) = IX - NIOFEX(IX) = IN - SAV = U(IX) - CALL MNPINT(SAV,IX,PINTI) - X(IN) = PINTI - XT(IN) = X(IN) - WERR(IN) = WK - SAV2 = SAV + WK - CALL MNPINT(SAV2,IX,PINTI) - VPLU = PINTI - X(IN) - SAV2 = SAV - WK - CALL MNPINT(SAV2,IX,PINTI) - VMINU = PINTI - X(IN) - DIRIN(IN) = 0.5 * (ABS(VPLU) +ABS(VMINU)) - G2(IN) = 2.0*UP / DIRIN(IN)**2 - GSMIN = 8.*EPSMA2*ABS(X(IN)) - GSTEP(IN) = MAX (GSMIN, 0.1*DIRIN(IN)) - IF (AMIN .NE. UNDEFI) THEN - SMALL = SQRT(EPSMA2*(AMIN+UP)/UP) - GSTEP(IN) = MAX(GSMIN, SMALL*DIRIN(IN)) - ENDIF - GRD (IN) = G2(IN)*DIRIN(IN) -C if parameter has limits - IF (NVARL(K) .GT. 1) THEN - IF (GSTEP(IN).GT. 0.5) GSTEP(IN)=0.5 - GSTEP(IN) = -GSTEP(IN) - ENDIF - ENDIF - IF (KTOFIX .GT. 0) THEN - KINFIX = NIOFEX(KTOFIX) - IF (KINFIX .GT. 0) CALL MNFIXP(KINFIX,IERR) - IF (IERR .GT. 0) GO TO 800 - ENDIF - IERFLG = 0 - RETURN -C error on input, unable to implement request . . . . - 800 CONTINUE - IERFLG = 1 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnpars.F b/graphics/Qat/QatDataModeling/src/mnpars.F deleted file mode 100644 index 67457c8f6d5a1766ef38b2a2d8801aefd498ea41..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnpars.F +++ /dev/null @@ -1,99 +0,0 @@ -* -* $Id: mnpars.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnpars.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPARS(CRDBUF,ICONDN) -#include "QatDataModeling/d506dp.inc" -CC Called from MNREAD and user-callable -CC Implements one parameter definition, that is: -CC parses the string CRDBUF and calls MNPARM -C -C output conditions: -C ICONDN = 0 all OK -C ICONDN = 1 error, attempt to define parameter is ignored -C ICONDN = 2 end of parameter definitions -C -#include "QatDataModeling/d506cm.inc" -C - DIMENSION PLIST(MAXP) - CHARACTER CNAMK*10, CRDBUF*(*) , CELMNT*20 , COMAND*(MAXCWD) -C - LENBUF = LEN(CRDBUF) -C find out whether fixed or free-field format - KAPO1 = INDEX(CRDBUF,'''') - IF (KAPO1 .EQ. 0) GO TO 150 - KAPO2 = INDEX(CRDBUF(KAPO1+1:),'''') - IF (KAPO2 .EQ. 0) GO TO 150 -C new (free-field) format - KAPO2 = KAPO2 + KAPO1 -C skip leading blanks if any - DO 115 ISTART=1, KAPO1-1 - IF (CRDBUF(ISTART:ISTART) .NE. ' ') GO TO 120 - 115 CONTINUE - GO TO 210 - 120 CONTINUE -C parameter number integer - CELMNT = CRDBUF(ISTART:KAPO1-1) - READ (CELMNT,'(BN,F20.0)',ERR=180) FK - K = FK - IF (K .LE. 0) GO TO 210 - CNAMK = 'PARAM '//CELMNT - IF (KAPO2-KAPO1 .GT. 1) CNAMK = CRDBUF(KAPO1+1:KAPO2-1) -C special handling if comma or blanks and a comma follow 'name' - DO 135 ICY= KAPO2+1,LENBUF - IF (CRDBUF(ICY:ICY) .EQ. ',') GO TO 139 - IF (CRDBUF(ICY:ICY) .NE. ' ') GO TO 140 - 135 CONTINUE - UK = 0. - WK = 0. - A = 0. - B = 0. - GO TO 170 - 139 CONTINUE - ICY = ICY+1 - 140 CONTINUE - IBEGIN = ICY - CALL MNCRCK(CRDBUF(IBEGIN:),MAXCWD,COMAND,LNC, - + MAXP,PLIST,LLIST, IERR,ISYSWR) - IF (IERR .GT. 0) GO TO 180 - UK = PLIST(1) - WK = 0. - IF (LLIST .GE. 2) WK = PLIST(2) - A = 0. - IF (LLIST .GE. 3) A = PLIST(3) - B = 0. - IF (LLIST .GE. 4) B = PLIST(4) - GO TO 170 -C old (fixed-field) format - 150 CONTINUE - READ (CRDBUF, 158,ERR=180) XK,CNAMK,UK,WK,A,B - 158 FORMAT (BN,F10.0, A10, 4F10.0) - K = XK - IF (K .EQ. 0) GO TO 210 -C parameter format cracked, implement parameter definition - 170 CALL MNPARM(K,CNAMK,UK,WK,A,B,IERR) - ICONDN = IERR - RETURN -C format or other error - 180 CONTINUE - ICONDN = 1 - RETURN -C end of data - 210 CONTINUE - ICONDN = 2 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnpfit.F b/graphics/Qat/QatDataModeling/src/mnpfit.F deleted file mode 100644 index 190007389e9b3ef8c70f2c32e37be0ed937a1c22..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnpfit.F +++ /dev/null @@ -1,79 +0,0 @@ -* -* $Id: mnpfit.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnpfit.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPFIT(PARX2P,PARY2P,NPAR2P,COEF2P,SDEV2P) -#include "QatDataModeling/d506dp.inc" -C -C to fit a parabola to npar2p points -C -C npar2p no. of points -C parx2p(i) x value of point i -C pary2p(i) y value of point i -C -C coef2p(1...3) coefficients of the fitted parabola -C y=coef2p(1) + coef2p(2)*x + coef2p(3)*x**2 -C sdev2p= variance -C method : chi**2 = min equation solved explicitly - DIMENSION PARX2P(NPAR2P),PARY2P(NPAR2P),COEF2P(NPAR2P) - DIMENSION CZ(3) -C - DO 3 I=1,3 - 3 CZ(I)=0. - SDEV2P=0. - IF(NPAR2P.LT.3) GO TO 10 - F=NPAR2P -C--- center x values for reasons of machine precision - XM=0. - DO 2 I=1,NPAR2P - 2 XM=XM+PARX2P(I) - XM=XM/F - X2=0. - X3=0. - X4=0. - Y=0. - Y2=0. - XY=0. - X2Y=0. - DO 1 I=1,NPAR2P - S=PARX2P(I)-XM - T=PARY2P(I) - S2=S*S - X2=X2+S2 - X3=X3+S*S2 - X4=X4+S2*S2 - Y=Y+T - Y2=Y2+T*T - XY=XY+S*T - X2Y=X2Y+S2*T - 1 CONTINUE - A=(F*X4-X2**2)*X2-F*X3**2 - IF(A.EQ.0.) GOTO 10 - CZ(3)=(X2*(F*X2Y-X2*Y)-F*X3*XY)/A - CZ(2)=(XY-X3*CZ(3))/X2 - CZ(1)=(Y-X2*CZ(3))/F - IF(NPAR2P.EQ.3) GOTO 6 - SDEV2P=Y2-(CZ(1)*Y+CZ(2)*XY+CZ(3)*X2Y) - IF(SDEV2P.LT.0.) SDEV2P=0. - SDEV2P=SDEV2P/(F-3.) - 6 CZ(1)=CZ(1)+XM*(XM*CZ(3)-CZ(2)) - CZ(2)=CZ(2)-2.*XM*CZ(3) - 10 CONTINUE - DO 11 I=1,3 - 11 COEF2P(I)=CZ(I) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnpint.F b/graphics/Qat/QatDataModeling/src/mnpint.F deleted file mode 100644 index 003bc6d5b728cb8be650c41da258cf60c7f13c35..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnpint.F +++ /dev/null @@ -1,53 +0,0 @@ -* -* $Id: mnpint.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnpint.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPINT(PEXTI,I,PINTI) -#include "QatDataModeling/d506dp.inc" -CC Calculates the internal parameter value PINTI corresponding -CC to the external value PEXTI for parameter I. -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER CHBUFI*4, CHBUF2*30 - PINTI = PEXTI - IGO = NVARL(I) - IF (IGO .EQ. 4) THEN -C-- there are two limits - ALIMI = ALIM(I) - BLIMI = BLIM(I) - YY=2.0*(PEXTI-ALIMI)/(BLIMI-ALIMI) - 1.0 - YY2 = YY**2 - IF (YY2 .GE. (1.0- EPSMA2)) THEN - IF (YY .LT. 0.) THEN - A = VLIMLO - CHBUF2 = ' IS AT ITS LOWER ALLOWED LIMIT.' - ELSE - A = VLIMHI - CHBUF2 = ' IS AT ITS UPPER ALLOWED LIMIT.' - ENDIF - PINTI = A - PEXTI = ALIMI + 0.5* (BLIMI-ALIMI) *(SIN(A) +1.0) - LIMSET = .TRUE. - WRITE (CHBUFI,'(I4)') I - IF (YY2 .GT. 1.0) CHBUF2 = ' BROUGHT BACK INSIDE LIMITS.' - CALL MNWARN('W',CFROM,'VARIABLE'//CHBUFI//CHBUF2) - ELSE - PINTI = ASIN(YY) - ENDIF - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnplot.F b/graphics/Qat/QatDataModeling/src/mnplot.F deleted file mode 100644 index 9778eb5b43b9bd9a7b288feb23c182f85e66c1c8..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnplot.F +++ /dev/null @@ -1,158 +0,0 @@ -* -* $Id: mnplot.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnplot.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPLOT(XPT,YPT,CHPT,NXYPT,NUNIT,NPAGWD,NPAGLN) -#include "QatDataModeling/d506dp.inc" -CC plots points in array xypt onto one page with labelled axes -CC NXYPT is the number of points to be plotted -CC XPT(I) = x-coord. of ith point -CC YPT(I) = y-coord. of ith point -CC CHPT(I) = character to be plotted at this position -CC the input point arrays XPT, YPT, CHPT are destroyed. -CC - DIMENSION XPT(*), YPT(*) - CHARACTER*1 CHPT(*) , CHSAV, CHBEST, CDOT, CSLASH, CBLANK - PARAMETER (MAXWID=100) - CHARACTER CLINE*100, CHMESS*30 - DIMENSION XVALUS(12) - LOGICAL OVERPR - DATA CDOT,CSLASH,CBLANK/ '.' , '/' , ' '/ - MAXNX = MIN(NPAGWD-20,MAXWID) - IF (MAXNX .LT. 10) MAXNX = 10 - MAXNY = NPAGLN - IF (MAXNY .LT. 10) MAXNY = 10 - IF (NXYPT .LE. 1) RETURN - XBEST = XPT(1) - YBEST = YPT(1) - CHBEST = CHPT(1) -C order the points by decreasing y - KM1 = NXYPT - 1 - DO 150 I= 1, KM1 - IQUIT = 0 - NI = NXYPT - I - DO 140 J= 1, NI - IF (YPT(J) .GT. YPT(J+1)) GO TO 140 - SAVX = XPT(J) - XPT(J) = XPT(J+1) - XPT(J+1) = SAVX - SAVY = YPT(J) - YPT(J) = YPT(J+1) - YPT(J+1) = SAVY - CHSAV = CHPT(J) - CHPT(J) = CHPT(J+1) - CHPT(J+1) = CHSAV - IQUIT = 1 - 140 CONTINUE - IF (IQUIT .EQ. 0) GO TO 160 - 150 CONTINUE - 160 CONTINUE -C find extreme values - XMAX = XPT(1) - XMIN = XMAX - DO 200 I= 1, NXYPT - IF (XPT(I) .GT. XMAX) XMAX = XPT(I) - IF (XPT(I) .LT. XMIN) XMIN = XPT(I) - 200 CONTINUE - DXX = 0.001*(XMAX-XMIN) - XMAX = XMAX + DXX - XMIN = XMIN - DXX - CALL MNBINS(XMIN,XMAX,MAXNX,XMIN,XMAX,NX,BWIDX) - YMAX = YPT(1) - YMIN = YPT(NXYPT) - IF (YMAX .EQ. YMIN) YMAX=YMIN+1.0 - DYY = 0.001*(YMAX-YMIN) - YMAX = YMAX + DYY - YMIN = YMIN - DYY - CALL MNBINS(YMIN,YMAX,MAXNY,YMIN,YMAX,NY,BWIDY) - ANY = NY -C if first point is blank, it is an 'origin' - IF (CHBEST .EQ. CBLANK) GO TO 50 - XBEST = 0.5 * (XMAX+XMIN) - YBEST = 0.5 * (YMAX+YMIN) - 50 CONTINUE -C find scale constants - AX = 1.0/BWIDX - AY = 1.0/BWIDY - BX = -AX*XMIN + 2.0 - BY = -AY*YMIN - 2.0 -C convert points to grid positions - DO 300 I= 1, NXYPT - XPT(I) = AX*XPT(I) + BX - 300 YPT(I) = ANY-AY*YPT(I) - BY - NXBEST = AX*XBEST + BX - NYBEST = ANY - AY*YBEST - BY -C print the points - NY = NY + 2 - NX = NX + 2 - ISP1 = 1 - LINODD = 1 - OVERPR=.FALSE. - DO 400 I= 1, NY - DO 310 IBK= 1, NX - 310 CLINE (IBK:IBK) = CBLANK - CLINE(1:1) = CDOT - CLINE(NX:NX) = CDOT - CLINE(NXBEST:NXBEST) = CDOT - IF (I.NE.1 .AND. I.NE.NYBEST .AND. I.NE.NY) GO TO 320 - DO 315 J= 1, NX - 315 CLINE(J:J) = CDOT - 320 CONTINUE - YPRT = YMAX - FLOAT(I-1)*BWIDY - IF (ISP1 .GT. NXYPT) GO TO 350 -C find the points to be plotted on this line - DO 341 K= ISP1,NXYPT - KS = YPT(K) - IF (KS .GT. I) GO TO 345 - IX = XPT(K) - IF (CLINE(IX:IX) .EQ. CDOT) GO TO 340 - IF (CLINE(IX:IX) .EQ. CBLANK) GO TO 340 - IF (CLINE(IX:IX) .EQ.CHPT(K)) GO TO 341 - OVERPR = .TRUE. -C OVERPR is true if one or more positions contains more than -C one point - CLINE(IX:IX) = '&' - GO TO 341 - 340 CLINE(IX:IX) = CHPT(K) - 341 CONTINUE - ISP1 = NXYPT + 1 - GO TO 350 - 345 ISP1 = K - 350 CONTINUE - IF (LINODD .EQ. 1 .OR. I .EQ. NY) GO TO 380 - LINODD = 1 - WRITE (NUNIT, '(18X,A)') CLINE(:NX) - GO TO 400 - 380 WRITE (NUNIT,'(1X,G14.7,A,A)') YPRT, ' ..', CLINE(:NX) - LINODD = 0 - 400 CONTINUE -C print labels on x-axis every ten columns - DO 410 IBK= 1, NX - CLINE(IBK:IBK) = CBLANK - IF (MOD(IBK,10) .EQ. 1) CLINE(IBK:IBK) = CSLASH - 410 CONTINUE - WRITE (NUNIT, '(18X,A)') CLINE(:NX) -C - DO 430 IBK= 1, 12 - 430 XVALUS(IBK) = XMIN + FLOAT(IBK-1)*10.*BWIDX - ITEN = (NX+9) / 10 - WRITE (NUNIT,'(12X,12G10.4)') (XVALUS(IBK), IBK=1,ITEN) - CHMESS = ' ' - IF (OVERPR) CHMESS=' Overprint character is &' - WRITE (NUNIT,'(25X,A,G13.7,A)') 'ONE COLUMN=',BWIDX, CHMESS - 500 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnpout.F b/graphics/Qat/QatDataModeling/src/mnpout.F deleted file mode 100644 index 38b7b9935e31263d4d509c51c91489a04b4c8f58..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnpout.F +++ /dev/null @@ -1,71 +0,0 @@ -* -* $Id: mnpout.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnpout.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPOUT(IUEXT,CHNAM,VAL,ERR,XLOLIM,XUPLIM,IUINT) -#include "QatDataModeling/d506dp.inc" -CC User-called -CC Provides the user with information concerning the current status -CC of parameter number IUEXT. Namely, it returns: -CC CHNAM: the name of the parameter -CC VAL: the current (external) value of the parameter -CC ERR: the current estimate of the parameter uncertainty -CC XLOLIM: the lower bound (or zero if no limits) -CC XUPLIM: the upper bound (or zero if no limits) -CC IUINT: the internal parameter number (or zero if not variable, -CC or negative if undefined). -CC Note also: If IUEXT is negative, then it is -internal parameter -CC number, and IUINT is returned as the EXTERNAL number. -CC Except for IUINT, this is exactly the inverse of MNPARM -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER*(*) CHNAM - XLOLIM = 0. - XUPLIM = 0. - ERR = 0. - IF (IUEXT .EQ. 0) GO TO 100 - IF (IUEXT .LT. 0) THEN -C internal parameter number specified - IINT = -IUEXT - IF (IINT .GT. NPAR) GO TO 100 - IEXT = NEXOFI(IINT) - IUINT = IEXT - ELSE -C external parameter number specified - IEXT = IUEXT - IF (IEXT .EQ. 0) GO TO 100 - IF (IEXT .GT. NU) GO TO 100 - IINT = NIOFEX(IEXT) - IUINT = IINT - ENDIF -C in both cases - NVL = NVARL(IEXT) - IF (NVL .LT. 0) GO TO 100 - CHNAM = CPNAM(IEXT) - VAL = U(IEXT) - IF (IINT .GT. 0) ERR = WERR(IINT) - IF (NVL .EQ. 4) THEN - XLOLIM = ALIM(IEXT) - XUPLIM = BLIM(IEXT) - ENDIF - RETURN -C parameter is undefined - 100 IUINT = -1 - CHNAM = 'undefined' - VAL = 0. - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnprin.F b/graphics/Qat/QatDataModeling/src/mnprin.F deleted file mode 100644 index b9196c18214ad3805ebc8487d9acea2e30eeaca9..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnprin.F +++ /dev/null @@ -1,203 +0,0 @@ -* -* $Id: mnprin.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnprin.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPRIN (INKODE,FVAL) -#include "QatDataModeling/d506dp.inc" -CC Prints the values of the parameters at the time of the call. -CC also prints other relevant information such as function value, -CC estimated distance to minimum, parameter errors, step sizes. -CC -C According to the value of IKODE, the printout is: -C IKODE=INKODE= 0 only info about function value -C 1 parameter values, errors, limits -C 2 values, errors, step sizes, internal values -C 3 values, errors, step sizes, first derivs. -C 4 values, parabolic errors, MINOS errors -C when INKODE=5, MNPRIN chooses IKODE=1,2, or 3, according to ISW(2) -C -#include "QatDataModeling/d506cm.inc" -C - CHARACTER*14 COLHDU(6),COLHDL(6), CX2,CX3,CGETX - CHARACTER*11 CNAMBF, CBLANK - CHARACTER CHEDM*10, CHEVAL*15 - PARAMETER (CGETX='PLEASE GET X..') - DATA CBLANK/' '/ -C - IF (NU .EQ. 0) THEN - WRITE (ISYSWR,'(A)') ' THERE ARE CURRENTLY NO PARAMETERS DEFINED' - GO TO 700 - ENDIF -C get value of IKODE based in INKODE, ISW(2) - IKODE = INKODE - IF (INKODE .EQ. 5) THEN - IKODE = ISW(2)+1 - IF (IKODE .GT. 3) IKODE=3 - ENDIF -C set 'default' column headings - DO 5 K= 1, 6 - COLHDU(K) = 'UNDEFINED' - 5 COLHDL(K) = 'COLUMN HEAD' -C print title if Minos errors, and title exists. - IF (IKODE.EQ.4 .AND. CTITL.NE.CUNDEF) - + WRITE (ISYSWR,'(/A,A)') ' MINUIT TASK: ',CTITL -C report function value and status - IF (FVAL .EQ. UNDEFI) THEN - CHEVAL = ' unknown ' - ELSE - WRITE (CHEVAL,'(G15.7)') FVAL - ENDIF - IF (EDM .EQ. BIGEDM) THEN - CHEDM = ' unknown ' - ELSE - WRITE (CHEDM, '(E10.2)') EDM - ENDIF - NC = NFCN-NFCNFR - WRITE (ISYSWR,905) CHEVAL,CFROM,CSTATU,NC,NFCN - 905 FORMAT (/' FCN=',A,' FROM ',A8,' STATUS=',A10,I6,' CALLS', - + I9,' TOTAL') - M = ISW(2) - IF (M.EQ.0 .OR. M.EQ.2 .OR. DCOVAR.EQ.ZERO) THEN - WRITE (ISYSWR,907) CHEDM,ISTRAT,COVMES(M) - 907 FORMAT (21X,'EDM=',A,' STRATEGY=',I2,6X,A) - ELSE - DCMAX = 1. - DC = MIN(DCOVAR,DCMAX) * 100. - WRITE (ISYSWR,908) CHEDM,ISTRAT,DC - 908 FORMAT (21X,'EDM=',A,' STRATEGY=',I1,' Error Matrix', - + ' UNCERTAINTY=',F5.1,'%') - ENDIF -C - IF (IKODE .EQ. 0) GO TO 700 -C find longest name (for Rene!) - NTRAIL = 10 - DO 20 I= 1, NU - IF (NVARL(I) .LT. 0) GO TO 20 - DO 15 IC= 10,1,-1 - IF (CPNAM(I)(IC:IC) .NE. ' ') GO TO 16 - 15 CONTINUE - IC = 1 - 16 LBL = 10-IC - IF (LBL .LT. NTRAIL) NTRAIL=LBL - 20 CONTINUE - NADD = NTRAIL/2 + 1 - IF (IKODE .EQ. 1) THEN - COLHDU(1) = ' ' - COLHDL(1) = ' ERROR ' - COLHDU(2) = ' PHYSICAL' - COLHDU(3) = ' LIMITS ' - COLHDL(2) = ' NEGATIVE ' - COLHDL(3) = ' POSITIVE ' - ENDIF - IF (IKODE .EQ. 2) THEN - COLHDU(1) = ' ' - COLHDL(1) = ' ERROR ' - COLHDU(2) = ' INTERNAL ' - COLHDL(2) = ' STEP SIZE ' - COLHDU(3) = ' INTERNAL ' - COLHDL(3) = ' VALUE ' - ENDIF - IF (IKODE .EQ. 3) THEN - COLHDU(1) = ' ' - COLHDL(1) = ' ERROR ' - COLHDU(2) = ' STEP ' - COLHDL(2) = ' SIZE ' - COLHDU(3) = ' FIRST ' - COLHDL(3) = ' DERIVATIVE ' - ENDIF - IF (IKODE .EQ. 4) THEN - COLHDU(1) = ' PARABOLIC ' - COLHDL(1) = ' ERROR ' - COLHDU(2) = ' MINOS ' - COLHDU(3) = 'ERRORS ' - COLHDL(2) = ' NEGATIVE ' - COLHDL(3) = ' POSITIVE ' - ENDIF -C - IF (IKODE .NE. 4) THEN - IF (ISW(2) .LT. 3) COLHDU(1)=' APPROXIMATE ' - IF (ISW(2) .LT. 1) COLHDU(1)=' CURRENT GUESS' - ENDIF - NCOL = 3 - WRITE (ISYSWR, 910) (COLHDU(KK),KK=1,NCOL) - WRITE (ISYSWR, 911) (COLHDL(KK),KK=1,NCOL) - 910 FORMAT (/' EXT PARAMETER ', 13X ,6A14) - 911 FORMAT ( ' NO. NAME ',' VALUE ',6A14) -C -C . . . loop over parameters . . - DO 200 I= 1, NU - IF (NVARL(I) .LT. 0) GO TO 200 - L = NIOFEX(I) - CNAMBF = CBLANK(1:NADD)//CPNAM(I) - IF (L .EQ. 0) GO TO 55 -C variable parameter. - X1 = WERR(L) - CX2 = CGETX - CX3 = CGETX - IF (IKODE .EQ. 1) THEN - IF (NVARL(I) .LE. 1) THEN - WRITE (ISYSWR, 952) I,CNAMBF,U(I),X1 - GO TO 200 - ELSE - X2 = ALIM(I) - X3 = BLIM(I) - ENDIF - ENDIF - IF (IKODE .EQ. 2) THEN - X2 = DIRIN(L) - X3 = X(L) - ENDIF - IF (IKODE .EQ. 3) THEN - X2 = DIRIN(L) - X3 = GRD(L) - IF (NVARL(I).GT.1 .AND. ABS(COS(X(L))) .LT. 0.001) - + CX3 = '** at limit **' - ENDIF - IF (IKODE .EQ. 4) THEN - X2 = ERN(L) - IF (X2.EQ.ZERO) CX2=' ' - IF (X2.EQ.UNDEFI) CX2=' at limit ' - X3 = ERP(L) - IF (X3.EQ.ZERO) CX3=' ' - IF (X3.EQ.UNDEFI) CX3=' at limit ' - ENDIF - IF (CX2.EQ.CGETX) WRITE (CX2,'(G14.5)') X2 - IF (CX3.EQ.CGETX) WRITE (CX3,'(G14.5)') X3 - WRITE (ISYSWR,952) I,CNAMBF,U(I),X1,CX2,CX3 - 952 FORMAT (I4,1X,A11,2G14.5,2A) -C check if parameter is at limit - IF (NVARL(I) .LE. 1 .OR. IKODE .EQ. 3) GO TO 200 - IF (ABS(COS(X(L))) .LT. 0.001) WRITE (ISYSWR,1004) - 1004 FORMAT (1H ,32X,42HWARNING - - ABOVE PARAMETER IS AT LIMIT.) - GO TO 200 -C -C print constant or fixed parameter. - 55 CONTINUE - COLHDU(1) = ' constant ' - IF (NVARL(I).GT.0) COLHDU(1) = ' fixed ' - IF (NVARL(I).EQ.4 .AND. IKODE.EQ.1) THEN - WRITE (ISYSWR,'(I4,1X,A11,G14.5,A,2G14.5)') - + I,CNAMBF,U(I),COLHDU(1),ALIM(I),BLIM(I) - ELSE - WRITE (ISYSWR,'(I4,1X,A11,G14.5,A)') I,CNAMBF,U(I),COLHDU(1) - ENDIF - 200 CONTINUE -C - IF (UP.NE.UPDFLT) WRITE (ISYSWR,'(31X,A,G10.3)') 'ERR DEF=',UP - 700 CONTINUE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnpsdf.F b/graphics/Qat/QatDataModeling/src/mnpsdf.F deleted file mode 100644 index 35b0e6b5c02a272fcfe56a421f7c0fbd3d80178f..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnpsdf.F +++ /dev/null @@ -1,100 +0,0 @@ -* -* $Id: mnpsdf.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnpsdf.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:50 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNPSDF -#include "QatDataModeling/d506dp.inc" -CC calculates the eigenvalues of v to see if positive-def. -CC if not, adds constant along diagonal to make positive. -#include "QatDataModeling/d506cm.inc" - CHARACTER CHBUFF*12 - DIMENSION S(MNI) - EPSMIN = 1.0E-6 - EPSPDF = MAX(EPSMIN, EPSMA2) - DGMIN = VHMAT(1) -C Check if negative or zero on diagonal - DO 200 I= 1, NPAR - NDEX = I*(I+1)/2 - IF (VHMAT(NDEX) .LE. ZERO) THEN - WRITE (CHBUFF(1:3),'(I3)') I - CALL MNWARN('W',CFROM, - +'Negative diagonal element'//CHBUFF(1:3)//' in Error Matrix') - ENDIF - IF (VHMAT(NDEX) .LT. DGMIN) DGMIN = VHMAT(NDEX) - 200 CONTINUE - IF (DGMIN .LE. ZERO) THEN - DG = (ONE+EPSPDF) - DGMIN - WRITE (CHBUFF,'(E12.2)') DG - CALL MNWARN('W',CFROM, - + CHBUFF//' added to diagonal of error matrix') - ELSE - DG = ZERO - ENDIF -C Store VHMAT in P, make sure diagonal pos. - DO 213 I= 1, NPAR - NDEX = I*(I-1)/2 - NDEXD = NDEX + I - VHMAT(NDEXD) = VHMAT(NDEXD) + DG - IF (VHMAT(NDEXD) .LE. ZERO) VHMAT(NDEXD) = 1.0 - S(I) = 1.0/SQRT(VHMAT(NDEXD)) - DO 213 J= 1, I - NDEX = NDEX + 1 - 213 P(I,J) = VHMAT(NDEX) * S(I)*S(J) -C call eigen (p,p,maxint,npar,pstar,-npar) - CALL MNEIG(P,MAXINT,NPAR,MAXINT,PSTAR,EPSPDF,IFAULT) - PMIN = PSTAR(1) - PMAX = PSTAR(1) - DO 215 IP= 2, NPAR - IF (PSTAR(IP) .LT. PMIN) PMIN = PSTAR(IP) - IF (PSTAR(IP) .GT. PMAX) PMAX = PSTAR(IP) - 215 CONTINUE - PMAX = MAX(ABS(PMAX), ONE) - IF ((PMIN .LE. ZERO .AND. LWARN) .OR. ISW(5) .GE. 2) THEN - WRITE (ISYSWR,550) - WRITE (ISYSWR,551) (PSTAR(IP),IP=1,NPAR) - ENDIF - IF (PMIN .GT. EPSPDF*PMAX) GO TO 217 - IF (ISW(2) .EQ. 3) ISW(2)=2 - PADD = 1.0E-3*PMAX - PMIN - DO 216 IP= 1, NPAR - NDEX = IP*(IP+1)/2 - 216 VHMAT(NDEX) = VHMAT(NDEX) *(1.0 + PADD) - CSTATU= 'NOT POSDEF' - WRITE (CHBUFF,'(G12.5)') PADD - CALL MNWARN('W',CFROM, - + 'MATRIX FORCED POS-DEF BY ADDING '//CHBUFF//' TO DIAGONAL.') - 217 CONTINUE -C - 550 FORMAT (' EIGENVALUES OF SECOND-DERIVATIVE MATRIX:' ) - 551 FORMAT (7X,6E12.4) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnrazz.F b/graphics/Qat/QatDataModeling/src/mnrazz.F deleted file mode 100644 index 59fd6a6095dd0c9034cb21e74008c4a4b540befd..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnrazz.F +++ /dev/null @@ -1,60 +0,0 @@ -* -* $Id: mnrazz.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnrazz.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNRAZZ(YNEW,PNEW,Y,JH,JL) -#include "QatDataModeling/d506dp.inc" -CC Called only by MNSIMP (and MNIMPR) to add a new point -CC and remove an old one from the current simplex, and get the -CC estimated distance to minimum. -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION PNEW(*), Y(*) - DO 10 I=1,NPAR - 10 P(I,JH) = PNEW(I) - Y(JH)=YNEW - IF(YNEW .LT. AMIN) THEN - DO 15 I=1,NPAR - 15 X(I) = PNEW(I) - CALL MNINEX(X) - AMIN = YNEW - CSTATU = 'PROGRESS ' - JL=JH - ENDIF - JH = 1 - NPARP1 = NPAR+1 - 20 DO 25 J=2,NPARP1 - IF (Y(J) .GT. Y(JH)) JH = J - 25 CONTINUE - EDM = Y(JH) - Y(JL) - IF (EDM .LE. ZERO) GO TO 45 - DO 35 I= 1, NPAR - PBIG = P(I,1) - PLIT = PBIG - DO 30 J= 2, NPARP1 - IF (P(I,J) .GT. PBIG) PBIG = P(I,J) - IF (P(I,J) .LT. PLIT) PLIT = P(I,J) - 30 CONTINUE - DIRIN(I) = PBIG - PLIT - 35 CONTINUE - 40 RETURN - 45 WRITE (ISYSWR, 1000) NPAR - GO TO 40 - 1000 FORMAT (' FUNCTION VALUE DOES NOT SEEM TO DEPEND ON ANY OF THE', - + I3,' VARIABLE PARAMETERS.' /10X,'VERIFY THAT STEP SIZES ARE', - + ' BIG ENOUGH AND CHECK FCN LOGIC.'/1X,79(1H*)/1X,79(1H*)/) - END diff --git a/graphics/Qat/QatDataModeling/src/mnread.F b/graphics/Qat/QatDataModeling/src/mnread.F deleted file mode 100644 index 1c22c9a8c1f4936c3719ab15b8596099cffd219c..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnread.F +++ /dev/null @@ -1,201 +0,0 @@ -* -* $Id: mnread.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnread.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNREAD(FCN,IFLGIN,IFLGUT,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called from MINUIT. Reads all user input to MINUIT. -CC This routine is highly unstructured and defies normal logic. -CC -CC IFLGIN indicates the function originally requested: -CC = 1: read one-line title -CC 2: read parameter definitions -CC 3: read MINUIT commands -CC -CC IFLGUT= 1: reading terminated normally -CC 2: end-of-data on input -CC 3: unrecoverable read error -CC 4: unable to process parameter requests -CC 5: more than 100 incomprehensible commands -CC internally, -CC IFLGDO indicates the subfunction to be performed on the next -CC input record: 1: read a one-line title -CC 2: read a parameter definition -CC 3: read a command -CC 4: read in covariance matrix -CC for example, when IFLGIN=3, but IFLGDO=1, then it should read -CC a title, but this was requested by a command, not by MINUIT. -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - CHARACTER CRDBUF*80, CUPBUF*10 - CHARACTER CPROMT(3)*40, CLOWER*26, CUPPER*26 - LOGICAL LEOF - DATA CPROMT/' ENTER MINUIT TITLE, or "SET INPUT n" : ', - + ' ENTER MINUIT PARAMETER DEFINITION: ', - + ' ENTER MINUIT COMMAND: '/ -C - DATA CLOWER/'abcdefghijklmnopqrstuvwxyz'/ - DATA CUPPER/'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/ -C - IFLGUT = 1 - IFLGDO = IFLGIN - LEOF = .FALSE. - INCOMP = 0 -C . . . . read next record - 10 CONTINUE - IF (ISW(6) .EQ. 1) THEN - WRITE (ISYSWR,'(A)') CPROMT(IFLGDO) - IF (IFLGDO .EQ. 2) LPHEAD = .FALSE. - ENDIF - CRDBUF = ' ' - READ (ISYSRD,'(A)',ERR=500,END=45) CRDBUF -C -C CUPBUF is the first few characters in upper case - CUPBUF(1:10) = CRDBUF(1:10) - DO 12 I= 1, 10 - IF (CRDBUF(I:I) .EQ. '''') GO TO 13 - DO 11 IC= 1, 26 - IF (CRDBUF(I:I) .EQ. CLOWER(IC:IC)) CUPBUF(I:I)=CUPPER(IC:IC) - 11 CONTINUE - 12 CONTINUE - 13 CONTINUE -C . . preemptive commands - LEOF = .FALSE. - IF (INDEX(CUPBUF,'*EOF') .EQ. 1) THEN - WRITE (ISYSWR,'(A,I3)') ' *EOF ENCOUNTERED ON UNIT NO.',ISYSRD - LPHEAD = .TRUE. - GO TO 50 - ENDIF - IF (INDEX(CUPBUF,'SET INP') .EQ. 1) THEN - ICOMND = ICOMND + 1 - WRITE (ISYSWR, 21) ICOMND,CRDBUF(1:50) - 21 FORMAT (' **********'/' **',I5,' **',A/' **********') - LPHEAD = .TRUE. - GO TO 50 - ENDIF - GO TO 80 -C . . hardware EOF on current ISYSRD - 45 CRDBUF = '*EOF ' - WRITE (ISYSWR,'(A,I3)') ' END OF DATA ON UNIT NO.',ISYSRD -C or SET INPUT command - 50 CONTINUE - CALL MNSTIN(CRDBUF,IERR) - IF (IERR .EQ. 0) GO TO 10 - IF (IERR .EQ. 2) THEN - IF (.NOT. LEOF) THEN - WRITE (ISYSWR,'(A,A/)') ' TWO CONSECUTIVE EOFs ON ', - + 'PRIMARY INPUT FILE WILL TERMINATE EXECUTION.' - LEOF = .TRUE. - GO TO 10 - ENDIF - ENDIF - IFLGUT = IERR - GO TO 900 - 80 IF (IFLGDO .GT. 1) GO TO 100 -C read title . . . . . IFLGDO = 1 -C if title is 'SET TITLE', skip and read again - IF (INDEX(CUPBUF,'SET TIT') .EQ. 1) GO TO 10 - CALL MNSETI(CRDBUF(1:50)) - WRITE (ISYSWR,'(1X,A50)') CTITL - WRITE (ISYSWR,'(1X,78(1H*))') - LPHEAD = .TRUE. - IF (IFLGIN .EQ. IFLGDO) GO TO 900 - IFLGDO = IFLGIN - GO TO 10 -C data record is not a title. - 100 CONTINUE - IF (IFLGDO .GT. 2) GO TO 300 -C expect parameter definitions. IFLGDO = 2 -C if parameter def is 'PARAMETER', skip and read again - IF (INDEX(CUPBUF,'PAR') .EQ. 1) GO TO 10 -C if line starts with SET TITLE, read a title first - IF (INDEX(CUPBUF,'SET TIT') .EQ. 1) THEN - IFLGDO = 1 - GO TO 10 - ENDIF -C we really have parameter definitions now - CALL MNPARS(CRDBUF,ICONDP) - IF (ICONDP .EQ. 0) GO TO 10 -C format error - IF (ICONDP .EQ. 1) THEN - IF (ISW(6) .EQ. 1) THEN - WRITE (ISYSWR,'(A)') ' FORMAT ERROR. IGNORED. ENTER AGAIN.' - GO TO 10 - ELSE - WRITE (ISYSWR,'(A)') ' ERROR IN PARAMETER DEFINITION' - IFLGUT = 4 - GO TO 900 - ENDIF - ENDIF -C ICONDP = 2 . . . end parameter requests - IF (ISW(5).GE.0 .AND. ISW(6).LT.1) WRITE (ISYSWR,'(4X,75(1H*))') - LPHEAD = .TRUE. - IF (IFLGIN .EQ. IFLGDO) GO TO 900 - IFLGDO = IFLGIN - GO TO 10 -C . . . . . IFLGDO = 3 -C read commands - 300 CONTINUE - CALL MNCOMD(FCN,CRDBUF,ICONDN,FUTIL) -CC ICONDN = 0: command executed normally -CC 1: command is blank, ignored -CC 2: command line unreadable, ignored -CC 3: unknown command, ignored -CC 4: abnormal termination (e.g., MIGRAD not converged) -CC 5: command is a request to read PARAMETER definitions -CC 6: 'SET INPUT' command -CC 7: 'SET TITLE' command -CC 8: 'SET COVAR' command -CC 9: reserved -CC 10: END command -CC 11: EXIT or STOP command -CC 12: RETURN command - IF (ICONDN .EQ. 2 .OR. ICONDN .EQ. 3) THEN - INCOMP = INCOMP + 1 - IF (INCOMP .GT. 100) THEN - IFLGUT = 5 - GO TO 900 - ENDIF - ENDIF -C parameter - IF (ICONDN .EQ. 5) IFLGDO = 2 -C SET INPUT - IF (ICONDN .EQ. 6) GO TO 50 -C SET TITLE - IF (ICONDN .EQ. 7) IFLGDO = 1 -C . . . . . . . . . . set covar - IF (ICONDN .EQ. 8) THEN - ICOMND = ICOMND + 1 - WRITE (ISYSWR,405) ICOMND,CRDBUF(1:50) - 405 FORMAT (1H ,10(1H*)/' **',I5,' **',A) - WRITE (ISYSWR, '(1H ,10(1H*))' ) - NPAR2 = NPAR*(NPAR+1)/2 - READ (ISYSRD,420,ERR=500,END=45) (VHMAT(I),I=1,NPAR2) - 420 FORMAT (BN,7E11.4,3X) - ISW(2) = 3 - DCOVAR = 0.0 - IF (ISW(5) .GE. 0) CALL MNMATU(1) - IF (ISW(5) .GE. 1) CALL MNPRIN(2,AMIN) - GO TO 10 - ENDIF - IF (ICONDN .LT. 10) GO TO 10 - GO TO 900 -C . . . . error conditions - 500 IFLGUT = 3 - 900 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnrn15.F b/graphics/Qat/QatDataModeling/src/mnrn15.F deleted file mode 100644 index 626b16a2c648dc4a5eee42ed8de32b6ececb8742..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnrn15.F +++ /dev/null @@ -1,39 +0,0 @@ -* -* $Id: mnrn15.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnrn15.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNRN15(VAL,INSEED) -#include "QatDataModeling/d506dp.inc" -C This is a super-portable random number generator. -C It should not overflow on any 32-bit machine. -C The cycle is only ~10**9, so use with care! -C Note especially that VAL must not be undefined on input. -C Set Default Starting Seed - PARAMETER (THREE=3.0) - DATA ISEED/12345/ - IF (VAL .EQ. THREE) GO TO 100 -C - INSEED = ISEED - K = ISEED/53668 - ISEED = 40014*(ISEED-K*53668) - K*12211 - IF (ISEED .LT. 0) ISEED = ISEED + 2147483563 - VAL = REAL(ISEED) * 4.656613E-10 - RETURN -C "entry" to set seed, flag is VAL=3. - 100 ISEED = INSEED - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnrset.F b/graphics/Qat/QatDataModeling/src/mnrset.F deleted file mode 100644 index 70ed5d0e13156b5c422f318570c65d9aa31ab468..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnrset.F +++ /dev/null @@ -1,50 +0,0 @@ -* -* $Id: mnrset.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnrset.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNRSET(IOPT) -#include "QatDataModeling/d506dp.inc" -CC Called from MNCLER and whenever problem changes, for example -CC after SET LIMITS, SET PARAM, CALL FCN 6 -CC If IOPT=1, -CC Resets function value and errors to UNDEFINED -CC If IOPT=0, sets only MINOS errors to undefined -#include "QatDataModeling/d506cm.inc" - CSTATU = 'RESET ' - IF (IOPT .GE. 1) THEN - AMIN = UNDEFI - FVAL3 = 2.0*ABS(AMIN) + 1. - EDM = BIGEDM - ISW(4) = 0 - ISW(2) = 0 - DCOVAR = 1. - ISW(1) = 0 - ENDIF - LNOLIM = .TRUE. - DO 10 I= 1, NPAR - IEXT = NEXOFI(I) - IF (NVARL(IEXT) .GE. 4) LNOLIM=.FALSE. - ERP(I) = ZERO - ERN(I) = ZERO - GLOBCC(I) = ZERO - 10 CONTINUE - IF (ISW(2) .GE. 1) THEN - ISW(2) = 1 - DCOVAR = MAX(DCOVAR,HALF) - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnsave.F b/graphics/Qat/QatDataModeling/src/mnsave.F deleted file mode 100644 index 6af6b7c31e2591b708da24b816c3f56827dfe51b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnsave.F +++ /dev/null @@ -1,100 +0,0 @@ -* -* $Id: mnsave.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnsave.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSAVE -#include "QatDataModeling/d506dp.inc" -CC Writes current parameter values and step sizes onto file ISYSSA -CC in format which can be reread by Minuit for restarting. -CC The covariance matrix is also output if it exists. -CC -#include "QatDataModeling/d506cm.inc" - LOGICAL LOPEN,LNAME - CHARACTER CGNAME*64, CFNAME*64, CANSWR*1 -C - INQUIRE(UNIT=ISYSSA,OPENED=LOPEN,NAMED=LNAME,NAME=CGNAME) - IF (LOPEN) THEN - IF (.NOT.LNAME) CGNAME='UNNAMED FILE' - WRITE (ISYSWR,32) ISYSSA,CGNAME - 32 FORMAT (' CURRENT VALUES WILL BE SAVED ON UNIT',I3,': ',A/) - ELSE -C new file, open it - WRITE (ISYSWR,35) ISYSSA - 35 FORMAT (' UNIT',I3,' IS NOT OPENED.') - IF (ISW(6) .EQ. 1) THEN - WRITE (ISYSWR,'(A)') ' PLEASE GIVE FILE NAME:' - READ (ISYSRD,'(A)') CFNAME - OPEN (UNIT=ISYSSA,FILE=CFNAME,STATUS='NEW',ERR=600) - CGNAME = CFNAME - ELSE - GO TO 650 - ENDIF - ENDIF -C file is now correctly opened - IF (ISW(6) .EQ. 1) THEN - WRITE (ISYSWR,37) ISYSSA - 37 FORMAT (' SHOULD UNIT',I3,' BE REWOUND BEFORE WRITING TO IT?' ) - READ (ISYSRD,'(A)') CANSWR - IF (CANSWR.EQ.'Y' .OR. CANSWR.EQ.'y') REWIND ISYSSA - ENDIF -C and rewound if requested - WRITE (ISYSSA,'(10HSET TITLE )',ERR=700) - WRITE (ISYSSA,'(A)') CTITL - WRITE (ISYSSA,'(10HPARAMETERS)') - NLINES = 3 -C write out parameter values - DO 200 I= 1, NU - IF (NVARL(I) .LT. 0) GO TO 200 - NLINES = NLINES + 1 - IINT = NIOFEX(I) - IF (NVARL(I) .GT. 1) GO TO 100 -C parameter without limits - WRITE (ISYSSA,1001) I,CPNAM(I),U(I),WERR(IINT) - GO TO 200 -C parameter with limits - 100 CONTINUE - WRITE (ISYSSA,1001) I,CPNAM(I),U(I),WERR(IINT),ALIM(I),BLIM(I) - 1001 FORMAT (1X,I5,1H',A10,1H',4E13.5) - 200 CONTINUE - WRITE (ISYSSA,'(A)') ' ' - NLINES = NLINES + 1 -C write out covariance matrix, if any - IF (ISW(2) .LT. 1) GO TO 750 - WRITE (ISYSSA,1003,ERR=700) NPAR - 1003 FORMAT ('SET COVARIANCE',I6) - NPAR2 = NPAR*(NPAR+1)/2 - WRITE (ISYSSA,1004) (VHMAT(I),I=1,NPAR2) - 1004 FORMAT (BN,7E11.4,3X) - NCOVAR = NPAR2/7 + 1 - IF (MOD(NPAR2,7) .GT. 0) NCOVAR = NCOVAR + 1 - NLINES = NLINES + NCOVAR - WRITE (ISYSWR, 501) NLINES,ISYSSA,CGNAME(1:45) - 501 FORMAT (1X,I5,' RECORDS WRITTEN TO UNIT',I4,':',A) - IF (NCOVAR .GT. 0) WRITE (ISYSWR, 502) NCOVAR - 502 FORMAT (' INCLUDING',I5,' RECORDS FOR THE COVARIANCE MATRIX.'/) - GO TO 900 -C some error conditions - 600 WRITE (ISYSWR,'(A,I4)') ' I/O ERROR: UNABLE TO OPEN UNIT',ISYSSA - GO TO 900 - 650 WRITE (ISYSWR,'(A,I4,A)') ' UNIT',ISYSSA,' IS NOT OPENED.' - GO TO 900 - 700 WRITE (ISYSWR,'(A,I4)') ' ERROR: UNABLE TO WRITE TO UNIT',ISYSSA - GO TO 900 - 750 WRITE (ISYSWR,'(A)') ' THERE IS NO COVARIANCE MATRIX TO SAVE.' -C - 900 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnscan.F b/graphics/Qat/QatDataModeling/src/mnscan.F deleted file mode 100644 index 57d7625266f8ada9c71480745c04256a3dcc8d85..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnscan.F +++ /dev/null @@ -1,132 +0,0 @@ -* -* $Id: mnscan.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnscan.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:51 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSCAN(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Scans the values of FCN as a function of one parameter -CC and plots the resulting values as a curve using MNPLOT. -CC It may be called to scan one parameter or all parameters. -CC retains the best function and parameter values found. -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - XLREQ = MIN(WORD7(3),WORD7(4)) - XHREQ = MAX(WORD7(3),WORD7(4)) - NCALL = WORD7(2) + 0.01 - IF (NCALL .LE. 1) NCALL = 41 - IF (NCALL .GT. MAXCPT) NCALL = MAXCPT - NCCALL = NCALL - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - IPARWD = WORD7(1) + 0.1 - IPAR = MAX(IPARWD, 0) - IINT = NIOFEX(IPAR) - CSTATU = 'NO CHANGE' - IF (IPARWD .GT. 0) GO TO 200 -C -C equivalent to a loop over parameters requested - 100 IPAR = IPAR + 1 - IF (IPAR .GT. NU) GO TO 900 - IINT = NIOFEX(IPAR) - IF (IINT .LE. 0) GO TO 100 -C set up range for parameter IPAR - 200 CONTINUE - UBEST = U(IPAR) - XPT(1) = UBEST - YPT(1) = AMIN - CHPT(1)= ' ' - XPT(2) = UBEST - YPT(2) = AMIN - CHPT(2)= 'X' - NXYPT = 2 - IF (NVARL(IPAR) .GT. 1) GO TO 300 -C no limits on parameter - IF (XLREQ .EQ. XHREQ) GO TO 250 - UNEXT = XLREQ - STEP = (XHREQ-XLREQ)/FLOAT(NCALL-1) - GO TO 500 - 250 CONTINUE - XL = UBEST - WERR(IINT) - XH = UBEST+ WERR(IINT) - CALL MNBINS(XL,XH,NCALL, UNEXT,UHIGH,NBINS,STEP) - NCCALL = NBINS + 1 - GO TO 500 -C limits on parameter - 300 CONTINUE - IF (XLREQ .EQ. XHREQ) GO TO 350 - XL = MAX(XLREQ,ALIM(IPAR)) - XH = MIN(XHREQ,BLIM(IPAR)) - IF (XL .GE. XH) GO TO 700 - UNEXT = XL - STEP = (XH-XL)/FLOAT(NCALL-1) - GO TO 500 - 350 CONTINUE - UNEXT = ALIM(IPAR) - STEP = (BLIM(IPAR)-ALIM(IPAR))/FLOAT(NCALL-1) -C main scanning loop over parameter IPAR - 500 CONTINUE - DO 600 ICALL = 1, NCCALL - U(IPAR) = UNEXT - NPARX = NPAR - CALL FCN(NPARX,GIN,FNEXT,U,4,FUTIL) - NFCN = NFCN + 1 - NXYPT = NXYPT + 1 - XPT(NXYPT) = UNEXT - YPT(NXYPT) = FNEXT - CHPT(NXYPT) = '*' - IF (FNEXT .LT. AMIN) THEN - AMIN = FNEXT - UBEST = UNEXT - CSTATU= 'IMPROVED ' - ENDIF - 530 CONTINUE - UNEXT = UNEXT + STEP - 600 CONTINUE -C finished with scan of parameter IPAR - U(IPAR) = UBEST - CALL MNEXIN(X) - IF (ISW(5) .GE. 1) THEN - WRITE (ISYSWR,1001) NEWPAG,IPAR,CPNAM(IPAR) - NUNIT = ISYSWR - CALL MNPLOT(XPT,YPT,CHPT,NXYPT,NUNIT,NPAGWD,NPAGLN) - ENDIF - GO TO 800 - 700 CONTINUE - WRITE (ISYSWR,1000) IPAR - 800 CONTINUE - IF (IPARWD .LE. 0) GO TO 100 -C finished with all parameters - 900 CONTINUE - IF (ISW(5) .GE. 0) CALL MNPRIN(5,AMIN) - RETURN - 1000 FORMAT (46H REQUESTED RANGE OUTSIDE LIMITS FOR PARAMETER ,I3/) - 1001 FORMAT (I1,'SCAN OF PARAMETER NO.',I3,3H, ,A10) - END diff --git a/graphics/Qat/QatDataModeling/src/mnseek.F b/graphics/Qat/QatDataModeling/src/mnseek.F deleted file mode 100644 index fbb1932dfeb8092807d2ff833e0c777c9e95eeb3..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnseek.F +++ /dev/null @@ -1,110 +0,0 @@ -* -* $Id: mnseek.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnseek.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSEEK(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Performs a rough (but global) minimization by monte carlo search. -CC Each time a new minimum is found, the search area is shifted -CC to be centered at the best value. Random points are chosen -CC uniformly over a hypercube determined by current step sizes. -CC The Metropolis algorithm accepts a worse point with probability -CC exp(-d/UP), where d is the degradation. Improved points -CC are of course always accepted. Actual steps are random -CC multiples of the nominal steps (DIRIN). -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - PARAMETER (TWOPI=2.0*3.141593) - DIMENSION XBEST(MNI), XMID(MNI) - MXFAIL = WORD7(1) - IF (MXFAIL .LE. 0) MXFAIL=100+20*NPAR - MXSTEP = 10*MXFAIL - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - ALPHA = WORD7(2) - IF (ALPHA .LE. ZERO) ALPHA=3. - IF (ISW(5) .GE. 1) WRITE (ISYSWR, 3) MXFAIL,MXSTEP,ALPHA - 3 FORMAT (' MNSEEK: MONTE CARLO MINIMIZATION USING METROPOLIS', - + ' ALGORITHM'/' TO STOP AFTER',I6,' SUCCESSIVE FAILURES, OR', - + I7,' STEPS'/' MAXIMUM STEP SIZE IS',F9.3,' ERROR BARS.') - CSTATU= 'INITIAL ' - IF (ISW(5) .GE. 2) CALL MNPRIN(2,AMIN) - CSTATU = 'UNCHANGED ' - IFAIL = 0 - RNUM = ZERO - RNUM1 = ZERO - RNUM2 = ZERO - NPARX = NPAR - FLAST = AMIN -C set up step sizes, starting values - DO 10 IPAR = 1, NPAR - IEXT = NEXOFI(IPAR) - DIRIN(IPAR) = 2.0*ALPHA*WERR(IPAR) - IF (NVARL(IEXT) .GT. 1) THEN -C parameter with limits - CALL MNDXDI(X(IPAR),IPAR,DXDI) - IF (DXDI .EQ. ZERO) DXDI=1. - DIRIN(IPAR) = 2.0*ALPHA*WERR(IPAR)/DXDI - IF (ABS(DIRIN(IPAR)).GT.TWOPI) DIRIN(IPAR)=TWOPI - ENDIF - XMID(IPAR) = X(IPAR) - 10 XBEST(IPAR) = X(IPAR) -C search loop - DO 500 ISTEP= 1, MXSTEP - IF (IFAIL .GE. MXFAIL) GO TO 600 - DO 100 IPAR= 1, NPAR - CALL MNRN15(RNUM1,ISEED) - CALL MNRN15(RNUM2,ISEED) - 100 X(IPAR) = XMID(IPAR) + 0.5*(RNUM1+RNUM2-1.)*DIRIN(IPAR) - CALL MNINEX(X) - CALL FCN(NPARX,GIN,FTRY,U,4,FUTIL) - NFCN = NFCN + 1 - IF (FTRY .LT. FLAST) THEN - IF (FTRY .LT. AMIN) THEN - CSTATU = 'IMPROVEMNT' - AMIN = FTRY - DO 200 IB= 1, NPAR - 200 XBEST(IB) = X(IB) - IFAIL = 0 - IF (ISW(5) .GE. 2) CALL MNPRIN(2,AMIN) - ENDIF - GO TO 300 - ELSE - IFAIL = IFAIL + 1 -C Metropolis algorithm - BAR = (AMIN-FTRY)/UP - CALL MNRN15(RNUM,ISEED) - IF (BAR .LT. LOG(RNUM)) GO TO 500 - ENDIF -C Accept new point, move there - 300 CONTINUE - DO 350 J= 1, NPAR - XMID(J) = X(J) - 350 CONTINUE - FLAST = FTRY - 500 CONTINUE -C end search loop - 600 CONTINUE - IF (ISW(5) .GT. 1) WRITE (ISYSWR,601) IFAIL - 601 FORMAT(' MNSEEK:',I5,' SUCCESSIVE UNSUCCESSFUL TRIALS.') - DO 700 IB= 1, NPAR - 700 X(IB) = XBEST(IB) - CALL MNINEX(X) - IF (ISW(5) .GE. 1) CALL MNPRIN(2,AMIN) - IF (ISW(5) .EQ. 0) CALL MNPRIN(0,AMIN) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnset.F b/graphics/Qat/QatDataModeling/src/mnset.F deleted file mode 100644 index d341d658e9ea1c2173a745078e80cb2ae191c045..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnset.F +++ /dev/null @@ -1,431 +0,0 @@ -* -* $Id: mnset.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnset.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:52 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:29 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSET(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Called from MNEXCM -CC Interprets the commands that start with SET and SHOW -CC -#include "QatDataModeling/d506cm.inc" -C - EXTERNAL FCN,FUTIL -C file characteristics for SET INPUT - LOGICAL LNAME - CHARACTER CFNAME*64, CMODE*16 -C 'SET ' or 'SHOW', 'ON ' or 'OFF', 'SUPPRESSED' or 'REPORTED ' - CHARACTER CKIND*4, COPT*3, CWARN*10 -C explanation of print level numbers -1:3 and strategies 0:2 - CHARACTER CPRLEV(-1:3)*34 ,CSTRAT(0:2)*44 -C identification of debug options - PARAMETER (NUMDBG = 6) - CHARACTER*40 CDBOPT(0:NUMDBG) -C things that can be set or shown - CHARACTER*10 CNAME(30) - DATA CNAME( 1)/'FCN value '/ - DATA CNAME( 2)/'PARameters'/ - DATA CNAME( 3)/'LIMits '/ - DATA CNAME( 4)/'COVariance'/ - DATA CNAME( 5)/'CORrelatio'/ - DATA CNAME( 6)/'PRInt levl'/ - DATA CNAME( 7)/'NOGradient'/ - DATA CNAME( 8)/'GRAdient '/ - DATA CNAME( 9)/'ERRor def '/ - DATA CNAME(10)/'INPut file'/ - DATA CNAME(11)/'WIDth page'/ - DATA CNAME(12)/'LINes page'/ - DATA CNAME(13)/'NOWarnings'/ - DATA CNAME(14)/'WARnings '/ - DATA CNAME(15)/'RANdom gen'/ - DATA CNAME(16)/'TITle '/ - DATA CNAME(17)/'STRategy '/ - DATA CNAME(18)/'EIGenvalue'/ - DATA CNAME(19)/'PAGe throw'/ - DATA CNAME(20)/'MINos errs'/ - DATA CNAME(21)/'EPSmachine'/ - DATA CNAME(22)/'OUTputfile'/ - DATA CNAME(23)/'BATch '/ - DATA CNAME(24)/'INTeractiv'/ - DATA CNAME(25)/'VERsion '/ - DATA NNAME/25/ -C options not intended for normal users - DATA CNAME(26)/'reserve '/ - DATA CNAME(27)/'NODebug '/ - DATA CNAME(28)/'DEBug '/ - DATA CNAME(29)/'SHOw '/ - DATA CNAME(30)/'SET '/ - DATA NNTOT/30/ -C - DATA CPRLEV(-1)/'-1: NO OUTPUT EXCEPT FROM "SHOW" '/ - DATA CPRLEV( 0)/' 0: REDUCED OUTPUT '/ - DATA CPRLEV( 1)/' 1: NORMAL OUTPUT '/ - DATA CPRLEV( 2)/' 2: EXTRA OUTPUT FOR PROBLEM CASES'/ - DATA CPRLEV( 3)/' 3: MAXIMUM OUTPUT '/ -C - DATA CSTRAT( 0)/' 0: MINIMIZE THE NUMBER OF CALLS TO FUNCTION'/ - DATA CSTRAT( 1)/' 1: TRY TO BALANCE SPEED AGAINST RELIABILITY'/ - DATA CSTRAT( 2)/' 2: MAKE SURE MINIMUM TRUE, ERRORS CORRECT '/ -C - DATA CDBOPT(0)/'REPORT ALL EXCEPTIONAL CONDITIONS '/ - DATA CDBOPT(1)/'MNLINE: LINE SEARCH MINIMIZATION '/ - DATA CDBOPT(2)/'MNDERI: FIRST DERIVATIVE CALCULATIONS '/ - DATA CDBOPT(3)/'MNHESS: SECOND DERIVATIVE CALCULATIONS '/ - DATA CDBOPT(4)/'MNMIGR: COVARIANCE MATRIX UPDATES '/ - DATA CDBOPT(5)/'MNHES1: FIRST DERIVATIVE UNCERTAINTIES '/ - DATA CDBOPT(6)/'MNCONT: MNCONTOUR PLOT (MNCROS SEARCH) '/ -C -C - DO 2 I= 1, NNTOT - IF (INDEX(CWORD(4:10),CNAME(I)(1:3)) .GT. 0) GO TO 5 - 2 CONTINUE - I = 0 - 5 KNAME = I -C -C Command could be SET xxx, SHOW xxx, HELP SET or HELP SHOW - IF (INDEX(CWORD(1:4),'HEL') .GT. 0) GO TO 2000 - IF (INDEX(CWORD(1:4),'SHO') .GT. 0) GO TO 1000 - IF (INDEX(CWORD(1:4),'SET') .EQ. 0) GO TO 1900 -C --- - CKIND = 'SET ' -C . . . . . . . . . . set unknown - IF (KNAME .LE. 0) GO TO 1900 -C . . . . . . . . . . set known - GO TO(3000, 20, 30, 40,3000, 60, 70, 80, 90, 100, - + 110, 120, 130, 140, 150, 160, 170,3000, 190,3000, - + 210, 220, 230, 240,3000,1900, 270, 280, 290, 300) , KNAME -C -C . . . . . . . . . . set param - 20 CONTINUE - IPRM = WORD7(1) - IF (IPRM .GT. NU) GO TO 25 - IF (IPRM .LE. 0) GO TO 25 - IF (NVARL(IPRM) .LT. 0) GO TO 25 - U(IPRM) = WORD7(2) - CALL MNEXIN(X) - ISW2 = ISW(2) - CALL MNRSET(1) -C Keep approximate covariance matrix, even if new param value - ISW(2) = MIN(ISW2,1) - CFROM = 'SET PARM' - NFCNFR = NFCN - CSTATU = 'NEW VALUES' - GO TO 4000 - 25 WRITE (ISYSWR,'(A/)') ' UNDEFINED PARAMETER NUMBER. IGNORED.' - GO TO 4000 -C . . . . . . . . . . set limits - 30 CALL MNLIMS - GO TO 4000 -C . . . . . . . . . . set covar - 40 CONTINUE -C this command must be handled by MNREAD, and is not Fortran-callable - GO TO 3000 -C . . . . . . . . . . set print - 60 ISW(5) = WORD7(1) - GO TO 4000 -C . . . . . . . . . . set nograd - 70 ISW(3) = 0 - GO TO 4000 -C . . . . . . . . . . set grad - 80 CALL MNGRAD(FCN,FUTIL) - GO TO 4000 -C . . . . . . . . . . set errdef - 90 IF (WORD7(1) .EQ. UP) GO TO 4000 - IF (WORD7(1) .LE. ZERO) THEN - IF (UP .EQ. UPDFLT) GO TO 4000 - UP = UPDFLT - ELSE - UP = WORD7(1) - ENDIF - DO 95 I= 1, NPAR - ERN(I) = 0. - 95 ERP(I) = 0. - CALL MNWERR - GO TO 4000 -C . . . . . . . . . . set input -C This command must be handled by MNREAD. If it gets this far, -C it is illegal. - 100 CONTINUE - GO TO 3000 -C . . . . . . . . . . set width - 110 NPAGWD = WORD7(1) - NPAGWD = MAX(NPAGWD,50) - GO TO 4000 -C . . . . . . . . . . set lines - 120 NPAGLN = WORD7(1) - GO TO 4000 -C . . . . . . . . . . set nowarn - 130 LWARN = .FALSE. - GO TO 4000 -C . . . . . . . . . . set warn - 140 LWARN = .TRUE. - CALL MNWARN('W','SHO','SHO') - GO TO 4000 -C . . . . . . . . . . set random - 150 JSEED = INT(WORD7(1)) - VAL = 3. - CALL MNRN15(VAL, JSEED) - IF (ISW(5) .GT. 0) WRITE (ISYSWR, 151) JSEED - 151 FORMAT (' MINUIT RANDOM NUMBER SEED SET TO ',I10) - GO TO 4000 -C . . . . . . . . . . set title - 160 CONTINUE -C this command must be handled by MNREAD, and is not Fortran-callable - GO TO 3000 -C . . . . . . . . . set strategy - 170 ISTRAT = WORD7(1) - ISTRAT = MAX(ISTRAT,0) - ISTRAT = MIN(ISTRAT,2) - IF (ISW(5) .GT. 0) GO TO 1172 - GO TO 4000 -C . . . . . . . . . set page throw - 190 NEWPAG = WORD7(1) - GO TO 1190 -C . . . . . . . . . . set epsmac - 210 IF (WORD7(1).GT.ZERO .AND. WORD7(1).LT.0.1) EPSMAC = WORD7(1) - EPSMA2 = SQRT(EPSMAC) - GO TO 1210 -C . . . . . . . . . . set outputfile - 220 CONTINUE - IUNIT = WORD7(1) - ISYSWR = IUNIT - ISTKWR(1) = IUNIT - IF (ISW(5) .GE. 0) GO TO 1220 - GO TO 4000 -C . . . . . . . . . . set batch - 230 ISW(6) = 0 - IF (ISW(5) .GE. 0) GO TO 1100 - GO TO 4000 -C . . . . . . . . . . set interactive - 240 ISW(6) = 1 - IF (ISW(5) .GE. 0) GO TO 1100 - GO TO 4000 -C . . . . . . . . . . set nodebug - 270 ISET = 0 - GO TO 281 -C . . . . . . . . . . set debug - 280 ISET = 1 - 281 CONTINUE - IDBOPT = WORD7(1) - IF (IDBOPT .GT. NUMDBG) GO TO 288 - IF (IDBOPT .GE. 0) THEN - IDBG(IDBOPT) = ISET - IF (ISET .EQ. 1) IDBG(0) = 1 - ELSE -C SET DEBUG -1 sets all debug options - DO 285 ID= 0, NUMDBG - 285 IDBG(ID) = ISET - ENDIF - LREPOR = (IDBG(0) .GE. 1) - CALL MNWARN('D','SHO','SHO') - GO TO 4000 - 288 WRITE (ISYSWR,289) IDBOPT - 289 FORMAT (' UNKNOWN DEBUG OPTION',I6,' REQUESTED. IGNORED') - GO TO 4000 -C . . . . . . . . . . set show - 290 CONTINUE -C . . . . . . . . . . set set - 300 CONTINUE - GO TO 3000 -C ----------------------------------------------------- - 1000 CONTINUE -C at this point, CWORD must be 'SHOW' - CKIND = 'SHOW' - IF (KNAME .LE. 0) GO TO 1900 - GO TO (1010,1020,1030,1040,1050,1060,1070,1070,1090,1100, - + 1110,1120,1130,1130,1150,1160,1170,1180,1190,1200, - + 1210,1220,1100,1100,1250,1900,1270,1270,1290,1300),KNAME -C -C . . . . . . . . . . show fcn - 1010 CONTINUE - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - CALL MNPRIN (0,AMIN) - GO TO 4000 -C . . . . . . . . . . show param - 1020 CONTINUE - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - CALL MNPRIN (5,AMIN) - GO TO 4000 -C . . . . . . . . . . show limits - 1030 CONTINUE - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - CALL MNPRIN (1,AMIN) - GO TO 4000 -C . . . . . . . . . . show covar - 1040 CALL MNMATU(1) - GO TO 4000 -C . . . . . . . . . . show corre - 1050 CALL MNMATU(0) - GO TO 4000 -C . . . . . . . . . . show print - 1060 CONTINUE - IF (ISW(5) .LT.-1) ISW(5) = -1 - IF (ISW(5) .GT. 3) ISW(5) = 3 - WRITE (ISYSWR,'(A)') ' ALLOWED PRINT LEVELS ARE:' - WRITE (ISYSWR,'(27X,A)') CPRLEV - WRITE (ISYSWR,1061) CPRLEV(ISW(5)) - 1061 FORMAT (/' CURRENT PRINTOUT LEVEL IS ',A) - GO TO 4000 -C . . . . . . . show nograd, grad - 1070 CONTINUE - IF (ISW(3) .LE. 0) THEN - WRITE (ISYSWR, 1081) - 1081 FORMAT(' NOGRAD IS SET. DERIVATIVES NOT COMPUTED IN FCN.') - ELSE - WRITE (ISYSWR, 1082) - 1082 FORMAT(' GRAD IS SET. USER COMPUTES DERIVATIVES IN FCN.') - ENDIF - GO TO 4000 -C . . . . . . . . . . show errdef - 1090 WRITE (ISYSWR, 1091) UP - 1091 FORMAT (' ERRORS CORRESPOND TO FUNCTION CHANGE OF',G13.5) - GO TO 4000 -C . . . . . . . . . . show input, -C batch, or interactive - 1100 CONTINUE - INQUIRE(UNIT=ISYSRD,NAMED=LNAME,NAME=CFNAME) - CMODE = 'BATCH MODE ' - IF (ISW(6) .EQ. 1) CMODE = 'INTERACTIVE MODE' - IF (.NOT. LNAME) CFNAME='unknown' - WRITE (ISYSWR,1002) CMODE,ISYSRD,CFNAME - 1002 FORMAT (' INPUT NOW BEING READ IN ',A,' FROM UNIT NO.',I3/ - + ' FILENAME: ',A) - GO TO 4000 -C . . . . . . . . . . show width - 1110 WRITE (ISYSWR,1111) NPAGWD - 1111 FORMAT (10X,'PAGE WIDTH IS SET TO',I4,' COLUMNS') - GO TO 4000 -C . . . . . . . . . . show lines - 1120 WRITE (ISYSWR,1121) NPAGLN - 1121 FORMAT (10X,'PAGE LENGTH IS SET TO',I4,' LINES') - GO TO 4000 -C . . . . . . .show nowarn, warn - 1130 CONTINUE - CWARN = 'SUPPRESSED' - IF (LWARN) CWARN = 'REPORTED ' - WRITE (ISYSWR,1141) CWARN - 1141 FORMAT (' MINUIT WARNING MESSAGES ARE ',A) - IF (.NOT. LWARN) CALL MNWARN('W','SHO','SHO') - GO TO 4000 -C . . . . . . . . . . show random - 1150 VAL = 0. - CALL MNRN15(VAL,IGRAIN) - IKSEED = IGRAIN - WRITE (ISYSWR, 1151) IKSEED - 1151 FORMAT (' MINUIT RNDM SEED IS CURRENTLY=',I10/) - VAL = 3.0 - ISEED = IKSEED - CALL MNRN15(VAL,ISEED) - GO TO 4000 -C . . . . . . . . . show title - 1160 WRITE (ISYSWR,'(A,A)') ' TITLE OF CURRENT TASK IS:',CTITL - GO TO 4000 -C . . . . . . . show strategy - 1170 WRITE (ISYSWR, '(A)') ' ALLOWED STRATEGIES ARE:' - WRITE (ISYSWR, '(20X,A)') CSTRAT - 1172 WRITE (ISYSWR, 1175) CSTRAT(ISTRAT) - 1175 FORMAT (/' NOW USING STRATEGY ',A/) - GO TO 4000 -C . . . . . show eigenvalues - 1180 CONTINUE - ISWSAV = ISW(5) - ISW(5) = 3 - IF (ISW(2) .LT. 1) THEN - WRITE (ISYSWR,'(1X,A)') COVMES(0) - ELSE - CALL MNPSDF - ENDIF - ISW(5) = ISWSAV - GO TO 4000 -C . . . . . show page throw - 1190 WRITE (ISYSWR,'(A,I3)') ' PAGE THROW CARRIAGE CONTROL =',NEWPAG - IF (NEWPAG .EQ. 0) - + WRITE (ISYSWR,'(A)') ' NO PAGE THROWS IN MINUIT OUTPUT' - GO TO 4000 -C . . . . . . show minos errors - 1200 CONTINUE - DO 1202 II= 1, NPAR - IF (ERP(II).GT.ZERO .OR. ERN(II).LT.ZERO) GO TO 1204 - 1202 CONTINUE - WRITE (ISYSWR,'(A)') - + ' THERE ARE NO MINOS ERRORS CURRENTLY VALID.' - GO TO 4000 - 1204 CONTINUE - CALL MNPRIN(4,AMIN) - GO TO 4000 -C . . . . . . . . . show epsmac - 1210 WRITE (ISYSWR,'(A,E12.3)') - + ' FLOATING-POINT NUMBERS ASSUMED ACCURATE TO',EPSMAC - GO TO 4000 -C . . . . . . show outputfiles - 1220 CONTINUE - WRITE (ISYSWR,'(A,I4)') ' MINUIT PRIMARY OUTPUT TO UNIT',ISYSWR - GO TO 4000 -C . . . . . . show version - 1250 CONTINUE - WRITE (ISYSWR,'(A,A)') ' THIS IS MINUIT VERSION:',CVRSN - GO TO 4000 -C . . . . . . show nodebug, debug - 1270 CONTINUE - DO 1285 ID= 0, NUMDBG - COPT = 'OFF' - IF (IDBG(ID) .GE. 1) COPT = 'ON ' - 1285 WRITE (ISYSWR,1286) ID, COPT, CDBOPT(ID) - 1286 FORMAT (10X,'DEBUG OPTION',I3,' IS ',A3,' :',A) - IF (.NOT. LREPOR) CALL MNWARN('D','SHO','SHO') - GO TO 4000 -C . . . . . . . . . . show show - 1290 CKIND = 'SHOW' - GO TO 2100 -C . . . . . . . . . . show set - 1300 CKIND = 'SET ' - GO TO 2100 - -C ----------------------------------------------------- -C UNKNOWN COMMAND - 1900 WRITE (ISYSWR, 1901) CWORD - 1901 FORMAT (' THE COMMAND:',A10,' IS UNKNOWN.'/) - GO TO 2100 -C ----------------------------------------------------- -C HELP SHOW, HELP SET, SHOW SET, or SHOW SHOW - 2000 CKIND = 'SET ' - IF (INDEX(CWORD(4:10),'SHO') .GT. 0) CKIND = 'SHOW' - 2100 WRITE (ISYSWR, 2101) CKIND,CKIND, (CNAME(KK),KK=1,NNAME) - 2101 FORMAT (' THE FORMAT OF THE ',A4,' COMMAND IS:'// - + 1X,A4,' xxx [numerical arguments if any]'// - + ' WHERE xxx MAY BE ONE OF THE FOLLOWING:'/ - + (7X,6A12)) - GO TO 4000 -C ----------------------------------------------------- -C ILLEGAL COMMAND - 3000 WRITE (ISYSWR,'('' ABOVE COMMAND IS ILLEGAL. IGNORED'')') - 4000 RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnseti.F b/graphics/Qat/QatDataModeling/src/mnseti.F deleted file mode 100644 index 2ed1c602d8604f669f148a5f8fca7d09401f3f98..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnseti.F +++ /dev/null @@ -1,27 +0,0 @@ -* -* $Id: mnseti.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnseti.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSETI(TIT) -#include "QatDataModeling/d506dp.inc" -CC Called by user to set or change title of current task. -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER*(*) TIT - CTITL = TIT - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnsimp.F b/graphics/Qat/QatDataModeling/src/mnsimp.F deleted file mode 100644 index cdc4c3f5317ee8d1be252eb937fbf80cb703ea63..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnsimp.F +++ /dev/null @@ -1,212 +0,0 @@ -* -* $Id: mnsimp.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnsimp.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:54 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSIMP(FCN,FUTIL) -#include "QatDataModeling/d506dp.inc" -CC Performs a minimization using the simplex method of Nelder -CC and Mead (ref. -- Comp. J. 7,308 (1965)). -CC -#include "QatDataModeling/d506cm.inc" - EXTERNAL FCN,FUTIL - DIMENSION Y(MNI+1) - DATA ALPHA,BETA,GAMMA,RHOMIN,RHOMAX / 1.0, 0.5, 2.0, 4.0, 8.0/ - IF (NPAR .LE. 0) RETURN - IF (AMIN .EQ. UNDEFI) CALL MNAMIN(FCN,FUTIL) - CFROM = 'SIMPLEX ' - NFCNFR = NFCN - CSTATU= 'UNCHANGED ' - NPFN=NFCN - NPARP1=NPAR+1 - NPARX = NPAR - RHO1 = 1.0 + ALPHA - RHO2 = RHO1 + ALPHA*GAMMA - WG = 1.0/FLOAT(NPAR) - IF (ISW(5) .GE. 0) WRITE(ISYSWR,100) EPSI - 100 FORMAT(' START SIMPLEX MINIMIZATION. CONVERGENCE WHEN EDM .LT.' - +,E10.2 ) - DO 2 I= 1, NPAR - DIRIN(I) = WERR(I) - CALL MNDXDI(X(I),I,DXDI) - IF (DXDI .NE. ZERO) DIRIN(I)=WERR(I)/DXDI - DMIN = EPSMA2*ABS(X(I)) - IF (DIRIN(I) .LT. DMIN) DIRIN(I)=DMIN - 2 CONTINUE -C** choose the initial simplex using single-parameter searches - 1 CONTINUE - YNPP1 = AMIN - JL = NPARP1 - Y(NPARP1) = AMIN - ABSMIN = AMIN - DO 10 I= 1, NPAR - AMING = AMIN - PBAR(I) = X(I) - BESTX = X(I) - KG = 0 - NS = 0 - NF = 0 - 4 X(I) = BESTX + DIRIN(I) - CALL MNINEX(X) - CALL FCN(NPARX,GIN, F, U, 4, FUTIL) - NFCN = NFCN + 1 - IF (F .LT. AMING) GO TO 6 -C failure - IF (KG .EQ. 1) GO TO 8 - KG = -1 - NF = NF + 1 - DIRIN(I) = DIRIN(I) * (-0.4) - IF (NF .LT. 3) GO TO 4 -C stop after three failures - BESTX = X(I) - DIRIN(I) = DIRIN(I) * 3.0 - AMING = F - GO TO 8 -C -C success - 6 BESTX = X(I) - DIRIN(I) = DIRIN(I) * 3.0 - AMING = F - CSTATU= 'PROGRESS ' - KG = 1 - NS = NS + 1 - IF (NS .LT. 6) GO TO 4 -C -C 3 failures or 6 successes or -C local minimum found in ith direction - 8 Y(I) = AMING - IF (AMING .LT. ABSMIN) JL = I - IF (AMING .LT. ABSMIN) ABSMIN = AMING - X(I) = BESTX - DO 9 K= 1, NPAR - 9 P(K,I) = X(K) - 10 CONTINUE - JH = NPARP1 - AMIN=Y(JL) - CALL MNRAZZ(YNPP1,PBAR,Y,JH,JL) - DO 20 I= 1, NPAR - 20 X(I) = P(I,JL) - CALL MNINEX(X) - IF (ISW(5) .GE. 1) CALL MNPRIN(5,AMIN) - EDM = BIGEDM - SIG2 = EDM - NCYCL=0 -C . . . . . start main loop - 50 CONTINUE - IF (SIG2 .LT. EPSI .AND. EDM.LT.EPSI) GO TO 76 - SIG2 = EDM - IF ((NFCN-NPFN) .GT. NFCNMX) GO TO 78 -C calculate new point * by reflection - DO 60 I= 1, NPAR - PB = 0. - DO 59 J= 1, NPARP1 - 59 PB = PB + WG * P(I,J) - PBAR(I) = PB - WG * P(I,JH) - 60 PSTAR(I)=(1.+ALPHA)*PBAR(I)-ALPHA*P(I,JH) - CALL MNINEX(PSTAR) - CALL FCN(NPARX,GIN,YSTAR,U,4,FUTIL) - NFCN=NFCN+1 - IF(YSTAR.GE.AMIN) GO TO 70 -C point * better than jl, calculate new point ** - CSTATU = 'PROGRESS ' - DO 61 I=1,NPAR - 61 PSTST(I)=GAMMA*PSTAR(I)+(1.-GAMMA)*PBAR(I) - CALL MNINEX(PSTST) - CALL FCN(NPARX,GIN,YSTST,U,4,FUTIL) - NFCN=NFCN+1 -C try a parabola through ph, pstar, pstst. min = prho - Y1 = (YSTAR-Y(JH)) * RHO2 - Y2 = (YSTST-Y(JH)) * RHO1 - RHO = 0.5 * (RHO2*Y1 -RHO1*Y2) / (Y1 -Y2) - IF (RHO .LT. RHOMIN) GO TO 66 - IF (RHO .GT. RHOMAX) RHO = RHOMAX - DO 64 I= 1, NPAR - 64 PRHO(I) = RHO*PBAR(I) + (1.0-RHO)*P(I,JH) - CALL MNINEX(PRHO) - CALL FCN(NPARX,GIN,YRHO, U,4,FUTIL) - NFCN = NFCN + 1 - IF (YRHO .LT. AMIN) CSTATU = 'PROGRESS ' - IF (YRHO .LT. Y(JL) .AND. YRHO .LT. YSTST) GO TO 65 - IF (YSTST .LT. Y(JL)) GO TO 67 - IF (YRHO .GT. Y(JL)) GO TO 66 -C accept minimum point of parabola, PRHO - 65 CALL MNRAZZ (YRHO,PRHO,Y,JH,JL) - GO TO 68 - 66 IF (YSTST .LT. Y(JL)) GO TO 67 - CALL MNRAZZ(YSTAR,PSTAR,Y,JH,JL) - GO TO 68 - 67 CALL MNRAZZ(YSTST,PSTST,Y,JH,JL) - 68 NCYCL=NCYCL+1 - IF (ISW(5) .LT. 2) GO TO 50 - IF (ISW(5) .GE. 3 .OR. MOD(NCYCL, 10) .EQ. 0) CALL MNPRIN(5,AMIN) - GO TO 50 -C point * is not as good as jl - 70 IF (YSTAR .GE. Y(JH)) GO TO 73 - JHOLD = JH - CALL MNRAZZ(YSTAR,PSTAR,Y,JH,JL) - IF (JHOLD .NE. JH) GO TO 50 -C calculate new point ** - 73 DO 74 I=1,NPAR - 74 PSTST(I)=BETA*P(I,JH)+(1.-BETA)*PBAR(I) - CALL MNINEX (PSTST) - CALL FCN(NPARX,GIN,YSTST,U,4,FUTIL) - NFCN=NFCN+1 - IF(YSTST.GT.Y(JH)) GO TO 1 -C point ** is better than jh - IF (YSTST .LT. AMIN) CSTATU = 'PROGRESS ' - IF (YSTST .LT. AMIN) GO TO 67 - CALL MNRAZZ(YSTST,PSTST,Y,JH,JL) - GO TO 50 -C . . . . . . end main loop - 76 IF (ISW(5) .GE. 0) WRITE(ISYSWR,'(A)') - + ' SIMPLEX MINIMIZATION HAS CONVERGED.' - ISW(4) = 1 - GO TO 80 - 78 IF (ISW(5) .GE. 0) WRITE(ISYSWR,'(A)') - + ' SIMPLEX TERMINATES WITHOUT CONVERGENCE.' - CSTATU= 'CALL LIMIT' - ISW(4) = -1 - ISW(1) = 1 - 80 DO 82 I=1,NPAR - PB = 0. - DO 81 J=1,NPARP1 - 81 PB = PB + WG * P(I,J) - 82 PBAR(I) = PB - WG * P(I,JH) - CALL MNINEX(PBAR) - CALL FCN(NPARX,GIN,YPBAR,U,4,FUTIL) - NFCN=NFCN+1 - IF (YPBAR .LT. AMIN) CALL MNRAZZ(YPBAR,PBAR,Y,JH,JL) - CALL MNINEX(X) - IF (NFCNMX+NPFN-NFCN .LT. 3*NPAR) GO TO 90 - IF (EDM .GT. 2.0*EPSI) GO TO 1 - 90 IF (ISW(5) .GE. 0) CALL MNPRIN(5, AMIN) - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnstat.F b/graphics/Qat/QatDataModeling/src/mnstat.F deleted file mode 100644 index 0954f90175badb87df9aaf701e27728493fb493a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnstat.F +++ /dev/null @@ -1,51 +0,0 @@ -* -* $Id: mnstat.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnstat.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:31 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSTAT(FMIN,FEDM,ERRDEF,NPARI,NPARX,ISTAT) -#include "QatDataModeling/d506dp.inc" -CC User-called -CC Provides the user with information concerning the current status -CC of the current minimization. Namely, it returns: -CC FMIN: the best function value found so far -CC FEDM: the estimated vertical distance remaining to minimum -CC ERRDEF: the value of UP defining parameter uncertainties -CC NPARI: the number of currently variable parameters -CC NPARX: the highest (external) parameter number defined by user -CC ISTAT: a status integer indicating how good is the covariance -CC matrix: 0= not calculated at all -CC 1= approximation only, not accurate -CC 2= full matrix, but forced positive-definite -CC 3= full accurate covariance matrix -CC -#include "QatDataModeling/d506cm.inc" - FMIN = AMIN - FEDM = EDM - ERRDEF = UP - NPARI = NPAR - NPARX = NU - ISTAT = ISW(2) - IF (EDM .EQ. BIGEDM) THEN - FEDM = UP - ENDIF - IF (AMIN .EQ. UNDEFI) THEN - FMIN = 0.0 - FEDM = UP - ISTAT= 0 - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnstin.F b/graphics/Qat/QatDataModeling/src/mnstin.F deleted file mode 100644 index a58c244403fe5e7dc58151489b5b2951a0efb47a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnstin.F +++ /dev/null @@ -1,184 +0,0 @@ -* -* $Id: mnstin.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnstin.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNSTIN(CRDBUF,IERR) -#include "QatDataModeling/d506dp.inc" -CC Called from MNREAD. -CC Implements the SET INPUT command to change input units. -CC If command is: 'SET INPUT' 'SET INPUT 0' or '*EOF', -CC or 'SET INPUT , , ', -CC reverts to previous input unit number,if any. -CC -CC If it is: 'SET INPUT n' or 'SET INPUT n filename', -CC changes to new input file, added to stack -CC -CC IERR = 0: reading terminated normally -CC 2: end-of-data on primary input file -CC 3: unrecoverable read error -CC 4: unable to process request -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER CRDBUF*(*),CUNIT*10,CFNAME*64,CGNAME*64,CANSWR*1 - CHARACTER CMODE*16 - LOGICAL LOPEN,LREWIN,NONAME,LNAME,MNUNPT - NONAME = .TRUE. - IERR = 0 - IF (INDEX(CRDBUF,'*EOF') .EQ. 1) GO TO 190 - IF (INDEX(CRDBUF,'*eof') .EQ. 1) GO TO 190 - LEND = LEN(CRDBUF) -C look for end of SET INPUT command - DO 20 IC= 8,LEND - IF (CRDBUF(IC:IC) .EQ. ' ') GO TO 25 - IF (CRDBUF(IC:IC) .EQ. ',') GO TO 53 - 20 CONTINUE - GO TO 200 - 25 CONTINUE -C look for end of separator between command and first argument - ICOL = IC+1 - DO 50 IC= ICOL,LEND - IF (CRDBUF(IC:IC) .EQ. ' ') GO TO 50 - IF (CRDBUF(IC:IC) .EQ. ',') GO TO 53 - GO TO 55 - 50 CONTINUE - GO TO 200 - 53 IC = IC + 1 - 55 IC1 = IC -C see if "REWIND" was requested in command - LREWIN = .FALSE. - IF (INDEX(CRDBUF(1:IC1),'REW') .GT. 5) LREWIN=.TRUE. - IF (INDEX(CRDBUF(1:IC1),'rew') .GT. 5) LREWIN=.TRUE. -C first argument begins in or after col IC1 - DO 75 IC= IC1,LEND - IF (CRDBUF(IC:IC) .EQ. ' ') GO TO 75 - IF (CRDBUF(IC:IC) .EQ. ',') GO TO 200 - GO TO 80 - 75 CONTINUE - GO TO 200 - 80 IC1 = IC -C first argument really begins in col IC1 - DO 100 IC= IC1+1,LEND - IF (CRDBUF(IC:IC) .EQ. ' ') GO TO 108 - IF (CRDBUF(IC:IC) .EQ. ',') GO TO 108 - 100 CONTINUE - IC = LEND + 1 - 108 IC2 = IC-1 -C end of first argument is in col IC2 - 110 CONTINUE - CUNIT = CRDBUF(IC1:IC2) - WRITE (ISYSWR,'(A,A)') ' UNIT NO. :',CUNIT - READ (CUNIT,'(BN,F10.0)',ERR=500) FUNIT - IUNIT = FUNIT - IF (IUNIT .EQ. 0) GO TO 200 -C skip blanks and commas, find file name - DO 120 IC= IC2+1,LEND - IF (CRDBUF(IC:IC) .EQ. ' ') GO TO 120 - IF (CRDBUF(IC:IC) .EQ. ',') GO TO 120 - GO TO 130 - 120 CONTINUE - GO TO 131 - 130 CONTINUE - CFNAME = CRDBUF(IC:LEND) - NONAME = .FALSE. - WRITE (ISYSWR, '(A,A)') ' FILE NAME IS:',CFNAME -C ask if file exists, if not ask for name and open it - 131 CONTINUE - INQUIRE(UNIT=IUNIT,OPENED=LOPEN,NAMED=LNAME,NAME=CGNAME) - IF (LOPEN) THEN - IF (NONAME) THEN - GO TO 136 - ELSE - IF (.NOT.LNAME) CGNAME='unknown' - WRITE (ISYSWR,132) IUNIT,CGNAME,CFNAME - 132 FORMAT (' UNIT',I3,' ALREADY OPENED WITH NAME:',A/ - + ' NEW NAME IGNORED:',A) - ENDIF - ELSE -C new file, open it - WRITE (ISYSWR,135) IUNIT - 135 FORMAT (' UNIT',I3,' IS NOT OPENED.') - IF (NONAME) THEN - WRITE (ISYSWR,'(A)') ' NO FILE NAME GIVEN IN COMMAND.' - IF (ISW(6) .LT. 1) GO TO 800 - WRITE (ISYSWR,'(A)') ' PLEASE GIVE FILE NAME:' - READ (ISYSRD,'(A)') CFNAME - ENDIF - OPEN (UNIT=IUNIT,FILE=CFNAME,STATUS='OLD',ERR=600) - WRITE (ISYSWR,'(A)') ' FILE OPENED SUCCESSFULLY.' - ENDIF -C . . file is correctly opened - 136 IF (LREWIN) GO TO 150 - IF (ISW(6) .LT. 1) GO TO 300 - WRITE (ISYSWR,137) IUNIT - 137 FORMAT (' SHOULD UNIT',I3,' BE REWOUND?' ) - READ (ISYSRD,'(A)') CANSWR - IF (CANSWR.NE.'Y' .AND. CANSWR.NE.'y') GO TO 300 - 150 REWIND IUNIT - GO TO 300 -C *EOF - 190 CONTINUE - IF (NSTKRD .EQ. 0) THEN - IERR = 2 - GO TO 900 - ENDIF -C revert to previous input file - 200 CONTINUE - IF (NSTKRD .EQ. 0) THEN - WRITE (ISYSWR, '(A,A)') ' COMMAND IGNORED:',CRDBUF - WRITE (ISYSWR, '(A)') ' ALREADY READING FROM PRIMARY INPUT' - ELSE - ISYSRD = ISTKRD(NSTKRD) - NSTKRD = NSTKRD - 1 - IF (NSTKRD .EQ. 0) ISW(6) = IABS(ISW(6)) - IF (ISW(5) .GE. 0) THEN - INQUIRE(UNIT=ISYSRD,NAMED=LNAME,NAME=CFNAME) - CMODE = 'BATCH MODE ' - IF (ISW(6) .EQ. 1) CMODE = 'INTERACTIVE MODE' - IF (.NOT.LNAME) CFNAME='unknown' - IF (MNUNPT(CFNAME)) CFNAME='unprintable' - WRITE (ISYSWR,290) CMODE,ISYSRD,CFNAME - 290 FORMAT (' INPUT WILL NOW BE READ IN ',A,' FROM UNIT NO.',I3/ - + ' FILENAME: ',A) - ENDIF - ENDIF - GO TO 900 -C switch to new input file, add to stack - 300 CONTINUE - IF (NSTKRD .GE. MAXSTK) THEN - WRITE (ISYSWR, '(A)') ' INPUT FILE STACK SIZE EXCEEDED.' - GO TO 800 - ENDIF - NSTKRD = NSTKRD + 1 - ISTKRD(NSTKRD) = ISYSRD - ISYSRD = IUNIT -C ISW(6) = 0 for batch, =1 for interactive, and -C =-1 for originally interactive temporarily batch - IF (ISW(6) .EQ. 1) ISW(6) = -1 - GO TO 900 -C format error - 500 CONTINUE - WRITE (ISYSWR,'(A,A)') ' CANNOT READ FOLLOWING AS INTEGER:',CUNIT - GO TO 800 - 600 CONTINUE - WRITE (ISYSWR, 601) CFNAME - 601 FORMAT (' SYSTEM IS UNABLE TO OPEN FILE:',A) -C serious error - 800 CONTINUE - IERR = 3 - 900 CONTINUE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mntiny.F b/graphics/Qat/QatDataModeling/src/mntiny.F deleted file mode 100644 index 8e19219b105cadeb82a4a96b34f2b777b48723a7..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mntiny.F +++ /dev/null @@ -1,28 +0,0 @@ -* -* $Id: mntiny.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mntiny.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNTINY(EPSP1,EPSBAK) -#include "QatDataModeling/d506dp.inc" -CC Compares its argument with the value 1.0, and returns -CC the value .TRUE. if they are equal. To find EPSMAC -CC safely by foiling the Fortran optimizer -CC - PARAMETER (ONE=1.0) - EPSBAK = EPSP1 - ONE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnunpt.F b/graphics/Qat/QatDataModeling/src/mnunpt.F deleted file mode 100644 index 9f52452db090b2dd3c15a18c71e1ee33b88506d7..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnunpt.F +++ /dev/null @@ -1,37 +0,0 @@ -* -* $Id: mnunpt.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnunpt.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - LOGICAL FUNCTION MNUNPT(CFNAME) -C is .TRUE. if CFNAME contains unprintable characters. - CHARACTER CFNAME*(*) - CHARACTER CPT*80, CP1*40,CP2*40 - PARAMETER (CP1=' ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm') - PARAMETER (CP2='nopqrstuvwxyz1234567890./;:[]$%*_!@#&+()') - CPT=CP1//CP2 - MNUNPT = .FALSE. - L = LEN(CFNAME) - DO 100 I= 1, L - DO 50 IC= 1, 80 - IF (CFNAME(I:I) .EQ. CPT(IC:IC)) GO TO 100 - 50 CONTINUE - MNUNPT = .TRUE. - GO TO 150 - 100 CONTINUE - 150 CONTINUE - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnvers.F b/graphics/Qat/QatDataModeling/src/mnvers.F deleted file mode 100644 index 357929ded75e4aae8698b63031129e1c9509b734..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnvers.F +++ /dev/null @@ -1,27 +0,0 @@ -* -* $Id: mnvers.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnvers.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNVERS(CV) -#include "QatDataModeling/d506dp.inc" -CC Returns the Minuit version in CV, char*6 -CC -#include "QatDataModeling/d506cm.inc" - CHARACTER*(*) CV - CV = CVRSN - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnvert.F b/graphics/Qat/QatDataModeling/src/mnvert.F deleted file mode 100644 index bc15574dd17317170e12cf40ce18e899c5b0143f..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnvert.F +++ /dev/null @@ -1,86 +0,0 @@ -* -* $Id: mnvert.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnvert.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.2 1996/03/15 18:02:54 james -* Modified Files: -* mnderi.F eliminate possible division by zero -* mnexcm.F suppress print on STOP when print flag=-1 -* set FVAL3 to flag if FCN already called with IFLAG=3 -* mninit.F set version 96.03 -* mnlims.F remove arguments, not needed -* mnmigr.F VLEN -> LENV in debug print statement -* mnparm.F move call to MNRSET to after NPAR redefined, to zero all -* mnpsdf.F eliminate possible division by zero -* mnscan.F suppress printout when print flag =-1 -* mnset.F remove arguments in call to MNLIMS -* mnsimp.F fix CSTATU so status is PROGRESS only if new minimum -* mnvert.F eliminate possible division by zero -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNVERT(A,L,M,N,IFAIL) -#include "QatDataModeling/d506dp.inc" -CC inverts a symmetric matrix. matrix is first scaled to -CC have all ones on the diagonal (equivalent to change of units) -CC but no pivoting is done since matrix is positive-definite. -CC -#include "QatDataModeling/d506cm.inc" - DIMENSION A(L,M) ,PP(MNI), Q(MNI), S(MNI) - IFAIL=0 - IF (N .LT. 1) GO TO 100 - IF (N .GT. MAXINT) GO TO 100 -C scale matrix by sqrt of diag elements - DO 8 I=1,N - SI = A(I,I) - IF (SI) 100,100,8 - 8 S(I) = 1.0/SQRT(SI) - DO 20 I= 1, N - DO 20 J= 1, N - 20 A(I,J) = A(I,J) *S(I)*S(J) -C . . . start main loop . . . . - DO 65 I=1,N - K = I -C preparation for elimination step1 - IF (A(K,K) .EQ. ZERO) GO TO 100 - Q(K)=1./A(K,K) - PP(K) = 1.0 - A(K,K)=0.0 - KP1=K+1 - KM1=K-1 - IF(KM1)100,50,40 - 40 DO 49 J=1,KM1 - PP(J)=A(J,K) - Q(J)=A(J,K)*Q(K) - 49 A(J,K)=0. - 50 IF(K-N)51,60,100 - 51 DO 59 J=KP1,N - PP(J)=A(K,J) - Q(J)=-A(K,J)*Q(K) - 59 A(K,J)=0.0 -C elimination proper - 60 DO 65 J=1,N - DO 65 K=J,N - 65 A(J,K)=A(J,K)+PP(J)*Q(K) -C elements of left diagonal and unscaling - DO 70 J= 1, N - DO 70 K= 1, J - A(K,J) = A(K,J) *S(K)*S(J) - 70 A(J,K) = A(K,J) - RETURN -C failure return - 100 IFAIL=1 - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnwarn.F b/graphics/Qat/QatDataModeling/src/mnwarn.F deleted file mode 100644 index 5d116a7b9c95c21ecfdbf333163549a2329ac9d3..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnwarn.F +++ /dev/null @@ -1,98 +0,0 @@ -* -* $Id: mnwarn.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnwarn.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNWARN(COPT,CORG,CMES) -C If COPT='W', CMES is a WARning message from CORG. -C If COPT='D', CMES is a DEBug message from CORG. -C If SET WARnings is in effect (the default), this routine -C prints the warning message CMES coming from CORG. -C If SET NOWarnings is in effect, the warning message is -C stored in a circular buffer of length MAXMES. -C If called with CORG=CMES='SHO', it prints the messages in -C the circular buffer, FIFO, and empties the buffer. -#include "QatDataModeling/d506dp.inc" -#include "QatDataModeling/d506cm.inc" - CHARACTER COPT*1, CORG*(*), CMES*(*), CTYP*7 - PARAMETER (MAXMES=10) - CHARACTER ORIGIN(MAXMES,2)*10, WARMES(MAXMES,2)*60 - COMMON/MN7WRC/ORIGIN, WARMES - COMMON/MN7WRI/NFCWAR(MAXMES,2),ICIRC(2) - CHARACTER ENGLSH*20 -C - IF (CORG(1:3).EQ.'SHO' .AND. CMES(1:3).EQ.'SHO') GO TO 200 -C Either print warning or put in buffer - IF (COPT .EQ. 'W') THEN - ITYP = 1 - IF (LWARN) THEN - WRITE (ISYSWR,'(A,A/A,A)') ' MINUIT WARNING IN ',CORG, - + ' ============== ',CMES - RETURN - ENDIF - ELSE - ITYP = 2 - IF (LREPOR) THEN - WRITE (ISYSWR,'(A,A/A,A)') ' MINUIT DEBUG FOR ',CORG, - + ' ============== ',CMES - RETURN - ENDIF - ENDIF -C if appropriate flag is off, fill circular buffer - IF (NWRMES(ITYP) .EQ. 0) ICIRC(ITYP) = 0 - NWRMES(ITYP) = NWRMES(ITYP) + 1 - ICIRC(ITYP) = ICIRC(ITYP) + 1 - IF (ICIRC(ITYP) .GT. MAXMES) ICIRC(ITYP) = 1 - IC = ICIRC(ITYP) - ORIGIN(IC,ITYP) = CORG - WARMES(IC,ITYP) = CMES - NFCWAR(IC,ITYP) = NFCN - RETURN -C -C 'SHO WARnings', ask if any suppressed mess in buffer - 200 CONTINUE - IF (COPT .EQ. 'W') THEN - ITYP = 1 - CTYP = 'WARNING' - ELSE - ITYP = 2 - CTYP = '*DEBUG*' - ENDIF - IF (NWRMES(ITYP) .GT. 0) THEN - ENGLSH = ' WAS SUPPRESSED. ' - IF (NWRMES(ITYP) .GT. 1) ENGLSH = 'S WERE SUPPRESSED.' - WRITE (ISYSWR,'(/1X,I5,A,A,A,A/)') NWRMES(ITYP), - + ' MINUIT ',CTYP,' MESSAGE', ENGLSH - NM = NWRMES(ITYP) - IC = 0 - IF (NM .GT. MAXMES) THEN - WRITE (ISYSWR,'(A,I2,A)') ' ONLY THE MOST RECENT ', - + MAXMES,' WILL BE LISTED BELOW.' - NM = MAXMES - IC = ICIRC(ITYP) - ENDIF - WRITE (ISYSWR,'(A)') ' CALLS ORIGIN MESSAGE' - DO 300 I= 1, NM - IC = IC + 1 - IF (IC .GT. MAXMES) IC = 1 - WRITE (ISYSWR,'(1X,I6,1X,A,1X,A)') - + NFCWAR(IC,ITYP),ORIGIN(IC,ITYP),WARMES(IC,ITYP) - 300 CONTINUE - NWRMES(ITYP) = 0 - WRITE (ISYSWR,'(1H )') - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/mnwerr.F b/graphics/Qat/QatDataModeling/src/mnwerr.F deleted file mode 100644 index 6dd9715bffc988f0260be229bd3ce95f2d442a32..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/mnwerr.F +++ /dev/null @@ -1,66 +0,0 @@ -* -* $Id: mnwerr.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: mnwerr.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:32 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE MNWERR -#include "QatDataModeling/d506dp.inc" -CC Calculates the WERR, external parameter errors, -CC and the global correlation coefficients, to be called -CC whenever a new covariance matrix is available. -CC -#include "QatDataModeling/d506cm.inc" -C calculate external error if v exists - IF (ISW(2) .GE. 1) THEN - DO 100 L= 1, NPAR - NDEX = L*(L+1)/2 - DX = SQRT(ABS(VHMAT(NDEX)*UP)) - I = NEXOFI(L) - IF (NVARL(I) .GT. 1) THEN - AL = ALIM(I) - BA = BLIM(I) - AL - DU1 = AL + 0.5 *(SIN(X(L)+DX) +1.0) * BA - U(I) - DU2 = AL + 0.5 *(SIN(X(L)-DX) +1.0) * BA - U(I) - IF (DX .GT. 1.0) DU1 = BA - DX = 0.5 * (ABS(DU1) + ABS(DU2)) - ENDIF - WERR(L) = DX - 100 CONTINUE - ENDIF -C global correlation coefficients - IF (ISW(2) .GE. 1) THEN - DO 130 I= 1, NPAR - GLOBCC(I) = 0. - K1 = I*(I-1)/2 - DO 130 J= 1, I - K = K1 + J - P(I,J) = VHMAT(K) - 130 P(J,I) = P(I,J) - CALL MNVERT(P,MAXINT,MAXINT,NPAR,IERR) - IF (IERR .EQ. 0) THEN - DO 150 IIN= 1, NPAR - NDIAG = IIN*(IIN+1)/2 - DENOM = P(IIN,IIN)*VHMAT(NDIAG) - IF (DENOM.LE.ONE .AND. DENOM.GE.ZERO) THEN - GLOBCC(IIN) = 0. - ELSE - GLOBCC(IIN) = SQRT(1.0-1.0/DENOM) - ENDIF - 150 CONTINUE - ENDIF - ENDIF - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/stand.F b/graphics/Qat/QatDataModeling/src/stand.F deleted file mode 100644 index 64941ea7d8c7a4b91a252f79ee6d2a62c894697c..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/stand.F +++ /dev/null @@ -1,25 +0,0 @@ -* -* $Id: stand.F,v 1.1 2008/10/27 20:58:48 jfb Exp $ -* -* $Log: stand.F,v $ -* Revision 1.1 2008/10/27 20:58:48 jfb -* commit minuit -* -* Revision 1.1 2007/01/04 15:44:42 joe -* Populating... -* -* Revision 1.1.1.1 2000/06/08 11:19:20 andras -* import of MINUIT from CERNlib 2000 -* -* Revision 1.1.1.1 1996/03/07 14:31:30 mclareni -* Minuit -* -* -#include "QatDataModeling/pilot.h" - SUBROUTINE STAND -#include "QatDataModeling/d506dp.inc" -CC optional user-supplied subroutine is called whenever the -CC command "standard" appears. -CC - RETURN - END diff --git a/graphics/Qat/QatDataModeling/src/trick.cc b/graphics/Qat/QatDataModeling/src/trick.cc deleted file mode 100644 index f7f55fb2071bea8ac6feb11b7bdfcdc1f3b299d9..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatDataModeling/src/trick.cc +++ /dev/null @@ -1,16 +0,0 @@ -/*************************************************************************** - trick.cc - description - ------------------- - begin : Thu Dec 23 2004 - copyright : (C) 2004 by Joseph F. Boudreau - email : boudreau@pitt.edu - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ diff --git a/graphics/Qat/QatPlotSystem/CMakeLists.txt b/graphics/Qat/QatPlotSystem/CMakeLists.txt deleted file mode 100644 index 4f7af3be5e1215d266ac574a54bf0efee9f83138..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotSystem/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# Package: QatPlotSystem -################################################################################ - -# Declare the package name: -atlas_subdir( QatPlotSystem ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatBase - graphics/Qat/QatPlotWidgets - graphics/Qat/QatPlotting - graphics/Qat/QatSystemInterfaces ) - -# External dependencies: -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Install files from the package: -atlas_install_headers( QatPlotSystem ) - diff --git a/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystem.h b/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystem.h deleted file mode 100644 index cc407539b52df236a4bfc27878d803a9e3c57d5e..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystem.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef _PLOTSYSTEM_H_ -#define _PLOTSYSTEM_H_ -#include <QatSystemInterfaces/SystemInterface.h> -#include <QtGui/QWidget> -class PlotSystem:public DASystem { - - Q_OBJECT - - -public: - - PlotSystem(); - - virtual ~PlotSystem(); - - virtual QString name() { return QString("PlotSystem");} - - virtual QWidget *mainWidget() const; - - virtual QWidget *toolWidget() const; - - virtual void update(); - - virtual QByteArray saveState(); - - virtual void restoreFromState (QByteArray ba); - - virtual QByteArray saveCache(); - - virtual void restoreFromCache (QByteArray ba); - - virtual PlotSystem *clone() const; - - virtual void dblClicked1D(const Hist1D *); - virtual void dblClicked2D (const Hist2D *); - virtual void dblClickedMan(const HistogramManager *); - virtual void dblClickedVisFunction(const VisFunction *); - - public slots: - - void callUpdate(); - void setNormalize(bool); - - private: - - // It is illegal to copy or assign: - PlotSystem(const PlotSystem &); - PlotSystem & operator=(const PlotSystem &); - - - // Internal: - class Clockwork; - Clockwork *c; -}; - -class PlotSystemFactory : public QObject, public SystemFactoryInterface - { - Q_OBJECT - Q_INTERFACES(SystemFactoryInterface) - - public: - - - virtual DASystem *newSystem() const; - - }; - -#endif diff --git a/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMainWidget.h b/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMainWidget.h deleted file mode 100644 index b693bec4dd21eeab8951dd02fcd0bfc4d76502b4..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMainWidget.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef _PLOTSYSTEMMAINWIDGET_H_ -#define _PLOTSYSTEMMAINWIDGET_H_ -#include <QtGui/QWidget> -class PlotView; -namespace Ui { - class PlotSystemMainWidget; -} - -class PlotSystemMainWidget: public QWidget { - - Q_OBJECT - public: - - PlotSystemMainWidget(QWidget *parent=NULL); - - ~PlotSystemMainWidget(); - - PlotView *plotView() const; - - - public slots: - void setDimension(int w, int h); - - - private: - - class Clockwork; - Clockwork *c; - - -}; - -#endif diff --git a/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMenu.h b/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMenu.h deleted file mode 100644 index 56b5b044fe97ba3ddb9cc2a453550fe9f92ef332..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotSystem/QatPlotSystem/PlotSystemMenu.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef _PLOTSYSTEMMENU_H_ -#define _PLOTSYSTEMMENU_H_ -#include <QtGui/QWidget> -namespace Ui { - class PlotSystemMenu; -} - -class PlotSystemMenu: public QWidget { - - Q_OBJECT - - public: - - // Constructor: - PlotSystemMenu(QWidget *parent=NULL); - - // Destructor: - ~PlotSystemMenu(); - - bool autorange () const; - void setAutorange (bool flag); - - bool normalize () const; - void setNormalize (bool flag); - - bool variable () const; - void setVariable (bool flag); - - bool square () const; - void setSquare (bool flag); - - bool rect () const; - void setRect (bool flag); - - signals: - - void normalizeHistos(bool flag); - void reDimension(int w, int h); - - private slots: - - void SSNormalize(int); - - void setPlotDimensions(bool unused); - - private: - - class Clockwork; - Clockwork *c; - -}; - -#endif diff --git a/graphics/Qat/QatPlotSystem/src/PlotSystem.cpp b/graphics/Qat/QatPlotSystem/src/PlotSystem.cpp deleted file mode 100644 index bc9f3694862a3e8fe213bf1ab2a9cbf4b2ce34ed..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotSystem/src/PlotSystem.cpp +++ /dev/null @@ -1,679 +0,0 @@ -#include <QObject> -#include "QatPlotSystem/PlotSystem.h" -#include "QatPlotSystem/PlotSystemMainWidget.h" -#include "QatPlotSystem/PlotSystemMenu.h" -#include "QatPlotting/PlotHist1D.h" -#include "QatPlotting/PlotHist2D.h" -#include "QatPlotting/PlotFunction1D.h" -#include "QatPlotting/PlotWave1D.h" -#include "QatPlotting/VisFunction.h" -#include "QatSystemInterfaces/Serializer.h" -#include "QatDataAnalysis/Hist1D.h" -#include "QatDataAnalysis/Hist2D.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatPlotWidgets/PlotFunction1DDialog.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotWidgets/PlotHist2DDialog.h" -#include "QatPlotWidgets/PlotDirDialog.h" -#include "QatPlotWidgets/PlotView.h" -#include <QtGui/QTextEdit> -#include <iostream> -#include <stdexcept> -#include <sstream> -#include <map> -class PlotSystemMainWidget; -class PlotSystem::Clockwork { -public: - PlotSystemMainWidget *plotSystemMainWidget; - PlotSystemMenu *plotSystemToolWidget; - - std::map<const Hist1D *, PlotHist1D *> plotHist1DMap; - std::map<const Hist1D *, PlotHist1D *> plotHist1DMapNormalized; - std::map<const Hist2D *, PlotHist2D *> plotHist2DMap; - std::multimap<const VisFunction *, PlotFunction1D *> visFunctionMap; - - PlotHist1DDialog *dialog1; - PlotHist2DDialog *dialog2; - PlotDirDialog *dialogDir; - PlotFunction1DDialog *dialogVis; - std::vector<Hist1D *> normalizedHistograms; - - void setProperties(const Hist1D *h, PlotHist1DProperties & prop) { - - { - std::map<const Hist1D *, PlotHist1D *>::const_iterator x=plotHist1DMap.find(h); - if (x!=plotHist1DMap.end()) (*x).second->setProperties(prop); - } - { - std::map<const Hist1D *, PlotHist1D *>::const_iterator x=plotHist1DMapNormalized.find(h); - if (x!=plotHist1DMapNormalized.end()) (*x).second->setProperties(prop); - } - } - PlotFunction1D *makePlot(const VisFunction *visFunction, unsigned int i) { - PlotFunction1D *newPlot=NULL; - if (visFunction->getFunction(i)->dimensionality()==1) { - newPlot= - visFunction->getDomainRestriction(i) ? - new PlotFunction1D(*visFunction->getFunction(i), *visFunction->getDomainRestriction(i)): - new PlotFunction1D(*visFunction->getFunction(i)); - PlotFunction1D::Properties prop; - prop.pen.setWidth(3); - newPlot->setProperties(prop); - } - if (visFunction->getFunction(i)->dimensionality()==2) { - newPlot= - visFunction->getDomainRestriction(i) ? - new PlotWave1D(*visFunction->getFunction(i), *visFunction->getDomainRestriction(i)): - new PlotWave1D(*visFunction->getFunction(i)); - PlotWave1D::Properties prop; - prop.pen.setWidth(3); - newPlot->setProperties(prop); - } - return newPlot; - } -}; - - -PlotSystem::PlotSystem ():c(new Clockwork()) { - QRectF rect; - - c->plotSystemMainWidget=new PlotSystemMainWidget(); - c->plotSystemToolWidget=new PlotSystemMenu(); - c->dialog1=NULL; - c->dialog2=NULL; - c->dialogDir=NULL; - c->dialogVis=NULL; - connect (c->plotSystemToolWidget, SIGNAL(normalizeHistos(bool)), this, SLOT(setNormalize(bool))); - connect (c->plotSystemToolWidget, SIGNAL(reDimension(int, int)), c->plotSystemMainWidget, SLOT(setDimension(int, int))); -} - -PlotSystem::~PlotSystem() { - for (std::map<const Hist1D *, PlotHist1D *>::iterator m=c->plotHist1DMap.begin();m!=c->plotHist1DMap.end();m++) { - delete (*m).second; - } - for (std::map<const Hist1D *, PlotHist1D *>::iterator m=c->plotHist1DMapNormalized.begin();m!=c->plotHist1DMapNormalized.end();m++) { - delete (*m).second; - } - for (std::map<const VisFunction *, PlotFunction1D *>::iterator m=c->visFunctionMap.begin();m!=c->visFunctionMap.end();m++) { - delete (*m).second; - } - for (unsigned int n=0;n<c->normalizedHistograms.size();n++) delete c->normalizedHistograms[n]; - delete c; -} - -QWidget *PlotSystem::mainWidget() const { - return c->plotSystemMainWidget; -} - -QWidget *PlotSystem::toolWidget() const { - return c->plotSystemToolWidget; -} - -void PlotSystem::update() { - - // Clear the main widget: - PlotView *plotView=c->plotSystemMainWidget->plotView(); - plotView->clear(); - - // Handle the 1D Plots: - - QRectF r; - bool plotsSelected=false; - - for (unsigned int i=0;i<hist1DSet()->size();i++) { - - plotsSelected=true; - const Hist1D *hist1D=(*hist1DSet())[i]; - { - std::ostringstream message; - message << "Presenting 1D Histogram: " << hist1D->name() - << " min=" << hist1D->min() - << " max=" << hist1D->max() - << " nBins=" << hist1D->nBins() - << " minContents=" << hist1D->minContents() - << " maxContents=" << hist1D->maxContents() - << " mean=" << hist1D->mean() - << " rms=" << sqrt(hist1D->variance()) - << " under/over=" << hist1D->underflow() <<"/" << hist1D->overflow() - << " sum=" << hist1D->sum() - - << std::endl; - presenterMessageTextEdit()->insertPlainText (message.str().c_str()); - } - { - PlotHist1D *plotHist1DStd=NULL, *plotHist1DNormalized=NULL; - std::map<const Hist1D *, PlotHist1D *>::const_iterator h=c->plotHist1DMap.find(hist1D); - if (h==c->plotHist1DMap.end()) { - - // Put the basic plot: - plotHist1DStd=new PlotHist1D(*hist1D); - c->plotHist1DMap[hist1D]=plotHist1DStd; - - // Put the normalized plot: - Hist1D normalizedHist=*hist1D; - if (normalizedHist.sum()!=0) normalizedHist *= (1/normalizedHist.sum()); - normalizedHist *= (1/normalizedHist.binWidth()); - c->normalizedHistograms.push_back(new Hist1D(normalizedHist)); - plotHist1DNormalized=new PlotHist1D(*c->normalizedHistograms.back()); - c->plotHist1DMapNormalized[hist1D]=plotHist1DNormalized; - - PlotHist1D::Properties prop; - prop.pen.setWidth(3); - plotHist1DStd->setProperties(prop); - plotHist1DNormalized->setProperties(prop); - - } - else { - plotHist1DStd = (*h).second; - std::map<const Hist1D *, PlotHist1D *>::const_iterator i=c->plotHist1DMapNormalized.find(hist1D); - plotHist1DNormalized = (*i).second; - plotHist1DNormalized->setProperties(plotHist1DStd->properties()); - } - PlotHist1D *plotHist1D = c->plotSystemToolWidget->normalize() ? plotHist1DNormalized : plotHist1DStd; - - - if (!plotHist1D) throw std::runtime_error("Error locating 1D Plot"); - r |= plotHist1D->rectHint(); - plotView->add(plotHist1D); - } - } - - - // Handle the 2D plots: - for (unsigned int i=0;i<hist2DSet()->size();i++) { - plotsSelected=true; - const Hist2D *hist2D=(*hist2DSet())[i]; - PlotHist2D *plotHist2D=NULL; - - { - std::ostringstream message; - message << "Presenting 2D Histogram: " << hist2D->name() << std::endl; - presenterMessageTextEdit()->insertPlainText (message.str().c_str()); - } - - std::map<const Hist2D *, PlotHist2D *>::const_iterator h=c->plotHist2DMap.find(hist2D); - if (h==c->plotHist2DMap.end()) { - plotHist2D=new PlotHist2D(*hist2D); - PlotHist2D::Properties prop; - prop.pen.setWidth(3); - plotHist2D->setProperties(prop); - c->plotHist2DMap[hist2D]=plotHist2D; - } - else { - plotHist2D = (*h).second; - } - - if (!plotHist2D) throw std::runtime_error("Error locating 2D Plot"); - r |= plotHist2D->rectHint(); - plotView->add(plotHist2D); - - } - - // Handle the Function Plots - for (unsigned int i=0;i<visFunctionSet()->size();i++) { - plotsSelected=true; - const VisFunction *visFunction=(*visFunctionSet())[i]; - PlotFunction1D *plotFunction1D=NULL; - - { - std::ostringstream message; - message << "Presenting Vis Function: " << visFunction->name() << std::endl; - presenterMessageTextEdit()->insertPlainText (message.str().c_str()); - } - - // std::map<const VisFunction *, PlotFunction1D *>::const_iterator h=c->visFunctionMap.find(visFunction); - std::pair< - std::map<const VisFunction *, PlotFunction1D *>::const_iterator, - std::map<const VisFunction *, PlotFunction1D *>::const_iterator - > ret=c->visFunctionMap.equal_range(visFunction); - if (ret.first==ret.second) { - for (unsigned int i=0;i<visFunction->getNumFunctions();i++) { - plotFunction1D = c->makePlot(visFunction,i); - c->visFunctionMap.insert(std::make_pair(visFunction, plotFunction1D)); - r |= visFunction->rectHint(); - plotView->add(plotFunction1D); - } - } - else { - std::map<const VisFunction *, PlotFunction1D *>::const_iterator - begin=ret.first, - end=ret.second, - h=begin; - while (h!=end) { - - plotFunction1D = (*h).second; - r |= visFunction->rectHint(); - plotView->add(plotFunction1D); - - h++; - - } - } - - - } - - if (plotView->isLogY() || plotView->isLogX()) c->plotSystemToolWidget->setAutorange(false); - if (plotsSelected && c->plotSystemToolWidget->autorange() ) plotView->setRect(r); - plotView->update(); -} - -QByteArray PlotSystem::saveState() { - Serializer serializer(3); - serializer.save((bool) c->plotSystemToolWidget->autorange()); - serializer.save((bool) c->plotSystemToolWidget->normalize()); - serializer.save(c->plotSystemMainWidget->plotView()); - - { - unsigned int sz=c->plotHist1DMap.size(); - serializer.save(sz); - std::map<const Hist1D *, PlotHist1D *>::iterator - begin=c->plotHist1DMap.begin(), - end =c->plotHist1DMap.end(), p=begin; - - while (p!=end) { - PlotHist1D::Properties prop=(*p).second->properties(); - const std::string *fullyQualifiedName = presenterH1Locator()->find((*p).first); - if (fullyQualifiedName) { - serializer.save(*fullyQualifiedName); - serializer.save(prop); - } - else { - serializer.save("Unknown"); - serializer.save(prop); - } - p++; - } - } - - { - unsigned int sz=c->plotHist2DMap.size(); - serializer.save(sz); - std::map<const Hist2D *, PlotHist2D *>::iterator - begin=c->plotHist2DMap.begin(), - end =c->plotHist2DMap.end(), p=begin; - - while (p!=end) { - PlotHist2D::Properties prop=(*p).second->properties(); - const std::string *fullyQualifiedName = presenterH2Locator()->find((*p).first); - if (fullyQualifiedName) { - serializer.save(*fullyQualifiedName); - serializer.save(prop); - } - else { - serializer.save("Unknown"); - serializer.save(prop); - } - p++; - } - } - - { - - unsigned int sz=c->visFunctionMap.size(); - serializer.save(sz); - std::map<const VisFunction *, PlotFunction1D *>::iterator - begin=c->visFunctionMap.begin(), - end =c->visFunctionMap.end(), p=begin; - - while (p!=end) { - const VisFunction * vis = (*p).first; - PlotFunction1D::Properties prop=(*p).second->properties(); - const std::string *fullyQualifiedName = presenterVisFunctionLocator()->find((*p).first); - if (fullyQualifiedName) { - serializer.save(*fullyQualifiedName); - serializer.save(prop); - } - else { - serializer.save("Unknown"); - serializer.save(prop); - } - serializer.save(vis->getNumParameters()); - for (unsigned int i=0;i<vis->getNumParameters();i++) { - serializer.save(vis->getParameter(i)->getValue()); - } - p++; - } - } - - { - serializer.save((bool) c->plotSystemToolWidget->variable()); - serializer.save((bool) c->plotSystemToolWidget->square()); - serializer.save((bool) c->plotSystemToolWidget->rect()); - } - - return serializer.result(); -} - -void PlotSystem::restoreFromState (QByteArray ba){ - Deserializer state(ba); - if (state.version()>3) throw std::runtime_error ("Wrong version code in PlotSystem::restoreFromState"); - bool autorange; - state.restore(autorange); - - bool normalize=false; - if (state.version() >=1) { - state.restore(normalize); - } - - - state.restore(c->plotSystemMainWidget->plotView()); - - c->plotSystemToolWidget->setAutorange(autorange); - c->plotSystemToolWidget->setNormalize(normalize); - - { - int num; - state.restore(num); - for (int i=0;i<num;i++) { - std::string histoName; - PlotHist1D::Properties prop; - state.restore(histoName); - state.restore(prop); - - const Hist1D * hist = presenterH1Locator()->find(histoName); - if (hist) { - std::map<const Hist1D *, PlotHist1D *>::const_iterator p = c->plotHist1DMap.find(hist); - if (p!=c->plotHist1DMap.end()) { - (*p).second->setProperties(prop); - } - } - } - } - - { - int num; - state.restore(num); - for (int i=0;i<num;i++) { - std::string histoName; - PlotHist2D::Properties prop; - state.restore(histoName); - state.restore(prop); - - const Hist2D * hist = presenterH2Locator()->find(histoName); - if (hist) { - std::map<const Hist2D *, PlotHist2D *>::const_iterator p = c->plotHist2DMap.find(hist); - if (p!=c->plotHist2DMap.end()) { - (*p).second->setProperties(prop); - } - } - - - } - } - - if (state.version() >=2) { - { - int num; - state.restore(num); - for (int i=0;i<num;i++) { - std::string fcnName; - PlotFunction1D::Properties prop; - state.restore(fcnName); - state.restore(prop); - - const VisFunction * vis = presenterVisFunctionLocator()->find(fcnName); - if (vis) { - std::map<const VisFunction *, PlotFunction1D *>::const_iterator p = c->visFunctionMap.find(vis); - if (p!=c->visFunctionMap.end()) { - (*p).second->setProperties(prop); - } - } - unsigned int npar; - state.restore(npar); - for (unsigned int i=0;i<npar;i++) { - double v; - state.restore(v); - if (vis) vis->getParameter(i)->setValue(v); - } - } - } - } - if (state.version()>=3) { - bool var; - state.restore(var); - bool square; - state.restore(square); - bool rect; - state.restore(rect); - c->plotSystemToolWidget->setVariable(var); - c->plotSystemToolWidget->setSquare(square); - c->plotSystemToolWidget->setRect(rect); - - } - -} - - - - -void PlotSystem::dblClicked1D(const Hist1D *hist1D) { - - // Make a dialog; - - if (!c->dialog1) { - c->dialog1=new PlotHist1DDialog(presenterTreeWidget()); - connect(c->dialog1, SIGNAL(updateHisto()), this, SLOT(callUpdate())); - } - - PlotHist1D *plotHist1D=NULL; - std::map<const Hist1D *, PlotHist1D *>::const_iterator h=c->plotHist1DMap.find(hist1D); - if (h==c->plotHist1DMap.end()) { - plotHist1D=new PlotHist1D(*hist1D); - PlotHist1D::Properties prop; - prop.pen.setWidth(3); - plotHist1D->setProperties(prop); - c->plotHist1DMap[hist1D]=plotHist1D; - } - else { - plotHist1D = (*h).second; - } - c->dialog1->synchTo(plotHist1D); - c->dialog1->setWindowTitle(hist1D->name().c_str()); - c->dialog1->show(); - -} - -void PlotSystem::callUpdate() { - update(); -} -void PlotSystem::dblClickedVisFunction (const VisFunction *vf) { - // Make a dialog; - - if (!c->dialogVis) { - c->dialogVis=new PlotFunction1DDialog(presenterTreeWidget()); - connect(c->dialogVis, SIGNAL(updateFunction()), this, SLOT(callUpdate())); - } - - PlotFunction1D *plotFunction1D=NULL; - // std::map<const VisFunction *, PlotFunction1D *>::const_iterator h=c->visFunctionMap.find(vf); - std::pair< - std::map<const VisFunction *, PlotFunction1D *>::const_iterator, - std::map<const VisFunction *, PlotFunction1D *>::const_iterator - > ret=c->visFunctionMap.equal_range(vf); - - if (ret.first==ret.second) { - - for (unsigned int i=0;i<vf->getNumFunctions();i++) { - plotFunction1D = c->makePlot(vf,i); - c->visFunctionMap.insert(std::make_pair(vf,plotFunction1D)); - } - // MAKE ALL PLOT FUNCTIONS - } - else { - std::map<const VisFunction *, PlotFunction1D *>::const_iterator - begin=ret.first, - end=ret.second, - h=begin; - while (h!=end) { - plotFunction1D = (*h).second; - break; // GET ANY OLD PLOT FUNCTION - h++; - } - } - c->dialogVis->synchTo(plotFunction1D); - c->dialogVis->clearParameters(); - - for (unsigned int i=0;i<vf->getNumParameters();i++) { - c->dialogVis->addParameter(vf->getParameter(i)); - } - - c->dialogVis->setWindowTitle(vf->name().c_str()); - c->dialogVis->show(); -} -void PlotSystem::dblClicked2D (const Hist2D *hist2D) { - // Make a dialog; - - if (!c->dialog2) { - c->dialog2=new PlotHist2DDialog(presenterTreeWidget()); - connect(c->dialog2, SIGNAL(updateHisto()), this, SLOT(callUpdate())); - } - - PlotHist2D *plotHist2D=NULL; - std::map<const Hist2D *, PlotHist2D *>::const_iterator h=c->plotHist2DMap.find(hist2D); - if (h==c->plotHist2DMap.end()) { - plotHist2D=new PlotHist2D(*hist2D); - PlotHist2D::Properties prop; - prop.pen.setWidth(3); - plotHist2D->setProperties(prop); - c->plotHist2DMap[hist2D]=plotHist2D; - } - else { - plotHist2D = (*h).second; - } - c->dialog2->synchTo(plotHist2D); - c->dialog2->setWindowTitle(hist2D->name().c_str()); - c->dialog2->show(); -} -void PlotSystem::dblClickedMan(const HistogramManager *dir) { - - if (!c->dialogDir) { - c->dialogDir=new PlotDirDialog(presenterTreeWidget()); - connect(c->dialogDir, SIGNAL(updateManager()), this, SLOT(callUpdate())); - } - // - // First pass: create plots (if necessary) and make collection. - // - std::vector<PlotHist1D*> p1DSet; - std::vector<PlotHist2D*> p2DSet; - // 2D Histograms: - for (HistogramManager::H1ConstIterator h1=dir->beginH1();h1!=dir->endH1();h1++) { - - const Hist1D *hist1D=*h1; - PlotHist1D *plotHist1D=NULL; - std::map<const Hist1D *, PlotHist1D *>::const_iterator h=c->plotHist1DMap.find(hist1D); - if (h==c->plotHist1DMap.end()) { - plotHist1D=new PlotHist1D(*hist1D); - PlotHist1D::Properties prop; - prop.pen.setWidth(3); - plotHist1D->setProperties(prop); - c->plotHist1DMap[hist1D]=plotHist1D; - } - else { - plotHist1D = (*h).second; - } - p1DSet.push_back(plotHist1D); - } - // 2D Histograms: - for (HistogramManager::H2ConstIterator h2=dir->beginH2();h2!=dir->endH2();h2++) { - - const Hist2D *hist2D=*h2; - PlotHist2D *plotHist2D=NULL; - std::map<const Hist2D *, PlotHist2D *>::const_iterator h=c->plotHist2DMap.find(hist2D); - if (h==c->plotHist2DMap.end()) { - plotHist2D=new PlotHist2D(*hist2D); - PlotHist2D::Properties prop; - prop.pen.setWidth(3); - plotHist2D->setProperties(prop); - c->plotHist2DMap[hist2D]=plotHist2D; - } - else { - plotHist2D = (*h).second; - } - p2DSet.push_back(plotHist2D); - } - - c->dialogDir->synchTo(p1DSet, p2DSet); - c->dialogDir->setWindowTitle(dir->name().c_str()); - c->dialogDir->show(); -} - -void PlotSystem::setNormalize(bool) { - std::ostringstream message; - message << "Normalizing 1D histograms " << std::endl; - presenterMessageTextEdit()->insertPlainText (message.str().c_str()); - update(); -} - - - - - -QByteArray PlotSystem::saveCache() { - Serializer serializer(0); - { - unsigned int sz=c->visFunctionMap.size(); - serializer.save(sz); - std::map<const VisFunction *, PlotFunction1D *>::iterator - begin=c->visFunctionMap.begin(), - end =c->visFunctionMap.end(), p=begin; - - while (p!=end) { - const VisFunction * vis = (*p).first; - const std::string *fullyQualifiedName = presenterVisFunctionLocator()->find((*p).first); - if (fullyQualifiedName) { - serializer.save(*fullyQualifiedName); - } - else { - serializer.save("Unknown"); - } - serializer.save(vis->getNumParameters()); - for (unsigned int i=0;i<vis->getNumParameters();i++) { - serializer.save(vis->getParameter(i)->getValue()); - } - p++; - } - } - - - return serializer.result(); -} - -void PlotSystem::restoreFromCache (QByteArray ba){ - Deserializer state(ba); - if (state.version()>0) throw std::runtime_error ("Wrong version code in PlotSystem::restoreFromCache"); - { - int num; - state.restore(num); - for (int i=0;i<num;i++) { - std::string fcnName; - state.restore(fcnName); - const VisFunction * vis = presenterVisFunctionLocator()->find(fcnName); - if (vis) { - unsigned int npar; - state.restore(npar); - for (unsigned int i=0;i<npar;i++) { - double v; - state.restore(v); - if (vis) vis->getParameter(i)->setValue(v); - } - } - } - } -} - - - - - - -//=====================Boilerplate======================// -PlotSystem *PlotSystem::clone() const { - return new PlotSystem(); -} - -DASystem *PlotSystemFactory::newSystem() const { - return new PlotSystem(); -} - -Q_EXPORT_PLUGIN2(PlotSystemPlugin, PlotSystemFactory) diff --git a/graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.cpp b/graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.cpp deleted file mode 100644 index 151c50540fd8d8ef399779b887d1900ab5fa6e9e..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include "QatPlotSystem/PlotSystemMainWidget.h" -#include "ui_PlotSystemMainWidget.h" -class PlotSystemMainWidget::Clockwork { -public: - Ui::PlotSystemMainWidget ui; -}; -PlotSystemMainWidget::PlotSystemMainWidget (QWidget *parent ):QWidget(parent),c(new Clockwork()) { - c->ui.setupUi(this); - c->ui.plotView->setBox(false); -} -PlotView *PlotSystemMainWidget::plotView() const { - return c->ui.plotView; -} -PlotSystemMainWidget::~PlotSystemMainWidget () { - delete c; -} - -void PlotSystemMainWidget::setDimension(int w, int h) { - if (w==0 && h==0) { - QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - sizePolicy.setHorizontalStretch(10); - sizePolicy.setVerticalStretch(10); - c->ui.plotView->setMinimumSize(600,600); - c->ui.plotView->setMaximumSize(0xFFFFFF,0xFFFFFF); - c->ui.plotView->setSizePolicy(sizePolicy); - } - else { - c->ui.plotView->setFixedSize(w,h); - } -} diff --git a/graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.ui b/graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.ui deleted file mode 100644 index 63a8b9bc3926da92d61d76e66a973b2edc4f9e09..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotSystem/src/PlotSystemMainWidget.ui +++ /dev/null @@ -1,69 +0,0 @@ -<ui version="4.0" > - <class>PlotSystemMainWidget</class> - <widget class="QWidget" name="PlotSystemMainWidget" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>744</width> - <height>618</height> - </rect> - </property> - <property name="windowTitle" > - <string>Form</string> - </property> - <layout class="QHBoxLayout" name="horizontalLayout" > - <item> - <spacer name="horizontalSpacer" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>1</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="PlotView" native="1" name="plotView" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Expanding" hsizetype="Expanding" > - <horstretch>10</horstretch> - <verstretch>10</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>600</width> - <height>600</height> - </size> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_2" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>1</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <customwidgets> - <customwidget> - <class>PlotView</class> - <extends>QWidget</extends> - <header>QatPlotWidgets/PlotView.h</header> - </customwidget> - </customwidgets> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatPlotSystem/src/PlotSystemMenu.cpp b/graphics/Qat/QatPlotSystem/src/PlotSystemMenu.cpp deleted file mode 100644 index a1a32b2eed8cb31dcb351f4a5d5bc31b5260feac..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotSystem/src/PlotSystemMenu.cpp +++ /dev/null @@ -1,69 +0,0 @@ -#include "QatPlotSystem/PlotSystemMenu.h" -#include "ui_PlotSystemMenu.h" -#include <iostream> -class PlotSystemMenu::Clockwork { -public: - Ui::PlotSystemMenu ui; -}; -PlotSystemMenu::~PlotSystemMenu() { - delete c; -} - -PlotSystemMenu::PlotSystemMenu (QWidget *parent ):QWidget(parent),c(new Clockwork()) { - c->ui.setupUi(this); - connect(c->ui.normalizeCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SSNormalize(int))); - connect(c->ui.squareButton, SIGNAL(toggled(bool)), this, SLOT(setPlotDimensions(bool))); - connect(c->ui.rectButton, SIGNAL(toggled(bool)), this, SLOT(setPlotDimensions(bool))); - connect(c->ui.variableButton, SIGNAL(toggled(bool)), this, SLOT(setPlotDimensions(bool))); -} -bool PlotSystemMenu::autorange () const { - return c->ui.autorangeCheckBox->isChecked(); -} -void PlotSystemMenu::setAutorange(bool flag) { - c->ui.autorangeCheckBox->setChecked(flag); -} - -bool PlotSystemMenu::variable () const { - return c->ui.variableButton->isChecked(); -} -void PlotSystemMenu::setVariable(bool flag) { - c->ui.variableButton->setChecked(flag); -} - -bool PlotSystemMenu::square () const { - return c->ui.squareButton->isChecked(); -} -void PlotSystemMenu::setSquare(bool flag) { - c->ui.squareButton->setChecked(flag); -} - -bool PlotSystemMenu::rect () const { - return c->ui.rectButton->isChecked(); -} -void PlotSystemMenu::setRect(bool flag) { - c->ui.rectButton->setChecked(flag); -} - -bool PlotSystemMenu::normalize () const { - return c->ui.normalizeCheckBox->isChecked(); -} -void PlotSystemMenu::setNormalize(bool flag) { - emit normalizeHistos(flag); - c->ui.normalizeCheckBox->setChecked(flag); -} -void PlotSystemMenu::SSNormalize(int cbState) { - if (cbState==Qt::Checked) { - emit normalizeHistos(true); - } - emit normalizeHistos(false); -} -void PlotSystemMenu::setPlotDimensions(bool) { - - bool var = c->ui.variableButton->isChecked(); - bool square = c->ui.squareButton->isChecked(); - bool rect = c->ui.rectButton->isChecked(); - if (var) emit reDimension(0,0); - if (square) emit reDimension(600,600); - if (rect) emit reDimension(800,600); - -} diff --git a/graphics/Qat/QatPlotSystem/src/PlotSystemMenu.ui b/graphics/Qat/QatPlotSystem/src/PlotSystemMenu.ui deleted file mode 100644 index 226af0ec329d1192550ec638f826e14ac8a8a994..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotSystem/src/PlotSystemMenu.ui +++ /dev/null @@ -1,74 +0,0 @@ -<ui version="4.0" > - <class>PlotSystemMenu</class> - <widget class="QWidget" name="PlotSystemMenu" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>800</width> - <height>94</height> - </rect> - </property> - <property name="sizePolicy" > - <sizepolicy vsizetype="Ignored" hsizetype="Ignored" > - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="windowTitle" > - <string>Form</string> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_2" > - <item> - <widget class="QCheckBox" name="autorangeCheckBox" > - <property name="text" > - <string>Auto Range</string> - </property> - <property name="shortcut" > - <string>R</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="normalizeCheckBox" > - <property name="text" > - <string>Normalize histograms</string> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout" > - <item> - <widget class="QRadioButton" name="variableButton" > - <property name="text" > - <string>Variable</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="squareButton" > - <property name="text" > - <string>Square</string> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="rectButton" > - <property name="text" > - <string>Rect</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatPlotSystem/src/QatPlotSystem.pro b/graphics/Qat/QatPlotSystem/src/QatPlotSystem.pro deleted file mode 100644 index 3117722c4de13e3f46dfba537f6530cb79952472..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotSystem/src/QatPlotSystem.pro +++ /dev/null @@ -1,20 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon May 2 09:49:50 2011 -###################################################################### - -TEMPLATE = lib plugin -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotWidgets ../../QatSystemInterfaces ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis ../../QatPresenter -DESTDIR=../../../plugins -CONFIG += plugin debug -LIBS += -L../../../lib -L/usr/local/lib -lQatPresenter -lQatSystemInterfaces -lQatPlotWidgets -lQatPlotting -l QatDataModeling -lQatDataAnalysis -lCLHEP -lgfortran -FORMS=PlotSystemMainWidget.ui PlotSystemMenu.ui - -SOURCES += PlotSystem.cpp PlotSystemMainWidget.cpp PlotSystemMenu.cpp -HEADERS += ../QatPlotSystem/PlotSystem.h ../QatPlotSystem/PlotSystemMainWidget.h ../QatPlotSystem/PlotSystemMenu.h - -INSTALLS += target -target.path=/usr/local/share/qatplugins - - diff --git a/graphics/Qat/QatPlotWidgets/CMakeLists.txt b/graphics/Qat/QatPlotWidgets/CMakeLists.txt deleted file mode 100644 index 1e32919f68fbc04b36c6161f29f5e5a1cbc8fb9c..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -################################################################################ -# Package: QatPlotWidgets -################################################################################ - -# Declare the package name: -atlas_subdir( QatPlotWidgets ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatPlotting ) - -# External dependencies: -find_package( CLHEP ) -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui QtSvg ) - -# Generate UI files automatically: -set( CMAKE_AUTOUIC TRUE ) -# Generate MOC files automatically: -set( CMAKE_AUTOMOC TRUE ) -# Generate resource files automatically: -set( CMAKE_AUTORCC TRUE ) -# to let CMake find .h files automatically-generated from .ui files -set(CMAKE_INCLUDE_CURRENT_DIR ON) - - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Component(s) in the package: -atlas_add_library( QatPlotWidgets QatPlotWidgets/*.h src/*.h src/*.c* src/*.qrc - PUBLIC_HEADERS QatPlotWidgets - INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${QT4_INCLUDE_DIRS} - DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} QatPlotting ${QT4_LIBRARIES} GL ) - diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/AbsRangeDivider.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/AbsRangeDivider.h deleted file mode 100644 index 88e3954029cbe12ba41832952c40633fc36be148..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/AbsRangeDivider.h +++ /dev/null @@ -1,61 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// AbsRangeDivider. This class takes the extremites of a range of values // -// and figures out how to subdivide it, providing also information about // -// the range // -// // -// // -//---------------------------------------------------------------------------// -#ifndef _AbsRangeDivider_h_ -#define _AbsRangeDivider_h_ -#include "QatPlotWidgets/RangeDivision.h" -class AbsRangeDivider { - -public: - - - // Default constructor; - AbsRangeDivider(); - - // Destructor: - virtual ~AbsRangeDivider(); - - // Set the range: - virtual void setRange(double min, double max)=0; - virtual void setMin(double min)=0; - virtual void setMax(double max)=0; - - - // Get the number of subdivisions: - virtual int getNumSubdivisions() const=0; - - // Get the location of each subdivision: - virtual const RangeDivision & getSubdivision(int i) const= 0; - - // Get the validity of each subdivision: - virtual bool isValid(int i) const =0; - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/CustomRangeDivider.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/CustomRangeDivider.h deleted file mode 100644 index 8876135f6b5500dd3bbe78bd3f2a25ba3a56d1f9..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/CustomRangeDivider.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef QATPLOTWIDGETS_CUSTOMRANGEDIVIDER_H -#define QATPLOTWIDGETS_CUSTOMRANGEDIVIDER_H -#include "QatPlotWidgets/AbsRangeDivider.h" -#include "QatPlotWidgets/RangeDivision.h" -#include <vector> -class CustomRangeDivider : public AbsRangeDivider { - - public: - // Constructor: - CustomRangeDivider(); - - // Destructor: - ~CustomRangeDivider(); - - // Insert a subdivision. The label is cloned & the clone managed. - void add (double x, QTextDocument *label=NULL); - - // Get the number of subdivision: - virtual int getNumSubdivisions() const; - - // Get the location of each subdivision: - virtual const RangeDivision & getSubdivision ( int i) const; - - // Three methods to set the range. The calling the first method once - // is more efficient than calling the last methods twice! - virtual void setRange(double min, double max); - virtual void setMin(double min); - virtual void setMax(double max); - - // Get the validity of each subdivision: - virtual bool isValid(int i) const; - - private: - - double m_min; - double m_max; - std::vector<RangeDivision> m_subdivision; - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LabelEditorDialog.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LabelEditorDialog.h deleted file mode 100644 index ce1643589538a83ab9887b4be6b872d96ccec0d4..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LabelEditorDialog.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef QATPLOTWIDGETS_LABELEDITORDIALOG_H -#define QATPLOTWIDGETS_LABELEDITORDIALOG_H -#include "QatPlotWidgets/characterwidget.h" -#include <QScrollArea> -#include <QDialog> -#include <QTextEdit> - -class LabelEditorDialog: public QDialog - { - Q_OBJECT - - public: - - // Constructor: - LabelEditorDialog(QWidget *parent = 0); - - // Destructor: - ~LabelEditorDialog(); - - // Get the text editor: - const QTextEdit *textEdit() const; - QTextEdit *textEdit(); - - private slots: - - void textFamily( const QString &f ); - void textSize(int i); - void textBold(); - void textItalic(); - void textScript(); - void textColor(); - void toggleChars(); - void updateCharFormat(const QTextCharFormat &f); - - - private: - - class Clockwork; - Clockwork *m_c; - - - }; -#endif - diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearRangeDivider.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearRangeDivider.h deleted file mode 100644 index 2ea0905a324c0c6fd3d5ca8b447d202c00f3badd..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearRangeDivider.h +++ /dev/null @@ -1,68 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// LinearRangeDivider. This class takes a range of values and divides it // -// up in a way that is appropriate for linear scales. // -// // -// // -// // -//---------------------------------------------------------------------------// -#ifndef QATPLOTWIDGETS_LINEARRANGEDIVIDER_H -#define QATPLOTWIDGETS_LINEARRANGEDIVIDER_H -#include "QatPlotWidgets/AbsRangeDivider.h" -#include <vector> -class LinearRangeDivider:public AbsRangeDivider { - -public: - - // Constructor - LinearRangeDivider(); - - // Destructor - virtual ~LinearRangeDivider(); - - // Three methods to set the range. The calling the first method once - // is more efficient than calling the last methods twice! - virtual void setRange(double min, double max); - virtual void setMin(double min); - virtual void setMax(double max); - - // Get the number of subdivisions: - virtual int getNumSubdivisions() const; - - // Get the location of each subdivision: - virtual const RangeDivision & getSubdivision(int i) const; - - // Get the validity of each subdivision: - virtual bool isValid(int i) const; - -private: - - double m_min; - double m_max; - std::vector<RangeDivision> m_subdivision; - void recompute(); - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearSubdivider.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearSubdivider.h deleted file mode 100644 index 745592fda6e7224e7599397f4beb9ed8c35b85ae..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LinearSubdivider.h +++ /dev/null @@ -1,68 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// LinearSubdivider. This class takes a range of values and divides it // -// up in a way that is appropriate for linear scales. // -// // -// // -// // -//---------------------------------------------------------------------------// -#ifndef QATPLOTWIDGETS_LINEARSUBDIVIDER_H -#define QATPLOTWIDGETS_LINEARSUBDIVIDER_H -#include "QatPlotWidgets/AbsRangeDivider.h" -#include <vector> -class LinearSubdivider:public AbsRangeDivider { - -public: - - // Constructor - LinearSubdivider(); - - // Destructor - virtual ~LinearSubdivider(); - - // Three methods to set the range. The calling the first method once - // is more efficient than calling the last methods twice! - virtual void setRange(double min, double max); - virtual void setMin(double min); - virtual void setMax(double max); - - // Get the number of subdivisions: - virtual int getNumSubdivisions() const; - - // Get the location of each subdivision: - virtual const RangeDivision & getSubdivision(int i) const; - - // Get the validity of each subdivision: - virtual bool isValid(int i) const; - -private: - - double m_min; - double m_max; - std::vector<RangeDivision> m_subdivision; - void recompute(); - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogRangeDivider.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogRangeDivider.h deleted file mode 100644 index ee2d32cb3a253f370d35808f003b57d6e814f874..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogRangeDivider.h +++ /dev/null @@ -1,68 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// LogRangeDivider. This class takes a range of values and divides it // -// up in a way that is appropriate for log scales. // -// // -// // -// // -//---------------------------------------------------------------------------// -#ifndef QATPLOTWIDGETS_LOGRANGEDIVIDER_H -#define QATPLOTWIDGETS_LOGRANGEDIVIDER_H -#include "QatPlotWidgets/AbsRangeDivider.h" -#include <vector> -class LogRangeDivider:public AbsRangeDivider { - -public: - - // Constructor - LogRangeDivider(); - - // Destructor - virtual ~LogRangeDivider(); - - // Three methods to set the range. The calling the first method once - // is more efficient than calling the last methods twice! - virtual void setRange(double min, double max); - virtual void setMin(double min); - virtual void setMax(double max); - - // Get the number of subdivisions: - virtual int getNumSubdivisions() const; - - // Get the location of each subdivision: - virtual const RangeDivision & getSubdivision(int i) const; - - // Get the validity of each subdivision: - virtual bool isValid(int i) const; - -private: - - double m_min; - double m_max; - std::vector<RangeDivision> m_subdivision; - void recompute(); - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogSubdivider.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogSubdivider.h deleted file mode 100644 index eea1ab78ca44a4b029c984e8e91409f0b63b0295..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/LogSubdivider.h +++ /dev/null @@ -1,68 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// LogSubdivider. This class takes a range of values and divides it // -// up in a way that is appropriate for log scales. // -// // -// // -// // -//---------------------------------------------------------------------------// -#ifndef QATPLOTWIDGETS_LOGSUBDIVIDER_H -#define QATPLOTWIDGETS_LOGSUBDIVIDER_H -#include "QatPlotWidgets/AbsRangeDivider.h" -#include <vector> -class LogSubdivider:public AbsRangeDivider { - -public: - - // Constructor - LogSubdivider(); - - // Destructor - virtual ~LogSubdivider(); - - // Three methods to set the range. The calling the first method once - // is more efficient than calling the last methods twice! - virtual void setRange(double min, double max); - virtual void setMin(double min); - virtual void setMax(double max); - - // Get the number of subdivisions: - virtual int getNumSubdivisions() const; - - // Get the location of each subdivision: - virtual const RangeDivision & getSubdivision(int i) const; - - // Get the validity of each subdivision: - virtual bool isValid(int i) const; - -private: - - double m_min; - double m_max; - std::vector<RangeDivision> m_subdivision; - void recompute(); - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PVControl.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PVControl.h deleted file mode 100644 index 083918c8b765d08c1e551f83a416ce2aceccda15..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PVControl.h +++ /dev/null @@ -1,58 +0,0 @@ -#ifndef QATPLOTWIDGETS_PVCONTROL_H -#define QATPLOTWIDGETS_PVCONTROL_H -#include "QatPlotWidgets/PlotView.h" -#include <QtGui/QDialog> - -namespace Ui { - class PVControl; -} - -class PVControl:public QDialog { - - Q_OBJECT - - public: - PVControl(PlotView * parent, const QRectF &rect); - ~PVControl(); - - QRectF rect(); - PlotView::Style xAxisStyle(); - PlotView::Style yAxisStyle(); - - public slots: - - // This one sets the rectangle externally: - void setRect(const QRectF & rect); - - void setXMin(int); - void setXMax(int); - void setYMin(int); - void setYMax(int); - void setLabelXSizePercentage(int); - void setLabelYSizePercentage(int); - - void changeXMin (); - void changeXMax (); - void changeYMin (); - void changeYMax (); - -signals: - - void rectChanged(const QRectF &); - void labelHome(); - void editXAxisFont(); - void editYAxisFont(); - void labelXSizePercentageChanged(qreal); - void labelYSizePercentageChanged(qreal); - - private: - - Ui::PVControl & ui(); - - class Clockwork; - Clockwork *m_c; - - friend class PlotView; - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/ParameterDialog.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/ParameterDialog.h deleted file mode 100644 index 4dd0b58b7c32c1cefa34fe28320e8ceee4f0560f..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/ParameterDialog.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef QATPLOTWIDGETS_PARAMETERDIALOG_H -#define QATPLOTWIDGETS_PARAMETERDIALOG_H -#include "CLHEP/GenericFunctions/Parameter.hh" -#include <QtGui/QDialog> -class ParameterDialog:public QDialog { - -Q_OBJECT - - public: - - // Constructor: - ParameterDialog(QWidget *parent, Genfun::Parameter *par); - - // Destructor: - virtual ~ParameterDialog(); - - - public slots: - - void updateParameter(int val); // val from 0 to 99 - - signals: - - void updateFunction(); - - private: - - // Illegal operations: - ParameterDialog(const ParameterDialog &); - ParameterDialog & operator=(const ParameterDialog &); - - // Internals: - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotDirDialog.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotDirDialog.h deleted file mode 100644 index 64c9f7506c68a6776644b46105383ba667820dbb..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotDirDialog.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef QATPLOTWIDGETS_PLOTDIRDIALOG_H -#define QATPLOTWIDGETS_PLOTDIRDIALOG_H -class PlotHist1D; -class PlotHist2D; -#include <QtGui/QDialog> -class PlotDirDialog: public QDialog { - - Q_OBJECT - - public: - - // Constructor: - PlotDirDialog(QWidget *parent); - - // Destructor: - virtual ~PlotDirDialog(); - - // Synch to (*copy* the vector!) - void synchTo(std::vector<PlotHist1D*>, std::vector<PlotHist2D*>); - - public slots: - - void setSymbolSize1D(int); - void togglePlotStyle1D(bool); - - void setLineWidth1D(int); - void toggleLineColor1D(bool); - void toggleBrushColor1D(bool); - void toggleLineStyle1D(bool); - void toggleBrushStyle1D(bool); - - void setLineWidth2D(int); - void toggleLineColor2D(bool); - void toggleBrushColor2D(bool); - void toggleLineStyle2D(bool); - void toggleBrushStyle2D(bool); - - signals: - - void updateManager(); - - private: - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotFunction1DDialog.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotFunction1DDialog.h deleted file mode 100644 index 9cf421f2bdda19f6731f693ff1d5fccfcebc3f8e..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotFunction1DDialog.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef QATPLOTWIDGETS_PLOTFUNCTION1DDIALOG_H -#define QATPLOTWIDGETS_PLOTFUNCTION1DDIALOG_H -#include "CLHEP/GenericFunctions/Parameter.hh" -class PlotFunction1D; -#include <QtGui/QDialog> -class PlotFunction1DDialog: public QDialog { - - Q_OBJECT - - public: - - // Constructor: - PlotFunction1DDialog(QWidget *parent); - - // Destructor: - virtual ~PlotFunction1DDialog(); - - void synchTo(PlotFunction1D *); - void clearParameters(); - void addParameter(Genfun::Parameter * p); - - public slots: - - void setLineWidth(int); - void toggleLineColor(bool); - void toggleLineStyle(bool); - void changeParameter(int row, int column); - void popParameterDial(int row, int column); - - void synchToFunction(); - - signals: - - void updateFunction(); - - private: - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist1DDialog.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist1DDialog.h deleted file mode 100644 index 0392595dc1d0000fd24de9bebd7811e06ec82d6b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist1DDialog.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef QATPLOTWIDGETS_PLOTHIST1DDIALOG_H -#define QATPLOTWIDGETS_PLOTHIST1DDIALOG_H -#include <QtGui/QDialog> -class PlotHist1D; -class PlotHist1DDialog: public QDialog { - - Q_OBJECT - - public: - - // Constructor: - PlotHist1DDialog(QWidget *parent); - - // Destructor: - virtual ~PlotHist1DDialog(); - - void synchTo(PlotHist1D *); - - public slots: - - void setLineWidth(int); - void setSymbolSize(int); - void toggleLineColor(bool); - void toggleBrushColor(bool); - void toggleLineStyle(bool); - void toggleBrushStyle(bool); - void togglePlotStyle(bool); - - signals: - - void updateHisto(); - - private: - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist2DDialog.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist2DDialog.h deleted file mode 100644 index bdaeeaf6739af78af5681ad4ad001c5ccd641d1a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotHist2DDialog.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef QATPLOTWIDGETS_PLOTHIST2DDIALOG_H -#define QATPLOTWIDGETS_PLOTHIST2DDIALOG_H -#include <QtGui/QDialog> -class PlotHist2D; -class PlotHist2DDialog: public QDialog { - - Q_OBJECT - - public: - - // Constructor: - PlotHist2DDialog(QWidget *parent); - - // Destructor: - virtual ~PlotHist2DDialog(); - - void synchTo(PlotHist2D *); - - public slots: - - void setLineWidth(int); - void toggleLineColor(bool); - void toggleBrushColor(bool); - void toggleLineStyle(bool); - void toggleBrushStyle(bool); - - signals: - - void updateHisto(); - - private: - - - class Clockwork; - Clockwork *m_c; - -}; - -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotView.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotView.h deleted file mode 100644 index 8dcb969bbc87471044e43ff8d5fa7ce8dfc36d6f..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/PlotView.h +++ /dev/null @@ -1,148 +0,0 @@ -#ifndef QATPLOTWIDGETS_PLOTVIEW_H -#define QATPLOTWIDGETS_PLOTVIEW_H - -#include <QtGui/QGraphicsView> -#include "QatPlotting/AbsPlotter.h" -class QTextEdit; -class AbsRangeDivider; -class PlotView: public QGraphicsView, public AbsPlotter { - - Q_OBJECT - - public: - - // Type definitions: - enum Style {LINEAR, LOG}; - - // Constructor - PlotView(QWidget *parent=0); - - // Constructor: - PlotView(const QRectF * rect, Style xStyle=LINEAR, Style yStyle=LINEAR, bool createRangeDividers=true, QWidget *parent=0); - - // Destructor: - ~PlotView(); - - // Set the Range Divider - void setXRangeDivider(AbsRangeDivider * xDivider); - - // Create or re-create a Range Divider (according to current type) - AbsRangeDivider *createXRangeDivider(bool set=true); - - // Set the Range Divider - void setYRangeDivider(AbsRangeDivider * yDivider); - - // Create or re-create Range Divider (according to current type). - AbsRangeDivider *createYRangeDivider (bool set=true); - - // Resize: - virtual void resizeEvent (QResizeEvent *event); - - // Get various sorts of plot information: - // 1. The rectangle, in plot space: - virtual QRectF * rect(); - virtual const QRectF * rect() const; - - // 2. The scene: - virtual QGraphicsScene* scene(); - - // 3. The group where items are placed. - virtual QGraphicsItemGroup *group(); - - // 4. The matrix used in placing those items: - virtual QMatrix matrix(); - - // Add a plotable item to this plotter: - virtual void add (Plotable *); - - - // Accessors: - virtual bool isBox() const; - virtual bool isGrid() const; - virtual bool isXZero() const; - virtual bool isYZero() const; - virtual qreal statBoxX() const; - virtual qreal statBoxY() const; - virtual bool isLogX() const; - virtual bool isLogY() const; - virtual qreal labelXSizePercentage() const; - virtual qreal labelYSizePercentage() const; - - // Clear the Plots, and the rectangle as well: - virtual void clear(); - - // Get the text edits holding the text labels: - QTextEdit *titleTextEdit(); - QTextEdit *xLabelTextEdit(); - QTextEdit *yLabelTextEdit(); - QTextEdit *vLabelTextEdit(); - QTextEdit *statTextEdit(); - - QFont & xAxisFont() const; - QFont & yAxisFont() const; - - // Start Animating - virtual void startAnimating(int frameRateMillisec); - - // Stop Animating - virtual void stopAnimating(); - - public slots: - - void setGrid(bool flag); - void setXZero(bool flag); - void setYZero(bool flag); - void setLogX(bool flag); - void setLogY(bool flag); - void setBox(bool flag); - void setLabelPos(qreal x, qreal y); - void setLabelXSizePercentage(qreal perCento); - void setLabelYSizePercentage(qreal perCento); - - // Set the Plot Rectangle (may need synchController as well); - virtual void setRect(const QRectF & ); - - - void save (const std::string & filename); - - void updateTitle(); - void updateXLabel(); - void updateYLabel(); - void updateVLabel(); - void updateStat(); - void recreate(); - - void labelHome(); - void editXAxisFont(); - void editYAxisFont(); - void copy(); - void save(); - void print(); - - - private: - - // Clockwork: - class Clockwork; - Clockwork *m_c; - - // Illegal operations: - PlotView & operator = (const PlotView &); - PlotView(const PlotView &); - - // Create - void create(); - - private slots: - - void animate(); - - signals: - - void pointChosen(double x, double y); - friend class GraphBoxItem; - -}; - - -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/RangeDivision.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/RangeDivision.h deleted file mode 100644 index 4ff8831055136bfc4d68ffb1fc0874678a20b963..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/RangeDivision.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef QATPLOTWIDGETS_RANGEDIVISION_H -#define QATPLOTWIDGETS_RANGEDIVISION_H -#include <QtGui/QTextDocument> - -class RangeDivision { - - public: - - // Constructor: - RangeDivision(double value); - - // Copy Constructor: - RangeDivision(const RangeDivision & right); - - // Assignment operator: - RangeDivision & operator=(const RangeDivision & right); - - // Destructor; - ~RangeDivision(); - - - // Value Accessors: - const double & x() const; - - // Text Accessor. - QTextDocument *label() const; - - // Set Document (deep copy): - void setLabel(QTextDocument *doc); - - private: - - double m_x; - QTextDocument *m_label; - - -}; -#endif diff --git a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/characterwidget.h b/graphics/Qat/QatPlotWidgets/QatPlotWidgets/characterwidget.h deleted file mode 100644 index 73d3fcccebe53feb441cc442b7ad4dc022fd8008..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/QatPlotWidgets/characterwidget.h +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2004-2006 Trolltech ASA. All rights reserved. -** -** This file is part of the example classes of the Qt Toolkit. -** -** This file may be used under the terms of the GNU General Public -** License version 2.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of -** this file. Please review the following information to ensure GNU -** General Public Licensing requirements will be met: -** http://www.trolltech.com/products/qt/opensource.html -** -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://www.trolltech.com/products/qt/licensing.html or contact the -** sales department at sales@trolltech.com. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ - -#ifndef CHARACTERWIDGET_H -#define CHARACTERWIDGET_H - -#include <QtGui/QFont> -#include <QtCore/QPoint> -#include <QtCore/QSize> -#include <QtCore/QString> -#include <QtGui/QWidget> - -class QMouseEvent; -class QPaintEvent; - -class CharacterWidget : public QWidget -{ - Q_OBJECT - -public: - CharacterWidget(QWidget *parent = 0); - QSize sizeHint() const; - -public slots: - void updateFont(const QFont &font); - void updateSize(const QString &fontSize); - void updateFamily(const QString &fontFamily); - void updateStyle(const QString &fontStyle); - void updateFontMerging(bool enable); - -signals: - void characterSelected(const QString &character); - -protected: - void mouseMoveEvent(QMouseEvent *event); - void mousePressEvent(QMouseEvent *event); - void paintEvent(QPaintEvent *event); - -private: - QFont m_displayFont; - int m_columns; - int m_lastKey; - int m_squareSize; -}; - -#endif diff --git a/graphics/Qat/QatPlotWidgets/src/AbsRangeDivider.cpp b/graphics/Qat/QatPlotWidgets/src/AbsRangeDivider.cpp deleted file mode 100644 index 95973990413a34515577a648962c4be3efbc1e99..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/AbsRangeDivider.cpp +++ /dev/null @@ -1,28 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotWidgets/AbsRangeDivider.h" -AbsRangeDivider::AbsRangeDivider() { -} - -AbsRangeDivider::~AbsRangeDivider() { -} diff --git a/graphics/Qat/QatPlotWidgets/src/CustomRangeDivider.cpp b/graphics/Qat/QatPlotWidgets/src/CustomRangeDivider.cpp deleted file mode 100644 index d5fb128642d51ec895a22d263bc00d78e2960d29..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/CustomRangeDivider.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include "QatPlotWidgets/CustomRangeDivider.h" -// Constructor: -CustomRangeDivider::CustomRangeDivider(): - m_min(0),m_max(0){ -} - -// Destructor: -CustomRangeDivider::~CustomRangeDivider(){ -} - -// Insert a subdivision: -void CustomRangeDivider::add (double x, QTextDocument *label){ - m_subdivision.push_back(RangeDivision(x)); - if (label) m_subdivision.back().setLabel(label); // internally this copies. -} - -// Get the number of subdivision: -int CustomRangeDivider::getNumSubdivisions() const{ - return m_subdivision.size(); -} - -// Get the location of each subdivision: -const RangeDivision & CustomRangeDivider::getSubdivision ( int i) const{ - return m_subdivision[i]; -} - - -// Set the range: -void CustomRangeDivider::setRange(double min, double max){ - - // This protection insures - if (min==max) return; - m_min=min; - m_max=max; - -} - -// Set the range: -void CustomRangeDivider::setMin(double min){ - setRange(min,m_max); -} - -// Set the range: -void CustomRangeDivider::setMax(double max){ - setRange(m_min,max); -} - -// Get the validity of each subdivision: -bool CustomRangeDivider::isValid(int i) const { - const RangeDivision & rd=getSubdivision(i); - return (rd.x()>=m_min && rd.x()<=m_max); -} diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushBDiagPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushBDiagPattern.png deleted file mode 100644 index 662e77317fe33d71324104668fc0493dc342bc1d..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushBDiagPattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushCrossPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushCrossPattern.png deleted file mode 100644 index 2eb109a0d751f9aad7e35ee088dcc7913cfd8966..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushCrossPattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense1Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense1Pattern.png deleted file mode 100644 index 68a18666f588dd6261f243bacf36218e0f9095db..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense1Pattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense2Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense2Pattern.png deleted file mode 100644 index 7db91356386ca40eda4177d6775aec58de1a34a5..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense2Pattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense3Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense3Pattern.png deleted file mode 100644 index 1eaea6a1badc95f6e3005fdcfc4310f973d37ff6..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense3Pattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense4Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense4Pattern.png deleted file mode 100644 index afb3872640a02c618628d72bdf55bf17692db86e..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense4Pattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense5Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense5Pattern.png deleted file mode 100644 index c1eba0eedf41689f3c1aaf66efa7b8cadaf0ea67..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense5Pattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense6Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense6Pattern.png deleted file mode 100644 index 1f0ba1353ed491de62498036b331463b71decd90..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense6Pattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense7Pattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense7Pattern.png deleted file mode 100644 index c8c5a8e5bb0838d62e9d59725f979cdd8d19c004..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDense7Pattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDiagCrossPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDiagCrossPattern.png deleted file mode 100644 index 9c6c087f8c5346dc6d6e87119e95585b822604b8..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushDiagCrossPattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushFDiagPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushFDiagPattern.png deleted file mode 100644 index 005dbdb99690b4b697271b2f6b436a0a38fc4dd1..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushFDiagPattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushHorPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushHorPattern.png deleted file mode 100644 index 8794e64484ccbec0a2b5f41b0ab2e6fb6a9c7657..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushHorPattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushNoBrush.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushNoBrush.png deleted file mode 100644 index ba4b2cc894c76118882947ecb1df3d0767891caf..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushNoBrush.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushSolidPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushSolidPattern.png deleted file mode 100644 index 89f554ae220f2a18ff7c72d8a3fb27e4cc9e660a..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushSolidPattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushVerPattern.png b/graphics/Qat/QatPlotWidgets/src/ICONS/BrushVerPattern.png deleted file mode 100644 index 9791ef60fec27961f9671f104c92e6e6eba2dd23..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/BrushVerPattern.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/QtSolid.png b/graphics/Qat/QatPlotWidgets/src/ICONS/QtSolid.png deleted file mode 100644 index ea0012958c317c53a572877a6f1b49c6df223c74..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/QtSolid.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/black.png b/graphics/Qat/QatPlotWidgets/src/ICONS/black.png deleted file mode 100644 index ea9ccdb5c071335697d8e25fb417eefb31fa986e..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/black.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/blue.png b/graphics/Qat/QatPlotWidgets/src/ICONS/blue.png deleted file mode 100644 index 3a4dcc71ae673666f7f08cdadedd79dcae3cb89e..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/blue.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/brush-styles.png b/graphics/Qat/QatPlotWidgets/src/ICONS/brush-styles.png deleted file mode 100644 index ea0012958c317c53a572877a6f1b49c6df223c74..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/brush-styles.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/circle.png b/graphics/Qat/QatPlotWidgets/src/ICONS/circle.png deleted file mode 100644 index 125977bb84ef7d16296c9be2e573e7e8238fa702..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/circle.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/cyan.png b/graphics/Qat/QatPlotWidgets/src/ICONS/cyan.png deleted file mode 100644 index 9f24127de7c15fb0ba883d923f4e28abaae6fa9f..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/cyan.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/gray.png b/graphics/Qat/QatPlotWidgets/src/ICONS/gray.png deleted file mode 100644 index 6a2ce52d756f7c4b352902e9f237afe6f0137670..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/gray.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/green.png b/graphics/Qat/QatPlotWidgets/src/ICONS/green.png deleted file mode 100644 index f0b109a15b47158bec56104acf9e960ce497d478..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/green.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/mauve.png b/graphics/Qat/QatPlotWidgets/src/ICONS/mauve.png deleted file mode 100644 index 7ce50cb84e1d11e85c2db30f1280565058160017..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/mauve.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/nosymbol.png b/graphics/Qat/QatPlotWidgets/src/ICONS/nosymbol.png deleted file mode 100644 index 016d8ba5a76c0112a48860254da8e5f54a1767d7..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/nosymbol.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dash.png b/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dash.png deleted file mode 100644 index 67082c375870fa9aefa8246ebfbdd411c3d14a55..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dash.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dashdot.png b/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dashdot.png deleted file mode 100644 index 64b384660f7b5e32c0c5e282770ca41f8545a0d8..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dashdot.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dashdotdot.png b/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dashdotdot.png deleted file mode 100644 index ff1b2e69cd1f5e99a4bf871554f342599e3c45a0..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dashdotdot.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dot.png b/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dot.png deleted file mode 100644 index 54e81c94698267362b85f79728ca3f9a173c8d8f..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-dot.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-none.png b/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-none.png deleted file mode 100644 index 38c05c11d15a24692eb26d33f86982d2d48764b7..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-none.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-solid.png b/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-solid.png deleted file mode 100644 index e042b18017e927bdc74fa32c806ab394e1cfce8e..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/qpen-solid.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/red.png b/graphics/Qat/QatPlotWidgets/src/ICONS/red.png deleted file mode 100644 index 8b2f6d7cd7a6d057f6221aae180af8c2643a3460..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/red.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/square.png b/graphics/Qat/QatPlotWidgets/src/ICONS/square.png deleted file mode 100644 index e60b10b58f19dba5b78d2e8b3c4d7cb4feed4694..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/square.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/tridown.png b/graphics/Qat/QatPlotWidgets/src/ICONS/tridown.png deleted file mode 100644 index 29c335946817a64070f86713767e0d0ee8359f05..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/tridown.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/ICONS/triup.png b/graphics/Qat/QatPlotWidgets/src/ICONS/triup.png deleted file mode 100644 index d7afd0ca928f155f75797f52cd02d0225610aec6..0000000000000000000000000000000000000000 Binary files a/graphics/Qat/QatPlotWidgets/src/ICONS/triup.png and /dev/null differ diff --git a/graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.cpp b/graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.cpp deleted file mode 100644 index d04c4574bc1494dc6760563c10eea44984283b05..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.cpp +++ /dev/null @@ -1,210 +0,0 @@ -#include "QatPlotWidgets/LabelEditorDialog.h" -#include <QColorDialog> -#include <iostream> -#include "ui_LabelEditorDialog.h" - -class LabelEditorDialog::Clockwork { -public: - Ui::LabelEditorDialog ui; - CharacterWidget *cw; -}; - -LabelEditorDialog::~LabelEditorDialog() { - delete m_c; -} -LabelEditorDialog::LabelEditorDialog(QWidget *parent): QDialog(parent) ,m_c(new Clockwork()){ - m_c->ui.setupUi(this); - connect (m_c->ui.boldButton, SIGNAL(clicked()), this, SLOT(textBold())); - connect (m_c->ui.italicButton, SIGNAL(clicked()), this, SLOT(textItalic())); - connect (m_c->ui.scriptButton, SIGNAL(clicked()), this, SLOT(textScript())); - connect (m_c->ui.fontComboBox, SIGNAL(activated( const QString & ) ), this, SLOT(textFamily(const QString &))); - connect (m_c->ui.fontSizeSpinBox, SIGNAL(valueChanged(int)), this, SLOT(textSize(int))); - connect (m_c->ui.colorButton, SIGNAL(clicked()), this, SLOT(textColor())); - connect (m_c->ui.specialCButton, SIGNAL(clicked()), this, SLOT(toggleChars())); - QColor color("black"); - - QPalette palette = m_c->ui.colorButton->palette(); - palette.setColor(QPalette::Button,color); - m_c->ui.colorButton->setAutoFillBackground(true); - m_c->ui.colorButton->setPalette(palette); - - m_c->cw=new CharacterWidget(0); - m_c->ui.frame->setWidget(m_c->cw); - connect (m_c->ui.fontComboBox, SIGNAL(activated( const QString &)), m_c->cw, SLOT(updateFamily(const QString & ))); - connect (m_c->cw, SIGNAL(characterSelected(const QString &)), m_c->ui.textEdit, SLOT(insertPlainText(const QString & ))); - - m_c->cw->updateSize("12"); - - connect(m_c->ui.textEdit, SIGNAL(currentCharFormatChanged(const QTextCharFormat &)), this, SLOT(updateCharFormat(const QTextCharFormat &))); - m_c->ui.frame->hide(); - setMinimumSize(600,200); - resize(minimumSize()); - - QTextCharFormat format; - QFont font; - font.setFamily("Arial"); - font.setPointSize(24); - format.setFont(font); - m_c->ui.textEdit->setCurrentCharFormat(format); - m_c->ui.textEdit->setFocus(); - m_c->ui.textEdit->setText(QString("")); -} - -const QTextEdit *LabelEditorDialog::textEdit() const { - return m_c->ui.textEdit; -} - - -QTextEdit *LabelEditorDialog::textEdit() { - return m_c->ui.textEdit; -} - - - - -void LabelEditorDialog::textFamily( const QString &f ) -{ - QTextEdit * tE = m_c->ui.textEdit; - QTextCharFormat format; - format.setFontFamily(f); - tE->mergeCurrentCharFormat(format); -} - - -void LabelEditorDialog::textSize( int i ) -{ - QTextEdit * tE = m_c->ui.textEdit; - QTextCharFormat format; - format.setFontPointSize(i); - tE->mergeCurrentCharFormat(format); -} - - -void LabelEditorDialog::textBold() -{ - - QFont font=m_c->ui.boldButton->font(); - bool flag=font.bold(); - flag = !flag; - font.setBold(flag); - m_c->ui.boldButton->setFont(font); - - - QTextEdit * tE = m_c->ui.textEdit; - QTextCharFormat format; - format.setFontWeight(flag ? QFont::Bold : QFont::Normal ); - tE->mergeCurrentCharFormat(format); - -} - -void LabelEditorDialog::textItalic() -{ - QFont font=m_c->ui.italicButton->font(); - bool flag=font.italic(); - flag = !flag; - font.setItalic(flag); - m_c->ui.italicButton->setFont(font); - - - QTextEdit * tE = m_c->ui.textEdit; - QTextCharFormat format; - format.setFontItalic(flag); - tE->mergeCurrentCharFormat(format); -} - - -void LabelEditorDialog::textScript() -{ - QTextEdit * tE = m_c->ui.textEdit; - QTextCharFormat format; - - QString text = m_c->ui.scriptButton->text(); - if (text==QString("-")) { - m_c->ui.scriptButton->setText(QString("^")); - format.setVerticalAlignment(QTextCharFormat::AlignSuperScript); - } - if (text==QString("^")){ - m_c->ui.scriptButton->setText(QString("_")); - format.setVerticalAlignment(QTextCharFormat::AlignSubScript); - } - if (text==QString("_")) { - m_c->ui.scriptButton->setText(QString("-")); - format.setVerticalAlignment(QTextCharFormat::AlignNormal); - } - - tE->mergeCurrentCharFormat(format); -} - - -void LabelEditorDialog::textColor() -{ - QColor textColorVal; - QColor col = QColorDialog::getColor(textColorVal, this ); - if ( !col.isValid() ) return; - - QPalette palette = m_c->ui.colorButton->palette(); - palette.setColor(QPalette::Button,col); - m_c->ui.colorButton->setAutoFillBackground(true); - m_c->ui.colorButton->setPalette(palette); - - QTextEdit * tE = m_c->ui.textEdit; - tE->setTextColor(col); -} - -void LabelEditorDialog::updateCharFormat(const QTextCharFormat &f) { - - // Don't update if cursor moves to select text, it is damn annoying. - if (m_c->ui.textEdit->textCursor().selectionStart()!=m_c->ui.textEdit->textCursor().selectionEnd()) return; - - static QTextCharFormat df; - df.setVerticalAlignment(QTextCharFormat::AlignNormal); - df.setFontItalic(false); - df.setFontWeight(QFont::Normal); - df.setFontPointSize(24); - df.setFontFamily("Arial"); - - QTextCharFormat F = f.fontPointSize()!=0.0 ? f: df; - if (F.verticalAlignment()==QTextCharFormat::AlignNormal) m_c->ui.scriptButton->setText(QString("-")); - if (F.verticalAlignment()==QTextCharFormat::AlignSubScript) m_c->ui.scriptButton->setText(QString("_")); - if (F.verticalAlignment()==QTextCharFormat::AlignSuperScript) m_c->ui.scriptButton->setText(QString("^")); - { - QFont font=m_c->ui.italicButton->font(); - font.setItalic (F.fontItalic()); - m_c->ui.italicButton->setFont(font); - } - { - QFont font=m_c->ui.boldButton->font(); - font.setBold(F.fontWeight()==QFont::Bold); - m_c->ui.boldButton->setFont(font); - } - - m_c->ui.fontSizeSpinBox->setValue(int(F.fontPointSize()+0.5)); - - QString fam=F.fontFamily(); - m_c->ui.fontComboBox->setEditText(fam); - - - QColor color=F.foreground().color(); - QPalette palette = m_c->ui.colorButton->palette(); - palette.setColor(QPalette::Button,color); - m_c->ui.colorButton->setAutoFillBackground(true); - m_c->ui.colorButton->setPalette(palette); -} - - - -void LabelEditorDialog::toggleChars() { - if (m_c->ui.frame->isHidden()) { - m_c->ui.frame->show(); - setMinimumSize(600,600); - resize(minimumSize()); - } - else { - - m_c->ui.frame->hide(); - setMinimumSize(600,200); - resize(minimumSize()); - } - -} - diff --git a/graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.ui b/graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.ui deleted file mode 100644 index ee1b0a2e6e150e45cf302cd59e7c682261bd323e..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/LabelEditorDialog.ui +++ /dev/null @@ -1,311 +0,0 @@ -<ui version="4.0" > - <class>LabelEditorDialog</class> - <widget class="QDialog" name="LabelEditorDialog" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>600</width> - <height>200</height> - </rect> - </property> - <property name="minimumSize" > - <size> - <width>600</width> - <height>200</height> - </size> - </property> - <property name="windowTitle" > - <string>Label Edit</string> - </property> - <layout class="QVBoxLayout" > - <property name="spacing" > - <number>6</number> - </property> - <property name="margin" > - <number>9</number> - </property> - <item> - <layout class="QHBoxLayout" > - <property name="spacing" > - <number>6</number> - </property> - <property name="margin" > - <number>0</number> - </property> - <item> - <widget class="QFontComboBox" name="fontComboBox" > - <property name="toolTip" > - <string>Set the Font Family</string> - </property> - <property name="currentIndex" > - <number>40</number> - </property> - </widget> - </item> - <item> - <widget class="QSpinBox" name="fontSizeSpinBox" > - <property name="toolTip" > - <string>Set the font size</string> - </property> - <property name="value" > - <number>24</number> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="colorButton" > - <property name="text" > - <string/> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="boldButton" > - <property name="font" > - <font> - <weight>50</weight> - <bold>false</bold> - </font> - </property> - <property name="toolTip" > - <string>Toggle Bold Characters</string> - </property> - <property name="text" > - <string>B</string> - </property> - <property name="checkable" > - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="italicButton" > - <property name="toolTip" > - <string>Toggle Italic Characters</string> - </property> - <property name="text" > - <string>I</string> - </property> - <property name="checkable" > - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="scriptButton" > - <property name="toolTip" > - <string>Set Superscript</string> - </property> - <property name="text" > - <string>-</string> - </property> - <property name="checkable" > - <bool>false</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="specialCButton" > - <property name="font" > - <font> - <family>Standard Symbols L</family> - </font> - </property> - <property name="toolTip" > - <string>Choose Special Character</string> - </property> - <property name="text" > - <string>S</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <layout class="QVBoxLayout" > - <property name="spacing" > - <number>6</number> - </property> - <property name="margin" > - <number>0</number> - </property> - <item> - <widget class="QTextEdit" name="textEdit" > - <property name="minimumSize" > - <size> - <width>0</width> - <height>50</height> - </size> - </property> - <property name="maximumSize" > - <size> - <width>16777215</width> - <height>100</height> - </size> - </property> - <property name="font" > - <font> - <pointsize>24</pointsize> - </font> - </property> - <property name="horizontalScrollBarPolicy" > - <enum>Qt::ScrollBarAlwaysOff</enum> - </property> - <property name="lineWrapMode" > - <enum>QTextEdit::WidgetWidth</enum> - </property> - <property name="lineWrapColumnOrWidth" > - <number>1500</number> - </property> - </widget> - </item> - <item> - <widget class="QScrollArea" name="frame" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Ignored" hsizetype="Ignored" > - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>0</width> - <height>400</height> - </size> - </property> - <property name="palette" > - <palette> - <active> - <colorrole role="Base" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="Window" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="Base" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="Window" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="Base" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - <colorrole role="Window" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>255</red> - <green>255</green> - <blue>255</blue> - </color> - </brush> - </colorrole> - </disabled> - </palette> - </property> - <property name="frameShape" > - <enum>QFrame::StyledPanel</enum> - </property> - <property name="frameShadow" > - <enum>QFrame::Raised</enum> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons" > - <set>QDialogButtonBox::Ok</set> - </property> - </widget> - </item> - </layout> - </widget> - <resources/> - <connections> - <connection> - <sender>buttonBox</sender> - <signal>accepted()</signal> - <receiver>LabelEditorDialog</receiver> - <slot>accept()</slot> - <hints> - <hint type="sourcelabel" > - <x>248</x> - <y>254</y> - </hint> - <hint type="destinationlabel" > - <x>157</x> - <y>274</y> - </hint> - </hints> - </connection> - <connection> - <sender>buttonBox</sender> - <signal>rejected()</signal> - <receiver>LabelEditorDialog</receiver> - <slot>reject()</slot> - <hints> - <hint type="sourcelabel" > - <x>316</x> - <y>260</y> - </hint> - <hint type="destinationlabel" > - <x>286</x> - <y>274</y> - </hint> - </hints> - </connection> - </connections> -</ui> diff --git a/graphics/Qat/QatPlotWidgets/src/LinearRangeDivider.cpp b/graphics/Qat/QatPlotWidgets/src/LinearRangeDivider.cpp deleted file mode 100644 index 73a56d3c44064545c6ef604ab5fbe3c85b278292..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/LinearRangeDivider.cpp +++ /dev/null @@ -1,175 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotWidgets/LinearRangeDivider.h" -#include <cmath> -#include <sstream> -inline double ciel(double x) { - double fx = floor(x); - if (x==fx) return x; - else return x+1.0; -} -LinearRangeDivider::LinearRangeDivider(): - m_min(0.0),m_max(1.0) -{ -} - -LinearRangeDivider::~LinearRangeDivider() { -} - - - -// Set the range: -void LinearRangeDivider::setRange(double min, double max){ - - // This protection insures - if (min==max) return; - m_min=min; - m_max=max; - recompute(); - - - - -} - -// Set the range: -void LinearRangeDivider::setMin(double min){ - setRange(min,m_max); -} - -// Set the range: -void LinearRangeDivider::setMax(double max){ - setRange(m_min,max); -} - - -// Get the number of subdivisions: -int LinearRangeDivider::getNumSubdivisions() const{ - return m_subdivision.size(); -} - -// Get the location of each subdivision: -const RangeDivision & LinearRangeDivider::getSubdivision(int i) const{ - return m_subdivision[i]; -} - - -void LinearRangeDivider::recompute() { - // Clean out old subdivisions: - m_subdivision.erase(m_subdivision.begin(),m_subdivision.end()); - - double lower, multiplier; - int nTicks; - - double exponent = floor(log10(m_max-m_min)); - multiplier = pow(10,exponent); - int Ntyp = int(10*m_max/multiplier-10*m_min/multiplier); - // number from 10 to 100 - double omult; - if (Ntyp<12) { - omult = .1*multiplier; - multiplier = .2* multiplier; - } - else if (Ntyp<16) { - omult = .1*multiplier; - multiplier = .3*multiplier; - } - else if (Ntyp<25) { - omult = .2*multiplier; - multiplier = .4*multiplier; - } - else if (Ntyp<30) { - omult = .1*multiplier; - multiplier = .5*multiplier; - } - else if (Ntyp<40) { - omult = .2*multiplier; - multiplier = .6*multiplier; - } - else if (Ntyp<50) { - omult = .2*multiplier; - multiplier = .8*multiplier; - } - else if (Ntyp<60) { - omult = multiplier; - multiplier = 1.0*multiplier; - } - else if (Ntyp<75) { - omult = 0.4*multiplier; - multiplier = 1.2*multiplier; - } - else if (Ntyp<80) { - omult = 0.5*multiplier; - multiplier = 1.5*multiplier; - } - else { - omult = 0.5*multiplier; - multiplier = 2.0*multiplier; - } - int tk=(int) floor(m_min/omult +0.5); - - lower = tk*omult; - nTicks=int(((m_max-lower)/multiplier) + 1.05); - - if (nTicks<50) { - for (int i=0;i<nTicks;i++) { - double sub = lower+i*multiplier; - //if (fabs(xValue)/xMultiplier < 1.0E-6) xValue=0; - if (sub>=m_min && sub<=m_max) { - m_subdivision.push_back(sub); - - std::ostringstream label; - label << sub; - QString qstr = label.str().c_str(); - m_subdivision.back().label()->setPlainText(qstr); - } - - } - } - else { - - { - m_subdivision.push_back(m_min); - - std::ostringstream label; - label << m_min; - QString qstr = label.str().c_str(); - m_subdivision.back().label()->setPlainText(qstr); - } - { - m_subdivision.push_back(m_max); - - std::ostringstream label; - label << m_max; - QString qstr = label.str().c_str(); - m_subdivision.back().label()->setPlainText(qstr); - } - } -} - -// Get the validity of each subdivision: -bool LinearRangeDivider::isValid(int i) const { - const RangeDivision & rd=getSubdivision(i); - return (rd.x()>=m_min && rd.x()<=m_max); -} - diff --git a/graphics/Qat/QatPlotWidgets/src/LinearSubdivider.cpp b/graphics/Qat/QatPlotWidgets/src/LinearSubdivider.cpp deleted file mode 100644 index 79f6d95324d99a2574b547e7055dc5b522c25dea..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/LinearSubdivider.cpp +++ /dev/null @@ -1,149 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotWidgets/LinearSubdivider.h" -#include <cmath> -#include <sstream> -#include <iostream> -inline double ciel(double x) { - double fx = floor(x); - if (x==fx) return x; - else return x+1.0; -} -LinearSubdivider::LinearSubdivider(): - m_min(0.0),m_max(1.0) -{ -} - -LinearSubdivider::~LinearSubdivider() { -} - - - -// Set the range: -void LinearSubdivider::setRange(double min, double max){ - - // This protection insures - if (min==max) return; - m_min=min; - m_max=max; - recompute(); - - - - -} - -// Set the range: -void LinearSubdivider::setMin(double min){ - setRange(min,m_max); -} - -// Set the range: -void LinearSubdivider::setMax(double max){ - setRange(m_min,max); -} - - -// Get the number of subdivisions: -int LinearSubdivider::getNumSubdivisions() const{ - return m_subdivision.size(); -} - -// Get the location of each subdivision: -const RangeDivision & LinearSubdivider::getSubdivision(int i) const{ - return m_subdivision[i]; -} - - -void LinearSubdivider::recompute() { - // Clean out old subdivisions: - m_subdivision.erase(m_subdivision.begin(),m_subdivision.end()); - - - double exponent = floor(log10(m_max-m_min)); - double multiplier = pow(10,exponent); - int Ntyp = int (10*m_max/multiplier-10*m_min/multiplier+0.5); - // number from 10 to 100 - int intervals=1; - if (Ntyp==12) { - intervals=4; - } - else if (Ntyp==20) { - intervals=5; - } - else if (Ntyp==30) { - intervals=5; - } - else if (Ntyp==40) { - intervals=4; - } - else if (Ntyp==50) { - intervals=5; - } - else if (Ntyp==60) { - intervals=5; - } - else if (Ntyp==70) { - intervals=7; - } - else if (Ntyp==80) { - intervals=4; - } - else if (Ntyp==90) { - intervals=3; - } - else { - intervals=5; - } - multiplier *= (Ntyp/10.0/intervals); - - int nTicks=int(((m_max-m_min)/multiplier) + 1.05); - - if (nTicks<50) { - for (int i=0;i<nTicks;i++) { - double sub = m_min+i*multiplier; - //if (fabs(xValue)/xMultiplier < 1.0E-6) xValue=0; - if (sub>=m_min && sub<=m_max) { - m_subdivision.push_back(sub); - - } - - } - } - else { - - { - m_subdivision.push_back(m_min); - } - { - m_subdivision.push_back(m_max); - } - } -} - -// Get the validity of each subdivision: -bool LinearSubdivider::isValid(int i) const { - const RangeDivision & rd=getSubdivision(i); - return (rd.x()>=m_min && rd.x()<=m_max); -} - diff --git a/graphics/Qat/QatPlotWidgets/src/LogRangeDivider.cpp b/graphics/Qat/QatPlotWidgets/src/LogRangeDivider.cpp deleted file mode 100644 index e1d5834811556263c1d57b665ba1726628e857fd..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/LogRangeDivider.cpp +++ /dev/null @@ -1,150 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotWidgets/LogRangeDivider.h" -#include <cmath> -#include <sstream> -#include <algorithm> -inline double ciel(double x) { - double fx = floor(x); - if (x==fx) return x; - else return x+1.0; -} -LogRangeDivider::LogRangeDivider(): - m_min(0.0),m_max(1.0) -{ -} - -LogRangeDivider::~LogRangeDivider() { -} - - - -// Set the range: -void LogRangeDivider::setRange(double min, double max){ - - // This protection insures - if (min==max) return; - m_min=std::min(min,max); - m_max=std::max(min,max); - - if (m_max<0) { - m_max=1; - m_min=0.1; - } - if (m_min<0) { - m_min=m_max/10.0; - } - - recompute(); - - - - -} - -// Set the range: -void LogRangeDivider::setMin(double min){ - setRange(min,m_max); -} - -// Set the range: -void LogRangeDivider::setMax(double max){ - setRange(m_min,max); -} - - -// Get the number of subdivisions: -int LogRangeDivider::getNumSubdivisions() const{ - return m_subdivision.size(); -} - -// Get the location of each subdivision: -const RangeDivision & LogRangeDivider::getSubdivision(int i) const{ - return m_subdivision[i]; -} - -void LogRangeDivider::recompute() { - // Clean out old subdivisions: - m_subdivision.erase(m_subdivision.begin(),m_subdivision.end()); - - - double exponentMin = floor(log10(m_min)); - double multMin = pow(10,exponentMin); - unsigned int NMin = (unsigned int) (m_min/multMin+1); - if (NMin==10) { - NMin=1; - multMin*=10; - } - - double nDecades = log10(m_max/m_min); - static unsigned int valueSet3[]={1}; - static unsigned int valueSet2[]={1,5}; - static unsigned int valueSet1[]={1,2,5}; - static unsigned int valueSet0[]={1,2,3,4,5,6,7,8,9}; - static unsigned int *valueSet=NULL; - unsigned int valueSetSize=0; - unsigned int nJump = (unsigned int) (nDecades/8 + 1); - if (nDecades<1) { - valueSet=valueSet0; - valueSetSize=sizeof(valueSet0)/sizeof(int); - } - else if (nDecades<2) { - valueSet=valueSet1; - valueSetSize=sizeof(valueSet1)/sizeof(int); - } - else if (nDecades<3) { - valueSet=valueSet2; - valueSetSize=sizeof(valueSet2)/sizeof(int); - } - else { - valueSet=valueSet3; - valueSetSize=sizeof(valueSet3)/sizeof(int); - } - - while (1) { - - if (std::find(valueSet,valueSet+valueSetSize,NMin)!=valueSet+valueSetSize) { - m_subdivision.push_back(NMin*multMin); - std::ostringstream label; - label << NMin*multMin; - QString qstr = label.str().c_str(); - m_subdivision.back().label()->setPlainText(qstr); - } - - NMin++; - if (NMin==10) { - NMin=1; - multMin*=pow(10,nJump); - } - if (NMin*multMin > m_max) break; - } - -} - -// Get the validity of each subdivision: -bool LogRangeDivider::isValid(int i) const { - const RangeDivision & rd=getSubdivision(i); - return (rd.x()>=m_min && rd.x()<=m_max); -} - -//if (fabs(xValue)/xMultiplier < 1.0E-6) xValue=0; diff --git a/graphics/Qat/QatPlotWidgets/src/LogSubdivider.cpp b/graphics/Qat/QatPlotWidgets/src/LogSubdivider.cpp deleted file mode 100644 index 88278a195d10c6aee414f7e8e2d86202c1ac5e62..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/LogSubdivider.cpp +++ /dev/null @@ -1,145 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotWidgets/LogSubdivider.h" -#include <cmath> -#include <sstream> -#include <algorithm> -#include <iostream> -inline double ciel(double x) { - double fx = floor(x); - if (x==fx) return x; - else return x+1.0; -} -LogSubdivider::LogSubdivider(): - m_min(0.0),m_max(1.0) -{ -} - -LogSubdivider::~LogSubdivider() { -} - - - -// Set the range: -void LogSubdivider::setRange(double min, double max){ - - // This protection insures - if (min==max) return; - m_min=std::min(min,max); - m_max=std::max(min,max); - - if (m_max<0) { - m_max=1; - m_min=0.1; - } - if (m_min<0) { - m_min=m_max/10.0; - } - - recompute(); - - - - -} - -// Set the range: -void LogSubdivider::setMin(double min){ - setRange(min,m_max); -} - -// Set the range: -void LogSubdivider::setMax(double max){ - setRange(m_min,max); -} - - -// Get the number of subdivisions: -int LogSubdivider::getNumSubdivisions() const{ - return m_subdivision.size(); -} - -// Get the location of each subdivision: -const RangeDivision & LogSubdivider::getSubdivision(int i) const{ - return m_subdivision[i]; -} - -void LogSubdivider::recompute() { - // Clean out old subdivisions: - m_subdivision.erase(m_subdivision.begin(),m_subdivision.end()); - double nDecades = log10(m_max/m_min); - - - - - double exponentMin = floor(log10(m_min)); - double multMin = pow(10,exponentMin); - unsigned int NMin = (unsigned int) (m_min/multMin+1); - if (NMin==10) { - NMin=1; - multMin*=10; - } - - static unsigned int valueSet3[]={1}; - // static unsigned int valueSet2[]={1,5}; - // static unsigned int valueSet1[]={1,2,5}; - static unsigned int valueSet0[]={1,2,3,4,5,6,7,8,9}; - static unsigned int *valueSet=NULL; - unsigned int valueSetSize=0; - unsigned int nJump = (unsigned int) (nDecades/8 + 1); - if (nDecades<1) { - valueSet=valueSet0; - valueSetSize=sizeof(valueSet0)/sizeof(int); - } - else if (nDecades<2) { - valueSet=valueSet0; - valueSetSize=sizeof(valueSet0)/sizeof(int); - } - else { - valueSet=valueSet3; - valueSetSize=sizeof(valueSet3)/sizeof(int); - } - - while (1) { - - if (std::find(valueSet,valueSet+valueSetSize,NMin)!=valueSet+valueSetSize) { - m_subdivision.push_back(NMin*multMin); - } - - NMin++; - if (NMin==10) { - NMin=1; - multMin*=pow(10,nJump); - } - if (NMin*multMin > m_max) break; - } - -} - -// Get the validity of each subdivision: -bool LogSubdivider::isValid(int i) const { - const RangeDivision & rd=getSubdivision(i); - return (rd.x()>=m_min && rd.x()<=m_max); -} - -//if (fabs(xValue)/xMultiplier < 1.0E-6) xValue=0; diff --git a/graphics/Qat/QatPlotWidgets/src/PVControl.cpp b/graphics/Qat/QatPlotWidgets/src/PVControl.cpp deleted file mode 100644 index 6ea5c3b47879ee24694620a6640c422556256e52..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/PVControl.cpp +++ /dev/null @@ -1,250 +0,0 @@ -#include "QatPlotWidgets/PVControl.h" -#include <QtGui/QDoubleValidator> -#include "ui_PVControl.h" -#include <sstream> -#include <iostream> -#include <limits> - -class PVControl::Clockwork { -public: - Ui::PVControl ui; - QDoubleValidator *validator; - QRectF rectI; - QRectF rectII; - PlotView *plotView; - -}; - -QRectF PVControl::rect() { - return m_c->rectII; -} - -PVControl::~PVControl() { - delete m_c; -} - -Ui::PVControl & PVControl::ui() { - return m_c->ui; -} - -PVControl::PVControl (PlotView *parent, const QRectF & rect):QDialog(parent), m_c(new Clockwork()){ - m_c->validator=NULL; - m_c->plotView=parent; - - m_c->ui.setupUi(this); - setRect(rect); - - QObject::connect(m_c->ui.xZeroCheckBox, SIGNAL(clicked(bool)), parent, SLOT(setXZero(bool))); - QObject::connect(m_c->ui.yZeroCheckBox, SIGNAL(clicked(bool)), parent, SLOT(setYZero(bool))); - QObject::connect(m_c->ui.gridCheckBox, SIGNAL(clicked(bool)), parent, SLOT(setGrid(bool))); - QObject::connect(m_c->ui.logXCheckBox, SIGNAL(clicked(bool)), parent, SLOT(setLogX(bool))); - QObject::connect(m_c->ui.logYCheckBox, SIGNAL(clicked(bool)), parent, SLOT(setLogY(bool))); - QObject::connect(m_c->ui.labelBoxBox, SIGNAL(clicked(bool)), parent, SLOT(setBox(bool))); - - QObject::connect(m_c->ui.xMaxDial, SIGNAL(valueChanged(int)), this, SLOT(setXMax(int))); - QObject::connect(m_c->ui.xMinDial, SIGNAL(valueChanged(int)), this, SLOT(setXMin(int))); - QObject::connect(m_c->ui.yMaxDial, SIGNAL(valueChanged(int)), this, SLOT(setYMax(int))); - QObject::connect(m_c->ui.yMinDial, SIGNAL(valueChanged(int)), this, SLOT(setYMin(int))); - - - QObject::connect(m_c->ui.xMinBox, SIGNAL(editingFinished()), this, SLOT(changeXMin())); - QObject::connect(m_c->ui.xMaxBox, SIGNAL(editingFinished()), this, SLOT(changeXMax())); - QObject::connect(m_c->ui.yMinBox, SIGNAL(editingFinished()), this, SLOT(changeYMin())); - QObject::connect(m_c->ui.yMaxBox, SIGNAL(editingFinished()), this, SLOT(changeYMax())); - - QObject::connect(m_c->ui.labelHomePushButton, SIGNAL(clicked()), this, SIGNAL(labelHome())); - QObject::connect(m_c->ui.xAxisFontButton, SIGNAL(clicked()), this, SIGNAL(editXAxisFont())); - QObject::connect(m_c->ui.yAxisFontButton, SIGNAL(clicked()), this, SIGNAL(editYAxisFont())); - - QObject::connect(m_c->ui.labelWidthSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setLabelXSizePercentage(int))); - QObject::connect(m_c->ui.labelHeightSpinBox, SIGNAL(valueChanged(int)), this, SLOT(setLabelYSizePercentage(int))); - - m_c->validator=new QDoubleValidator(this); - m_c->validator->setRange(-std::numeric_limits<double>::max(), - +std::numeric_limits<double>::max(), - 10); - - - m_c->ui.xMinBox->setValidator(m_c->validator); - m_c->ui.xMaxBox->setValidator(m_c->validator); - m_c->ui.yMinBox->setValidator(m_c->validator); - m_c->ui.yMaxBox->setValidator(m_c->validator); -} - -void PVControl::setRect( const QRectF & rect) { - - QObject *sender = QObject::sender(); - - std::ostringstream leftStream, rightStream, topStream, bottomStream; - leftStream << rect.left(); - rightStream << rect.right(); - topStream << rect.top(); - bottomStream << rect.bottom(); - - if (sender== m_c->ui.xMinBox || sender==m_c->ui.xMaxBox || sender==m_c->ui.yMinBox || sender==m_c->ui.yMaxBox || - sender== m_c->ui.xMinDial || sender==m_c->ui.xMaxDial || sender==m_c->ui.yMinDial || sender==m_c->ui.yMaxDial) { - } - else { - m_c->ui.xMinBox->setText(leftStream.str().c_str()); - m_c->ui.yMinBox->setText(topStream.str().c_str()); - m_c->ui.xMaxBox->setText(rightStream.str().c_str()); - m_c->ui.yMaxBox->setText(bottomStream.str().c_str()); - m_c->rectI =rect; - - m_c->ui.yMinDial->setValue(0); - m_c->ui.yMaxDial->setValue(99); - m_c->ui.xMinDial->setValue(0); - m_c->ui.xMaxDial->setValue(99); - m_c->rectII=rect; - m_c->ui.logXCheckBox->setEnabled(rect.left()>0.0); - m_c->ui.logYCheckBox->setEnabled(rect.top()>0.0); - } - - -} - -PlotView::Style PVControl::yAxisStyle() { - return m_c->ui.logYCheckBox->isChecked() ? PlotView::LOG : PlotView::LINEAR; -} - - -PlotView::Style PVControl::xAxisStyle() { - return m_c->ui.logXCheckBox->isChecked() ? PlotView::LOG : PlotView::LINEAR; -} - -// called when XMax is changed: -void PVControl::setXMax(int value) { - if (m_c->ui.xMinDial->value()>= value) m_c->ui.xMinDial->setValue(value-1); - m_c->rectII.setRight(m_c->rectI.left()+value/99.0*m_c->rectI.width()); - emit rectChanged(m_c->rectII); -} - -// called when XMin is changed: -void PVControl::setXMin(int value) { - if (m_c->ui.xMaxDial->value()<= value) m_c->ui.xMaxDial->setValue(value+1); - m_c->rectII.setLeft(m_c->rectI.left()+value/99.0*m_c->rectI.width()); - emit rectChanged(m_c->rectII); -} - -// called when YMax is changed: -void PVControl::setYMax(int value) { - if (m_c->ui.yMinDial->value()>= value) m_c->ui.yMinDial->setValue(value-1); - m_c->rectII.setBottom(m_c->rectI.top()+value/99.0*m_c->rectI.height()); - emit rectChanged(m_c->rectII); -} - -// called when YMin is changed: -void PVControl::setYMin(int value) { - if (m_c->ui.yMaxDial->value()<= value) m_c->ui.yMaxDial->setValue(value+1); - m_c->rectII.setTop(m_c->rectI.top()+value/99.0*m_c->rectI.height()); - emit rectChanged(m_c->rectII); -} - -void PVControl::changeXMin() { - - std::string txt=m_c->ui.xMinBox->text().toStdString(); - - double value; - std::istringstream valueStream(txt.c_str()); - if ((valueStream >> value)) { - if (value < m_c->rectI.right() && (!m_c->plotView->isLogX() || value > 0)) { - m_c->rectI.setLeft(value); - m_c->ui.xMinDial->setValue(0); - setXMin(0); - m_c->ui.logXCheckBox->setEnabled(m_c->rectI.left()>0.0); - } - else { - QApplication::beep(); - std::ostringstream oldValueStream; - oldValueStream << m_c->rectI.left(); - m_c->ui.xMinBox->setText(oldValueStream.str().c_str()); - } - } -} -void PVControl::changeYMin() { - - std::string txt=m_c->ui.yMinBox->text().toStdString(); - - double value; - std::istringstream valueStream(txt.c_str()); - if ((valueStream >> value)) { - if (value < m_c->rectI.bottom() && (!m_c->plotView->isLogY() || value>0)) { - m_c->rectI.setTop(value); - m_c->ui.yMinDial->setValue(0); - setYMin(0); - m_c->ui.logYCheckBox->setEnabled(m_c->rectI.top()>0.0); - } - else { - QApplication::beep(); - std::ostringstream oldValueStream; - oldValueStream << m_c->rectI.top(); - m_c->ui.yMinBox->setText(oldValueStream.str().c_str()); - } - } -} - - - -void PVControl::changeXMax() { - - std::string txt=m_c->ui.xMaxBox->text().toStdString(); - - double value; - std::istringstream valueStream(txt.c_str()); - if ((valueStream >> value)) { - if (value > m_c->rectI.left()) { - m_c->rectI.setRight(value); - m_c->ui.xMaxDial->setValue(99); - setXMax(99); - } - else { - QApplication::beep(); - std::ostringstream oldValueStream; - oldValueStream << m_c->rectI.right(); - m_c->ui.xMaxBox->setText(oldValueStream.str().c_str()); - } - } - - -} - - -void PVControl::changeYMax() { - - std::string txt=m_c->ui.yMaxBox->text().toStdString(); - - double value; - std::istringstream valueStream(txt.c_str()); - if ((valueStream >> value)) { - if (value > m_c->rectI.top()) { - m_c->rectI.setBottom(value); - m_c->ui.yMaxDial->setValue(99); - setYMax(99); - } - else { - QApplication::beep(); - std::ostringstream oldValueStream; - oldValueStream << m_c->rectI.bottom(); - m_c->ui.yMaxBox->setText(oldValueStream.str().c_str()); - } - } - - - -} - - -void PVControl::setLabelXSizePercentage(int pc) { - QObject *sender = QObject::sender(); - - if (sender!=m_c->ui.labelWidthSpinBox) m_c->ui.labelWidthSpinBox->setValue(pc); - qreal f = pc; - emit labelXSizePercentageChanged(f); -} - -void PVControl::setLabelYSizePercentage(int pc) { - QObject *sender = QObject::sender(); - if (sender != m_c->ui.labelHeightSpinBox) m_c->ui.labelHeightSpinBox->setValue(pc); - qreal f = pc; - emit labelYSizePercentageChanged(f); -} diff --git a/graphics/Qat/QatPlotWidgets/src/PVControl.ui b/graphics/Qat/QatPlotWidgets/src/PVControl.ui deleted file mode 100644 index 7b8289e382bbf05744c66970227ec81342f6240d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/PVControl.ui +++ /dev/null @@ -1,1262 +0,0 @@ -<ui version="4.0" > - <class>PVControl</class> - <widget class="QDialog" name="PVControl" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>387</width> - <height>520</height> - </rect> - </property> - <property name="windowTitle" > - <string>Dialog</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>231</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="1" > - <widget class="QPushButton" name="okButton" > - <property name="text" > - <string>OK</string> - </property> - <property name="autoDefault" > - <bool>false</bool> - </property> - </widget> - </item> - <item row="0" column="0" colspan="2" > - <widget class="QTabWidget" name="tabWidget" > - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Open PlotView Range Selection Page</p></body></html></string> - </property> - <property name="currentIndex" > - <number>0</number> - </property> - <widget class="QWidget" name="optionsTab" > - <attribute name="title" > - <string>Options</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_2" > - <item> - <layout class="QVBoxLayout" name="verticalLayout" > - <item> - <layout class="QGridLayout" name="gridLayout" > - <item row="0" column="0" > - <widget class="QCheckBox" name="labelBoxBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Toggles the visibility of the label (or statistics) box</p></body></html></string> - </property> - <property name="text" > - <string>LabelBox</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item rowspan="5" row="0" column="1" colspan="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>51</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="3" > - <widget class="QPushButton" name="labelHomePushButton" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string>Send the Label Box to its home position.</string> - </property> - <property name="text" > - <string>Home</string> - </property> - </widget> - </item> - <item row="0" column="4" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item rowspan="2" row="1" column="0" > - <widget class="QLabel" name="label" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="text" > - <string>Width</string> - </property> - </widget> - </item> - <item rowspan="2" row="1" column="2" > - <widget class="QSpinBox" name="labelWidthSpinBox" > - <property name="font" > - <font> - <family>Arial</family> - <pointsize>12</pointsize> - </font> - </property> - <property name="minimum" > - <number>1</number> - </property> - <property name="maximum" > - <number>100</number> - </property> - <property name="value" > - <number>40</number> - </property> - </widget> - </item> - <item row="1" column="3" colspan="2" > - <spacer name="horizontalSpacer" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="3" column="0" > - <widget class="QLabel" name="label_2" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="text" > - <string>Height</string> - </property> - </widget> - </item> - <item rowspan="2" row="3" column="2" > - <widget class="QSpinBox" name="labelHeightSpinBox" > - <property name="font" > - <font> - <family>Arial</family> - <pointsize>12</pointsize> - </font> - </property> - <property name="minimum" > - <number>1</number> - </property> - <property name="maximum" > - <number>100</number> - </property> - <property name="value" > - <number>30</number> - </property> - </widget> - </item> - <item row="3" column="3" colspan="2" > - <spacer name="horizontalSpacer_2" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <spacer name="verticalSpacer_2" > - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QCheckBox" name="logXCheckBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Selects logarithmic or linear y scale</p></body></html></string> - </property> - <property name="text" > - <string>Logarithmic X Scale</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="logYCheckBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Selects logarithmic or linear y scale</p></body></html></string> - </property> - <property name="text" > - <string>Logarithmic Y Scale</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="gridCheckBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Toggles visibility of gridlines</p></body></html></string> - </property> - <property name="text" > - <string>Show Grid</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="xZeroCheckBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Toggles the visibility of the zero-line in x</p></body></html></string> - </property> - <property name="text" > - <string>Show X Zero</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="yZeroCheckBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Toggles the visibility of the zero-line in y</p></body></html></string> - </property> - <property name="text" > - <string>Show Y Zero</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <spacer name="verticalSpacer" > - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> - </widget> - <widget class="QWidget" name="rangeTab" > - <attribute name="title" > - <string>Range</string> - </attribute> - <layout class="QVBoxLayout" > - <property name="spacing" > - <number>6</number> - </property> - <property name="margin" > - <number>9</number> - </property> - <item> - <widget class="QGroupBox" name="yRangeBox" > - <property name="title" > - <string>Y Range</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="1" > - <widget class="QLabel" name="maxYLabel" > - <property name="text" > - <string>Max</string> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QLabel" name="minYLabel" > - <property name="text" > - <string>Min</string> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QDial" name="yMaxDial" > - <property name="palette" > - <palette> - <active> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </disabled> - </palette> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Y-range upper boundary smooth adjustment</p></body></html></string> - </property> - <property name="minimum" > - <number>1</number> - </property> - <property name="value" > - <number>99</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QDial" name="yMinDial" > - <property name="palette" > - <palette> - <active> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </disabled> - </palette> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Y-range lower boundary smooth adjustment</p></body></html></string> - </property> - <property name="maximum" > - <number>98</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QLineEdit" name="yMaxBox" > - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Upper boundary of the y-range</p></body></html></string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QLineEdit" name="yMinBox" > - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Lower boundary of the y-range</p></body></html></string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="xRangeBox" > - <property name="title" > - <string>X Range</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="1" > - <widget class="QLabel" name="maxXLabel" > - <property name="text" > - <string>Max</string> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QLabel" name="minXLabel" > - <property name="text" > - <string>Min</string> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QDial" name="xMaxDial" > - <property name="palette" > - <palette> - <active> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </disabled> - </palette> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">X-range upper boundary smooth adjustment</p></body></html></string> - </property> - <property name="minimum" > - <number>1</number> - </property> - <property name="value" > - <number>99</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QDial" name="xMinDial" > - <property name="palette" > - <palette> - <active> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="WindowText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Dark" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - <colorrole role="ButtonText" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>170</red> - <green>0</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </disabled> - </palette> - </property> - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">X-range lower boundary smooth adjustment</p></body></html></string> - </property> - <property name="maximum" > - <number>98</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QLineEdit" name="xMaxBox" > - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Upper boundary of the x-range</p></body></html></string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QLineEdit" name="xMinBox" > - <property name="toolTip" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Lower boundary of the x-range</p></body></html></string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab" > - <attribute name="title" > - <string>Format</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="1" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="0" > - <widget class="QGroupBox" name="axifFontGroupBox" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="title" > - <string>Axis Font</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="1" > - <widget class="QLabel" name="yAxisFontLabel" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="text" > - <string>Y Axis Font</string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="yAxisFontButton" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string>Choose a font for the y axis numbers</string> - </property> - <property name="text" > - <string>Edit</string> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QLabel" name="xAxisFontLabel" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="text" > - <string>X Axis Font</string> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="xAxisFontButton" > - <property name="font" > - <font> - <pointsize>12</pointsize> - </font> - </property> - <property name="toolTip" > - <string>Choose a font for the x axis numbers</string> - </property> - <property name="text" > - <string>Edit</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - </widget> - </item> - </layout> - </widget> - <tabstops> - <tabstop>tabWidget</tabstop> - <tabstop>labelBoxBox</tabstop> - <tabstop>labelHomePushButton</tabstop> - <tabstop>logXCheckBox</tabstop> - <tabstop>logYCheckBox</tabstop> - <tabstop>gridCheckBox</tabstop> - <tabstop>xZeroCheckBox</tabstop> - <tabstop>yZeroCheckBox</tabstop> - <tabstop>okButton</tabstop> - <tabstop>yMinBox</tabstop> - <tabstop>yMinDial</tabstop> - <tabstop>yMaxBox</tabstop> - <tabstop>yMaxDial</tabstop> - <tabstop>xMinBox</tabstop> - <tabstop>xMinDial</tabstop> - <tabstop>xMaxBox</tabstop> - <tabstop>xMaxDial</tabstop> - </tabstops> - <resources/> - <connections> - <connection> - <sender>okButton</sender> - <signal>pressed()</signal> - <receiver>PVControl</receiver> - <slot>close()</slot> - <hints> - <hint type="sourcelabel" > - <x>337</x> - <y>497</y> - </hint> - <hint type="destinationlabel" > - <x>193</x> - <y>259</y> - </hint> - </hints> - </connection> - </connections> -</ui> diff --git a/graphics/Qat/QatPlotWidgets/src/ParameterDialog.cpp b/graphics/Qat/QatPlotWidgets/src/ParameterDialog.cpp deleted file mode 100644 index fe21393737c29adb31dd2d4ce37839e5df43cadd..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/ParameterDialog.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "QatPlotWidgets/ParameterDialog.h" -#include "ui_ParameterDialog.h" -class ParameterDialog::Clockwork { -public: - Genfun::Parameter *p; - Ui::ParameterDialog ui; -}; - -ParameterDialog::ParameterDialog(QWidget *parent, Genfun::Parameter * p): QDialog(parent), m_c(new Clockwork()){ - m_c->p=p; - m_c->ui.setupUi(this); - - double xmin=m_c->p->getLowerLimit(); - double xmax=m_c->p->getUpperLimit(); - double val =m_c->p->getValue(); - double frac=double(val-xmin)/double(xmax-xmin); - - int min=m_c->ui.dial->minimum(); - int max=m_c->ui.dial->maximum(); - int dialVal = min + int(frac*(max-min)); - m_c->ui.dial->setValue(dialVal); - connect(m_c->ui.dial, SIGNAL(valueChanged(int)), this, SLOT(updateParameter(int))); -} - - -ParameterDialog::~ParameterDialog() { - delete m_c; -} - -void ParameterDialog::updateParameter(int val) { - - int min=m_c->ui.dial->minimum(); - int max=m_c->ui.dial->maximum(); - - double frac=double(val-min)/double(max-min); - - double xmin=m_c->p->getLowerLimit(); - double xmax=m_c->p->getUpperLimit(); - - m_c->p->setValue(frac*(xmax-xmin)+xmin); - - emit updateFunction(); -} diff --git a/graphics/Qat/QatPlotWidgets/src/ParameterDialog.ui b/graphics/Qat/QatPlotWidgets/src/ParameterDialog.ui deleted file mode 100644 index 8c67e5e380e4f06bf2460b1723a375a89e2441d7..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/ParameterDialog.ui +++ /dev/null @@ -1,116 +0,0 @@ -<ui version="4.0" > - <class>ParameterDialog</class> - <widget class="QDialog" name="ParameterDialog" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>229</width> - <height>253</height> - </rect> - </property> - <property name="windowTitle" > - <string>Dialog</string> - </property> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QDial" name="dial" > - <property name="palette" > - <palette> - <active> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="Button" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>170</green> - <blue>0</blue> - </color> - </brush> - </colorrole> - </disabled> - </palette> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="notchesVisible" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons" > - <set>QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set> - </property> - </widget> - </item> - </layout> - </widget> - <resources/> - <connections> - <connection> - <sender>buttonBox</sender> - <signal>accepted()</signal> - <receiver>ParameterDialog</receiver> - <slot>accept()</slot> - <hints> - <hint type="sourcelabel" > - <x>248</x> - <y>254</y> - </hint> - <hint type="destinationlabel" > - <x>157</x> - <y>274</y> - </hint> - </hints> - </connection> - <connection> - <sender>buttonBox</sender> - <signal>rejected()</signal> - <receiver>ParameterDialog</receiver> - <slot>reject()</slot> - <hints> - <hint type="sourcelabel" > - <x>316</x> - <y>260</y> - </hint> - <hint type="destinationlabel" > - <x>286</x> - <y>274</y> - </hint> - </hints> - </connection> - </connections> -</ui> diff --git a/graphics/Qat/QatPlotWidgets/src/PlotDirDialog.cpp b/graphics/Qat/QatPlotWidgets/src/PlotDirDialog.cpp deleted file mode 100644 index d979560e091b36de4ccea71ccf6dabcc6270923c..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotDirDialog.cpp +++ /dev/null @@ -1,358 +0,0 @@ -#include "QatPlotWidgets/PlotDirDialog.h" -#include "QatPlotting/PlotHist1D.h" -#include "QatPlotting/PlotHist2D.h" -#include "ui_PlotDirDialog.h" -class PlotDirDialog::Clockwork { -public: - std::vector<PlotHist1D *> synchedPlot1D; - std::vector<PlotHist2D *> synchedPlot2D; - Ui::PlotDirDialog ui; -}; - -PlotDirDialog::PlotDirDialog(QWidget *parent): QDialog(parent),m_c(new Clockwork()) { - m_c->ui.setupUi(this); - m_c->ui.tabWidget->removeTab(5); - // Unveil later (note, do this also on 1D, 2D dialog); - m_c->ui.moreLineColorsToolButton1D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - m_c->ui.moreLineColorsToolButton2D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - - connect(m_c->ui.circleSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle1D(bool))); - connect(m_c->ui.squareSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle1D(bool))); - connect(m_c->ui.upTriangleSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle1D(bool))); - connect(m_c->ui.downTriangleSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle1D(bool))); - connect(m_c->ui.noSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle1D(bool))); - - connect(m_c->ui.symbolSizeSpinBox1D, SIGNAL(valueChanged(int)), this, SLOT(setSymbolSize1D(int))); - - - connect(m_c->ui.lineWidthSpinBox1D, SIGNAL(valueChanged(int)), this, SLOT(setLineWidth1D(int))); - - connect(m_c->ui.blackLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - connect(m_c->ui.redLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - connect(m_c->ui.greenLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - connect(m_c->ui.blueLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - connect(m_c->ui.cyanLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - connect(m_c->ui.purpleLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - connect(m_c->ui.grayLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor1D(bool))); - - - connect(m_c->ui.blackBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - connect(m_c->ui.redBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - connect(m_c->ui.greenBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - connect(m_c->ui.blueBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - connect(m_c->ui.cyanBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - connect(m_c->ui.purpleBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - connect(m_c->ui.grayBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor1D(bool))); - - - connect(m_c->ui.solidLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle1D(bool))); - connect(m_c->ui.dashLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle1D(bool))); - connect(m_c->ui.dotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle1D(bool))); - connect(m_c->ui.dashDotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle1D(bool))); - connect(m_c->ui.dashDotDotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle1D(bool))); - connect(m_c->ui.noLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle1D(bool))); - - connect(m_c->ui.solidBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense1BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense2BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense3BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense4BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense5BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense6BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.dense7BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.horizontalBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.verticalBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.crossPatternBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.bDiagBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.fDiagBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.diagCrossPatternBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - connect(m_c->ui.noBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle1D(bool))); - - - - - - - connect(m_c->ui.lineWidthSpinBox2D, SIGNAL(valueChanged(int)), this, SLOT(setLineWidth2D(int))); - - connect(m_c->ui.blackLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - connect(m_c->ui.redLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - connect(m_c->ui.greenLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - connect(m_c->ui.blueLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - connect(m_c->ui.cyanLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - connect(m_c->ui.purpleLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - connect(m_c->ui.grayLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor2D(bool))); - - - connect(m_c->ui.blackBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - connect(m_c->ui.redBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - connect(m_c->ui.greenBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - connect(m_c->ui.blueBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - connect(m_c->ui.cyanBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - connect(m_c->ui.purpleBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - connect(m_c->ui.grayBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor2D(bool))); - - - connect(m_c->ui.solidLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle2D(bool))); - connect(m_c->ui.noLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle2D(bool))); - - connect(m_c->ui.solidBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense1BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense2BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense3BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense4BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense5BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense6BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.dense7BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - connect(m_c->ui.noBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle2D(bool))); - - - -} - -PlotDirDialog::~PlotDirDialog() { - delete m_c; -} - - -#include <iostream> -void PlotDirDialog::synchTo(std::vector<PlotHist1D *> p1D, std::vector<PlotHist2D *> p2D) { - - m_c->synchedPlot1D=p1D; - m_c->synchedPlot2D=p2D; - -} - - -void PlotDirDialog::togglePlotStyle1D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - if (checked) { - PlotHist1D::Properties prop = plot->properties(); - - if (theSender==m_c->ui.noSymbolToolButton1D) { - prop.plotStyle=PlotHist1D::Properties::LINES; - } - else { - prop.plotStyle=PlotHist1D::Properties::SYMBOLS; - } - - - if (theSender==m_c->ui.circleSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::CIRCLE; - else if (theSender==m_c->ui.squareSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::SQUARE; - else if (theSender==m_c->ui.upTriangleSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::TRIANGLE_U; - else if (theSender==m_c->ui.downTriangleSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::TRIANGLE_L; - - plot->setProperties(prop); - } - } - emit updateManager(); -} - - - - -void PlotDirDialog::setSymbolSize1D (int sz) { - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - PlotHist1D::Properties prop = plot->properties(); - prop.symbolSize=sz; - plot->setProperties(prop); - } - emit updateManager(); -} - - - - -void PlotDirDialog::setLineWidth1D (int width) { - - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - PlotHist1D::Properties prop = plot->properties(); - prop.pen.setWidth(width); - plot->setProperties(prop); - } - emit updateManager(); - -} - - - -void PlotDirDialog::toggleLineColor1D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - if (checked) { - PlotHist1D::Properties prop = plot->properties(); - if (theSender==m_c->ui.blackLineToolButton1D) prop.pen.setColor(QColor("black")); - else if (theSender==m_c->ui.redLineToolButton1D) prop.pen.setColor(QColor("red")); - else if (theSender==m_c->ui.greenLineToolButton1D) prop.pen.setColor(QColor("green")); - else if (theSender==m_c->ui.blueLineToolButton1D) prop.pen.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanLineToolButton1D) prop.pen.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleLineToolButton1D) prop.pen.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayLineToolButton1D) prop.pen.setColor(QColor("gray")); - plot->setProperties(prop); - } - } - emit updateManager(); -} - -void PlotDirDialog::toggleBrushColor1D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - if (checked) { - PlotHist1D::Properties prop = plot->properties(); - if (theSender==m_c->ui.blackBrushToolButton1D) prop.brush.setColor(QColor("black")); - else if (theSender==m_c->ui.redBrushToolButton1D) prop.brush.setColor(QColor("red")); - else if (theSender==m_c->ui.greenBrushToolButton1D) prop.brush.setColor(QColor("green")); - else if (theSender==m_c->ui.blueBrushToolButton1D) prop.brush.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanBrushToolButton1D) prop.brush.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleBrushToolButton1D) prop.brush.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayBrushToolButton1D) prop.brush.setColor(QColor("gray")); - plot->setProperties(prop); - } - } - emit updateManager(); -} - -void PlotDirDialog::toggleLineStyle1D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - if (checked) { - PlotHist1D::Properties prop = plot->properties(); - if (theSender==m_c->ui.solidLineToolButton1D) prop.pen.setStyle(Qt::SolidLine); - else if (theSender==m_c->ui.dashLineToolButton1D) prop.pen.setStyle(Qt::DashLine); - else if (theSender==m_c->ui.dotLineToolButton1D) prop.pen.setStyle(Qt::DotLine); - else if (theSender==m_c->ui.dashDotLineToolButton1D) prop.pen.setStyle(Qt::DashDotLine); - else if (theSender==m_c->ui.dashDotDotLineToolButton1D) prop.pen.setStyle(Qt::DashDotDotLine); - else if (theSender==m_c->ui.noLineToolButton1D) prop.pen.setStyle(Qt::NoPen); - plot->setProperties(prop); - } - } - emit updateManager(); -} - -void PlotDirDialog::toggleBrushStyle1D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot1D.size();i++) { - PlotHist1D *plot=m_c->synchedPlot1D[i]; - if (checked) { - PlotHist1D::Properties prop = plot->properties(); - if (theSender==m_c->ui.solidBrushToolButton1D) prop.brush.setStyle(Qt::SolidPattern); - else if (theSender==m_c->ui.dense1BrushToolButton1D) prop.brush.setStyle(Qt::Dense1Pattern); - else if (theSender==m_c->ui.dense2BrushToolButton1D) prop.brush.setStyle(Qt::Dense2Pattern); - else if (theSender==m_c->ui.dense3BrushToolButton1D) prop.brush.setStyle(Qt::Dense3Pattern); - else if (theSender==m_c->ui.dense4BrushToolButton1D) prop.brush.setStyle(Qt::Dense4Pattern); - else if (theSender==m_c->ui.dense5BrushToolButton1D) prop.brush.setStyle(Qt::Dense5Pattern); - else if (theSender==m_c->ui.dense6BrushToolButton1D) prop.brush.setStyle(Qt::Dense6Pattern); - else if (theSender==m_c->ui.dense7BrushToolButton1D) prop.brush.setStyle(Qt::Dense7Pattern); - else if (theSender==m_c->ui.horizontalBrushToolButton1D) prop.brush.setStyle(Qt::HorPattern); - else if (theSender==m_c->ui.verticalBrushToolButton1D) prop.brush.setStyle(Qt::VerPattern); - else if (theSender==m_c->ui.crossPatternBrushToolButton1D) prop.brush.setStyle(Qt::CrossPattern); - else if (theSender==m_c->ui.bDiagBrushToolButton1D) prop.brush.setStyle(Qt::BDiagPattern); - else if (theSender==m_c->ui.fDiagBrushToolButton1D) prop.brush.setStyle(Qt::FDiagPattern); - else if (theSender==m_c->ui.diagCrossPatternBrushToolButton1D) prop.brush.setStyle(Qt::DiagCrossPattern); - else if (theSender==m_c->ui.noBrushToolButton1D) prop.brush.setStyle(Qt::NoBrush); - plot->setProperties(prop); - } - } - emit updateManager(); - -} - - -void PlotDirDialog::setLineWidth2D (int width) { - - for (unsigned int i=0;i<m_c->synchedPlot2D.size();i++) { - PlotHist2D *plot=m_c->synchedPlot2D[i]; - PlotHist2D::Properties prop = plot->properties(); - prop.pen.setWidth(width); - plot->setProperties(prop); - } - emit updateManager(); - -} - - - -void PlotDirDialog::toggleLineColor2D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot2D.size();i++) { - PlotHist2D *plot=m_c->synchedPlot2D[i]; - if (checked) { - PlotHist2D::Properties prop = plot->properties(); - if (theSender==m_c->ui.blackLineToolButton2D) prop.pen.setColor(QColor("black")); - else if (theSender==m_c->ui.redLineToolButton2D) prop.pen.setColor(QColor("red")); - else if (theSender==m_c->ui.greenLineToolButton2D) prop.pen.setColor(QColor("green")); - else if (theSender==m_c->ui.blueLineToolButton2D) prop.pen.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanLineToolButton2D) prop.pen.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleLineToolButton2D) prop.pen.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayLineToolButton2D) prop.pen.setColor(QColor("gray")); - plot->setProperties(prop); - } - } - emit updateManager(); -} - -void PlotDirDialog::toggleBrushColor2D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot2D.size();i++) { - PlotHist2D *plot=m_c->synchedPlot2D[i]; - if (checked) { - PlotHist2D::Properties prop = plot->properties(); - if (theSender==m_c->ui.blackBrushToolButton2D) prop.brush.setColor(QColor("black")); - else if (theSender==m_c->ui.redBrushToolButton2D) prop.brush.setColor(QColor("red")); - else if (theSender==m_c->ui.greenBrushToolButton2D) prop.brush.setColor(QColor("green")); - else if (theSender==m_c->ui.blueBrushToolButton2D) prop.brush.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanBrushToolButton2D) prop.brush.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleBrushToolButton2D) prop.brush.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayBrushToolButton2D) prop.brush.setColor(QColor("gray")); - plot->setProperties(prop); - } - } - emit updateManager(); -} - -void PlotDirDialog::toggleLineStyle2D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot2D.size();i++) { - PlotHist2D *plot=m_c->synchedPlot2D[i]; - if (checked) { - PlotHist2D::Properties prop = plot->properties(); - if (theSender==m_c->ui.solidLineToolButton2D) prop.pen.setStyle(Qt::SolidLine); - else if (theSender==m_c->ui.noLineToolButton2D) prop.pen.setStyle(Qt::NoPen); - plot->setProperties(prop); - } - } - emit updateManager(); -} - -void PlotDirDialog::toggleBrushStyle2D (bool checked) { - QObject *theSender = sender(); - for (unsigned int i=0;i<m_c->synchedPlot2D.size();i++) { - PlotHist2D *plot=m_c->synchedPlot2D[i]; - if (checked) { - PlotHist2D::Properties prop = plot->properties(); - if (theSender==m_c->ui.solidBrushToolButton2D) prop.brush.setStyle(Qt::SolidPattern); - else if (theSender==m_c->ui.dense1BrushToolButton2D) prop.brush.setStyle(Qt::Dense1Pattern); - else if (theSender==m_c->ui.dense2BrushToolButton2D) prop.brush.setStyle(Qt::Dense2Pattern); - else if (theSender==m_c->ui.dense3BrushToolButton2D) prop.brush.setStyle(Qt::Dense3Pattern); - else if (theSender==m_c->ui.dense4BrushToolButton2D) prop.brush.setStyle(Qt::Dense4Pattern); - else if (theSender==m_c->ui.dense5BrushToolButton2D) prop.brush.setStyle(Qt::Dense5Pattern); - else if (theSender==m_c->ui.dense6BrushToolButton2D) prop.brush.setStyle(Qt::Dense6Pattern); - else if (theSender==m_c->ui.dense7BrushToolButton2D) prop.brush.setStyle(Qt::Dense7Pattern); - else if (theSender==m_c->ui.noBrushToolButton2D) prop.brush.setStyle(Qt::NoBrush); - plot->setProperties(prop); - } - } - emit updateManager(); - -} - - diff --git a/graphics/Qat/QatPlotWidgets/src/PlotDirDialog.ui b/graphics/Qat/QatPlotWidgets/src/PlotDirDialog.ui deleted file mode 100644 index cbfeff5eb89304560d6e882154870a5e49e45acb..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotDirDialog.ui +++ /dev/null @@ -1,1992 +0,0 @@ -<ui version="4.0" > - <class>PlotDirDialog</class> - <widget class="QDialog" name="PlotDirDialog" > - <property name="windowModality" > - <enum>Qt::NonModal</enum> - </property> - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>524</width> - <height>688</height> - </rect> - </property> - <property name="windowTitle" > - <string>Dialog</string> - </property> - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="geometry" > - <rect> - <x>9</x> - <y>633</y> - <width>453</width> - <height>32</height> - </rect> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons" > - <set>QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set> - </property> - </widget> - <widget class="QTabWidget" name="tabWidget" > - <property name="geometry" > - <rect> - <x>40</x> - <y>10</y> - <width>451</width> - <height>591</height> - </rect> - </property> - <property name="currentIndex" > - <number>0</number> - </property> - <widget class="QWidget" name="tabHisto1D" > - <attribute name="title" > - <string>Histograms (1D)</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="3" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="2" > - <widget class="QSpinBox" name="symbolSizeSpinBox1D" > - <property name="minimum" > - <number>1</number> - </property> - <property name="value" > - <number>1</number> - </property> - </widget> - </item> - <item row="1" column="0" colspan="2" > - <widget class="QLabel" name="symbolSizeLabel" > - <property name="text" > - <string>Symbol Size</string> - </property> - </widget> - </item> - <item row="2" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="0" > - <widget class="QGroupBox" name="groupBox_5" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Symbols</string> - </property> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QToolButton" name="circleSymbolToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/circle.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="squareSymbolToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/square.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="upTriangleSymbolToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/triup.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="downTriangleSymbolToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/tridown.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="noSymbolToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/nosymbol.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="0" column="1" colspan="3" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <widget class="QWidget" name="tabLine1D" > - <attribute name="title" > - <string>Line (1D)</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="3" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item row="2" column="3" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="3" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="3" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="2" column="0" > - <widget class="QLabel" name="lineWidthLabel" > - <property name="text" > - <string>Line Width</string> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QSpinBox" name="lineWidthSpinBox1D" /> - </item> - <item row="1" column="0" > - <widget class="QGroupBox" name="lineStyleGroupBox" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Lines</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="2" column="1" > - <widget class="QToolButton" name="noLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-none.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="dashDotLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-dashdot.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QToolButton" name="dashDotDotLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-dashdotdot.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="dotLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-dot.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="dashLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-dash.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="solidLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-solid.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="0" column="0" colspan="3" > - <widget class="QGroupBox" name="groupBox_4" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Colors</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="3" > - <widget class="QPushButton" name="moreLineColorsToolButton1D" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text" > - <string>More</string> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QToolButton" name="grayLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/gray.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="purpleLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/mauve.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="cyanLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/cyan.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="3" > - <widget class="QToolButton" name="blueLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/blue.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QToolButton" name="greenLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/green.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="redLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/red.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="blackLineToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/black.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tabLine2D" > - <attribute name="title" > - <string>Line (2D)</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="2" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="2" column="1" > - <widget class="QSpinBox" name="lineWidthSpinBox2D" /> - </item> - <item row="2" column="0" > - <widget class="QLabel" name="lineWidthLabel_5" > - <property name="text" > - <string>Line Width</string> - </property> - </widget> - </item> - <item row="1" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="0" > - <widget class="QGroupBox" name="lineStyleGroupBox_4" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Lines</string> - </property> - <layout class="QHBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QToolButton" name="solidLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-solid.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="noLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/qpen-none.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>75</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="3" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="0" colspan="2" > - <widget class="QGroupBox" name="groupBox_12" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Colors</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="3" > - <widget class="QPushButton" name="moreLineColorsToolButton2D" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text" > - <string>More</string> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QToolButton" name="grayLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/gray.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="purpleLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/mauve.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="cyanLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/cyan.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="3" > - <widget class="QToolButton" name="blueLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/blue.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QToolButton" name="greenLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/green.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="redLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/red.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="blackLineToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/black.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tabBrush1D" > - <attribute name="title" > - <string>Brush (1D)</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="0" > - <widget class="QGroupBox" name="groupBox" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Colors</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="3" > - <widget class="QPushButton" name="moreBrushColorsToolButton1D" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text" > - <string>More</string> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QToolButton" name="grayBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/gray.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="purpleBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/mauve.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="cyanBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/cyan.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="3" > - <widget class="QToolButton" name="blueBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/blue.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QToolButton" name="greenBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/green.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="redBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/red.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="blackBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/black.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="0" column="1" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="0" colspan="2" > - <widget class="QGroupBox" name="groupBox_3" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Fill</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="4" column="2" > - <widget class="QToolButton" name="diagCrossPatternBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDiagCrossPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="4" column="1" > - <widget class="QToolButton" name="bDiagBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushBDiagPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="3" column="0" > - <widget class="QToolButton" name="horizontalBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushHorPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="noBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushNoBrush.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="dense2BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense2Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QToolButton" name="dense5BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense5Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="solidBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushSolidPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QToolButton" name="dense1BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense1Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="dense3BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense3Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QToolButton" name="dense6BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense6Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QToolButton" name="dense4BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense4Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="2" > - <widget class="QToolButton" name="dense7BrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense7Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="3" column="1" > - <widget class="QToolButton" name="verticalBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushVerPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="3" column="2" > - <widget class="QToolButton" name="crossPatternBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushCrossPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="4" column="0" > - <widget class="QToolButton" name="fDiagBrushToolButton1D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushFDiagPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="1" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="2" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <widget class="QWidget" name="tabBrush2D" > - <attribute name="title" > - <string>Brush (2D)</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="0" colspan="2" > - <widget class="QGroupBox" name="groupBox_17" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Fill</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="0" > - <widget class="QToolButton" name="noBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushNoBrush.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="dense2BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense2Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QToolButton" name="dense5BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense5Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="solidBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushSolidPattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QToolButton" name="dense1BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense1Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="dense3BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense3Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QToolButton" name="dense6BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense6Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QToolButton" name="dense4BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense4Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="2" > - <widget class="QToolButton" name="dense7BrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/BrushDense7Pattern.png</iconset> - </property> - <property name="iconSize" > - <size> - <width>100</width> - <height>50</height> - </size> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="0" column="0" > - <widget class="QGroupBox" name="groupBox_16" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Colors</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="1" column="3" > - <widget class="QPushButton" name="moreBrushColorsToolButton2D" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>0</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text" > - <string>More</string> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QToolButton" name="grayBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/gray.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QToolButton" name="purpleBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/mauve.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QToolButton" name="cyanBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/cyan.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="3" > - <widget class="QToolButton" name="blueBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/blue.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QToolButton" name="greenBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/green.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QToolButton" name="redBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/red.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QToolButton" name="blackBrushToolButton2D" > - <property name="text" > - <string>...</string> - </property> - <property name="icon" > - <iconset resource="PlotWidgets.qrc" >:/resource-1/ICONS/black.png</iconset> - </property> - <property name="checkable" > - <bool>true</bool> - </property> - <property name="autoExclusive" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="1" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="1" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="2" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab" > - <attribute name="title" > - <string>Function</string> - </attribute> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="1" > - <widget class="QTableWidget" name="parameterTableWidget" > - <property name="rowCount" > - <number>10</number> - </property> - <property name="columnCount" > - <number>2</number> - </property> - <row/> - <row/> - <row/> - <row/> - <row/> - <row/> - <row/> - <row/> - <row/> - <row/> - <column/> - <column/> - </widget> - </item> - <item row="0" column="0" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="2" > - <spacer> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" > - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - </widget> - </widget> - <resources> - <include location="PlotWidgets.qrc" /> - </resources> - <connections> - <connection> - <sender>buttonBox</sender> - <signal>accepted()</signal> - <receiver>PlotDirDialog</receiver> - <slot>accept()</slot> - <hints> - <hint type="sourcelabel" > - <x>248</x> - <y>254</y> - </hint> - <hint type="destinationlabel" > - <x>157</x> - <y>274</y> - </hint> - </hints> - </connection> - <connection> - <sender>buttonBox</sender> - <signal>rejected()</signal> - <receiver>PlotDirDialog</receiver> - <slot>reject()</slot> - <hints> - <hint type="sourcelabel" > - <x>316</x> - <y>260</y> - </hint> - <hint type="destinationlabel" > - <x>286</x> - <y>274</y> - </hint> - </hints> - </connection> - </connections> -</ui> diff --git a/graphics/Qat/QatPlotWidgets/src/PlotFunction1DDialog.cpp b/graphics/Qat/QatPlotWidgets/src/PlotFunction1DDialog.cpp deleted file mode 100644 index 8cc82723296f915d2e3f691a9e5bb7dbbd1a48c3..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotFunction1DDialog.cpp +++ /dev/null @@ -1,225 +0,0 @@ -#include "QatPlotWidgets/PlotFunction1DDialog.h" -#include "QatPlotWidgets/ParameterDialog.h" -#include "QatPlotting/PlotFunction1D.h" -#include "ui_PlotDirDialog.h" -#include <sstream> - -class PlotFunction1DDialog::Clockwork { -public: - Ui::PlotDirDialog ui; - PlotFunction1D *synchedPlot; - std::vector<Genfun::Parameter *> parameters; - std::map<Genfun::Parameter *, ParameterDialog *> paramDialogMap; -}; - -PlotFunction1DDialog::PlotFunction1DDialog(QWidget *parent): QDialog(parent),m_c(new Clockwork()) { - m_c->synchedPlot=NULL; - m_c->ui.setupUi(this); - m_c->ui.tabWidget->removeTab(4); - m_c->ui.tabWidget->removeTab(3); - m_c->ui.tabWidget->removeTab(2); - m_c->ui.tabWidget->removeTab(0); - - // Unveil later (note, do this also on 2D, Dir dialog); - m_c->ui.moreLineColorsToolButton1D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - m_c->ui.moreLineColorsToolButton2D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - - - connect(m_c->ui.lineWidthSpinBox1D, SIGNAL(valueChanged(int)), this, SLOT(setLineWidth(int))); - - connect(m_c->ui.blackLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.redLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.greenLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.blueLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.cyanLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.purpleLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.grayLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - - connect(m_c->ui.solidLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dashLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dashDotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dashDotDotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.noLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - - - connect(m_c->ui.parameterTableWidget, SIGNAL(cellChanged(int, int)), this, SLOT(changeParameter(int, int))); - connect(m_c->ui.parameterTableWidget, SIGNAL(cellDoubleClicked(int,int)), this, SLOT (popParameterDial(int,int))); - - m_c->ui.buttonBox->button(QDialogButtonBox::Ok)->setDefault(false); - m_c->ui.buttonBox->button(QDialogButtonBox::Cancel)->setDefault(false); - m_c->ui.buttonBox->button(QDialogButtonBox::Ok)->setAutoDefault(false); - m_c->ui.buttonBox->button(QDialogButtonBox::Cancel)->setAutoDefault(false); - -} - -PlotFunction1DDialog::~PlotFunction1DDialog() { - delete m_c; -} - - -#include <iostream> -void PlotFunction1DDialog::synchTo(PlotFunction1D *plot) { - - m_c->synchedPlot=plot; - - if (!plot) return; - - PlotFunction1D::Properties prop=plot->properties(); - QPen pen=prop.pen; - - int width=pen.width(); - m_c->ui.lineWidthSpinBox1D->setValue(width); - - { - QColor color = pen.color(); - if (color==QColor("black")) m_c->ui.blackLineToolButton1D->setChecked(true); - else if (color==QColor("red")) m_c->ui.redLineToolButton1D->setChecked(true); - else if (color==QColor("green")) m_c->ui.greenLineToolButton1D->setChecked(true); - else if (color==QColor("blue")) m_c->ui.blueLineToolButton1D->setChecked(true); - else if (color==QColor("cyan")) m_c->ui.cyanLineToolButton1D->setChecked(true); - else if (color==QColor("purple")) m_c->ui.purpleLineToolButton1D->setChecked(true); - else if (color==QColor("gray")) m_c->ui.grayLineToolButton1D->setChecked(true); - else { - m_c->ui.moreLineColorsToolButton1D->setChecked(true); - } - Qt::PenStyle style = pen.style(); - if (style==Qt::SolidLine) m_c->ui.solidLineToolButton1D->setChecked(true); - else if (style==Qt::DashLine) m_c->ui.dashLineToolButton1D->setChecked(true); - else if (style==Qt::DotLine) m_c->ui.dotLineToolButton1D->setChecked(true); - else if (style==Qt::DashDotLine) m_c->ui.dashDotLineToolButton1D->setChecked(true); - else if (style==Qt::DashDotDotLine) m_c->ui.dashDotDotLineToolButton1D->setChecked(true); - else if (style==Qt::NoPen) m_c->ui.noLineToolButton1D->setChecked(true); - } - - -} - -void PlotFunction1DDialog::setLineWidth (int i) { - if (m_c->synchedPlot) { - PlotFunction1D::Properties prop = m_c->synchedPlot->properties(); - prop.pen.setWidth(i); - m_c->synchedPlot->setProperties(prop); - emit updateFunction(); - } -} - - -void PlotFunction1DDialog::toggleLineColor (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotFunction1D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.blackLineToolButton1D) prop.pen.setColor(QColor("black")); - else if (theSender==m_c->ui.redLineToolButton1D) prop.pen.setColor(QColor("red")); - else if (theSender==m_c->ui.greenLineToolButton1D) prop.pen.setColor(QColor("green")); - else if (theSender==m_c->ui.blueLineToolButton1D) prop.pen.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanLineToolButton1D) prop.pen.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleLineToolButton1D) prop.pen.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayLineToolButton1D) prop.pen.setColor(QColor("gray")); - m_c->synchedPlot->setProperties(prop); - emit updateFunction(); - } - } -} - -void PlotFunction1DDialog::toggleLineStyle (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotFunction1D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.solidLineToolButton1D) prop.pen.setStyle(Qt::SolidLine); - else if (theSender==m_c->ui.dashLineToolButton1D) prop.pen.setStyle(Qt::DashLine); - else if (theSender==m_c->ui.dotLineToolButton1D) prop.pen.setStyle(Qt::DotLine); - else if (theSender==m_c->ui.dashDotLineToolButton1D) prop.pen.setStyle(Qt::DashDotLine); - else if (theSender==m_c->ui.dashDotDotLineToolButton1D) prop.pen.setStyle(Qt::DashDotDotLine); - else if (theSender==m_c->ui.noLineToolButton1D) prop.pen.setStyle(Qt::NoPen); - m_c->synchedPlot->setProperties(prop); - emit updateFunction(); - } - } -} - -void PlotFunction1DDialog::clearParameters() { - m_c->parameters.erase(m_c->parameters.begin(),m_c->parameters.end()); - m_c->ui.parameterTableWidget->clear(); - m_c->ui.parameterTableWidget->hide(); -} - -void PlotFunction1DDialog::addParameter(Genfun::Parameter *p) { - m_c->parameters.push_back(p); - m_c->ui.parameterTableWidget->setRowCount(m_c->parameters.size()); - - - std::ostringstream stream; - stream << p->getValue(); - - { - QTableWidgetItem *item = new QTableWidgetItem(p->getName().c_str()); - item->setFlags(0); - m_c->ui.parameterTableWidget->setItem(m_c->parameters.size()-1, 0, item); - } - - { - QTableWidgetItem *item = new QTableWidgetItem(stream.str().c_str()); - m_c->ui.parameterTableWidget->setItem(m_c->parameters.size()-1, 1, item); - item->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled); - } - m_c->ui.parameterTableWidget->show(); - -} - -void PlotFunction1DDialog::changeParameter(int row, int column) { - - std::istringstream inStream(m_c->ui.parameterTableWidget->item(row, column)->text().toStdString().c_str()); - double x; - if (inStream >> x) { - if (x > m_c->parameters[row]->getLowerLimit() && x < m_c->parameters[row]->getUpperLimit()) { - m_c->parameters[row]->setValue(x); - emit updateFunction(); - return; - } - } - std::ostringstream outStream; - outStream << m_c->parameters[row]->getValue(); - QTableWidgetItem *valueItem=m_c->ui.parameterTableWidget->item(row,1); - if (valueItem) valueItem->setText(outStream.str().c_str()); -} - - -void PlotFunction1DDialog::popParameterDial(int row, int column) { - if (column==1) { - - ParameterDialog *d=NULL; - std::map<Genfun::Parameter *, ParameterDialog *>::iterator pd=m_c->paramDialogMap.find(m_c->parameters[row]); - if (pd==m_c->paramDialogMap.end()) { - - - d = new ParameterDialog(0, m_c->parameters[row]); - d->setWindowTitle(m_c->parameters[row]->getName().c_str()); - connect(d, SIGNAL(updateFunction()), this, SIGNAL(updateFunction())); - connect(d, SIGNAL(updateFunction()), this, SLOT(synchToFunction())); - m_c->paramDialogMap[m_c->parameters[row]]=d; - } - else { - d = (*pd).second; - } - d->show(); - d->raise(); - } - -} - -void PlotFunction1DDialog::synchToFunction() { - blockSignals(true); - - for (unsigned int row=0;row<m_c->parameters.size();row++) { - std::ostringstream outStream; - outStream << m_c->parameters[row]->getValue(); - QTableWidgetItem *valueItem=m_c->ui.parameterTableWidget->item(row,1); - if (valueItem) valueItem->setText(outStream.str().c_str()); - } - blockSignals(false); -} diff --git a/graphics/Qat/QatPlotWidgets/src/PlotHist1DDialog.cpp b/graphics/Qat/QatPlotWidgets/src/PlotHist1DDialog.cpp deleted file mode 100644 index 427a1bab74aa930582ee11274e357e420cb8b9b2..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotHist1DDialog.cpp +++ /dev/null @@ -1,290 +0,0 @@ -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotHist1D.h" -#include "ui_PlotDirDialog.h" -class PlotHist1DDialog::Clockwork { -public: - PlotHist1D *synchedPlot; - Ui::PlotDirDialog ui; -}; - -PlotHist1DDialog::PlotHist1DDialog(QWidget *parent): QDialog(parent),m_c(new Clockwork()) { - m_c->synchedPlot=NULL; - m_c->ui.setupUi(this); - m_c->ui.tabWidget->removeTab(5); - m_c->ui.tabWidget->removeTab(4); - m_c->ui.tabWidget->removeTab(2); - - // Unveil later (note, do this also on 2D, Dir dialog); - m_c->ui.moreLineColorsToolButton1D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - m_c->ui.moreLineColorsToolButton2D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - - - connect(m_c->ui.lineWidthSpinBox1D, SIGNAL(valueChanged(int)), this, SLOT(setLineWidth(int))); - connect(m_c->ui.symbolSizeSpinBox1D, SIGNAL(valueChanged(int)), this, SLOT(setSymbolSize(int))); - - connect(m_c->ui.blackLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.redLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.greenLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.blueLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.cyanLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.purpleLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.grayLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - - - connect(m_c->ui.blackBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.redBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.greenBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.blueBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.cyanBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.purpleBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.grayBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - - - connect(m_c->ui.solidLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dashLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dashDotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.dashDotDotLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.noLineToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - - connect(m_c->ui.solidBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense1BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense2BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense3BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense4BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense5BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense6BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense7BrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.horizontalBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.verticalBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.crossPatternBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.bDiagBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.fDiagBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.diagCrossPatternBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.noBrushToolButton1D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - - - connect(m_c->ui.circleSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle(bool))); - connect(m_c->ui.squareSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle(bool))); - connect(m_c->ui.upTriangleSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle(bool))); - connect(m_c->ui.downTriangleSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle(bool))); - connect(m_c->ui.noSymbolToolButton1D, SIGNAL(toggled(bool)), this, SLOT(togglePlotStyle(bool))); - -} - -PlotHist1DDialog::~PlotHist1DDialog() { - delete m_c; -} - - -#include <iostream> -void PlotHist1DDialog::synchTo(PlotHist1D *plot) { - - m_c->synchedPlot=plot; - - if (!plot) return; - - PlotHist1D::Properties prop=plot->properties(); - QPen pen=prop.pen; - QBrush brush = prop.brush; - - int width=pen.width(); - m_c->ui.lineWidthSpinBox1D->setValue(width); - - int symSize=prop.symbolSize; - m_c->ui.symbolSizeSpinBox1D->setValue(symSize); - - { - QColor color = pen.color(); - if (color==QColor("black")) m_c->ui.blackLineToolButton1D->setChecked(true); - else if (color==QColor("red")) m_c->ui.redLineToolButton1D->setChecked(true); - else if (color==QColor("green")) m_c->ui.greenLineToolButton1D->setChecked(true); - else if (color==QColor("blue")) m_c->ui.blueLineToolButton1D->setChecked(true); - else if (color==QColor("cyan")) m_c->ui.cyanLineToolButton1D->setChecked(true); - else if (color==QColor("purple")) m_c->ui.purpleLineToolButton1D->setChecked(true); - else if (color==QColor("gray")) m_c->ui.grayLineToolButton1D->setChecked(true); - else { - m_c->ui.moreLineColorsToolButton1D->setChecked(true); - } - Qt::PenStyle style = pen.style(); - if (style==Qt::SolidLine) m_c->ui.solidLineToolButton1D->setChecked(true); - else if (style==Qt::DashLine) m_c->ui.dashLineToolButton1D->setChecked(true); - else if (style==Qt::DotLine) m_c->ui.dotLineToolButton1D->setChecked(true); - else if (style==Qt::DashDotLine) m_c->ui.dashDotLineToolButton1D->setChecked(true); - else if (style==Qt::DashDotDotLine) m_c->ui.dashDotDotLineToolButton1D->setChecked(true); - else if (style==Qt::NoPen) m_c->ui.noLineToolButton1D->setChecked(true); - } - - - { - QColor color = brush.color(); - if (color==QColor("black")) m_c->ui.blackBrushToolButton1D->setChecked(true); - else if (color==QColor("red")) m_c->ui.redBrushToolButton1D->setChecked(true); - else if (color==QColor("green")) m_c->ui.greenBrushToolButton1D->setChecked(true); - else if (color==QColor("blue")) m_c->ui.blueBrushToolButton1D->setChecked(true); - else if (color==QColor("cyan")) m_c->ui.cyanBrushToolButton1D->setChecked(true); - else if (color==QColor("purple")) m_c->ui.purpleBrushToolButton1D->setChecked(true); - else if (color==QColor("gray")) m_c->ui.grayBrushToolButton1D->setChecked(true); - else { - m_c->ui.moreBrushColorsToolButton1D->setChecked(true); - } - Qt::BrushStyle style = brush.style(); - if (style==Qt::SolidPattern) m_c->ui.solidBrushToolButton1D->setChecked(true); - else if (style==Qt::Dense1Pattern) m_c->ui.dense1BrushToolButton1D->setChecked(true); - else if (style==Qt::Dense2Pattern) m_c->ui.dense2BrushToolButton1D->setChecked(true); - else if (style==Qt::Dense3Pattern) m_c->ui.dense3BrushToolButton1D->setChecked(true); - else if (style==Qt::Dense4Pattern) m_c->ui.dense4BrushToolButton1D->setChecked(true); - else if (style==Qt::Dense5Pattern) m_c->ui.dense5BrushToolButton1D->setChecked(true); - else if (style==Qt::Dense6Pattern) m_c->ui.dense6BrushToolButton1D->setChecked(true); - else if (style==Qt::Dense7Pattern) m_c->ui.dense7BrushToolButton1D->setChecked(true); - else if (style==Qt::HorPattern) m_c->ui.horizontalBrushToolButton1D->setChecked(true); - else if (style==Qt::VerPattern) m_c->ui.verticalBrushToolButton1D->setChecked(true); - else if (style==Qt::CrossPattern) m_c->ui.crossPatternBrushToolButton1D->setChecked(true); - else if (style==Qt::BDiagPattern) m_c->ui.bDiagBrushToolButton1D->setChecked(true); - else if (style==Qt::FDiagPattern) m_c->ui.fDiagBrushToolButton1D->setChecked(true); - else if (style==Qt::DiagCrossPattern) m_c->ui.diagCrossPatternBrushToolButton1D->setChecked(true); - else if (style==Qt::NoBrush) m_c->ui.noBrushToolButton1D->setChecked(true); - } - - PlotHist1D::Properties::PlotStyle plotStyle = prop.plotStyle; - PlotHist1D::Properties::SymbolStyle symbolStyle = prop.symbolStyle; - - if (plotStyle==PlotHist1DProperties::LINES) { - m_c->ui.noSymbolToolButton1D->setChecked(true); - } - else { - if (symbolStyle==PlotHist1D::Properties::CIRCLE) m_c->ui.circleSymbolToolButton1D->setChecked(true); - else if (symbolStyle==PlotHist1D::Properties::SQUARE) m_c->ui.squareSymbolToolButton1D->setChecked(true); - else if (symbolStyle==PlotHist1D::Properties::TRIANGLE_U) m_c->ui.upTriangleSymbolToolButton1D->setChecked(true); - else if (symbolStyle==PlotHist1D::Properties::TRIANGLE_L) m_c->ui.downTriangleSymbolToolButton1D->setChecked(true); - } - - -} - -void PlotHist1DDialog::setLineWidth (int i) { - if (m_c->synchedPlot) { - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - prop.pen.setWidth(i); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } -} - -void PlotHist1DDialog::setSymbolSize (int i) { - if (m_c->synchedPlot) { - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - prop.symbolSize=i; - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } -} - - -void PlotHist1DDialog::toggleLineColor (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.blackLineToolButton1D) prop.pen.setColor(QColor("black")); - else if (theSender==m_c->ui.redLineToolButton1D) prop.pen.setColor(QColor("red")); - else if (theSender==m_c->ui.greenLineToolButton1D) prop.pen.setColor(QColor("green")); - else if (theSender==m_c->ui.blueLineToolButton1D) prop.pen.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanLineToolButton1D) prop.pen.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleLineToolButton1D) prop.pen.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayLineToolButton1D) prop.pen.setColor(QColor("gray")); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - -void PlotHist1DDialog::toggleBrushColor (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.blackBrushToolButton1D) prop.brush.setColor(QColor("black")); - else if (theSender==m_c->ui.redBrushToolButton1D) prop.brush.setColor(QColor("red")); - else if (theSender==m_c->ui.greenBrushToolButton1D) prop.brush.setColor(QColor("green")); - else if (theSender==m_c->ui.blueBrushToolButton1D) prop.brush.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanBrushToolButton1D) prop.brush.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleBrushToolButton1D) prop.brush.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayBrushToolButton1D) prop.brush.setColor(QColor("gray")); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - -void PlotHist1DDialog::toggleLineStyle (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.solidLineToolButton1D) prop.pen.setStyle(Qt::SolidLine); - else if (theSender==m_c->ui.dashLineToolButton1D) prop.pen.setStyle(Qt::DashLine); - else if (theSender==m_c->ui.dotLineToolButton1D) prop.pen.setStyle(Qt::DotLine); - else if (theSender==m_c->ui.dashDotLineToolButton1D) prop.pen.setStyle(Qt::DashDotLine); - else if (theSender==m_c->ui.dashDotDotLineToolButton1D) prop.pen.setStyle(Qt::DashDotDotLine); - else if (theSender==m_c->ui.noLineToolButton1D) prop.pen.setStyle(Qt::NoPen); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - -void PlotHist1DDialog::toggleBrushStyle (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.solidBrushToolButton1D) prop.brush.setStyle(Qt::SolidPattern); - else if (theSender==m_c->ui.dense1BrushToolButton1D) prop.brush.setStyle(Qt::Dense1Pattern); - else if (theSender==m_c->ui.dense2BrushToolButton1D) prop.brush.setStyle(Qt::Dense2Pattern); - else if (theSender==m_c->ui.dense3BrushToolButton1D) prop.brush.setStyle(Qt::Dense3Pattern); - else if (theSender==m_c->ui.dense4BrushToolButton1D) prop.brush.setStyle(Qt::Dense4Pattern); - else if (theSender==m_c->ui.dense5BrushToolButton1D) prop.brush.setStyle(Qt::Dense5Pattern); - else if (theSender==m_c->ui.dense6BrushToolButton1D) prop.brush.setStyle(Qt::Dense6Pattern); - else if (theSender==m_c->ui.dense7BrushToolButton1D) prop.brush.setStyle(Qt::Dense7Pattern); - else if (theSender==m_c->ui.horizontalBrushToolButton1D) prop.brush.setStyle(Qt::HorPattern); - else if (theSender==m_c->ui.verticalBrushToolButton1D) prop.brush.setStyle(Qt::VerPattern); - else if (theSender==m_c->ui.crossPatternBrushToolButton1D) prop.brush.setStyle(Qt::CrossPattern); - else if (theSender==m_c->ui.bDiagBrushToolButton1D) prop.brush.setStyle(Qt::BDiagPattern); - else if (theSender==m_c->ui.fDiagBrushToolButton1D) prop.brush.setStyle(Qt::FDiagPattern); - else if (theSender==m_c->ui.diagCrossPatternBrushToolButton1D) prop.brush.setStyle(Qt::DiagCrossPattern); - else if (theSender==m_c->ui.noBrushToolButton1D) prop.brush.setStyle(Qt::NoBrush); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - - -void PlotHist1DDialog::togglePlotStyle (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist1D::Properties prop = m_c->synchedPlot->properties(); - - if (theSender==m_c->ui.noSymbolToolButton1D) { - prop.plotStyle=PlotHist1D::Properties::LINES; - } - else { - prop.plotStyle=PlotHist1D::Properties::SYMBOLS; - } - - - if (theSender==m_c->ui.circleSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::CIRCLE; - else if (theSender==m_c->ui.squareSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::SQUARE; - else if (theSender==m_c->ui.upTriangleSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::TRIANGLE_U; - else if (theSender==m_c->ui.downTriangleSymbolToolButton1D) prop.symbolStyle=PlotHist1D::Properties::TRIANGLE_L; - - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - diff --git a/graphics/Qat/QatPlotWidgets/src/PlotHist2DDialog.cpp b/graphics/Qat/QatPlotWidgets/src/PlotHist2DDialog.cpp deleted file mode 100644 index addb77e219d2ceda726d17fffdda727493aac9f0..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotHist2DDialog.cpp +++ /dev/null @@ -1,206 +0,0 @@ -#include "QatPlotWidgets/PlotHist2DDialog.h" -#include "QatPlotting/PlotHist2D.h" -#include "ui_PlotDirDialog.h" -class PlotHist2DDialog::Clockwork { -public: - PlotHist2D *synchedPlot; - Ui::PlotDirDialog ui; -}; - -PlotHist2DDialog::PlotHist2DDialog(QWidget *parent): QDialog(parent),m_c(new Clockwork()) { - m_c->synchedPlot=NULL; - m_c->ui.setupUi(this); - m_c->ui.tabWidget->removeTab(5); - m_c->ui.tabWidget->removeTab(3); - m_c->ui.tabWidget->removeTab(1); - m_c->ui.tabWidget->removeTab(0); - - // Unveil later (note, do this also on 1D, Dir dialog); - m_c->ui.moreLineColorsToolButton1D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - m_c->ui.moreLineColorsToolButton2D->hide(); - m_c->ui.moreBrushColorsToolButton1D->hide(); - - connect(m_c->ui.lineWidthSpinBox2D, SIGNAL(valueChanged(int)), this, SLOT(setLineWidth(int))); - - - connect(m_c->ui.blackLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.redLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.greenLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.blueLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.cyanLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.purpleLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - connect(m_c->ui.grayLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineColor(bool))); - - - connect(m_c->ui.blackBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.redBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.greenBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.blueBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.cyanBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.purpleBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - connect(m_c->ui.grayBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushColor(bool))); - - - connect(m_c->ui.solidLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - connect(m_c->ui.noLineToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleLineStyle(bool))); - - connect(m_c->ui.solidBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense1BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense2BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense3BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense4BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense5BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense6BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.dense7BrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - connect(m_c->ui.noBrushToolButton2D, SIGNAL(toggled(bool)), this, SLOT(toggleBrushStyle(bool))); - - -} - -PlotHist2DDialog::~PlotHist2DDialog() { - delete m_c; -} - - -#include <iostream> -void PlotHist2DDialog::synchTo(PlotHist2D *plot) { - - m_c->synchedPlot=plot; - - if (!plot) return; - - PlotHist2D::Properties prop=plot->properties(); - QPen pen=prop.pen; - QBrush brush = prop.brush; - - int width=pen.width(); - m_c->ui.lineWidthSpinBox2D->setValue(width); - - - { - QColor color = pen.color(); - if (color==QColor("black")) m_c->ui.blackLineToolButton2D->setChecked(true); - else if (color==QColor("red")) m_c->ui.redLineToolButton2D->setChecked(true); - else if (color==QColor("green")) m_c->ui.greenLineToolButton2D->setChecked(true); - else if (color==QColor("blue")) m_c->ui.blueLineToolButton2D->setChecked(true); - else if (color==QColor("cyan")) m_c->ui.cyanLineToolButton2D->setChecked(true); - else if (color==QColor("purple")) m_c->ui.purpleLineToolButton2D->setChecked(true); - else if (color==QColor("gray")) m_c->ui.grayLineToolButton2D->setChecked(true); - else { - m_c->ui.moreLineColorsToolButton2D->setChecked(true); - } - Qt::PenStyle style = pen.style(); - if (style==Qt::SolidLine) m_c->ui.solidLineToolButton2D->setChecked(true); - else if (style==Qt::NoPen) m_c->ui.noLineToolButton2D->setChecked(true); - } - - - { - QColor color = brush.color(); - if (color==QColor("black")) m_c->ui.blackBrushToolButton2D->setChecked(true); - else if (color==QColor("red")) m_c->ui.redBrushToolButton2D->setChecked(true); - else if (color==QColor("green")) m_c->ui.greenBrushToolButton2D->setChecked(true); - else if (color==QColor("blue")) m_c->ui.blueBrushToolButton2D->setChecked(true); - else if (color==QColor("cyan")) m_c->ui.cyanBrushToolButton2D->setChecked(true); - else if (color==QColor("purple")) m_c->ui.purpleBrushToolButton2D->setChecked(true); - else if (color==QColor("gray")) m_c->ui.grayBrushToolButton2D->setChecked(true); - else { - m_c->ui.moreBrushColorsToolButton2D->setChecked(true); - } - Qt::BrushStyle style = brush.style(); - if (style==Qt::SolidPattern) m_c->ui.solidBrushToolButton2D->setChecked(true); - else if (style==Qt::Dense1Pattern) m_c->ui.dense1BrushToolButton2D->setChecked(true); - else if (style==Qt::Dense2Pattern) m_c->ui.dense2BrushToolButton2D->setChecked(true); - else if (style==Qt::Dense3Pattern) m_c->ui.dense3BrushToolButton2D->setChecked(true); - else if (style==Qt::Dense4Pattern) m_c->ui.dense4BrushToolButton2D->setChecked(true); - else if (style==Qt::Dense5Pattern) m_c->ui.dense5BrushToolButton2D->setChecked(true); - else if (style==Qt::Dense6Pattern) m_c->ui.dense6BrushToolButton2D->setChecked(true); - else if (style==Qt::Dense7Pattern) m_c->ui.dense7BrushToolButton2D->setChecked(true); - else if (style==Qt::NoBrush) m_c->ui.noBrushToolButton2D->setChecked(true); - } - - -} - -void PlotHist2DDialog::setLineWidth (int i) { - if (m_c->synchedPlot) { - PlotHist2D::Properties prop = m_c->synchedPlot->properties(); - prop.pen.setWidth(i); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } -} - - - -void PlotHist2DDialog::toggleLineColor (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist2D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.blackLineToolButton2D) prop.pen.setColor(QColor("black")); - else if (theSender==m_c->ui.redLineToolButton2D) prop.pen.setColor(QColor("red")); - else if (theSender==m_c->ui.greenLineToolButton2D) prop.pen.setColor(QColor("green")); - else if (theSender==m_c->ui.blueLineToolButton2D) prop.pen.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanLineToolButton2D) prop.pen.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleLineToolButton2D) prop.pen.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayLineToolButton2D) prop.pen.setColor(QColor("gray")); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - -void PlotHist2DDialog::toggleBrushColor (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist2D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.blackBrushToolButton2D) prop.brush.setColor(QColor("black")); - else if (theSender==m_c->ui.redBrushToolButton2D) prop.brush.setColor(QColor("red")); - else if (theSender==m_c->ui.greenBrushToolButton2D) prop.brush.setColor(QColor("green")); - else if (theSender==m_c->ui.blueBrushToolButton2D) prop.brush.setColor(QColor("blue")); - else if (theSender==m_c->ui.cyanBrushToolButton2D) prop.brush.setColor(QColor("cyan")); - else if (theSender==m_c->ui.purpleBrushToolButton2D) prop.brush.setColor(QColor("purple")); - else if (theSender==m_c->ui.grayBrushToolButton2D) prop.brush.setColor(QColor("gray")); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - -void PlotHist2DDialog::toggleLineStyle (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist2D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.solidLineToolButton2D) prop.pen.setStyle(Qt::SolidLine); - else if (theSender==m_c->ui.noLineToolButton2D) prop.pen.setStyle(Qt::NoPen); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - -void PlotHist2DDialog::toggleBrushStyle (bool checked) { - if (m_c->synchedPlot) { - if (checked) { - QObject *theSender = sender(); - PlotHist2D::Properties prop = m_c->synchedPlot->properties(); - if (theSender==m_c->ui.solidBrushToolButton2D) prop.brush.setStyle(Qt::SolidPattern); - else if (theSender==m_c->ui.dense1BrushToolButton2D) prop.brush.setStyle(Qt::Dense1Pattern); - else if (theSender==m_c->ui.dense2BrushToolButton2D) prop.brush.setStyle(Qt::Dense2Pattern); - else if (theSender==m_c->ui.dense3BrushToolButton2D) prop.brush.setStyle(Qt::Dense3Pattern); - else if (theSender==m_c->ui.dense4BrushToolButton2D) prop.brush.setStyle(Qt::Dense4Pattern); - else if (theSender==m_c->ui.dense5BrushToolButton2D) prop.brush.setStyle(Qt::Dense5Pattern); - else if (theSender==m_c->ui.dense6BrushToolButton2D) prop.brush.setStyle(Qt::Dense6Pattern); - else if (theSender==m_c->ui.dense7BrushToolButton2D) prop.brush.setStyle(Qt::Dense7Pattern); - else if (theSender==m_c->ui.noBrushToolButton2D) prop.brush.setStyle(Qt::NoBrush); - m_c->synchedPlot->setProperties(prop); - emit updateHisto(); - } - } -} - - diff --git a/graphics/Qat/QatPlotWidgets/src/PlotView.cpp b/graphics/Qat/QatPlotWidgets/src/PlotView.cpp deleted file mode 100644 index f4849a0ba324ed524ab8145cfc7131165739b254..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotView.cpp +++ /dev/null @@ -1,1405 +0,0 @@ -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/LinearRangeDivider.h" -#include "QatPlotWidgets/LinearSubdivider.h" -#include "QatPlotWidgets/LogSubdivider.h" -#include "QatPlotWidgets/LogRangeDivider.h" -#include "QatPlotting/LinToLog.h" -#include "QatPlotting/Plotable.h" -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsItemGroup> -#include <QResizeEvent> -#include <QPrinter> -#include <QPrintDialog> -#include <QPainter> -#include <QPixmap> -#include <QClipboard> -#include <QTimer> -#include <QFileDialog> -#include <QFontDialog> -#include <QGraphicsSceneMouseEvent> -#include <QMenu> -#include <QAction> -#include <QPicture> -#include <QSvgGenerator> -#include <iostream> -#include <stdexcept> -#include <cmath> -#include <sstream> -#include <memory> -#include "QatPlotWidgets/LabelEditorDialog.h" -#include "QatPlotWidgets/PVControl.h" -#include "ui_PVControl.h" - -std::ostream & operator << (std::ostream & o, const QPointF &p ) { - return o << '(' << p.x() << ' ' << p.y() << ')'; -} - -std::ostream & operator << (std::ostream & o, const QPoint &p ) { - return o << '(' << p.x() << ' ' << p.y() << ')'; -} - - -std::ostream & operator << (std::ostream & o, const QMatrix &m ) { - return o << '(' << m.m11() - << ' ' - << m.m12() - << ' ' - << m.m21() - << ' ' - << m.m22() - << ' ' - << m.dx() - << ' ' - << m.dy() - << ' ' << ')'; -} - -class SRectF: public QRectF { -public: - inline SRectF(const QPolygonF & poly) { - if (poly.size()!=4) { - throw std::runtime_error("Constructing a rectangle requires 4 point polygon"); - } - else { - double width = poly[1].x()-poly[0].x(), height= (poly[2].y()-poly[0].y()); - setRect(poly[0].x(), poly[0].y(), width, height); - } - } -}; - - -class LabelItem:public QGraphicsRectItem{ -public: - - LabelItem(const QRectF & rect, QDialog *dialog, bool visible=false): - QGraphicsRectItem(rect),m_dialog(dialog),m_visible(visible) - { - - { - QPen pen; - pen.setColor(QColor("lightGray")); - pen.setStyle(m_visible ? Qt::SolidLine : Qt::NoPen); - defaultPen=pen; - } - { - QPen pen; - pen.setColor(QColor("darkBlue")); - pen.setStyle(Qt::SolidLine); - hoverPen=pen; - } - - setPen(defaultPen); - setBrush(defaultBrush); - - - setAcceptsHoverEvents(true); - - } - - void hoverEnterEvent(QGraphicsSceneHoverEvent *) { - setPen(hoverPen); - setBrush(hoverBrush); - } - - void hoverLeaveEvent(QGraphicsSceneHoverEvent *) { - setPen(defaultPen); - setBrush(defaultBrush); - } - - void mousePressEvent(QGraphicsSceneMouseEvent *) { - if (m_dialog) { - if (!m_dialog->isVisible()) { - //QPoint point=rect().topLeft().toPoint(); - m_dialog->move(m_dialog->parentWidget()->pos()+m_dialog->parentWidget()->rect().bottomRight()); - m_dialog->show(); - } - else - { - m_dialog->hide(); - } - } - } - bool isVisible() const {return m_visible;} - - QPen defaultPen, hoverPen; - QBrush defaultBrush, hoverBrush; - - -private: - QDialog *m_dialog; - bool m_visible; -}; - -class GraphBoxItem:public QGraphicsRectItem{ -public: - - GraphBoxItem(const QRectF & rect, PVControl *control, PlotView *parent=NULL): - QGraphicsRectItem(rect),m_popup(new QMenu(parent)), m_control(control),m_pvParent(parent) - { - QPen pen; - pen.setWidth(2); - pen.setColor(QColor("black")); - setPen(pen); - setAcceptsHoverEvents(true); - - QSize size(150,75); - m_popup->resize(size); - m_copyAction=m_popup->addAction("Copy"); - m_saveAction=m_popup->addAction("Save"); - m_printAction=m_popup->addAction("Print"); - - QObject::connect (m_printAction, SIGNAL(triggered()), parent, SLOT(print())); - QObject::connect (m_copyAction, SIGNAL(triggered()), parent, SLOT(copy())); - QObject::connect (m_saveAction, SIGNAL(triggered()), parent, SLOT(save())); - - } - - void hoverEnterEvent(QGraphicsSceneHoverEvent *) { - QPen pen; - pen.setWidth(2); - pen.setColor(QColor("darkBlue")); - setPen(pen); - } - - void hoverLeaveEvent(QGraphicsSceneHoverEvent *) { - QPen pen; - pen.setWidth(2); - pen.setColor(QColor("black")); - setPen(pen); - } - - void mousePressEvent (QGraphicsSceneMouseEvent *e) { - if (e->buttons()==Qt::RightButton) { - m_popup->popup(e->widget()->mapToGlobal(e->pos().toPoint())); - } - else if (e->buttons()==Qt::MidButton) { - double slX = (m_pvParent->rect()->right() - m_pvParent->rect()->left())/double(rect().width()); - double slY = (m_pvParent->rect()->top() - m_pvParent->rect()->bottom())/double(rect().height()); - double x = (e->pos().toPoint().x()-rect().left()) * slX + m_pvParent->rect()->left(); - double y = (e->pos().toPoint().y()-rect().bottom()) * slY + m_pvParent->rect()->top(); - m_pvParent->pointChosen(x,y); - } - else if (e->buttons()==Qt::LeftButton) { - m_control->move(m_control->parentWidget()->pos()+m_control->parentWidget()->rect().topRight()); - if (!m_control->isVisible()) { - m_control->show(); - m_control->raise(); - } - else { - m_control->hide(); - } - } - } - - void mouseReleaseEvent (QGraphicsSceneMouseEvent *e) { - if (e->buttons()==Qt::RightButton) m_popup->hide(); - } - - -private: - QMenu *m_popup; - PVControl *m_control; - QAction *m_printAction; - QAction *m_copyAction; - QAction *m_saveAction; - PlotView *m_pvParent; -}; - - -class PlotView::Clockwork { - - -public: - - - Clockwork(): - created(false), - m_control(NULL), - graphBox(NULL), - xLabelBox(NULL), yLabelBox(NULL), vLabelBox(NULL), titleBox(NULL), statBox(NULL), - xLabelEditorDialog(NULL), yLabelEditorDialog(NULL), vLabelEditorDialog(NULL), titleEditorDialog(NULL), statEditorDialog(NULL), - xLabelTextItem(NULL), yLabelTextItem(NULL), vLabelTextItem(NULL), titleTextItem(NULL), statTextItem(NULL), - g(NULL),gridLinesGroup(NULL),contentsGroup(NULL),xZeroLine(NULL),yZeroLine(NULL), - xRangeDivider(NULL),yRangeDivider(NULL), xAllocDivider(NULL), yAllocDivider(NULL), - xAxisStyle{}, yAxisStyle{}, - labelWidth(50), - popupMenu(nullptr), timer(nullptr) - { - xAxisFont.setPointSize(18); - xAxisFont.setFamily("Arial"); - yAxisFont.setPointSize(18); - yAxisFont.setFamily("Arial"); - xPerCento=40; - yPerCento=40; - } - - struct TickLabel{ - TickLabel(double pos, QGraphicsTextItem*tI) :pos(pos),tI(tI) {} - double pos; - QGraphicsTextItem *tI; - }; - - void resizeBoxes(int w, int h) { - graphBoxTopLeft=QPoint(2*labelWidth, 2*labelWidth); - graphBoxSize=QSize(w-4*labelWidth, h-4*labelWidth); - titleBoxTopLeft=QPoint(2*labelWidth, labelWidth); - titleBoxSize=QSize(w-4*labelWidth, labelWidth); - xLabelBoxTopLeft=QPoint(2*labelWidth, h-labelWidth); - xLabelBoxSize=QSize(w-4*labelWidth, labelWidth); - yLabelBoxTopLeft=QPoint(0, 2*labelWidth); - yLabelBoxSize=QSize(labelWidth, h-4*labelWidth); - vLabelBoxTopLeft=QPoint(w-labelWidth, 2*labelWidth); - vLabelBoxSize=QSize(labelWidth, h-4*labelWidth); - statBoxTopLeft=QPoint(2*labelWidth+(100-xPerCento)*(w-4*labelWidth)/100, 2*labelWidth); - statBoxSize=QSize(xPerCento*(w-4*labelWidth)/100, yPerCento*(h-4*labelWidth)/100); - } - - bool created; - PVControl *m_control; - GraphBoxItem *graphBox; - LabelItem *xLabelBox, *yLabelBox, *vLabelBox, *titleBox, *statBox; - LabelEditorDialog *xLabelEditorDialog, *yLabelEditorDialog, *vLabelEditorDialog, *titleEditorDialog, *statEditorDialog; - QGraphicsTextItem *xLabelTextItem, *yLabelTextItem, *vLabelTextItem, *titleTextItem, *statTextItem; - QGraphicsItemGroup *g, *gridLinesGroup, *contentsGroup; - QGraphicsLineItem *xZeroLine, *yZeroLine; - std::vector<TickLabel> xTickLabel, yTickLabel; - AbsRangeDivider *xRangeDivider, *yRangeDivider; // These are not allocated and not owned. - AbsRangeDivider *xAllocDivider, *yAllocDivider; // These area allocated and owned. - - Style xAxisStyle; - Style yAxisStyle; - - QRectF rect; - QGraphicsScene scene; - QFont xAxisFont; - QFont yAxisFont; - const int labelWidth; - - QPoint graphBoxTopLeft; - QSize graphBoxSize; - QPoint titleBoxTopLeft; - QSize titleBoxSize; - QPoint xLabelBoxTopLeft; - QSize xLabelBoxSize; - QPoint yLabelBoxTopLeft; - QSize yLabelBoxSize; - QPoint vLabelBoxTopLeft; - QSize vLabelBoxSize; - QPoint statBoxTopLeft; - QSize statBoxSize; - - QMenu *popupMenu; - QTimer *timer; - std::vector<Plotable *> plotableList; - double xPerCento, yPerCento; - -}; - - -PlotView::~PlotView() { - delete m_c->xAllocDivider; - delete m_c->yAllocDivider; - delete m_c; -} - - -PlotView::PlotView( QWidget *parent) : - QGraphicsView(parent),m_c(new Clockwork()){ - m_c->rect=QRectF(0,0,1,1); - create(); - setLogX(false); - setLogY(false); - createXRangeDivider(); - createYRangeDivider(); - setFrameShape(QFrame::NoFrame); -} - -PlotView::PlotView(const QRectF * rect, Style xStyle, Style yStyle, bool createRangeDividers, QWidget *parent) : QGraphicsView(parent),m_c(new Clockwork) -{ - m_c->rect=*rect; - create(); - setLogX(xStyle==LOG); - setLogY(yStyle==LOG); - if (createRangeDividers) { - createXRangeDivider(); - createYRangeDivider(); - } - setFrameShape(QFrame::NoFrame); -} - -void PlotView::create() { - // If created, you have to do a big cleanup. - if (m_c->created) { - - delete m_c->g; - m_c->xZeroLine=NULL; // Now gone. - m_c->yZeroLine=NULL; // Now gone. - - // Rebuild group and gridLinesGroup: - m_c->g=new QGraphicsItemGroup(); - m_c->scene.addItem(m_c->g); - - m_c->contentsGroup=new QGraphicsItemGroup(); - m_c->scene.addItem(m_c->contentsGroup); - m_c->g->addToGroup(m_c->contentsGroup); - - m_c->gridLinesGroup=new QGraphicsItemGroup(); - m_c->scene.addItem(m_c->gridLinesGroup); - m_c->g->addToGroup(m_c->gridLinesGroup); - - - for (unsigned int i=0;i<m_c->xTickLabel.size();i++) { - m_c->scene.removeItem(m_c->xTickLabel[i].tI); - delete m_c->xTickLabel[i].tI; - - } - for (unsigned int i=0;i<m_c->yTickLabel.size();i++) { - m_c->scene.removeItem(m_c->yTickLabel[i].tI); - delete m_c->yTickLabel[i].tI; - } - m_c->xTickLabel.erase(m_c->xTickLabel.begin(),m_c->xTickLabel.end()); - m_c->yTickLabel.erase(m_c->yTickLabel.begin(),m_c->yTickLabel.end()); - - int w=width(),h=height(); - m_c->resizeBoxes(w,h); - - } - else { - m_c->created=true; - - m_c->timer = new QTimer(this); - QObject::connect(m_c->timer, SIGNAL(timeout()), this, SLOT(animate()), Qt::QueuedConnection); - - m_c->m_control=new PVControl(this,m_c->rect); - setScene(&m_c->scene); - m_c->g=new QGraphicsItemGroup(); - m_c->scene.addItem(m_c->g); - m_c->gridLinesGroup=new QGraphicsItemGroup(); - m_c->scene.addItem(m_c->gridLinesGroup); - m_c->g->addToGroup(m_c->gridLinesGroup); - - m_c->contentsGroup=new QGraphicsItemGroup(); - m_c->scene.addItem(m_c->contentsGroup); - m_c->g->addToGroup(m_c->contentsGroup); - - - setAlignment(Qt::AlignLeft | Qt::AlignTop); - setMinimumSize(700,500); - m_c->xAxisStyle=m_c->m_control->xAxisStyle(); - m_c->yAxisStyle=m_c->m_control->yAxisStyle(); - - m_c->xLabelEditorDialog = new LabelEditorDialog(this); m_c->xLabelEditorDialog->textEdit()->setAlignment(Qt::AlignHCenter); - m_c->yLabelEditorDialog = new LabelEditorDialog(this); m_c->yLabelEditorDialog->textEdit()->setAlignment(Qt::AlignHCenter); - m_c->vLabelEditorDialog = new LabelEditorDialog(this); m_c->vLabelEditorDialog->textEdit()->setAlignment(Qt::AlignHCenter); - m_c->titleEditorDialog = new LabelEditorDialog(this); m_c->titleEditorDialog->textEdit()->setAlignment(Qt::AlignHCenter); - m_c->statEditorDialog = new LabelEditorDialog(this); - - QSize screenDimensions(700,500); - - setDragMode(NoDrag); - // setRenderHint(QPainter::Antialiasing); - // setCacheMode(QGraphicsView::CacheBackground); - - setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - SRectF sceneRect=mapToScene(0,0,700,500); - - setSceneRect(sceneRect); - resize(screenDimensions.width(),screenDimensions.height()); - - int w=screenDimensions.width()/*-5*/,h=screenDimensions.height()/*-5*/; - m_c->resizeBoxes(w,h); - - m_c->statBox=new LabelItem(QRect(m_c->statBoxTopLeft,m_c->statBoxSize),m_c->statEditorDialog); - { - QPen pen; - pen.setStyle(Qt::NoPen); - m_c->statBox->defaultPen=pen; - } - m_c->scene.addItem(m_c->statBox); - - m_c->graphBox=new GraphBoxItem(QRect(m_c->graphBoxTopLeft,m_c->graphBoxSize),m_c->m_control, this); - m_c->scene.addItem(m_c->graphBox); - m_c->titleBox=new LabelItem(QRect(m_c->titleBoxTopLeft,m_c->titleBoxSize),m_c->titleEditorDialog); - m_c->scene.addItem(m_c->titleBox); - m_c->xLabelBox=new LabelItem(QRect(m_c->xLabelBoxTopLeft,m_c->xLabelBoxSize),m_c->xLabelEditorDialog); - m_c->scene.addItem(m_c->xLabelBox); - m_c->yLabelBox=new LabelItem(QRect(m_c->yLabelBoxTopLeft,m_c->yLabelBoxSize),m_c->yLabelEditorDialog); - m_c->scene.addItem(m_c->yLabelBox); - m_c->vLabelBox=new LabelItem(QRect(m_c->vLabelBoxTopLeft,m_c->vLabelBoxSize),m_c->vLabelEditorDialog); - m_c->scene.addItem(m_c->vLabelBox); - - //Make the stat box movable; set boundary to zero. - m_c->statBox->setFlag(QGraphicsItem::ItemIsMovable); - { - QPen pen; - pen.setStyle(Qt::NoPen); - m_c->statBox->defaultPen=pen; - } - - // Workaround to Qt Bug # 138596 (Qt 4.2.1) - m_c->titleEditorDialog->textEdit()->document()->setTextWidth(m_c->titleBoxSize.width()); - m_c->xLabelEditorDialog->textEdit()->document()->setTextWidth(m_c->xLabelBoxSize.width()); - m_c->yLabelEditorDialog->textEdit()->document()->setTextWidth(m_c->yLabelBoxSize.width()); - m_c->vLabelEditorDialog->textEdit()->document()->setTextWidth(m_c->vLabelBoxSize.width()); - m_c->statEditorDialog->textEdit()->document()->setTextWidth(m_c->statBoxSize.width()); - - - m_c->titleEditorDialog->textEdit()->setFixedWidth((int) m_c->titleBox->rect().width()); - m_c->titleEditorDialog->setFixedWidth(m_c->titleEditorDialog->childrenRect().width()); - - m_c->xLabelEditorDialog->textEdit()->setFixedWidth((int) m_c->xLabelBox->rect().width()); - m_c->xLabelEditorDialog->setFixedWidth(m_c->xLabelEditorDialog->childrenRect().width()); - - m_c->yLabelEditorDialog->textEdit()->setFixedWidth((int) m_c->yLabelBox->rect().height()); - m_c->yLabelEditorDialog->setFixedWidth(m_c->yLabelEditorDialog->childrenRect().width()); - - m_c->vLabelEditorDialog->textEdit()->setFixedWidth((int) m_c->vLabelBox->rect().height()); - m_c->vLabelEditorDialog->setFixedWidth(m_c->vLabelEditorDialog->childrenRect().width()); - - m_c->statEditorDialog->textEdit()->setFixedWidth((int) m_c->statBox->rect().width()); - m_c->statEditorDialog->textEdit()->setFixedHeight((int) m_c->statBox->rect().height()); - // end workaround - - - m_c->statEditorDialog->textEdit()->document()->setTextWidth(m_c->statBoxSize.width()); - m_c->statEditorDialog->textEdit()->setWordWrapMode(QTextOption::WrapAnywhere); - m_c->statEditorDialog->textEdit()->setLineWrapMode(QTextEdit::FixedPixelWidth); - - - QFont font; - font.setPointSize(24); - font.setFamily("Arial"); - - - m_c->titleTextItem = new QGraphicsTextItem(m_c->titleBox); - m_c->titleTextItem->setFont(font); - //m_c->scene.addItem(m_c->titleTextItem); - - m_c->xLabelTextItem = new QGraphicsTextItem(m_c->xLabelBox); - m_c->xLabelTextItem->setFont(font); - //m_c->scene.addItem(m_c->xLabelTextItem); - - m_c->yLabelTextItem = new QGraphicsTextItem(m_c->yLabelBox); - m_c->yLabelTextItem->setFont(font); - //m_c->scene.addItem(m_c->yLabelTextItem); - - m_c->vLabelTextItem = new QGraphicsTextItem(m_c->vLabelBox); - m_c->vLabelTextItem->setFont(font); - //m_c->scene.addItem(m_c->vLabelTextItem); - - m_c->statTextItem = new QGraphicsTextItem(m_c->statBox); - m_c->statTextItem->setFont(font); - //m_c->scene.addItem(m_c->statTextItem); - m_c->statBox->setFlag(QGraphicsItem::ItemIsSelectable); - - connect(m_c->m_control, SIGNAL(rectChanged(const QRectF &)), this, SLOT(setRect (const QRectF &))); - - connect(m_c->titleEditorDialog->textEdit(),SIGNAL(textChanged()),this, SLOT(updateTitle())); - connect(m_c->xLabelEditorDialog->textEdit(),SIGNAL(textChanged()),this, SLOT(updateXLabel())); - connect(m_c->yLabelEditorDialog->textEdit(),SIGNAL(textChanged()),this, SLOT(updateYLabel())); - connect(m_c->vLabelEditorDialog->textEdit(),SIGNAL(textChanged()),this, SLOT(updateVLabel())); - connect(m_c->statEditorDialog->textEdit(),SIGNAL(textChanged()),this, SLOT(updateStat())); - - connect(m_c->m_control, SIGNAL(labelHome()), this, SLOT(labelHome())); - connect(m_c->m_control, SIGNAL(editXAxisFont()), this, SLOT(editXAxisFont())); - connect(m_c->m_control, SIGNAL(editYAxisFont()), this, SLOT(editYAxisFont())); - - connect(m_c->m_control, SIGNAL(labelXSizePercentageChanged(qreal)), this, SLOT(setLabelXSizePercentage(qreal))); - connect(m_c->m_control, SIGNAL(labelYSizePercentageChanged(qreal)), this, SLOT(setLabelYSizePercentage(qreal))); - m_c->popupMenu=new QMenu(this); - - } - - - // Label the x axes: - if (m_c->xRangeDivider) m_c->xRangeDivider->setRange(m_c->rect.left(), m_c->rect.right()); - if (m_c->yRangeDivider) m_c->yRangeDivider->setRange(m_c->rect.top(), m_c->rect.bottom()); - - LinToLog *toLogY= m_c->yAxisStyle==LOG ? new LinToLog (m_c->rect.top(),m_c->rect.bottom()) : NULL; - LinToLog *toLogX= m_c->xAxisStyle==LOG ? new LinToLog (m_c->rect.left(),m_c->rect.right()) : NULL; - // Master transformer: - QMatrix m; - m.scale(m_c->graphBoxSize.width()/m_c->rect.width(),-m_c->graphBoxSize.height()/m_c->rect.height()); - m.translate(-m_c->rect.bottomLeft().x(), -m_c->rect.bottomLeft().y()); - // End master transformer.. - - if (m_c->xRangeDivider) { - for (int ix=0;ix<m_c->xRangeDivider->getNumSubdivisions();ix++) { - if (!m_c->xRangeDivider->isValid(ix)) continue; - - std::ostringstream x_label; - double xValue=m_c->xRangeDivider->getSubdivision(ix).x(); - double yValue=m_c->rect.top(); - double wValue=m_c->rect.bottom(); - if (toLogX) xValue = (*toLogX)(xValue); - - - - QPointF X (xValue,yValue); - QPointF XP(xValue,yValue+m_c->rect.height()/32.0); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - // Again (along the top). - { - QPointF X (xValue,wValue); - QPointF XP(xValue,wValue-m_c->rect.height()/32.0); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - // More (subdivisions, linear:): - if (!isLogX()) { - int nPass=ix==0 ? 2:1; - for (int n=0;n<nPass;n++) { - std::auto_ptr<AbsRangeDivider> subdivider(new LinearSubdivider()); - double xValue=m_c->xRangeDivider->getSubdivision(ix).x(); - double xPlusValue= ix!=m_c->xRangeDivider->getNumSubdivisions()-1 ? m_c->xRangeDivider->getSubdivision(ix+1).x(): 2*xValue-m_c->xRangeDivider->getSubdivision(ix-1).x(); - // Works for linear. - - // This is a second pass: - if (n==1) { - if (ix==0) { - double interval=xPlusValue-xValue; - xPlusValue=xValue; - xValue = xValue-interval; - } - } - - subdivider->setRange(xValue,xPlusValue); - for (int i=0;i<subdivider->getNumSubdivisions();i++) { - // if (!subdivider->isValid(i)) continue; - double xValue=subdivider->getSubdivision(i).x(); // Shadows!! - if (xValue<m_c->rect.left() || xValue>m_c->rect.right()) continue; - { - QPointF X (xValue,yValue); - QPointF XP(xValue,yValue+m_c->rect.height()/64.0); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - { - QPointF X (xValue,wValue); - QPointF XP(xValue,wValue-m_c->rect.height()/64.0); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - } - } - } - else { // Log X - int nPass=ix==0 || ix == m_c->xRangeDivider->getNumSubdivisions()-1? 2:1; - for (int n=0;n<nPass;n++) { - std::auto_ptr<AbsRangeDivider> subdivider(new LogSubdivider()); - double xValue=m_c->xRangeDivider->getSubdivision(ix).x(); - double xPlusValue= ix!=m_c->xRangeDivider->getNumSubdivisions()-1 ? m_c->xRangeDivider->getSubdivision(ix+1).x(): 2*xValue-m_c->xRangeDivider->getSubdivision(ix-1).x(); - if (n==1) { - if (ix==0) { - xPlusValue=xValue; - xValue=m_c->rect.left(); - } - else { - xValue=xPlusValue; - xPlusValue=m_c->rect.right(); - } - } - - subdivider->setRange(xValue,xPlusValue); - for (int i=0;i<subdivider->getNumSubdivisions();i++) { - double xValue=subdivider->getSubdivision(i).x(); // Shadows!! - if (toLogX) xValue = (*toLogX)(xValue); - if (xValue<m_c->rect.left() || xValue>m_c->rect.right()) continue; - { - QPointF X (xValue,yValue); - QPointF XP(xValue,yValue+m_c->rect.height()/64.0); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - { - QPointF X (xValue,wValue); - QPointF XP(xValue,wValue-m_c->rect.height()/64.0); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - } - } - } - - QGraphicsTextItem *anon = new QGraphicsTextItem(); - anon->setDocument(m_c->xRangeDivider->getSubdivision(ix).label()); - anon->setFont(m_c->xAxisFont); - anon->adjustSize(); - m_c->scene.addItem(anon); - QRect SBR=anon->sceneBoundingRect().toRect(); - anon->setPos(m.map(X)+m_c->graphBoxTopLeft-QPoint(SBR.width()/2,0)); - m_c->xTickLabel.push_back(Clockwork::TickLabel(xValue,anon)); - - { - QGraphicsLineItem *line=new QGraphicsLineItem(QLineF(QPointF(xValue,m_c->rect.top()),QPointF(xValue,m_c->rect.bottom()))); - QPen pen=line->pen(); - pen.setStyle(Qt::DotLine); - pen.setColor(QColor("lightGray")); - line->setPen(pen); - m_c->scene.addItem(line); - m_c->gridLinesGroup->addToGroup(line); - } - } - } - if (m_c->yRangeDivider) { - for (int iy=0;iy<m_c->yRangeDivider->getNumSubdivisions();iy++) { - if (!m_c->yRangeDivider->isValid(iy)) continue; - - std::ostringstream y_label; - double yValue = m_c->yRangeDivider->getSubdivision(iy).x(); - double xValue = m_c->rect.left(); - double wValue = m_c->rect.right(); - if (toLogY) yValue = (*toLogY)(yValue); - - - QPointF X(xValue,yValue); - QPointF XP(xValue+m_c->rect.width()/32.0,yValue); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - // Again: - { - QPointF X(wValue,yValue); - QPointF XP(wValue-m_c->rect.width()/32.0,yValue); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - // More (subdivisions, linear:): - if (!isLogY()) { - int nPass=iy==0 ? 2:1; - for (int n=0;n<nPass;n++) { - std::auto_ptr<AbsRangeDivider> subdivider(new LinearSubdivider()); - double yValue=m_c->yRangeDivider->getSubdivision(iy).x(); - double yPlusValue= iy!=m_c->yRangeDivider->getNumSubdivisions()-1 ? m_c->yRangeDivider->getSubdivision(iy+1).x(): 2*yValue-m_c->yRangeDivider->getSubdivision(iy-1).x(); - // Works for linear. - - // This is a second pass: - if (n==1) { - if (iy==0) { - double interval=yPlusValue-yValue; - yPlusValue=yValue; - yValue = yValue-interval; - } - } - - subdivider->setRange(yValue,yPlusValue); - for (int i=0;i<subdivider->getNumSubdivisions();i++) { - // if (!subdivider->isValid(i)) continue; - double yValue=subdivider->getSubdivision(i).x(); // Shadows!! - if (yValue<m_c->rect.top() || yValue>m_c->rect.bottom()) continue; - { - QPointF X (xValue,yValue); - QPointF XP(xValue+m_c->rect.width()/64.0,yValue); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - { - QPointF X (wValue,yValue); - QPointF XP(wValue-m_c->rect.width()/64.0,yValue); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - } - } - } - else { // Log Y - int nPass=iy==0 || iy == m_c->yRangeDivider->getNumSubdivisions()-1? 2:1; - for (int n=0;n<nPass;n++) { - std::auto_ptr<AbsRangeDivider> subdivider(new LogSubdivider()); - double yValue=m_c->yRangeDivider->getSubdivision(iy).x(); - double yPlusValue= iy!=m_c->yRangeDivider->getNumSubdivisions()-1 ? m_c->yRangeDivider->getSubdivision(iy+1).x(): 2*yValue-m_c->yRangeDivider->getSubdivision(iy-1).x(); - if (n==1) { - if (iy==0) { - yPlusValue=yValue; - yValue=m_c->rect.top(); - } - else { - yValue=yPlusValue; - yPlusValue=m_c->rect.bottom(); - } - } - - subdivider->setRange(yValue,yPlusValue); - for (int i=0;i<subdivider->getNumSubdivisions();i++) { - double yValue=subdivider->getSubdivision(i).x(); // Shadows!! - if (toLogY) yValue = (*toLogY)(yValue); - if (yValue<m_c->rect.top() || yValue>m_c->rect.bottom()) continue; - { - QPointF X (xValue,yValue); - QPointF XP(xValue+m_c->rect.width()/64.0,yValue); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - { - QPointF X (wValue,yValue); - QPointF XP(wValue-m_c->rect.width()/64.0,yValue); - QGraphicsLineItem *line=new QGraphicsLineItem(); - line->setLine(QLineF(X,XP)); - m_c->scene.addItem(line); - m_c->g->addToGroup(line); - } - } - } - } - - QGraphicsTextItem *anon = new QGraphicsTextItem(); - anon->setDocument(m_c->yRangeDivider->getSubdivision(iy).label()); - anon->setFont(m_c->yAxisFont); - anon->adjustSize(); - m_c->scene.addItem(anon); - QRect SBR=anon->sceneBoundingRect().toRect(); - anon->setPos(m.map(X).toPoint()+m_c->graphBoxTopLeft-QPoint(2*SBR.width()/2+10,SBR.height()/2)); - m_c->yTickLabel.push_back(Clockwork::TickLabel(yValue,anon)); - - { - QGraphicsLineItem *line=new QGraphicsLineItem(QLineF(QPointF(m_c->rect.left(),yValue),QPointF(m_c->rect.right(),yValue))); - QPen pen=line->pen(); - pen.setStyle(Qt::DotLine); - pen.setColor(QColor("lightGray")); - line->setPen(pen); - m_c->scene.addItem(line); - m_c->gridLinesGroup->addToGroup(line); - } - - } - } - if (m_c->rect.contains(0,m_c->rect.center().y())) - { - m_c->xZeroLine=new QGraphicsLineItem(QLineF(QPointF(0,m_c->rect.bottom()),QPointF(0,m_c->rect.top()))); - QPen pen=m_c->xZeroLine->pen(); - pen.setColor(QColor("lightGray")); - m_c->xZeroLine->setPen(pen); - m_c->scene.addItem(m_c->xZeroLine); - m_c->g->addToGroup(m_c->xZeroLine); - } - - if (m_c->rect.contains(m_c->rect.center().x(), 0)) - { - m_c->yZeroLine=new QGraphicsLineItem(QLineF(QPointF(m_c->rect.right(),0),QPointF(m_c->rect.left(),0))); - QPen pen=m_c->yZeroLine->pen(); - pen.setColor(QColor("lightGray")); - m_c->yZeroLine->setPen(pen); - m_c->scene.addItem(m_c->yZeroLine); - m_c->g->addToGroup(m_c->yZeroLine); - } - - //=============================HERE IS A PLACE TO PLAY!!! - // - // Scene - // ContentsGroup - // Rect - // Matrix and inverse - - for (unsigned int i=0;i<m_c->plotableList.size();i++) { - m_c->plotableList[i]->describeYourselfTo(this); - } - //=============================END OF PLAYGROUND - - // Now go through the contents group and order everything! - QList<QGraphicsItem *> contentsList =m_c->contentsGroup->children(); - QList<QGraphicsItem *> gridLinesList=m_c->gridLinesGroup->children(); - QList<QGraphicsItem *> gList =m_c->g->children(); - - - for (int i=0;i<contentsList.size();i++) { - contentsList.at(i)->setZValue(i); - } - for (int i=0;i<gridLinesList.size();i++) { - gridLinesList.at(i)->setZValue(i); - } - for (int i=0;i<gList.size();i++) { - gList.at(i)->setZValue(i); - } - m_c->graphBox->setZValue(0); - m_c->g->setZValue(1); - m_c->vLabelBox->setZValue(2); - m_c->vLabelTextItem->setZValue(3); - m_c->titleBox->setZValue(4); - m_c->titleTextItem->setZValue(5); - m_c->xLabelBox->setZValue(6); - m_c->xLabelTextItem->setZValue(7); - m_c->yLabelBox->setZValue(8); - m_c->yLabelTextItem->setZValue(9); - m_c->statBox->setZValue(10); - m_c->statTextItem->setZValue(11); - - delete toLogY; - delete toLogX; - - m_c->g->setMatrix(m); - m_c->g->setPos(m_c->graphBoxTopLeft); - - setGrid(m_c->m_control->ui().gridCheckBox->isChecked()); - setXZero(m_c->m_control->ui().xZeroCheckBox->isChecked()); - setYZero(m_c->m_control->ui().yZeroCheckBox->isChecked()); -} - - -void PlotView::resizeEvent (QResizeEvent * /*event*/) { //unused parameter - // This is here to prevent funny sizes appearing during resize: - create(); - - //QSize size=event->size(); // size not used anymore... - //int h=size.height(); - //int w=size.width(); - - int h=height(); - int w=width(); - - m_c->resizeBoxes(w,h); - - - QMatrix m; - m.scale(m_c->graphBoxSize.width()/m_c->rect.width(),-m_c->graphBoxSize.height()/m_c->rect.height()); - m.translate(-m_c->rect.bottomLeft().x(), -m_c->rect.bottomLeft().y()); - - m_c->g->setMatrix(m); - m_c->g->setPos(m_c->graphBoxTopLeft); - - m_c->graphBox->setRect(QRect(m_c->graphBoxTopLeft,m_c->graphBoxSize)); - - m_c->titleBox ->setRect(QRect(m_c->titleBoxTopLeft,m_c->titleBoxSize)); - m_c->titleTextItem->setPos(m_c->titleBox->sceneBoundingRect().topLeft()); - - m_c->xLabelBox->setRect(QRect(m_c->xLabelBoxTopLeft,m_c->xLabelBoxSize)); - m_c->xLabelTextItem->setPos(m_c->xLabelBox->sceneBoundingRect().topLeft()); - - m_c->yLabelBox->setRect(QRect(m_c->yLabelBoxTopLeft,m_c->yLabelBoxSize)); - m_c->yLabelTextItem->setPos(m_c->yLabelBox->sceneBoundingRect().bottomLeft()); - - m_c->vLabelBox->setRect(QRect(m_c->vLabelBoxTopLeft,m_c->vLabelBoxSize)); - m_c->vLabelTextItem->setPos(m_c->vLabelBox->sceneBoundingRect().bottomLeft()); - - m_c->statBox ->setRect(QRect(m_c->statBoxTopLeft,m_c->statBoxSize)); - m_c->statTextItem->setPos(m_c->statBox->sceneBoundingRect().topLeft()-m_c->statBox->pos()); - - for (unsigned int i=0;i<m_c->yTickLabel.size();i++) { - QGraphicsTextItem *anon=m_c->yTickLabel[i].tI; - double yValue=m_c->yTickLabel[i].pos; - double xValue=m_c->rect.left(); - QPointF X(xValue,yValue); - QRect SBR=anon->sceneBoundingRect().toRect(); - anon->setPos( m.map(X).toPoint()+m_c->graphBoxTopLeft-QPoint(2*SBR.width()/2+10,SBR.height()/2)); - } - - for (unsigned int i=0;i<m_c->xTickLabel.size();i++) { - QGraphicsTextItem *anon=m_c->xTickLabel[i].tI; - double xValue=m_c->xTickLabel[i].pos; - double yValue=m_c->rect.top(); - QPointF X(xValue,yValue); - QRect SBR=anon->sceneBoundingRect().toRect(); - anon->setPos(m.map(X)+m_c->graphBoxTopLeft-QPoint(SBR.width()/2,0)); - } - - // Workaround to Qt Bug # 138596 (Qt 4.2.1) - if (1) { - m_c->titleTextItem->setTextWidth(m_c->titleBox->rect().width()); - m_c->xLabelTextItem->setTextWidth(m_c->xLabelBox->rect().width()); - m_c->yLabelTextItem->setTextWidth(m_c->yLabelBox->rect().height()); - m_c->vLabelTextItem->setTextWidth(m_c->vLabelBox->rect().height()); - m_c->statTextItem->setTextWidth(m_c->statBox->rect().width()); - - - m_c->titleEditorDialog->textEdit()->setFixedWidth((int) m_c->titleBox->rect().width()); - m_c->titleEditorDialog->setFixedWidth(m_c->titleEditorDialog->childrenRect().width()); - - m_c->xLabelEditorDialog->textEdit()->setFixedWidth((int) m_c->xLabelBox->rect().width()); - m_c->xLabelEditorDialog->setFixedWidth(m_c->xLabelEditorDialog->childrenRect().width()); - - m_c->yLabelEditorDialog->textEdit()->setFixedWidth((int) m_c->yLabelBox->rect().height()); - m_c->yLabelEditorDialog->setFixedWidth(m_c->yLabelEditorDialog->childrenRect().width()); - - m_c->vLabelEditorDialog->textEdit()->setFixedWidth((int) m_c->vLabelBox->rect().height()); - m_c->vLabelEditorDialog->setFixedWidth(m_c->vLabelEditorDialog->childrenRect().width()); - - m_c->statEditorDialog->textEdit()->setFixedWidth((int) m_c->statBox->rect().width()); - m_c->statEditorDialog->textEdit()->setFixedHeight((int) m_c->statBox->rect().height()); - } - - setGrid(m_c->m_control->ui().gridCheckBox->isChecked()); - setXZero(m_c->m_control->ui().xZeroCheckBox->isChecked()); - setYZero(m_c->m_control->ui().yZeroCheckBox->isChecked()); -} - -// Draw Primitives into the plotter: -// Set the Plot Rectangle -void PlotView::setRect(const QRectF & R){ - if (R.top()<=0) { - if (isLogY()) throw std::runtime_error("Ymin<=0 requested with logarithmic scale"); - } - if (R.left()<=0) { - if (isLogX()) throw std::runtime_error("Xmin<=0 requested with logarithmic scale"); - } - m_c->rect=R; - create(); - resize(QWidget::size()); - m_c->m_control->blockSignals(true); - m_c->m_control->setRect(R); - m_c->m_control->blockSignals(false); -} - - -// Get the Plot Rectangle: -QRectF * PlotView::rect() { - return &m_c->rect; -} - -const QRectF * PlotView::rect() const { - return &m_c->rect; -} - -// Clear the Plots -void PlotView::clear() { - stopAnimating(); - m_c->plotableList.erase(m_c->plotableList.begin(),m_c->plotableList.end()); - create(); -} - - -void PlotView::setGrid(bool flag){ - if (flag) m_c->gridLinesGroup->show(); else m_c->gridLinesGroup->hide(); - m_c->scene.update(m_c->scene.sceneRect()); - m_c->m_control->blockSignals(true); - m_c->m_control->ui().gridCheckBox->setChecked(flag); - m_c->m_control->blockSignals(false); - -} -void PlotView::setXZero(bool flag){ - if (m_c->xZeroLine) { - if (flag) m_c->xZeroLine->show(); else m_c->xZeroLine->hide(); - m_c->scene.update(m_c->scene.sceneRect()); - } - m_c->m_control->blockSignals(true); - m_c->m_control->ui().xZeroCheckBox->setChecked(flag); - m_c->m_control->blockSignals(false); -} -void PlotView::setYZero(bool flag){ - if (m_c->yZeroLine) { - if (flag) m_c->yZeroLine->show(); else m_c->yZeroLine->hide(); - m_c->scene.update(m_c->scene.sceneRect()); - } - m_c->m_control->blockSignals(true); - m_c->m_control->ui().yZeroCheckBox->setChecked(flag); - m_c->m_control->blockSignals(false); -} -void PlotView::setLogX(bool flag){ - if (flag==LOG && m_c->rect.left()<=0) { - throw std::runtime_error("Logarithmic scale requested where xmin<=0"); - } - m_c->xAxisStyle=flag ? LOG:LINEAR; - - if (m_c->xRangeDivider && m_c->xRangeDivider==m_c->xAllocDivider) createXRangeDivider(); - m_c->m_control->blockSignals(true); - m_c->m_control->ui().logXCheckBox->setChecked(flag); - m_c->m_control->blockSignals(false); - create(); -} - -void PlotView::setLogY(bool flag){ - if (flag==LOG && m_c->rect.top()<=0) { - throw std::runtime_error("Logarithmic scale requested where ymin<=0"); - } - m_c->yAxisStyle=flag ? LOG:LINEAR; - if (m_c->yRangeDivider && m_c->yRangeDivider==m_c->yAllocDivider) createYRangeDivider(); - m_c->m_control->blockSignals(true); - m_c->m_control->ui().logYCheckBox->setChecked(flag); - m_c->m_control->blockSignals(false); - - create(); -} - -bool PlotView::isLogY() const { - return m_c->yAxisStyle==LOG; -} - -bool PlotView::isLogX() const { - return m_c->xAxisStyle==LOG; -} - -void PlotView::setBox(bool flag){ - - if (flag) { - m_c->statBox->show(); - m_c->statTextItem->show(); - } - else { - m_c->statBox->hide(); - m_c->statTextItem->hide(); - } - { - if (QObject::sender()==m_c->m_control->ui().labelBoxBox) m_c->statBox->setSelected(true); - } - m_c->m_control->blockSignals(true); - m_c->m_control->ui().labelBoxBox->setChecked(flag); - m_c->m_control->blockSignals(false); -} - - -QTextEdit *PlotView::titleTextEdit() {return m_c->titleEditorDialog->textEdit();} -QTextEdit *PlotView::xLabelTextEdit(){return m_c->xLabelEditorDialog->textEdit();} -QTextEdit *PlotView::yLabelTextEdit(){return m_c->yLabelEditorDialog->textEdit();} -QTextEdit *PlotView::vLabelTextEdit(){return m_c->vLabelEditorDialog->textEdit();} -QTextEdit *PlotView::statTextEdit() {return m_c->statEditorDialog->textEdit();} - -void PlotView::updateTitle() { - QTextEdit *textEdit=m_c->titleEditorDialog->textEdit(); - QTextDocument *document=textEdit->document(); - m_c->titleTextItem->setDocument(document); - QPointF q=m_c->titleBox->sceneBoundingRect().topLeft(); - m_c->titleTextItem->setPos(q); - m_c->titleTextItem->setTextWidth(m_c->titleBox->rect().width()); ///!!! HERE - m_c->titleTextItem->update(); -} - -void PlotView::updateStat() { - QTextEdit *textEdit=m_c->statEditorDialog->textEdit(); - QTextDocument *document=textEdit->document(); - m_c->statTextItem->setDocument(document); - QPointF q=m_c->statBox->sceneBoundingRect().topLeft()-m_c->statBox->pos(); - m_c->statTextItem->setPos(q); - m_c->statTextItem->update(); - m_c->statTextItem->setTextWidth(m_c->statBox->rect().width()); -} - - -void PlotView::updateXLabel() { - QTextEdit *textEdit=m_c->xLabelEditorDialog->textEdit(); - QTextDocument *document=textEdit->document(); - m_c->xLabelTextItem->setDocument(document); - QPointF q=m_c->xLabelBox->sceneBoundingRect().topLeft(); - m_c->xLabelTextItem->setPos(q); - m_c->xLabelTextItem->setTextWidth(m_c->xLabelBox->rect().width()); - m_c->xLabelTextItem->update(); -} - -void PlotView::updateYLabel() { - QTextEdit *textEdit=m_c->yLabelEditorDialog->textEdit(); - QTextDocument *document=textEdit->document(); - m_c->yLabelTextItem->setDocument(document); - - QPointF q=m_c->yLabelBox->sceneBoundingRect().bottomLeft(); - QMatrix M; - M.rotate(-90); - m_c->yLabelTextItem->setMatrix(M); - m_c->yLabelTextItem->setPos(q); - m_c->yLabelTextItem->update(); - -} - -void PlotView::updateVLabel() { - QTextEdit *textEdit=m_c->vLabelEditorDialog->textEdit(); - QTextDocument *document=textEdit->document(); - m_c->vLabelTextItem->setDocument(document); - QPointF q=m_c->vLabelBox->sceneBoundingRect().bottomLeft(); - QMatrix M; - M.rotate(-90); - m_c->vLabelTextItem->setMatrix(M); - m_c->vLabelTextItem->setPos(q); - m_c->vLabelTextItem->update(); - -} - - -void PlotView::copy() { - - QPen xp=m_c->xLabelBox->pen(); - QPen yp=m_c->xLabelBox->pen(); - QPen vp=m_c->xLabelBox->pen(); - QPen tp =m_c->titleBox->pen(); - //SM QPen gp =m_c->graphBox->pen(); - - xp.setStyle(Qt::NoPen); - yp.setStyle(Qt::NoPen); - vp.setStyle(Qt::NoPen); - tp.setStyle(Qt::NoPen); - //SM gp.setStyle(Qt::NoPen); - - m_c->xLabelBox->setPen(xp); - m_c->yLabelBox->setPen(yp); - m_c->vLabelBox->setPen(vp); - m_c->titleBox->setPen(tp); - //SM m_c->graphBox->setPen(gp); - - - QPixmap px = QPixmap::grabWidget(this); - QClipboard *cb = QApplication::clipboard(); - cb->setPixmap(px); - - if (m_c->xLabelBox->isVisible()) xp.setStyle(Qt::SolidLine); - if (m_c->yLabelBox->isVisible()) yp.setStyle(Qt::SolidLine); - if (m_c->vLabelBox->isVisible()) vp.setStyle(Qt::SolidLine); - if (m_c->titleBox->isVisible()) tp.setStyle(Qt::SolidLine); - - - m_c->xLabelBox->setPen(xp); - m_c->yLabelBox->setPen(yp); - m_c->vLabelBox->setPen(vp); - m_c->titleBox->setPen(tp); - -} - -void PlotView::print() { - QPrinter printer; - printer.setColorMode(QPrinter::Color); - printer.setResolution(600); - printer.setFullPage(TRUE); - QPrintDialog pDialog(&printer, this); - if (pDialog.exec()) { - - QPainter paint(&printer); - QRect viewport=paint.viewport(); - viewport.setTopLeft(QPoint(1000,1500)); - paint.setViewport(viewport); - - copy(); - QPixmap px = QApplication::clipboard()->pixmap(); - QMatrix m; - m.scale(5,5); - QPixmap ps = px.transformed(m); - - paint.drawPixmap(0,0,ps); - - } - - - -} - - -void PlotView::save() { - QString filename=QFileDialog::getSaveFileName(this, tr("Save File")); - if (filename!="") { - if (filename.toStdString().find(".pic")!=std::string::npos) { - - QPicture picture; - picture.setBoundingRect(QWidget::rect()); - QPainter painter; - painter.begin(&picture); // paint in picture - painter.setPen(Qt::NoPen); - recreate(); - scene()->render (&painter); - - painter.end(); // painting done - picture.save(filename); // save picture - - - } - else if (filename.toStdString().find(".svg")!=std::string::npos) { - - QSvgGenerator generator; - generator.setFileName(filename); - generator.setSize(size()); - //generator.setViewBox(QWidget::rect()); - //generator.setTitle(tr("SVG Generator Example Drawing")); - //generator.setDescription(tr("An SVG drawing created by the SVG Generator " - // "Example provided with Qt.")); - QPainter painter; - painter.begin(&generator); - recreate(); - scene()->render (&painter); - painter.end(); - } - else { - copy(); - QPixmap px = QApplication::clipboard()->pixmap(); - px.save(filename); - } - } -} - -void PlotView::save (const std::string & filename) { - copy(); - QPixmap px = QApplication::clipboard()->pixmap(); - px.save(QString(filename.c_str())); - -} - - - -QGraphicsItemGroup *PlotView::group() { - return m_c->contentsGroup; -} - -QGraphicsScene *PlotView::scene() { - return &m_c->scene; -} - - -QMatrix PlotView::matrix() { - // Master transformer: - QMatrix m; - m.scale(m_c->graphBoxSize.width()/m_c->rect.width(),-m_c->graphBoxSize.height()/m_c->rect.height()); - m.translate(-m_c->rect.bottomLeft().x(), -m_c->rect.bottomLeft().y()); - // End master transformer.. - return m; -} - - -void PlotView::add (Plotable *p) { - m_c->plotableList.push_back(p); - create(); -} - -// Set the Range Divider -void PlotView::setXRangeDivider(AbsRangeDivider * xDivider) { - m_c->xRangeDivider=xDivider; -} - -// Create or re-create a Range Divider (according to current type) -AbsRangeDivider *PlotView::createXRangeDivider(bool set) { - if (m_c->xAllocDivider) delete m_c->xAllocDivider; - m_c->xAllocDivider = m_c->xAxisStyle==LOG ? (AbsRangeDivider *) new LogRangeDivider : (AbsRangeDivider *) new LinearRangeDivider; - if (set) m_c->xRangeDivider=m_c->xAllocDivider; - return m_c->xAllocDivider; -} - -// Set the Range Divider -void PlotView::setYRangeDivider(AbsRangeDivider * yDivider) { - m_c->yRangeDivider=yDivider; -} - -// Create or re-create Range Divider (according to current type). -AbsRangeDivider *PlotView::createYRangeDivider (bool set) { - if (m_c->yAllocDivider) delete m_c->yAllocDivider; - m_c->yAllocDivider = m_c->yAxisStyle==LOG ? (AbsRangeDivider *) new LogRangeDivider : (AbsRangeDivider *) new LinearRangeDivider; - if (set) m_c->yRangeDivider=m_c->yAllocDivider; - return m_c->yAllocDivider; -} - -void PlotView::labelHome() { - m_c->statBox ->setPos(0,0); - m_c->statTextItem->setPos(m_c->statBox->sceneBoundingRect().topLeft()-m_c->statBox->pos()); -} - -void PlotView::editXAxisFont() { - bool ok; - QFont font = QFontDialog::getFont(&ok, m_c->xAxisFont, this); - if (ok) { - m_c->xAxisFont=font; - create(); - // the user clicked OK and font is set to the font the user selected - } else { - // the user canceled the m_dialog; font is set to the initial - // value, in this case Helvetica [Cronyx], 10 - } - -} - -void PlotView::editYAxisFont() { - bool ok; - QFont font = QFontDialog::getFont(&ok, m_c->yAxisFont, this); - if (ok) { - m_c->yAxisFont=font; - create(); - // the user clicked OK and font is set to the font the user selected - } else { - // the user canceled the m_dialog; font is set to the initial - // value, in this case Helvetica [Cronyx], 10 - } - -} -QFont & PlotView::xAxisFont() const { - return m_c->xAxisFont; -} - -QFont & PlotView::yAxisFont() const { - return m_c->yAxisFont; -} - -void PlotView::recreate() { - create(); -} - -void PlotView::animate() { - if (isVisible()) create(); -} - -bool PlotView::isBox() const { - return m_c->m_control->ui().labelBoxBox->isChecked(); -} -bool PlotView::isGrid() const { - return m_c->m_control->ui().gridCheckBox->isChecked(); -} -bool PlotView::isXZero() const { - return m_c->m_control->ui().xZeroCheckBox->isChecked(); -} -bool PlotView::isYZero() const { - return m_c->m_control->ui().yZeroCheckBox->isChecked(); -} -qreal PlotView::statBoxX() const { - return m_c->statBox->x(); -} -qreal PlotView::statBoxY() const { - return m_c->statBox->y(); -} - -void PlotView::setLabelPos(qreal x, qreal y) { - m_c->statBox ->setPos(x,y); - m_c->statTextItem->setPos(m_c->statBox->sceneBoundingRect().topLeft()-m_c->statBox->pos()); -} - -void PlotView::startAnimating(int frameRateMillisec) { - m_c->timer->start(frameRateMillisec); -} - -void PlotView::stopAnimating() { - m_c->timer->stop(); -} - -void PlotView::setLabelXSizePercentage (qreal percentage) { - m_c->xPerCento=percentage; - m_c->m_control->blockSignals(true); - m_c->m_control->setLabelXSizePercentage (int (percentage+0.5)); - m_c->m_control->blockSignals(false); - int w=width(),h=height(); - m_c->resizeBoxes(w,h); - m_c->statBox ->setRect(QRect(m_c->statBoxTopLeft,m_c->statBoxSize)); - m_c->statEditorDialog->textEdit()->document()->setTextWidth(m_c->statBoxSize.width()); - m_c->statEditorDialog->textEdit()->setFixedWidth((int) m_c->statBox->rect().width()); -} -void PlotView::setLabelYSizePercentage (qreal percentage) { - m_c->yPerCento=percentage; - m_c->m_control->blockSignals(true); - m_c->m_control->setLabelYSizePercentage (int (percentage+0.5)); - m_c->m_control->blockSignals(false); - create(); - int w=width(),h=height(); - m_c->resizeBoxes(w,h); - m_c->statBox ->setRect(QRect(m_c->statBoxTopLeft,m_c->statBoxSize)); - m_c->statEditorDialog->textEdit()->setFixedHeight((int) m_c->statBox->rect().height()); - -} - -qreal PlotView::labelXSizePercentage() const { - return m_c->xPerCento; -} - -qreal PlotView::labelYSizePercentage() const { - return m_c->yPerCento; -} diff --git a/graphics/Qat/QatPlotWidgets/src/PlotWidgets.qrc b/graphics/Qat/QatPlotWidgets/src/PlotWidgets.qrc deleted file mode 100644 index f81d632e57f2107fbba392267612288fe50f8eba..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/PlotWidgets.qrc +++ /dev/null @@ -1,39 +0,0 @@ -<RCC> - <qresource prefix="/resource-1" > - <file>ICONS/BrushBDiagPattern.png</file> - <file>ICONS/BrushCrossPattern.png</file> - <file>ICONS/BrushDense1Pattern.png</file> - <file>ICONS/BrushDense2Pattern.png</file> - <file>ICONS/BrushDense3Pattern.png</file> - <file>ICONS/BrushDense4Pattern.png</file> - <file>ICONS/BrushDense5Pattern.png</file> - <file>ICONS/BrushDense6Pattern.png</file> - <file>ICONS/BrushDense7Pattern.png</file> - <file>ICONS/BrushDiagCrossPattern.png</file> - <file>ICONS/BrushFDiagPattern.png</file> - <file>ICONS/BrushHorPattern.png</file> - <file>ICONS/BrushNoBrush.png</file> - <file>ICONS/BrushSolidPattern.png</file> - <file>ICONS/BrushVerPattern.png</file> - <file>ICONS/QtSolid.png</file> - <file>ICONS/black.png</file> - <file>ICONS/blue.png</file> - <file>ICONS/brush-styles.png</file> - <file>ICONS/circle.png</file> - <file>ICONS/cyan.png</file> - <file>ICONS/gray.png</file> - <file>ICONS/green.png</file> - <file>ICONS/mauve.png</file> - <file>ICONS/nosymbol.png</file> - <file>ICONS/qpen-dash.png</file> - <file>ICONS/qpen-dashdot.png</file> - <file>ICONS/qpen-dashdotdot.png</file> - <file>ICONS/qpen-dot.png</file> - <file>ICONS/qpen-none.png</file> - <file>ICONS/qpen-solid.png</file> - <file>ICONS/red.png</file> - <file>ICONS/square.png</file> - <file>ICONS/tridown.png</file> - <file>ICONS/triup.png</file> - </qresource> -</RCC> diff --git a/graphics/Qat/QatPlotWidgets/src/QatPlotWidgets.pro b/graphics/Qat/QatPlotWidgets/src/QatPlotWidgets.pro deleted file mode 100644 index e7e925ab0ecc5392d968de583d97bdb87df48cde..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/QatPlotWidgets.pro +++ /dev/null @@ -1,56 +0,0 @@ - -###################################################################### -# Automatically generated by qmake (2.01a) Sun Oct 19 02:42:55 2008 -###################################################################### - -TEMPLATE = lib -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis -DESTDIR=../../../lib -FORMS=LabelEditorDialog.ui PVControl.ui PlotDirDialog.ui ParameterDialog.ui -CONFIG += qt debug -QT += svg -LIBS = -lQatPlotting -lQatDataModeling -lQatDataAnalysis -lCLHEP -# Input -HEADERS += ../QatPlotWidgets/CustomRangeDivider.h \ - ../QatPlotWidgets/RangeDivision.h \ - ../QatPlotWidgets/AbsRangeDivider.h \ - ../QatPlotWidgets/LinearRangeDivider.h \ - ../QatPlotWidgets/LogRangeDivider.h \ - ../QatPlotWidgets/PlotView.h \ - ../QatPlotWidgets/LabelEditorDialog.h \ - ../QatPlotWidgets/characterwidget.h \ - ../QatPlotWidgets/PVControl.h \ - ../QatPlotWidgets/PlotHist1DDialog.h \ - ../QatPlotWidgets/PlotHist2DDialog.h \ - ../QatPlotWidgets/PlotDirDialog.h \ - ../QatPlotWidgets/PlotFunction1DDialog.h \ - ../QatPlotWidgets/ParameterDialog.h \ - ../QatPlotWidgets/LinearSubdivider.h \ - ../QatPlotWidgets/LogSubdivider.h - -SOURCES += CustomRangeDivider.cpp \ - RangeDivision.cpp \ - AbsRangeDivider.cpp \ - LinearRangeDivider.cpp \ - LogRangeDivider.cpp \ - PlotView.cpp \ - LabelEditorDialog.cpp \ - characterwidget.cpp \ - PVControl.cpp \ - PlotHist1DDialog.cpp \ - PlotHist2DDialog.cpp \ - PlotDirDialog.cpp \ - PlotFunction1DDialog.cpp \ - ParameterDialog.cpp \ - LinearSubdivider.cpp \ - LogSubdivider.cpp - -target.path=/usr/local/lib -headers.path=/usr/local/include/QatPlotWidgets -headers.files= ../QatPlotWidgets/*.h ../QatPlotWidgets/*.icc ui_PlotDirDialog.h ui_LabelEditorDialog.h ui_PVControl.h ui_ParameterDialog.h - -INSTALLS += target -INSTALLS += headers -RESOURCES = PlotWidgets.qrc diff --git a/graphics/Qat/QatPlotWidgets/src/RangeDivision.cpp b/graphics/Qat/QatPlotWidgets/src/RangeDivision.cpp deleted file mode 100644 index 9394192a6e54736f1e4fc43a7b73029c953cf322..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/RangeDivision.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include "QatPlotWidgets/RangeDivision.h" -QTextDocument* RangeDivision::label() const { - return m_label; -} - -void RangeDivision::setLabel(QTextDocument *doc) { - delete m_label; - m_label=doc->clone(); -} - -const double & RangeDivision::x() const { - return m_x; -} - - -RangeDivision::RangeDivision(double value): m_x(value),m_label(new QTextDocument) { -} - -RangeDivision::~RangeDivision() { - delete m_label; -} - -RangeDivision::RangeDivision ( const RangeDivision & right): - m_x(right.m_x), - m_label(right.m_label->clone()) -{ -} - -RangeDivision & RangeDivision::operator=(const RangeDivision & right) { - if (&right!=this) { - if (m_label) delete m_label; - m_label=right.m_label->clone(); - m_x=right.m_x; - } - return *this; -} - diff --git a/graphics/Qat/QatPlotWidgets/src/characterwidget.cpp b/graphics/Qat/QatPlotWidgets/src/characterwidget.cpp deleted file mode 100644 index 109dd6503733d6d642297778ef0b478b1d1f8ee0..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotWidgets/src/characterwidget.cpp +++ /dev/null @@ -1,151 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2004-2006 Trolltech ASA. All rights reserved. -** -** This file is part of the example classes of the Qt Toolkit. -** -** This file may be used under the terms of the GNU General Public -** License version 2.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of -** this file. Please review the following information to ensure GNU -** General Public Licensing requirements will be met: -** http://www.trolltech.com/products/qt/opensource.html -** -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://www.trolltech.com/products/qt/licensing.html or contact the -** sales department at sales@trolltech.com. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ - -#include <QtGui> - -#include "QatPlotWidgets/characterwidget.h" -#include <iostream> -CharacterWidget::CharacterWidget(QWidget *parent) - : QWidget(parent) -{ - m_squareSize = 24; - m_columns = 16; - m_lastKey = -1; - setMouseTracking(true); -} - -void CharacterWidget::updateFont(const QFont &font) -{ - m_displayFont.setFamily(font.family()); - m_squareSize = qMax(24, QFontMetrics(m_displayFont).xHeight() * 3); - adjustSize(); - update(); -} - - -void CharacterWidget::updateFamily(const QString &family) -{ - m_displayFont.setFamily(family); - m_squareSize = qMax(24, QFontMetrics(m_displayFont).xHeight() * 3); - adjustSize(); - update(); -} - -void CharacterWidget::updateSize(const QString &fontSize) -{ - m_displayFont.setPointSize(fontSize.toInt()); - m_squareSize = qMax(24, QFontMetrics(m_displayFont).xHeight() * 3); - adjustSize(); - update(); -} - -void CharacterWidget::updateStyle(const QString &fontStyle) -{ - QFontDatabase fontDatabase; - const QFont::StyleStrategy oldStrategy = m_displayFont.styleStrategy(); - m_displayFont = fontDatabase.font(m_displayFont.family(), fontStyle, m_displayFont.pointSize()); - m_displayFont.setStyleStrategy(oldStrategy); - m_squareSize = qMax(24, QFontMetrics(m_displayFont).xHeight() * 3); - adjustSize(); - update(); -} - -void CharacterWidget::updateFontMerging(bool enable) -{ - if (enable) - m_displayFont.setStyleStrategy(QFont::PreferDefault); - else - m_displayFont.setStyleStrategy(QFont::NoFontMerging); - adjustSize(); - update(); -} - -QSize CharacterWidget::sizeHint() const -{ - return QSize(m_columns*m_squareSize, (65536/m_columns)*m_squareSize); -} - -void CharacterWidget::mouseMoveEvent(QMouseEvent *event) -{ - QPoint widgetPosition = mapFromGlobal(event->globalPos()); - uint key = (widgetPosition.y()/m_squareSize)*m_columns + widgetPosition.x()/m_squareSize; - - QString text = QString::fromLatin1("<p>Character: <span style=\"font-size: 24pt; font-family: %1\">").arg(m_displayFont.family()) - + QChar(key) - + QString::fromLatin1("</span><p>Value: 0x") - + QString::number(key, 16) + QString ("Type " ) + QString::number(QChar(key).category()); - QToolTip::showText(event->globalPos(), text, this); -} - -void CharacterWidget::mousePressEvent(QMouseEvent *event) -{ - if (event->button() == Qt::LeftButton) { - m_lastKey = (event->y()/m_squareSize)*m_columns + event->x()/m_squareSize; - if (QChar(m_lastKey).category() != QChar::NoCategory) - emit characterSelected(QString(QChar(m_lastKey))); - update(); - } - else - QWidget::mousePressEvent(event); -} - -void CharacterWidget::paintEvent(QPaintEvent *event) -{ - QPainter painter(this); - painter.fillRect(event->rect(), QBrush(Qt::white)); - painter.setFont(m_displayFont); - - QRect redrawRect = event->rect(); - int beginRow = redrawRect.top()/m_squareSize; - int endRow = redrawRect.bottom()/m_squareSize; - int beginColumn = redrawRect.left()/m_squareSize; - int endColumn = redrawRect.right()/m_squareSize; - - painter.setPen(QPen(Qt::gray)); - for (int row = beginRow; row <= endRow; ++row) { - for (int column = beginColumn; column <= endColumn; ++column) { - painter.drawRect(column*m_squareSize, row*m_squareSize, m_squareSize, m_squareSize); - } - } - - QFontMetrics fontMetrics(m_displayFont); - painter.setPen(QPen(Qt::black)); - for (int row = beginRow; row <= endRow; ++row) { - - for (int column = beginColumn; column <= endColumn; ++column) { - - int key = row*m_columns + column; - painter.setClipRect(column*m_squareSize, row*m_squareSize, m_squareSize, m_squareSize); - - if (key == m_lastKey) - painter.fillRect(column*m_squareSize + 1, row*m_squareSize + 1, m_squareSize, m_squareSize, QBrush(Qt::red)); - QChar Char(key); - // QChar::Category cat =Char.category(); - // if (QChar(key).isPrint()) - painter.drawText(column*m_squareSize + (m_squareSize / 2) - fontMetrics.width(QChar(key))/2, - row*m_squareSize + 4 + fontMetrics.ascent(), - QString(Char)); - - } - } -} diff --git a/graphics/Qat/QatPlotting/CMakeLists.txt b/graphics/Qat/QatPlotting/CMakeLists.txt deleted file mode 100644 index 4ab04dd9c752f15749d5d3d25c24b7905725a129..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/CMakeLists.txt +++ /dev/null @@ -1,28 +0,0 @@ -################################################################################ -# Package: QatPlotting -################################################################################ - -# Declare the package name: -atlas_subdir( QatPlotting ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatDataAnalysis ) - -# External dependencies: -find_package( CLHEP ) -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Component(s) in the package: -atlas_add_library( QatPlotting - src/*.c* - PUBLIC_HEADERS QatPlotting - INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${QT4_INCLUDE_DIRS} - DEFINITIONS ${CLHEP_DEFINITIONS} - LINK_LIBRARIES ${CLHEP_LIBRARIES} QatDataAnalysis ${QT4_LIBRARIES} GL ) - diff --git a/graphics/Qat/QatPlotting/QatPlotting/AbsPlotter.h b/graphics/Qat/QatPlotting/QatPlotting/AbsPlotter.h deleted file mode 100644 index c7c3d5fbf7b373d8ca80fae4ce5c2ee835335ca7..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/AbsPlotter.h +++ /dev/null @@ -1,84 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------------// -// // -// Abstract base class for plotters // -// // -//----------------------------------------------------------------------------------------// - -#ifndef _ABSPLOTTER_H_ -#define _ABSPLOTTER_H_ - -class Graphic; -class QRectF; -class Plotable; -class QMatrix; -class QGraphicsItemGroup; -class QGraphicsScene; -class AbsPlotter { - -public: - - // Default constructor: - AbsPlotter(); - - // Virtual destructor: - virtual ~AbsPlotter(); - - // Add a plotable: - virtual void add(Plotable *)=0; - - // Get the scene - virtual QGraphicsScene *scene()=0; - - // Get the contents group: - virtual QGraphicsItemGroup *group()=0; - - // Get the transformation matrix. - virtual QMatrix matrix()=0; - - // Set the Plot Rectangle - virtual void setRect(const QRectF & ) = 0; - - // Get the Plot Rectangle: - virtual QRectF * rect() = 0; - virtual const QRectF * rect() const = 0; - - // Clear the Plots, and the rectangle as well: - virtual void clear() = 0; - - // Is this log scale X? - virtual bool isLogX() const=0; - - // Is this log scale Y? - virtual bool isLogY() const=0; - - // Start Animating - virtual void startAnimating(int frameRateMillisec)=0; - - // Stop Animating - virtual void stopAnimating()=0; -}; - -#endif - diff --git a/graphics/Qat/QatPlotting/QatPlotting/LinToLog.h b/graphics/Qat/QatPlotting/QatPlotting/LinToLog.h deleted file mode 100644 index a6b8c29f34c8627c3871933047b00888f3bce30d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/LinToLog.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef Lin2Log -#define Lin2Log -#include <cmath> -#include <stdexcept> -class LinToLog { - - public: - - // Constructor: - LinToLog(double minVal, double maxVal):m_a(minVal),m_b(maxVal) - { - if (m_a>m_b) throw std::runtime_error ("Error in logarithmic mapper a>b "); - if (m_a<=0) throw std::runtime_error ("Error in logarithmic mapper a<=0 "); - m_c = (m_a-m_b)/log(m_a/m_b); - } - - double operator () (double x) const { - return m_a + m_c*log(x/m_a); - } - - private: - - double m_a; - double m_b; - double m_c; -}; -#endif - diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotBand1D.h b/graphics/Qat/QatPlotting/QatPlotting/PlotBand1D.h deleted file mode 100644 index acbf62e9fa1e1b550dc29a38a446e5da7bf0d7ba..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotBand1D.h +++ /dev/null @@ -1,94 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for Function1D's // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTBAND1D_H -#define QATPLOTTING_PLOTBAND1D_H - -#include "QatPlotting/Plotable.h" -//#include "QatPlotting/PlotBand1DProperties.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -#include <QtCore/QRectF> -#include <QtCore/QSizeF> -#include <memory> - -class AbsPlotter; -class PlotBand1DProperties; - -namespace Genfun { - class AbsFunction; -} - -class PlotBand1D: public Plotable{ - -public: - - // Define Properties: - typedef PlotBand1DProperties Properties; - - // Constructors - PlotBand1D(const Genfun::AbsFunction & function1, - const Genfun::AbsFunction & function2, - const Cut<double> & domainRestriction, - const QRectF & rectHint = QRectF(QPointF(-10, -10), QSizeF(20, 20))); - - // Constructors - PlotBand1D(const Genfun::AbsFunction & function1, - const Genfun::AbsFunction & functino2, - const QRectF & rectHint = QRectF(QPointF(-10, -10), QSizeF(20, 20))); - - // Copy constructor: - PlotBand1D(const PlotBand1D &); - - // Assignment operator: - PlotBand1D & operator=(const PlotBand1D &) = delete; - - // Destructor - virtual ~PlotBand1D(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotBand1DProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotBand1DProperties.h deleted file mode 100644 index 41ec2f1a71055f8603e165525ec86e6716944f93..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotBand1DProperties.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _PLOTBAND1DPROPERTIES_H_ -#define _PLOTBAND1DPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> -class PlotBand1DProperties { - - public: - - QPen pen; - QBrush brush; - - - // Construct Default: - PlotBand1DProperties(){} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotBox.h b/graphics/Qat/QatPlotting/QatPlotting/PlotBox.h deleted file mode 100644 index 1fe15a994da3d5e9d84737d4bb04eaece0b19ed7..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotBox.h +++ /dev/null @@ -1,78 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// Plottable adaptor for Function1D's // -// // -//---------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTBOX_H -#define QATPLOTTING_PLOTBOX_H -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotBoxProperties.h" -#include "CLHEP/Matrix/SymMatrix.h" -#include "CLHEP/Matrix/Vector.h" -#include <QtCore/QRectF> - -class PlotBox: public Plotable { - -public: - - // Define Properties: - typedef PlotBoxProperties Properties; - - // Constructors - PlotBox(double x, double y, double dx, double dy); - - // Destructor - virtual ~PlotBox(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - - -private: - - // Copy constructor: - PlotBox(const PlotBox &); - - // Assignment operator: - PlotBox & operator=(const PlotBox &); - - class Clockwork; - Clockwork *m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotBoxProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotBoxProperties.h deleted file mode 100644 index b7796ac537ffab35d284364fbd9ab0108dcb50bb..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotBoxProperties.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _PLOTBOXPROPERTIES_H_ -#define _PLOTBOXPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotBoxProperties { - - public: - - - QPen pen; - QBrush brush; - - - // Construct Default: - PlotBoxProperties() {} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipse.h b/graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipse.h deleted file mode 100644 index 3bedf8f6709f9fe3749f676a1b43d6d4c7d683a7..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipse.h +++ /dev/null @@ -1,88 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//---------------------------------------------------------------------------// -// // -// Plottable adaptor for Function1D's // -// // -//---------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTERRORELLIPSE_H -#define QATPLOTTING_PLOTERRORELLIPSE_H -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotErrorEllipseProperties.h" -#include "CLHEP/Matrix/SymMatrix.h" -#include "CLHEP/Matrix/Vector.h" -#include <QtCore/QRectF> - -class PlotErrorEllipse: public Plotable { - -public: - - enum Style { - ONEUNITCHI2, - ONESIGMA, - TWOSIGMA, - THREESIGMA, - NINETY, - NINETYFIVE, - NINETYNINE }; - - // Define Properties: - typedef PlotErrorEllipseProperties Properties; - - // Constructors - PlotErrorEllipse(double x, double y, double sx2, double sy2, double sxy, Style style=ONESIGMA); - - // Destructor - virtual ~PlotErrorEllipse(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - - - -private: - - // Copy constructor: - PlotErrorEllipse(const PlotErrorEllipse &); - - // Assignment operator: - PlotErrorEllipse & operator=(const PlotErrorEllipse &); - - class Clockwork; - Clockwork *m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipseProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipseProperties.h deleted file mode 100644 index 3e88fe848df8b0d54caf500da5842038e77d65b5..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotErrorEllipseProperties.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _PLOTERRORELLIPSEPROPERTIES_H_ -#define _PLOTERRORELLIPSEPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotErrorEllipseProperties { - - public: - - - QPen pen; - QBrush brush; - - - // Construct Default: - PlotErrorEllipseProperties() {} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.h b/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.h deleted file mode 100644 index 1c9aca3e78be4b8c0ee23a5e8554ecba4009f0cc..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.h +++ /dev/null @@ -1,92 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for Function1D's // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTFUNCTION1D_H -#define QATPLOTTING_PLOTFUNCTION1D_H -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotFunction1DProperties.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -#include <QtCore/QRectF> -#include <vector> -#include <string> -#include <limits.h> -#include <memory> - -namespace Genfun { - class AbsFunction; - class Parameter; -} - -class PlotFunction1D: public Plotable{ - -public: - - // Define Properties: - typedef PlotFunction1DProperties Properties; - - // Constructors - PlotFunction1D(const Genfun::AbsFunction & function, - const Cut<double> & domainRestriction, - const QRectF & rectHint = QRectF(QPointF(-10, -10), QSizeF(20, 20))); - - // Constructors - PlotFunction1D(const Genfun::AbsFunction & function, - const QRectF & rectHint = QRectF(QPointF(-10, -10), QSizeF(20, 20))); - - // Copy constructor: - PlotFunction1D(const PlotFunction1D &); - - // Assignment operator: - PlotFunction1D & operator=(const PlotFunction1D &); - - // Destructor - virtual ~PlotFunction1D(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -protected: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - - -}; -#include "QatPlotting/PlotFunction1D.icc" -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.icc b/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.icc deleted file mode 100644 index 4870f38ab5be4369e1b5ee53624e12a8c402af96..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1D.icc +++ /dev/null @@ -1,117 +0,0 @@ -#include "QatPlotting/LinToLog.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatDataAnalysis/Query.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <stdexcept> - -class PlotFunction1D::Clockwork { - -public: - Clockwork() : - function(nullptr), - rect(), - domainRestriction(nullptr), - myProperties(nullptr), - defaultProperties() {} - - ~Clockwork() { - delete domainRestriction; - delete function; - delete myProperties; - } - - //copy - Clockwork(const Clockwork & other){ - function=(other.function)?other.function->clone():nullptr; - rect=other.rect; - domainRestriction=(other.domainRestriction)?other.domainRestriction->clone():nullptr; - myProperties=(other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - - //assign - Clockwork & operator=(const Clockwork & other){ - if (&other !=this){ - delete function; - function=(other.function)?other.function->clone():nullptr; - rect=other.rect; - delete domainRestriction; - domainRestriction=(other.domainRestriction)?other.domainRestriction->clone():nullptr; - delete myProperties; - myProperties=(other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } - - static bool intersect(const QRectF * rect, const QPointF & p1, const QPointF & p2, QPointF & p) { - double min=rect->top(); - double max=rect->bottom(); - double y1=p1.y(); - double y2=p2.y(); - if (rect->contains(p1) && rect->contains(p2)) { - return false; - } else if (y1 < min || y2 < min) { - if (QLineF(p1,p2).intersect(QLineF(rect->topLeft(),rect->topRight()),&p)!=QLineF::BoundedIntersection){ - return false; - } - } else if (y1 > max || y2 > max) { - if (QLineF(p1,p2).intersect(QLineF(rect->bottomLeft(),rect->bottomRight()),&p)!=QLineF::BoundedIntersection){ - return false; - } - } - return true; - } - - static bool - maxOut(const QRectF * rect, const QPointF & p1, QPointF & p) { - double min=rect->top(); - double max=rect->bottom(); - double y1=p1.y(); - if (rect->contains(p1)) { - if (fabs(y1-max) < fabs(y1-min)) { - p.setX(p1.x()); - p.setY(max); - } else { - p.setX(p1.x()); - p.setY(min); - } - } else { - if (y1>max) { - p.setX(p1.x()); - p.setY(max); - } else if (y1<min) { - p.setX(p1.x()); - p.setY(min); - } - } - return true; - } - - static void - moveTo(QPainterPath *path, const QMatrix & m, const QPointF & p, const LinToLog *linToLogX=NULL, const LinToLog *linToLogY=NULL) { - double x=p.x(),y=p.y(); - if (linToLogX) x = (*linToLogX)(x); - if (linToLogY) y = (*linToLogY)(y); - path->moveTo(m.map(QPointF(x,y))); - } - - static void - lineTo(QPainterPath *path, const QMatrix & m, const QPointF & p, const LinToLog *linToLogX=NULL, const LinToLog *linToLogY=NULL) { - double x=p.x(),y=p.y(); - if (linToLogX) x = (*linToLogX)(x); - if (linToLogY) y = (*linToLogY)(y); - path->lineTo(m.map(QPointF(x,y))); - } - - // This is state: - const Genfun::AbsFunction *function; // The function - QRectF rect; // The "natural" bounding rectangle - const Cut<double> *domainRestriction; // Domain restrictions. - Properties *myProperties; // My properties. May - Properties defaultProperties; - -}; diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1DProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1DProperties.h deleted file mode 100644 index 9e919baa03be46617e3d1f5fd848fbd788c636a2..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotFunction1DProperties.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _PLOTFUNCTION1DPROPERTIES_H_ -#define _PLOTFUNCTION1DPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> -class PlotFunction1DProperties { - - public: - - QPen pen; - QBrush brush; - double baseLine; - - - // Construct Default: - PlotFunction1DProperties(): - baseLine(0.0){} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotHist1D.h b/graphics/Qat/QatPlotting/QatPlotting/PlotHist1D.h deleted file mode 100644 index cb373c68edd926a1d46b0bb8989ea3a9048c2e01..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotHist1D.h +++ /dev/null @@ -1,86 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for Hist1D's // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTHIST1D_H -#define QATPLOTTING_PLOTHIST1D_H -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotHist1DProperties.h" -#include <QtCore/QRectF> -#include <vector> -#include <memory> -class Hist1D; -class PlotHist1D: public Plotable { - -public: - - - // Define properties: - typedef PlotHist1DProperties Properties; - - // Constructor - PlotHist1D(const Hist1D &); - - // Copy constructor: - PlotHist1D(const PlotHist1D &); - - // Assignment operator: - PlotHist1D & operator=(const PlotHist1D &) = delete; - - // Destructor - virtual ~PlotHist1D(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Get the title: - virtual std::string title() const; - - // Get the text summary: - virtual std::string textSummary() const; - - // Get the histogram: - const Hist1D *histogram() const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotHist1DProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotHist1DProperties.h deleted file mode 100644 index 4bbe7d05be9b6ee6801ea40af103b72ac4a5b3c8..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotHist1DProperties.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef _PLOTHIST1DPROPERTIES_H_ -#define _PLOTHIST1DPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotHist1DProperties { - - public: - - - QPen pen; - QBrush brush; - - enum PlotStyle {LINES, SYMBOLS} plotStyle; - - - enum SymbolStyle {CIRCLE, - SQUARE, - TRIANGLE_U, - TRIANGLE_L} symbolStyle; - - int symbolSize; - - // Construct Default: - PlotHist1DProperties(): - plotStyle(LINES), - symbolStyle(CIRCLE), - symbolSize(5) - {} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotHist2D.h b/graphics/Qat/QatPlotting/QatPlotting/PlotHist2D.h deleted file mode 100644 index ad794bc2194143828c42532d02a07d62e646be5d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotHist2D.h +++ /dev/null @@ -1,86 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for Hist2D's // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTHIST2D_H -#define QATPLOTTING_PLOTHIST2D_H -#include "QatPlotting/Plotable.h" -//#include "QatPlotting/PlotHist2DProperties.h" -//#include <QtCore/QRectF> -//#include <vector> -#include <memory> - -class Hist2D; -//class PlotHist2DProperties; < The graphics/Qat/QatPlotWidgets package needs this here -#include "QatPlotting/PlotHist2DProperties.h" -class QrectF; -class AbsPlotter; - -class PlotHist2D: public Plotable { - -public: - - - // Define properties: - typedef PlotHist2DProperties Properties; - - // Constructor - PlotHist2D(const Hist2D &); - - // Copy constructor: - PlotHist2D(const PlotHist2D &); - - // Assignment operator: - PlotHist2D & operator=(const PlotHist2D &) = delete; - - // Destructor - virtual ~PlotHist2D(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Get the histogram: - const Hist2D *histogram() const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotHist2DProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotHist2DProperties.h deleted file mode 100644 index 9ff80367ca018c8ccf57908e6ac08cf211256507..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotHist2DProperties.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _PLOTHIST2DPROPERTIES_H_ -#define _PLOTHIST2DPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotHist2DProperties { - - public: - - - QPen pen; - QBrush brush; - - // Construct Default: - PlotHist2DProperties() - {} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotMeasure.h b/graphics/Qat/QatPlotting/QatPlotting/PlotMeasure.h deleted file mode 100644 index 1439d3f05c035b109b99ccfbaf5af669094f94bd..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotMeasure.h +++ /dev/null @@ -1,83 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable Measure // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTMEASURE_H -#define QATPLOTTING_PLOTMEASURE_H -#include "QatPlotting/Plotable.h" -//#include "PlotMeasureProperties.h" -//#include <QtCore/QRectF> -//#include <vector> -class QRectF; -class PlotMeasureProperties; -class AbsPlotter; -class QPointF; - -class PlotMeasure: public Plotable { - -public: - - // Define properties: - typedef PlotMeasureProperties Properties; - - // Constructor - PlotMeasure(); - - // Destructor - virtual ~PlotMeasure(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Add Points: - void addPoint(const QPointF & point, double sizePlus, double sizeMnus); - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - // Copy constructor: - PlotMeasure(const PlotMeasure &); - - // Assignment operator: - PlotMeasure operator=(const PlotMeasure &); - - class Clockwork; - Clockwork *m_c; - - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotMeasureProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotMeasureProperties.h deleted file mode 100644 index 5f1f19f67436316fd2832d20cff81192937e0c5e..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotMeasureProperties.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _PLOTMEASUREPROPERTIES_H_ -#define _PLOTMEASUREPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotMeasureProperties { - - public: - - - QPen pen; - QBrush brush; - enum SymbolStyle {CIRCLE, - SQUARE, - TRIANGLE_U, - TRIANGLE_L} symbolStyle; - - int symbolSize; - - // Construct Default: - PlotMeasureProperties(): - symbolStyle(CIRCLE), - symbolSize(5){ - } - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.h b/graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.h deleted file mode 100644 index 7a62e648c104e99e034ee70319b49c1e3a8785f8..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.h +++ /dev/null @@ -1,90 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for two Function1D's // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTORBIT_H -#define QATPLOTTING_PLOTORBIT_H -class AbsFunction; -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotOrbitProperties.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -#include <QtCore/QRectF> -#include <vector> -#include <string> -#include <limits.h> -#include <memory> - -namespace Genfun { - class AbsFunction; - class Parameter; -} - -class PlotOrbit: public Plotable{ - -public: - - // Define Properties: - typedef PlotOrbitProperties Properties; - - // Constructors - PlotOrbit(const Genfun::AbsFunction & functionX, - const Genfun::AbsFunction & functionY, - double t0, - double t1); - - // Copy constructor: - PlotOrbit(const PlotOrbit &); - - // Assignment operator: - PlotOrbit & operator=(const PlotOrbit &); - - // Destructor - virtual ~PlotOrbit(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -protected: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - - -}; -#include "QatPlotting/PlotOrbit.icc" -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.icc b/graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.icc deleted file mode 100644 index 0801b34d705b204794ebd3f0bd83c55a4673d7cd..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotOrbit.icc +++ /dev/null @@ -1,140 +0,0 @@ -#include "QatPlotting/LinToLog.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatDataAnalysis/Query.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <stdexcept> - -class PlotOrbit::Clockwork { - -public: - - Clockwork() : - functionX(nullptr), - functionY(nullptr), - rect(), - t0(0.0), t1(1.0), - myProperties(nullptr), - defaultProperties() {} - - ~Clockwork() { - delete functionX; - delete functionY; - delete myProperties; - } - - //copy - Clockwork(const Clockwork & other){ - functionX=(other.functionX)?(other.functionX->clone()):nullptr; - functionY=(other.functionY)?(other.functionY->clone()):nullptr; - rect=other.rect; - t0=other.t0; t1=other.t1; - myProperties=(other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - - //assign - Clockwork & operator=(const Clockwork & other){ - if (&other != this){ - delete functionX; - functionX=(other.functionX)?(other.functionX->clone()):nullptr; - delete functionY; - functionY=(other.functionY)?(other.functionY->clone()):nullptr; - rect=other.rect; - t0=other.t0; t1=other.t1; - delete myProperties; - myProperties=(other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - - } - - -public: - static bool intersect(const QRectF * rect, const QPointF & p1, const QPointF & p2, QPointF & p) { - - double min=rect->top(); - double max=rect->bottom(); - double y1=p1.y(); - double y2=p2.y(); - - if (rect->contains(p1) && rect->contains(p2)) { - return false; - } - else if (y1 < min || y2 < min) { - if (QLineF(p1,p2).intersect(QLineF(rect->topLeft(),rect->topRight()),&p)!=QLineF::BoundedIntersection){ - return false; - } - } - else if (y1 > max || y2 > max) { - if (QLineF(p1,p2).intersect(QLineF(rect->bottomLeft(),rect->bottomRight()),&p)!=QLineF::BoundedIntersection){ - return false; - } - } - return true; - } - - static bool maxOut(const QRectF * rect, const QPointF & p1, QPointF & p) { - - double min=rect->top(); - double max=rect->bottom(); - double y1=p1.y(); - - if (rect->contains(p1)) { - if (fabs(y1-max) < fabs(y1-min)) { - p.setX(p1.x()); - p.setY(max); - } - else { - p.setX(p1.x()); - p.setY(min); - } - } - else { - - if (y1>max) { - p.setX(p1.x()); - p.setY(max); - } - else if (y1<min) { - p.setX(p1.x()); - p.setY(min); - } - } - - return true; - } - - static void moveTo(QPainterPath *path, const QMatrix & m, const QPointF & p, const LinToLog *linToLogX=NULL, const LinToLog *linToLogY=NULL) { - double x=p.x(),y=p.y(); - if (linToLogX) x = (*linToLogX)(x); - if (linToLogY) y = (*linToLogY)(y); - - path->moveTo(m.map(QPointF(x,y))); - } - - static void lineTo(QPainterPath *path, const QMatrix & m, const QPointF & p, const LinToLog *linToLogX=NULL, const LinToLog *linToLogY=NULL) { - double x=p.x(),y=p.y(); - if (linToLogX) x = (*linToLogX)(x); - if (linToLogY) y = (*linToLogY)(y); - - path->lineTo(m.map(QPointF(x,y))); - } - - // This is state: - const Genfun::AbsFunction *functionX; // The first function - const Genfun::AbsFunction *functionY; // The second function - QRectF rect; // The "natural" bounding rectangle - double t0,t1; // Start and end times (or parameter values) - Properties *myProperties; // My properties. May - Properties defaultProperties; - -private: - - //Clockwork (const Clockwork &); - //Clockwork & operator=(const Clockwork &); - -}; diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotOrbitProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotOrbitProperties.h deleted file mode 100644 index 9a460f7eefa25bef629a19cf4c890a89734b1439..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotOrbitProperties.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _PLOTORBITPROPERTIES_H_ -#define _PLOTORBITPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> -class PlotOrbitProperties { - - public: - - QPen pen; - - // Construct Default: - PlotOrbitProperties(){} - - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotPoint.h b/graphics/Qat/QatPlotting/QatPlotting/PlotPoint.h deleted file mode 100644 index e018ff9ca35b5fc9c512914916b0bc7b69cfe9d3..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotPoint.h +++ /dev/null @@ -1,70 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATPLOTTING_PLOTPOINT_H -#define QATPLOTTING_PLOTPOINT_H -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotPointProperties.h" -#include <QtCore/QRectF> -#include <memory> - -class PlotPoint: public Plotable { - -public: - - // Define Properties: - typedef PlotPointProperties Properties; - - // Constructors - PlotPoint(double x, double y); - - // Destructor - virtual ~PlotPoint(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - - // Copy constructor: - PlotPoint(const PlotPoint &); - - // Assignment operator: - PlotPoint & operator=(const PlotPoint &); - -private: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotPointProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotPointProperties.h deleted file mode 100644 index 0c8da137bd64c48fbb2671fbe6741444cf21f9e8..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotPointProperties.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _PLOTPOINTPROPERTIES_H_ -#define _PLOTPOINTPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotPointProperties { - - public: - - - QPen pen; - QBrush brush; - enum SymbolStyle {CIRCLE, - SQUARE, - TRIANGLE_U, - TRIANGLE_L} symbolStyle; - - int symbolSize; - - // Construct Default: - PlotPointProperties(): - symbolStyle(CIRCLE), - symbolSize(5){} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotProfile.h b/graphics/Qat/QatPlotting/QatPlotting/PlotProfile.h deleted file mode 100644 index 0e9536f175c799ffbfc05d1502395327a568d147..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotProfile.h +++ /dev/null @@ -1,82 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable Profile // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTPROFILE_H -#define QATPLOTTING_PLOTPROFILE_H -#include "QatPlotting/Plotable.h" -#include "PlotProfileProperties.h" -#include <QtCore/QRectF> -#include <vector> -class PlotProfile: public Plotable { - -public: - - - // Define properties: - typedef PlotProfileProperties Properties; - - // Constructor - PlotProfile(); - - // Destructor - virtual ~PlotProfile(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Add Points: - void addPoint(const QPointF & point, double size); - - // Add Points: - void addPoint(const QPointF & point, double errorPlus, double errorMinus); - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - // Copy constructor: - PlotProfile(const PlotProfile &); - - // Assignment operator: - PlotProfile & operator=(const PlotProfile &); - - class Clockwork; - Clockwork *m_c; - - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotProfileProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotProfileProperties.h deleted file mode 100644 index 34d8bdc05821c4c0d761fec580b915f7ec168f5c..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotProfileProperties.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef _PLOTPROFILEPROPERTIES_H_ -#define _PLOTPROFILEPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotProfileProperties { - - public: - - - QPen pen; - QBrush brush; - enum SymbolStyle {CIRCLE, - SQUARE, - TRIANGLE_U, - TRIANGLE_L} symbolStyle; - - int symbolSize; - int errorBarSize; - bool drawSymbol; - - // Construct Default: - PlotProfileProperties(): - symbolStyle(CIRCLE), - symbolSize(5), - errorBarSize(symbolSize), - drawSymbol(true){ - } - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotRect.h b/graphics/Qat/QatPlotting/QatPlotting/PlotRect.h deleted file mode 100644 index 9b68709692775c97297e100963ba8a0c2d3b09c2..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotRect.h +++ /dev/null @@ -1,70 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATPLOTTING_PLOTRECT_H -#define QATPLOTTING_PLOTRECT_H -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotRectProperties.h" -#include <QtCore/QRectF> -#include <memory> - -class PlotRect: public Plotable { - -public: - - // Define Properties: - typedef PlotRectProperties Properties; - - // Constructors - PlotRect(const QRectF & rect); - - // Destructor - virtual ~PlotRect(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - - // Copy constructor: - PlotRect(const PlotRect &); - - // Assignment operator: - PlotRect & operator=(const PlotRect &); - -private: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotRectProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotRectProperties.h deleted file mode 100644 index 69540e0f05acbe3cb1b1026b453155be340b3d5a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotRectProperties.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef _PLOTRECTPROPERTIES_H_ -#define _PLOTRECTPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotRectProperties { - - public: - - - QPen pen; - QBrush brush; - - // Construct Default: - PlotRectProperties() {} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotResidual1D.h b/graphics/Qat/QatPlotting/QatPlotting/PlotResidual1D.h deleted file mode 100644 index ee46566eaa1c2294704aa693c2ceaa5ce0a75527..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotResidual1D.h +++ /dev/null @@ -1,88 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for Residual1D's // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTRESIDUAL1D_H -#define QATPLOTTING_PLOTRESIDUAL1D_H -#include "QatPlotting/Plotable.h" -#include "PlotResidual1DProperties.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include <QtCore/QRectF> -#include <vector> -#include <memory> -class Hist1D; - -class PlotResidual1D: public Plotable { - -public: - - - // Define properties: - typedef PlotResidual1DProperties Properties; - - // Constructor - PlotResidual1D(const Hist1D &, Genfun::GENFUNCTION); - - // Copy constructor: - PlotResidual1D(const PlotResidual1D &); - - // Assignment operator: - PlotResidual1D & operator=(const PlotResidual1D &); - - // Destructor - virtual ~PlotResidual1D(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Get the title: - virtual std::string title() const; - - // Get the histogram: - const Hist1D *histogram() const; - - // Get the function: - const Genfun::AbsFunction *function () const; - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - class Clockwork; - std::unique_ptr<Clockwork> m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotResidual1DProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotResidual1DProperties.h deleted file mode 100644 index 70c7d703bc9f19d88afc815cca983aac6f14269b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotResidual1DProperties.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _PLOTRESIDUAL1DPROPERTIES_H_ -#define _PLOTRESIDUAL1DPROPERTIES_H_ -#include <QtGui/QPen> - -class PlotResidual1DProperties { - - public: - - - QPen pen; - - enum SymbolStyle {CIRCLE, - SQUARE, - TRIANGLE_U, - TRIANGLE_L} symbolStyle; - - int symbolSize; - - // Construct Default: - PlotResidual1DProperties(): - symbolStyle(CIRCLE), - symbolSize(5) - {} - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotShadeBox.h b/graphics/Qat/QatPlotting/QatPlotting/PlotShadeBox.h deleted file mode 100644 index 171752b51f406d4f048da19f35be085e22a80532..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotShadeBox.h +++ /dev/null @@ -1,82 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable ShadeBox // -// // -//----------------------------------------------------------------------------------// -#ifndef QATPLOTTING_PLOTSHADEBOX_H -#define QATPLOTTING_PLOTSHADEBOX_H -#include "QatPlotting/Plotable.h" -#include "PlotShadeBoxProperties.h" -#include <QtCore/QRectF> -#include <vector> -class PlotShadeBox: public Plotable { - -public: - - - // Define properties: - typedef PlotShadeBoxProperties Properties; - - // Constructor - PlotShadeBox(); - - // Destructor - virtual ~PlotShadeBox(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Add Points: - void addPoint(const QPointF & point, double size); - - // Add Points: - void addPoint(const QPointF & point, double errorPlus, double errorMinus); - - // Set the properties - void setProperties(const Properties &properties); - - // Revert to default properties: - void resetProperties(); - - // Get the properties (either default, or specific) - const Properties properties () const; - -private: - - // Copy constructor: - PlotShadeBox(const PlotShadeBox &); - - // Assignment operator: - PlotShadeBox & operator=(const PlotShadeBox &); - - class Clockwork; - Clockwork *m_c; - - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotShadeBoxProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotShadeBoxProperties.h deleted file mode 100644 index e3cbbb3dad6c0656edb462237e242308f2331edb..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotShadeBoxProperties.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef _PLOTSHADEBOXPROPERTIES_H_ -#define _PLOTSHADEBOXPROPERTIES_H_ -#include <QtGui/QPen> -#include <QtGui/QBrush> - -class PlotShadeBoxProperties { - - public: - - - QPen pen; - QBrush brush; - double horizontalSize; - - // Construct Default: - PlotShadeBoxProperties(): - horizontalSize(1.0) - { - } - -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotStream.h b/graphics/Qat/QatPlotting/QatPlotting/PlotStream.h deleted file mode 100644 index 5185271f45a9a92e212501ad42a968a54d9b8aec..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotStream.h +++ /dev/null @@ -1,221 +0,0 @@ -#ifndef _PlotStream_h_ -#define _PlotStream_h_ -#include <sstream> -#include <iomanip> -#include <QtGui/QTextEdit> -#include <QtGui/QColor> -#include <string> -// This is a simple class to be used with editable label widgets -class PlotStream { - - public: - - class Clear { - public: - Clear() {} - }; - - class EndP { - public: - EndP() {} - }; - - class Family { - public: - Family(const std::string & name):name(name) {} - std::string name; - }; - - class Size { - public: - Size(unsigned int pointsize):pointsize(pointsize){} - unsigned int pointsize; - }; - - class Super { - public: - Super(){} - }; - - class Sub { - public: - Sub(){} - }; - - class Normal { - public: - Normal(){} - }; - - class Bold { - public: - Bold(){} - }; - - class Regular { - public: - Regular(){} - }; - - class Italic { - public: - Italic(){} - }; - - class Oblique { - public: - Oblique(){} - }; - - class Left { - public: - Left(){} - }; - - class Right { - public: - Right(){} - }; - - class Center { - public: - Center(){} - }; - - class Color { - public: - Color(const QColor &color):color(color){} - QColor color; - }; - - PlotStream (QTextEdit * textEdit):textEdit(textEdit){} - - PlotStream & operator << (const Clear &){ - textEdit->clear(); - stream.str(""); - return *this; - } - PlotStream & operator << (const EndP &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - return *this; - } - PlotStream & operator << (const Family & family){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setFontFamily(QString(family.name.c_str())); - return *this; - } - PlotStream & operator << (const Size & sz){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setFontPointSize(sz.pointsize); - return *this; - } - PlotStream & operator << (const Super &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - QTextCharFormat format=textEdit->currentCharFormat(); - format.setVerticalAlignment(QTextCharFormat::AlignSuperScript); - textEdit->setCurrentCharFormat(format); - return *this; - } - PlotStream & operator << (const Sub &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - QTextCharFormat format=textEdit->currentCharFormat(); - format.setVerticalAlignment(QTextCharFormat::AlignSubScript); - textEdit->setCurrentCharFormat(format); - return *this; - } - - PlotStream & operator << (const Normal &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - QTextCharFormat format=textEdit->currentCharFormat(); - format.setVerticalAlignment(QTextCharFormat::AlignNormal); - textEdit->setCurrentCharFormat(format); - return *this; - } - - PlotStream & operator << (const Left &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setAlignment(Qt::AlignLeft); - return *this; - } - - PlotStream & operator << (const Right &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setAlignment(Qt::AlignRight); - return *this; - } - - PlotStream & operator << (const Center &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setAlignment(Qt::AlignCenter); - return *this; - } - - PlotStream & operator << (const Bold &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setFontWeight(QFont::Bold); - return *this; - } - - PlotStream & operator << (const Regular &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setFontWeight(QFont::Normal); - return *this; - } - - PlotStream & operator << (const Italic &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setFontItalic(true); - return *this; - } - - PlotStream & operator << (const Oblique &){ - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setFontItalic(false); - return *this; - } - - PlotStream & operator << (const Color & color) { - textEdit->insertPlainText(stream.str().c_str()); - stream.str(""); - textEdit->setTextColor(color.color); - return *this; - } - - PlotStream & operator << (const std::string & text) { - stream << text; - return *this; - } - - PlotStream & operator << (const char c) { - stream << c; - return *this; - } - - PlotStream & operator << (double x) { - stream << x; - return *this; - } - - PlotStream & operator << (int i) { - stream << i; - return *this; - } - - QTextEdit *textEdit; - std::ostringstream stream; -}; - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotText.h b/graphics/Qat/QatPlotting/QatPlotting/PlotText.h deleted file mode 100644 index ca2d6f8dc611a7289a1979bce48a58876fa5c87e..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotText.h +++ /dev/null @@ -1,63 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#ifndef QATPLOTTING_PLOTTEXT_H -#define QATPLOTTING_PLOTTEXT_H -#include "QatPlotting/Plotable.h" -#include <QtCore/QRectF> -#include <QtCore/QString> - -class QGraphicsTextItem; -class QTextDocument; - -class PlotText: public Plotable { - -public: - - // Constructors - PlotText(double x, double y, const QString & string=QString("")); - - // Destructor - virtual ~PlotText(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - // Set the document: - void setDocument(QTextDocument *document); - - // Copy constructor: - PlotText(const PlotText &); - - // Assignment operator: - PlotText & operator=(const PlotText &); - -private: - - class Clockwork; - Clockwork *m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotWave1D.h b/graphics/Qat/QatPlotting/QatPlotting/PlotWave1D.h deleted file mode 100644 index fbded1c95c9804d2df9cc79c49e4ef591f073ed6..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotWave1D.h +++ /dev/null @@ -1,75 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//----------------------------------------------------------------------------------// -// // -// Plottable adaptor for Function1D's // -// // -//----------------------------------------------------------------------------------// -#ifndef _PLOTWAVE1D_H_ -#define _PLOTWAVE1D_H_ -class AbsFunction; -#include "QatPlotting/Plotable.h" -#include "QatPlotting/PlotFunction1D.h" -#include "QatPlotting/PlotWave1DProperties.h" -#include "CLHEP/GenericFunctions/CutBase.hh" -#include <QtCore/QRectF> -#include <vector> -#include <string> -#include <limits.h> - -namespace Genfun { - class AbsFunction; - class Parameter; -} - -class PlotWave1D: public PlotFunction1D{ - -public: - - // Define Properties: - typedef PlotWave1DProperties Properties; - - // Constructors - PlotWave1D(const Genfun::AbsFunction & function, - const Cut<double> & domainRestriction, - const QRectF & rectHint = QRectF(QPointF(-10, -10), QSizeF(20, 20))); - - // Constructors - PlotWave1D(const Genfun::AbsFunction & function, - const QRectF & rectHint = QRectF(QPointF(-10, -10), QSizeF(20, 20))); - - // Copy constructor: - PlotWave1D(const PlotWave1D &); - - // Assignment operator: - PlotWave1D & operator=(const PlotWave1D &); - - // Destructor - virtual ~PlotWave1D(); - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo(AbsPlotter *plotter) const; - - -}; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/PlotWave1DProperties.h b/graphics/Qat/QatPlotting/QatPlotting/PlotWave1DProperties.h deleted file mode 100644 index e278571585d9769f1bfd65b4af7a39d7db1f7076..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/PlotWave1DProperties.h +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef _PLOTWAVE1DPROPERTIES_H_ -#define _PLOTWAVE1DPROPERTIES_H_ -#include "QatPlotting/PlotFunction1DProperties.h" -typedef PlotFunction1DProperties PlotWave1DProperties; -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/Plotable.h b/graphics/Qat/QatPlotting/QatPlotting/Plotable.h deleted file mode 100644 index 906df6d7bad906b0aea5e4206221ad096fb2f72c..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/Plotable.h +++ /dev/null @@ -1,59 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -//--------------------------------------------------------------------------// -// Class Plotable // -// // -// Joe Boudreau June 2K // -// // -// This class is a base class for all plotable objects. It describes // -// the plottable thing in terms of individual points and connected points // -// (polylines). The plotters can then blindly iterate through their // -// plottables, obtaining their points, scaling them, and plotting them. // -// // -// The plottables also hold the plot styles // -// // -//--------------------------------------------------------------------------// -#ifndef _PLOTABLE_H_ -#define _PLOTABLE_H_ - -class QRectF; -class AbsPlotter; -class Plotable { - -public: - - // Constructor - Plotable(); - - // Destructor - virtual ~Plotable(); - - // Get the "natural rectangular border" - virtual const QRectF rectHint() const=0; - - // Describe to plotter, in terms of primitives: - virtual void describeYourselfTo (AbsPlotter *plotter) const =0; - -}; -#endif - diff --git a/graphics/Qat/QatPlotting/QatPlotting/RealArg.h b/graphics/Qat/QatPlotting/QatPlotting/RealArg.h deleted file mode 100644 index 114f4c8045462ca4d6c8250177c66d7afbc79910..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/RealArg.h +++ /dev/null @@ -1,71 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -// ----------------------------------------------------------// -// // -// Set of domain restrictions for 1-D functions: // -// // -// // -// RealArg::Eq(value) // -// RealArg::Gt(value) // -// RealArg::Lt(value) // -// // -// These are useful for specifying where a function is valid // -// i.e. the domain of the function. // -// // -// ----------------------------------------------------------// - -#ifndef QATPLOTTING_REALARG_H -#define QATPLOTTING_REALARG_H -#include "CLHEP/GenericFunctions/CutBase.hh" -namespace RealArg { - - class Eq: public Cut<double> { - public: - Eq(double value); - virtual bool operator() (const double & x) const; - virtual Eq *clone() const; - private: - double m_value; // value; - }; - - class Gt: public Cut<double> { - public: - Gt(double value); - virtual bool operator() (const double & x) const; - virtual Gt *clone() const; - private: - double m_value; // value; - }; - - class Lt: public Cut<double> { - public: - Lt(double value); - virtual bool operator() (const double & x) const; - virtual Lt *clone() const; - private: - double m_value; // value; - }; - -} - -#endif diff --git a/graphics/Qat/QatPlotting/QatPlotting/VisFunction.h b/graphics/Qat/QatPlotting/QatPlotting/VisFunction.h deleted file mode 100644 index 1e8782fa3bf5b9247b112be6bf35e9970ec509ce..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/QatPlotting/VisFunction.h +++ /dev/null @@ -1,88 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - - -// *-----------------------------------------------------------------*/ -// * A base class for functions to be visualized in the presenter */ -// * ----------------------------------------------------------------*/ -#ifndef QATPLOTTING_VISFUNCTION_H -#define QATPLOTTING_VISFUNCTION_H -class Plotable; -#include <QtCore/QRectF> -#include <map> -#include <string> -#include "CLHEP/GenericFunctions/Parameter.hh" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "CLHEP/GenericFunctions/CutBase.hh" - -class VisFunction { - -public: - - // Constructor: - VisFunction(const std::string & name); - - // Destructor: - virtual ~VisFunction(); - - // Get the number of parameters: - unsigned int getNumParameters() const; - - // Get the Parameter: - Genfun::Parameter *getParameter(unsigned int i) const; - - // Add a parameter - void addParameter(Genfun::Parameter *parameter); - - // Get the number of functions: - unsigned int getNumFunctions() const; - - // Get the Function - const Genfun::AbsFunction *getFunction(unsigned int i) const; - - // Get the Domain Resctriction (NULL if unrestricted) - const Cut<double> *getDomainRestriction(unsigned int i) const; - - // Add a function. (Clones the function in, also the cut if any). - void addFunction(Genfun::GENFUNCTION f, const Cut<double> *domainRestriction=NULL); - - // Name - const std::string & name() const; - - // Rect Hint - const QRectF & rectHint() const; - - // Rect Hint - QRectF & rectHint(); - - private: - - // Illegal operations: - VisFunction (const VisFunction & ); - VisFunction & operator= (const VisFunction &); - - // Internals: - class Clockwork; - Clockwork *m_c; - -}; -#endif diff --git a/graphics/Qat/QatPlotting/src/AbsPlotter.cpp b/graphics/Qat/QatPlotting/src/AbsPlotter.cpp deleted file mode 100644 index 944effd2cd1cc8ea4dbfbb9af05968278832396b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/AbsPlotter.cpp +++ /dev/null @@ -1,29 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/AbsPlotter.h" - -AbsPlotter::AbsPlotter() { -} - -AbsPlotter::~AbsPlotter() { -} diff --git a/graphics/Qat/QatPlotting/src/PlotBand1D.cpp b/graphics/Qat/QatPlotting/src/PlotBand1D.cpp deleted file mode 100644 index 72e9616f3bdaf81f2caeae719dcb2def89680f05..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotBand1D.cpp +++ /dev/null @@ -1,363 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "QatPlotting/PlotBand1D.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include "QatDataAnalysis/Query.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <stdexcept> - -#include "QatPlotting/PlotBand1DProperties.h" - -class PlotBand1D::Clockwork { - -public: - - Clockwork() : - function1(nullptr), - function2(nullptr), - rect(), - domainRestriction(nullptr), - myProperties(nullptr), - defaultProperties() {} - - ~Clockwork() { - delete function1; - delete function2; - delete domainRestriction; - delete myProperties; - } - //copy - Clockwork(const Clockwork & other){ - function1=other.function1->clone(); - function2=other.function2->clone(); - rect=other.rect; - domainRestriction=other.domainRestriction ? other.domainRestriction->clone() : nullptr; - myProperties= (other.myProperties)? (new Properties(*(other.myProperties))) : nullptr; - defaultProperties=other.defaultProperties; - } - - /** - Clockwork & operator=(const Clockwork& other){ - if (&other != this){ - delete function1; function1=other.function1->clone(); - delete function2;function2=other.function2->clone(); - rect=other.rect; - delete domainRestriction; - domainRestriction=other.domainRestriction ? other.domainRestriction->clone() : nullptr; - delete myProperties; - myProperties= (other.myProperties)? (new Properties(*(other.myProperties))) : nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } -**/ - static bool intersect(const QRectF * rect, const QPointF & p1, const QPointF & p2, QPointF & p) { - double min=rect->top(); - double max=rect->bottom(); - double y1=p1.y(); - double y2=p2.y(); - if (rect->contains(p1) && rect->contains(p2)) { - return false; - } - else if (y1 < min || y2 < min) { - if (QLineF(p1,p2).intersect(QLineF(rect->topLeft(),rect->topRight()),&p)!=QLineF::BoundedIntersection){ - return false; - } - } - else if (y1 > max || y2 > max) { - if (QLineF(p1,p2).intersect(QLineF(rect->bottomLeft(),rect->bottomRight()),&p)!=QLineF::BoundedIntersection){ - return false; - } - } - return true; - } - - static bool maxOut(const QRectF * rect, const QPointF & p1, QPointF & p) { - double min=rect->top(); - double max=rect->bottom(); - double y1=p1.y(); - if (rect->contains(p1)) { - p=p1; - return false; - } - if (y1>max) { - p.setX(p1.x()); - p.setY(max); - } - else if (y1<min) { - p.setX(p1.x()); - p.setY(min); - } - return true; - } - - static void moveTo(QPainterPath *path, const QMatrix & m, const QPointF & p, const LinToLog *linToLogX=NULL, const LinToLog *linToLogY=NULL) { - double x=p.x(),y=p.y(); - if (linToLogX) x = (*linToLogX)(x); - if (linToLogY) y = (*linToLogY)(y); - - path->moveTo(m.map(QPointF(x,y))); - } - - static void lineTo(QPainterPath *path, const QMatrix & m, const QPointF & p, const LinToLog *linToLogX=NULL, const LinToLog *linToLogY=NULL) { - double x=p.x(),y=p.y(); - if (linToLogX) x = (*linToLogX)(x); - if (linToLogY) y = (*linToLogY)(y); - path->lineTo(m.map(QPointF(x,y))); - } - - // This is state: - const Genfun::AbsFunction *function1; // The function defining the band. - const Genfun::AbsFunction *function2; // The function defining the band. - QRectF rect; // The "natural" bounding rectangle - const Cut<double> *domainRestriction; // Domain restrictions. - Properties *myProperties; // My properties. May - Properties defaultProperties; - -}; - -// Constructor -PlotBand1D::PlotBand1D(const Genfun::AbsFunction & function1, - const Genfun::AbsFunction & function2, - const QRectF & naturalRectangle): - Plotable(),m_c(new Clockwork()) -{ - m_c->function1=function1.clone(); - m_c->function2=function2.clone(); - m_c->rect=naturalRectangle; -} - -PlotBand1D::PlotBand1D(const Genfun::AbsFunction & function1, - const Genfun::AbsFunction & function2, - const Cut<double> & domainRestriction, - const QRectF & naturalRectangle): - Plotable(),m_c(new Clockwork()) -{ - m_c->function1=function1.clone(); - m_c->function2=function2.clone(); - m_c->rect=naturalRectangle; - m_c->domainRestriction=domainRestriction.clone(); -} - -// Copy constructor: -PlotBand1D::PlotBand1D(const PlotBand1D & source): - Plotable(),m_c(new Clockwork(*(source.m_c))) -{ - -} -/** -// Assignment operator: -PlotBand1D & PlotBand1D::operator=(const PlotBand1D & source){ - if (&source!=this) { - m_c.reset(new Clockwork(*(source.m_c))); - } - return *this; -} - **/ - -#include <iostream> -// Destructor -PlotBand1D::~PlotBand1D(){ - //not necessary if using unique_ptr - //delete m_c; -} - - - -const QRectF PlotBand1D::rectHint() const { - return m_c->rect; -} - - -// Get the graphic description:: -void PlotBand1D::describeYourselfTo(AbsPlotter *plotter) const { - QPen pen = properties().pen; - QBrush brush=properties().brush; - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - { - unsigned int dim = m_c->function1->dimensionality(); - if (dim!=1) throw std::runtime_error("PlotBand1D: requires a function of exactly 1 argument"); - } - { - unsigned int dim = m_c->function2->dimensionality(); - if (dim!=1) throw std::runtime_error("PlotBand1D: requires a function of exactly 1 argument"); - } - - double minX=plotter->rect()->left(), maxX=plotter->rect()->right(); - double minY=plotter->rect()->top(), maxY=plotter->rect()->bottom(); - - - int NPOINTS = 100; - double delta = (maxX-minX)/NPOINTS; - - const LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - const LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - if (brush.style()==Qt::NoBrush) { - for (int b=0;b<2;b++) { - - const Genfun::AbsFunction * function = b==0 ? m_c->function1: m_c->function2; - - // Just a line: - - Query<QPointF> cachedPoint; - QPainterPath *path=NULL; - bool empty=true; - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double x = minX + i*delta; - if (!m_c->domainRestriction || (*m_c->domainRestriction)(x)) { // Check that X is in function domain - - double y = (*function) (x); - QPointF point(x,y); - if (y < maxY && y > minY) { // IN RANGE - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - if (cachedPoint.isValid()) { - QPointF intersection; - Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection); - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - Clockwork::moveTo(path,m, point,toLogX,toLogY); - } - } - else { - Clockwork::lineTo(path,m,point,toLogX, toLogY); - } - } - else { // OUT OF RANGE - if (path) { - if (cachedPoint.isValid()) { - QPointF intersection; - Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection); - Clockwork::lineTo(path,m,intersection,toLogX,toLogY); - } - closePath=true; - empty =true; - } - } - cachedPoint=point; - } - else { // OUT OF DOMAIN - if (path) { - closePath=true; - empty=true; - } - cachedPoint=Query<QPointF>(); - } - if (i==NPOINTS && path) closePath=true; - if (closePath) { - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - } - else { - // A fill pattern of some sort.. - double yBase=0; - QPainterPath *path=NULL; - bool empty=true; - for (int b=0;b<2;b++) { - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double x = b ? minX + i*delta : maxX-i*delta; - if (!m_c->domainRestriction || (*m_c->domainRestriction)(x)) { // Check that X is in function domain - - double y = b? (*m_c->function1) (x) : (*m_c->function2) (x) ; - QPointF point(x,y); - - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - Clockwork::moveTo(path,m, point, toLogX,toLogY); - } - - - if (y < maxY && y > minY) { // IN RANGE - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { // OUT OF RANGE - QPointF maxOut; - Clockwork::maxOut(plotter->rect(), point,maxOut); - Clockwork::lineTo(path,m,maxOut,toLogX,toLogY); - } - } - else { // OUT OF DOMAIN - if (path) { - closePath=true; - empty=true; - } - } - if (b==1 && i==NPOINTS && path) { - closePath=true; - } - if (closePath) { - QPointF position=mInverse.map(path->currentPosition()); - position.setY(yBase); - Clockwork::lineTo(path,m,position,toLogX,toLogY); - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - } - delete toLogX; - delete toLogY; -} - - - -const PlotBand1D::Properties PlotBand1D::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotBand1D::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties=new Properties(properties); -} - -void PlotBand1D::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} diff --git a/graphics/Qat/QatPlotting/src/PlotBox.cpp b/graphics/Qat/QatPlotting/src/PlotBox.cpp deleted file mode 100644 index 62c2e4f1ffd5b2c9f7afcaf9af81a5607e7358ae..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotBox.cpp +++ /dev/null @@ -1,137 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotBox.h" -#include "QatPlotting/AbsPlotter.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsItemGroup> -#include <iostream> -#include <iomanip> -#include <sstream> -#include <array> - -class PlotBox::Clockwork { - - public: - - Clockwork():rectangle(), myProperties(nullptr), defaultProperties(),x(0),y(0),dx(0),dy(0){} - ~Clockwork() { delete myProperties;} - - - - QRectF rectangle; // The "natural" bounding rectangle - Properties *myProperties; - Properties defaultProperties; - double x,y,dx,dy; -}; - -// Constructor -PlotBox::PlotBox(double x, double y, double dx, double dy) - - :Plotable(),m_c(new Clockwork()) - -{ - m_c->rectangle=QRectF(QPointF(x,y),QSizeF(2*dx, 2*dy)); - m_c->x=x; - m_c->y=y; - m_c->dx=dx; - m_c->dy=dy; -} - - - -// Destructor -PlotBox::~PlotBox(){ - delete m_c; -} - - -// Get the "natural maximum R" -const QRectF PlotBox::rectHint() const { - return m_c->rectangle; -} - - - -// Describe to plotter, in terms of primitives: -void PlotBox::describeYourselfTo(AbsPlotter *plotter) const{ - if (plotter->isLogY()) return; - if (plotter->isLogX()) return; - - QPen pen =properties().pen; - QBrush brush=properties().brush; - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - QPainterPath path; - bool started=false; - static CLHEP::HepVector U0(2); U0[0]=+m_c->dx; U0[1]=+m_c->dy; - static CLHEP::HepVector U1(2); U1[0]=+m_c->dx; U1[1]=-m_c->dy; - static CLHEP::HepVector U2(2); U2[0]=-m_c->dx; U2[1]=-m_c->dy; - static CLHEP::HepVector U3(2); U3[0]=-m_c->dx; U3[1]=+m_c->dy; - std::array<CLHEP::HepVector,5> plusU={U0, U1, U2, U3, U0}; - for (int i=0;i<5;i++) { - CLHEP::HepVector V(2); - V[0]=m_c->x; - V[1]=m_c->y; - V+=plusU[i]; - if (plotter->rect()->contains(QPointF(V[0],V[1]))){ - double x = V[0]; - double y = V[1]; - if (!started) { - started=true; - path.moveTo(m.map(QPointF(x,y))); - } else { - path.lineTo(m.map(QPointF(x,y))); - } - } - } - - QGraphicsPathItem *polyline=new QGraphicsPathItem(path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - -} - - - -const PlotBox::Properties PlotBox::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotBox::setProperties(const Properties & properties) { - if (!m_c->myProperties) { - m_c->myProperties = new Properties(properties); - } - else { - *m_c->myProperties=properties; - } -} - -void PlotBox::resetProperties() { - delete m_c->myProperties; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotErrorEllipse.cpp b/graphics/Qat/QatPlotting/src/PlotErrorEllipse.cpp deleted file mode 100644 index 4232bf254d9934615803277713c3fe1a12d3cb76..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotErrorEllipse.cpp +++ /dev/null @@ -1,212 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotErrorEllipse.h" -#include "QatPlotting/AbsPlotter.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsItemGroup> -#include <iostream> -#include <iomanip> -#include <sstream> -namespace{ - const CLHEP::HepVector defaultVector(2); -} - -class PlotErrorEllipse::Clockwork { - - public: - - Clockwork():X(defaultVector), U0(defaultVector),U1(defaultVector), - nRectangle(),myProperties(nullptr), defaultProperties(), style() {} - ~Clockwork() { delete myProperties;} - - - CLHEP::HepVector X; - CLHEP::HepVector U0; - CLHEP::HepVector U1; - QRectF nRectangle; // The "natural" bounding rectangle - Properties *myProperties; - Properties defaultProperties; - Style style; -}; - -// Constructor -PlotErrorEllipse::PlotErrorEllipse( - double x, double y, - double sx2, double sy2, double sxy, Style style) - :Plotable(),m_c(new Clockwork()) - -{ - m_c->X=CLHEP::HepVector(2); - m_c->U0=CLHEP::HepVector(2); - m_c->U1=CLHEP::HepVector(2); - m_c->style=style; - - CLHEP::HepSymMatrix M(2); - M[0][0]=sx2; - M[0][1]=sxy; - M[1][1]=sy2; - - m_c->X[0]=x; - m_c->X[1]=y; - double T = M.trace(); - double D = M.determinant(); - double L0 = (T+sqrt(T*T-4*D))/2.0; - double L1 = (T-sqrt(T*T-4*D))/2.0; - - if (sxy!=0) { - m_c->U0[0]=1; - m_c->U0[1]=(L0-sx2)/sxy; - m_c->U1[0]=1; - m_c->U1[1]=(L1-sx2)/sxy; - m_c->U0 /= m_c->U0.norm(); - m_c->U1 /= m_c->U1.norm(); - m_c->U0 *= sqrt(L0); - m_c->U1 *= sqrt(L1); - } - else { - m_c->U0[0]=sqrt(sx2); - m_c->U0[1]=0; - m_c->U1[0]=0; - m_c->U1[1]=sqrt(sy2); - } - - double factor=0; - if (m_c->style==ONEUNITCHI2) { - factor=1; - } - else if (m_c->style==ONESIGMA) { - factor=sqrt(2.30); - } - else if (m_c->style==TWOSIGMA) { - factor=sqrt(6.18); - } - else if (m_c->style==THREESIGMA) { - factor=sqrt(11.83); - } - else if (m_c->style==NINETY) { - factor=sqrt(4.61); - } - else if (m_c->style==NINETYFIVE) { - factor=sqrt(5.99); - } - else if (m_c->style==NINETYNINE) { - factor=sqrt(9.21); - } - - m_c->U0 *= factor; // For 68% confidence: - m_c->U1 *= factor; // For 68% confidence; - - // Now make the bounding box: - double minX=1E-30,maxX=-1E30; - double minY=1E-30,maxY=-1E30; - if (m_c->U0[0]>maxX) maxX=m_c->U0[0]; - if (m_c->U0[0]<minX) minX=m_c->U0[0]; - if (m_c->U1[0]>maxX) maxX=m_c->U1[0]; - if (m_c->U1[0]<minX) minX=m_c->U1[0]; - if (m_c->U0[1]>maxY) maxY=m_c->U0[1]; - if (m_c->U0[1]<minY) minY=m_c->U0[1]; - if (m_c->U1[1]>maxY) maxY=m_c->U1[1]; - if (m_c->U1[1]<minY) minY=m_c->U1[1]; - - minX += x; - maxX += x; - minY += y; - maxY += y; - // m_c->nRectangle=QRectF(QPointF(minX-(maxX-minX)/2.0,minY+(maxY-minY)/2.0),QSizeF(maxX-minX, maxY-minY)); - double max = std::max(m_c->U0.norm(),m_c->U1.norm()); - - m_c->nRectangle=QRectF(m_c->X[0]-2*max, m_c->X[1]-2*max, 4*max, 4*max); - -} - - - -// Destructor -PlotErrorEllipse::~PlotErrorEllipse(){ - delete m_c; -} - - -// Get the "natural maximum R" -const QRectF PlotErrorEllipse::rectHint() const { - return m_c->nRectangle; -} - - - -// Describe to plotter, in terms of primitives: -void PlotErrorEllipse::describeYourselfTo(AbsPlotter *plotter) const{ - if (plotter->isLogY()) return; - if (plotter->isLogX()) return; - - QPen pen =properties().pen; - QBrush brush=properties().brush; - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - QPainterPath path; - bool started=false; - for (int i=0;i<360;i++) { - CLHEP::HepVector V=m_c->U0*sin(2*M_PI*i/360.0) + m_c->U1*cos(2*M_PI*i/360.0)+m_c->X; - if (plotter->rect()->contains(QPointF(V[0],V[1]))){ - double x = V[0]; - double y = V[1]; - if (!started) { - started=true; - path.moveTo(m.map(QPointF(x,y))); - } - else { - path.lineTo(m.map(QPointF(x,y))); - } - } - } - - QGraphicsPathItem *polyline=new QGraphicsPathItem(path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - -} - - - -const PlotErrorEllipse::Properties PlotErrorEllipse::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotErrorEllipse::setProperties(const Properties & properties) { - if (!m_c->myProperties) { - m_c->myProperties = new Properties(properties); - } - else { - *m_c->myProperties=properties; - } -} - -void PlotErrorEllipse::resetProperties() { - delete m_c->myProperties; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotFunction1D.cpp b/graphics/Qat/QatPlotting/src/PlotFunction1D.cpp deleted file mode 100644 index 399963f47c8e542fb0b594c58f2fd789ec9a8389..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotFunction1D.cpp +++ /dev/null @@ -1,264 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotFunction1D.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "QatPlotting/AbsPlotter.h" - -#include "QatDataAnalysis/Query.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <stdexcept> - - -// Constructor -PlotFunction1D::PlotFunction1D(const Genfun::AbsFunction & function, - const QRectF & naturalRectangle): - Plotable(),m_c(new Clockwork()) -{ - m_c->function=function.clone(); - m_c->rect=naturalRectangle; -} - -PlotFunction1D::PlotFunction1D(const Genfun::AbsFunction & function, - const Cut<double> & domainRestriction, - const QRectF & naturalRectangle): - Plotable(),m_c(new Clockwork()) -{ - m_c->function=function.clone(); - m_c->rect=naturalRectangle; - m_c->domainRestriction=domainRestriction.clone(); -} - -// Copy constructor: -PlotFunction1D::PlotFunction1D(const PlotFunction1D & source): - Plotable(),m_c(new Clockwork(*(source.m_c))) -{ - -} - - //Assignment operator: -PlotFunction1D & PlotFunction1D::operator=(const PlotFunction1D & source){ - if (&source!=this) { - Plotable::operator=(source); - m_c.reset(new Clockwork(*(source.m_c))); - } - return *this; -} - - -#include <iostream> -// Destructor -PlotFunction1D::~PlotFunction1D(){ - //delete m_c; -} - - - -const QRectF PlotFunction1D::rectHint() const { - return m_c->rect; -} - - -// Get the graphic description:: -void PlotFunction1D::describeYourselfTo(AbsPlotter *plotter) const { - - - QPen pen = properties().pen; - QBrush brush=properties().brush; - - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - unsigned int dim = m_c->function->dimensionality(); - if (dim!=1) throw std::runtime_error("PlotFunction1D: requires a function of exactly 1 argument"); - - double minX=plotter->rect()->left(), maxX=plotter->rect()->right(); - double minY=plotter->rect()->top(), maxY=plotter->rect()->bottom(); - - - int NPOINTS = 100; - double delta = (maxX-minX)/NPOINTS; - - const LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - const LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - if (brush.style()==Qt::NoBrush) { - // Just a line: - - Query<QPointF> cachedPoint; - QPainterPath *path=NULL; - bool empty=true; - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double x = minX + i*delta; - double y=0; - if ((!m_c->domainRestriction || (*m_c->domainRestriction)(x)) && finite((y=(*m_c->function)(x)))) { // Check that X is in function domain - - //double y = (*m_c->function) (x); - QPointF point(x,y); - if (y < maxY && y > minY) { // IN RANGE - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - if (cachedPoint.isValid()) { - QPointF intersection; - if (Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - if (Clockwork::maxOut(plotter->rect(), point, intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - std::cerr << "Intersection is failing" << std::endl; - } - } - } - else { - Clockwork::moveTo(path,m, point,toLogX,toLogY); - } - } - else { - Clockwork::lineTo(path,m,point,toLogX, toLogY); - } - } - else { // OUT OF RANGE - if (path) { - if (cachedPoint.isValid()) { - QPointF intersection; - if (Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection)) { - Clockwork::lineTo(path,m,intersection,toLogX,toLogY); - } - else { - if (Clockwork::maxOut(plotter->rect(), point, intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - std::cerr << "Intersection is failing" << std::endl; - } - } - } - closePath=true; - empty =true; - } - } - cachedPoint=point; - } - else { // OUT OF DOMAIN - if (path) { - closePath=true; - empty=true; - } - cachedPoint=Query<QPointF>(); - } - if (i==NPOINTS && path) closePath=true; - if (closePath) { - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - else { - // A fill pattern of some sort.. - double yBase=std::max(std::min(maxY, properties().baseLine),minY); - - QPainterPath *path=NULL; - bool empty=true; - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double x = minX + i*delta; - double y=0; - if ((!m_c->domainRestriction || (*m_c->domainRestriction)(x)) && finite((y=(*m_c->function)(x)))) { // Check that X is in function domain - - //double y = (*m_c->function) (x); - QPointF point(x,y); - - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - QPointF intersection; - Clockwork::moveTo(path,m, QPointF(x,yBase), toLogX,toLogY); - } - - - if (y < maxY && y > minY) { // IN RANGE - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { // OUT OF RANGE - QPointF maxOut; - Clockwork::maxOut(plotter->rect(), point,maxOut); - Clockwork::lineTo(path,m,maxOut,toLogX,toLogY); - } - } - else { // OUT OF DOMAIN - if (path) { - closePath=true; - empty=true; - } - } - if (i==NPOINTS && path) { - closePath=true; - } - if (closePath) { - QPointF position=mInverse.map(path->currentPosition()); - position.setY(yBase); - Clockwork::lineTo(path,m,position,toLogX,toLogY); - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - delete toLogX; - delete toLogY; -} - - -const PlotFunction1D::Properties PlotFunction1D::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotFunction1D::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties=new Properties(properties); -} - -void PlotFunction1D::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} diff --git a/graphics/Qat/QatPlotting/src/PlotHist1D.cpp b/graphics/Qat/QatPlotting/src/PlotHist1D.cpp deleted file mode 100644 index 68c84abc2a1a7951995ba719471dd4322c118795..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotHist1D.cpp +++ /dev/null @@ -1,422 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist1D.h" -#include "QatPlotting/PlotHist1D.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsPathItem> -#include <iostream> -#include <iomanip> -#include <sstream> -#include <cfloat> -// Constructor - -class PlotHist1D::Clockwork { -public: - - Clockwork() : histogram(nullptr), nRectangle(), - myProperties(nullptr), defaultProperties() {} - - ~Clockwork() {delete myProperties;} - - //copy - Clockwork(const Clockwork & other){ - histogram = other.histogram;//shared histogram pointer - nRectangle = other.nRectangle; - myProperties = (other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - - /** - Clockwork & operator=(const Clockwork & other){ - if (&other !=this){ - histogram = other.histogram;//shared histogram pointer - nRectangle = other.nRectangle; - delete myProperties; - myProperties = (other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } - **/ - // This is state: - const Hist1D *histogram; // The histogram - QRectF nRectangle; // The "natural" bounding rectangle - Properties *myProperties; // My properties. May - Properties defaultProperties; -}; - - -PlotHist1D::PlotHist1D(const Hist1D & histogram): - Plotable(),m_c(new Clockwork()) -{ - - m_c->histogram=&histogram; - - double yMin=FLT_MAX; - double yMax=FLT_MIN; - for (unsigned int i=0;i<histogram.nBins();i++) { - double yplus = histogram.bin(i) + histogram.binError(i); - double yminus = histogram.bin(i) - histogram.binError(i); - yMin = std::min(yMin,yminus); - yMax = std::max(yMax,yplus); - } - - double dist = yMax-yMin; - double marge = dist/10; - yMax += marge; - if (yMin>0) { - yMin=0; - } - else if (yMin<0) { - yMin-=marge; - } - - QPointF lowerRight(m_c->histogram->min(),yMin); - QPointF upperLeft (m_c->histogram->max(),yMax); - m_c->nRectangle.setLeft (histogram.min()); - m_c->nRectangle.setRight(histogram.max()); - m_c->nRectangle.setTop(yMin); - m_c->nRectangle.setBottom(yMax); -} - -// Copy constructor: -PlotHist1D::PlotHist1D(const PlotHist1D & source): - Plotable(),m_c(new Clockwork(*(source.m_c))) -{ - -} - -/** Assignment operator: -PlotHist1D & PlotHist1D::operator=(const PlotHist1D & source) -{ - if (&source!=this) { - m_c.reset(new Clockwork(*(source.m_c))); - } - return *this; -} -**/ - -// Destructor -PlotHist1D::~PlotHist1D(){ - //delete m_c; -} - - -const QRectF PlotHist1D::rectHint() const { - - double yMin=FLT_MAX; - double yMax=FLT_MIN; - for (unsigned int i=0;i<m_c->histogram->nBins();i++) { - double yplus = m_c->histogram->bin(i) + m_c->histogram->binError(i); - double yminus = m_c->histogram->bin(i) - m_c->histogram->binError(i); - yMin = std::min(yMin,yminus); - yMax = std::max(yMax,yplus); - } - - m_c->nRectangle.setLeft (m_c->histogram->min()); - m_c->nRectangle.setRight(m_c->histogram->max()); - m_c->nRectangle.setTop(yMin); - m_c->nRectangle.setBottom(yMax); - return m_c->nRectangle; -} - - -// Get the graphic description:: -void PlotHist1D::describeYourselfTo(AbsPlotter *plotter) const { - QPen pen =properties().pen; - QBrush brush=properties().brush; - int symbolSize=properties().symbolSize; - PlotHist1D::Properties::SymbolStyle symbolStyle=properties().symbolStyle; - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - if (properties().plotStyle==PlotHist1DProperties::SYMBOLS) { - - for (unsigned int i=0;i<m_c->histogram->nBins();i++) { - double x = plotter->isLogX() ? (*toLogX) (m_c->histogram->binCenter(i)) : m_c->histogram->binCenter(i); - double y = plotter->isLogY() ? (*toLogY) (m_c->histogram->bin(i)) : m_c->histogram->bin(i); - double ydyp = plotter->isLogY() ? (*toLogY)(m_c->histogram->bin(i)+m_c->histogram->binError(i)) : m_c->histogram->bin(i)+m_c->histogram->binError(i); - double ydym = plotter->isLogY() ? (*toLogY)(m_c->histogram->bin(i)-m_c->histogram->binError(i)) : m_c->histogram->bin(i)-m_c->histogram->binError(i); - - if (plotter->isLogY() && !finite(ydym)) ydym=plotter->rect()->top()+FLT_MIN; - - QPointF loc(x, y ); - QSizeF siz(symbolSize,symbolSize); - QPointF ctr(siz.width()/2.0, siz.height()/2.0); - QPointF had(siz.width()/2.0, 0); - QPointF vad(0,siz.height()/2.0); - - QPointF plus(x,ydyp); - QPointF mnus(x,ydym); - - if (plotter->rect()->contains(loc)) { - QAbstractGraphicsShapeItem *shape=NULL; - if (symbolStyle==PlotHist1D::Properties::CIRCLE) { - shape = new QGraphicsEllipseItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==PlotHist1D::Properties::SQUARE) { - shape = new QGraphicsRectItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==PlotHist1D::Properties::TRIANGLE_U) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2,0))); - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else if (symbolStyle==PlotHist1D::Properties::TRIANGLE_L) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2, symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else { - throw std::runtime_error("In PlotHist1D: unknown plot symbol"); - } - - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - { - QLineF pLine(m.map(loc)-vad, m.map(plus)); - if (plotter->rect()->contains(plus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+had,m.map(plus)-had)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - else { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF plus=intersection; - QLineF pLine(m.map(loc)-vad, m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - - { - QLineF mLine(m.map(loc)+vad, m.map(mnus)); - if (plotter->rect()->contains(mnus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+had,m.map(mnus)-had)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - else { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF mnus=intersection; - QLineF mLine(m.map(loc)+vad, m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - - - } - else if (plotter->rect()->contains(mnus)) { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF mLine(m.map(loc), m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+had,m.map(mnus)-had)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - } - else if (plotter->rect()->contains(plus)) { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF pLine(m.map(loc), m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+had,m.map(plus)-had)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - } - } - } - else { // LINES - - QPainterPath path; - - double maxY=plotter->rect()->bottom(); - double minY=plotter->rect()->top(); - double minX=plotter->rect()->left(); - double maxX=plotter->rect()->right(); - bool started=false; - for (unsigned int i=0;i<m_c->histogram->nBins();i++) { - double y = plotter->isLogY() ? (*toLogY) (m_c->histogram->bin(i)) : m_c->histogram->bin(i); - if (plotter->isLogY() && !finite(y)) y=minY; - double binLow = m_c->histogram->binLowerEdge(i); - double binHi = m_c->histogram->binUpperEdge(i); - if (toLogX) binLow=(*toLogX)(binLow); - if (toLogX) binHi =(*toLogX)(binHi); - - - double yEff=std::max(std::min(maxY, y),minY); - double zEff=std::max(std::min(maxY,0.0),minY); - QPointF lowerPoint(binLow, yEff); - QPointF upperPoint(binHi, yEff); - if ( binHi >= minX && binLow <= maxX ) { - if (!started) { - started=true; - if (binLow > minX) { - path.moveTo(m.map(QPointF(binLow,zEff))); - path.lineTo(m.map(lowerPoint)); - path.lineTo(m.map(upperPoint)); - } - else { - path.moveTo(m.map(QPointF(minX,zEff))); - path.lineTo(m.map(QPointF(minX,yEff))); - path.lineTo(m.map(upperPoint)); - } - } - else if (binHi>=maxX) { - path.lineTo(m.map(lowerPoint)); - path.lineTo(m.map(QPointF(maxX,yEff))); - path.lineTo(m.map(QPointF(maxX,zEff))); - } - else { - path.lineTo(m.map(lowerPoint)); - path.lineTo(m.map(upperPoint)); - } - // AND: - if (i==m_c->histogram->nBins()-1) { - path.lineTo(m.map(QPointF(binHi,zEff))); - } - } - } - QGraphicsPathItem *polyline=new QGraphicsPathItem(path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - } - - delete toLogX; - delete toLogY; -} - -std::string PlotHist1D::title() const { - return m_c->histogram->name(); -} - -std::string PlotHist1D::textSummary() const { - std::ostringstream textSummaryStream; - textSummaryStream << std::setprecision(3) << std::showpoint << std::setfill(' '); - textSummaryStream << "Area: " << std::setw(9) << m_c->histogram->sum() << '\t' - << "Mean: " << std::setw(9) << m_c->histogram->mean() << '\t' - << "Sigma:" << std::setw(8) << sqrt(m_c->histogram->variance()) << '\t'; - return textSummaryStream.str(); -} - -// Get the histogram: -const Hist1D *PlotHist1D::histogram() const { - return m_c->histogram; -} - -const PlotHist1D::Properties PlotHist1D::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotHist1D::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties= new Properties(properties); -} - -void PlotHist1D::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotHist2D.cpp b/graphics/Qat/QatPlotting/src/PlotHist2D.cpp deleted file mode 100644 index 7721ab164285f2bfabaf59ae8cef702005b151e4..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotHist2D.cpp +++ /dev/null @@ -1,200 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist2D.h" -#include "QatPlotting/PlotHist2D.h" -#include "QatPlotting/AbsPlotter.h" -//#include "QatPlotting/LinToLog.h" -//#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsPathItem> -//#include <iostream> -//#include <iomanip> -//#include <sstream> -//#include <cfloat> -//added, sroe -//#include "QatPlotting/PlotHist2DProperties.h" -#include <QtCore/QRectF> - -// Constructor - -class PlotHist2D::Clockwork { -public: - - Clockwork() : histogram(nullptr), nRectangle(), - myProperties(nullptr), defaultProperties() {} - - ~Clockwork() {delete myProperties;} - - //copy - Clockwork(const Clockwork & other){ - histogram = other.histogram; //objects share the pointer - nRectangle = other.nRectangle; - myProperties= (other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - - /** - Clockwork & operator=(const Clockwork & other){ - if (&other !=this){ - histogram = other.histogram; //objects share the pointer - nRectangle = other.nRectangle; - delete myProperties; - myProperties= (other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } - **/ - // This is state: - const Hist2D *histogram; // The histogram - QRectF nRectangle; // The "natural" bounding rectangle - Properties *myProperties; // My properties. May - Properties defaultProperties; -}; - - -PlotHist2D::PlotHist2D(const Hist2D & histogram): - Plotable(),m_c(new Clockwork()) -{ - m_c->histogram=&histogram; - m_c->nRectangle.setLeft (histogram.minX()); - m_c->nRectangle.setRight(histogram.maxX()); - m_c->nRectangle.setTop(histogram.minY()); - m_c->nRectangle.setBottom(histogram.maxY()); -} - -// Copy constructor: -PlotHist2D::PlotHist2D(const PlotHist2D & source): - Plotable(),m_c(new Clockwork(*(source.m_c))) -{ - -} - -/** Assignment operator: -PlotHist2D & PlotHist2D::operator=(const PlotHist2D & source) -{ - if (&source!=this) { - m_c.reset(new Clockwork(*(source.m_c))); - } - return *this; -} -**/ - -// Destructor -PlotHist2D::~PlotHist2D(){ - //delete m_c; -} - - -const QRectF PlotHist2D::rectHint() const { - return m_c->nRectangle; -} - - -// Get the graphic description:: -void PlotHist2D::describeYourselfTo(AbsPlotter *plotter) const { - QPen pen =properties().pen; - QBrush brush=properties().brush; - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - if (plotter->isLogX()) return; - if (plotter->isLogY()) return; - - const auto & theHistogram=*(m_c->histogram); - const double max = theHistogram.maxContents(); - const double inverseMax=1.0/max; - const double wx = theHistogram.binWidthX(); - const double wy = theHistogram.binWidthY(); - for (unsigned int i=0;i<theHistogram.nBinsX();i++) { - for (unsigned int j=0;j<theHistogram.nBinsY();j++) { - - double bin = theHistogram.bin(i,j); - if (bin==0) continue; - - double x = theHistogram.binCenterX(i,j); - double y = theHistogram.binCenterY(i,j); - - const double frac = bin*inverseMax; - const double sqfrac = sqrt(frac); - const double dx = wx*sqfrac*0.5; - const double dy = wy*sqfrac*0.5; - double minX = x - dx; - double maxX = x + dx; - double minY = y - dy; - double maxY = y + dy; - const auto & thisRectangle = plotter->rect(); - if (thisRectangle->contains(QPointF(minX, minY)) || - thisRectangle->contains(QPointF(minX, maxY)) || - thisRectangle->contains(QPointF(maxX, maxY)) || - thisRectangle->contains(QPointF(maxX, minY)) ) { - - minX = std::max(theHistogram.minX(), minX); - minY = std::max(theHistogram.minY(), minY); - maxX = std::min(theHistogram.maxX(), maxX); - maxY = std::min(theHistogram.maxY(), maxY); - - QPainterPath path; - path.moveTo(m.map(QPointF(minX,minY))); - path.lineTo(m.map(QPointF(minX,maxY))); - path.lineTo(m.map(QPointF(maxX,maxY))); - path.lineTo(m.map(QPointF(maxX,minY))); - path.lineTo(m.map(QPointF(minX,minY))); - - - QAbstractGraphicsShapeItem *shape = new QGraphicsPathItem(path); - - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - } - } - } -} - - -// Get the histogram: -const Hist2D *PlotHist2D::histogram() const { - return m_c->histogram; -} - -const PlotHist2D::Properties PlotHist2D::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotHist2D::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties = new Properties(properties); -} - -void PlotHist2D::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotMeasure.cpp b/graphics/Qat/QatPlotting/src/PlotMeasure.cpp deleted file mode 100644 index c3868dff6439924207f16957c7a2d42360dd60ba..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotMeasure.cpp +++ /dev/null @@ -1,290 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotMeasure.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsPathItem> -//added -#include "QatPlotting/PlotMeasureProperties.h" -#include <QtCore/QRectF> -#include <vector> - -class PlotMeasure::Clockwork { - - -public: - - Clockwork():myProperties(NULL) {} - ~Clockwork() { delete myProperties;} - - QRectF nRectangle; - Properties *myProperties; - Properties defaultProperties; - std::vector<QPointF> points; - std::vector<double> sizePlus; - std::vector<double> sizeMnus; -}; - - -// Constructor -PlotMeasure::PlotMeasure(): - Plotable(),m_c(new Clockwork()) -{ - m_c->nRectangle.setLeft (+1.0E100); - m_c->nRectangle.setRight (-1.0E100); - m_c->nRectangle.setTop (+1.0E100); - m_c->nRectangle.setBottom(-1.0E100); - -} - - - -// Destructor -PlotMeasure::~PlotMeasure(){ - delete m_c; -} - - - -const QRectF PlotMeasure::rectHint() const { - return m_c->nRectangle; -} - - - - -void PlotMeasure::addPoint( const QPointF & point, double sizePlus, double sizeMnus) { - - m_c->points.push_back(point); - m_c->sizePlus.push_back(sizePlus); - m_c->sizeMnus.push_back(sizeMnus); - - - m_c->nRectangle.setLeft(std::min(m_c->nRectangle.left(),point.x()-sizeMnus)); - m_c->nRectangle.setRight(std::max(m_c->nRectangle.right(),point.x()+sizePlus)); - m_c->nRectangle.setBottom(std::min(m_c->nRectangle.bottom(),point.y())); - m_c->nRectangle.setTop(std::max(m_c->nRectangle.top(),point.y())); -} - - -void PlotMeasure::describeYourselfTo(AbsPlotter * plotter) const { - - QPen pen =properties().pen; - QBrush brush=properties().brush; - int symbolSize=properties().symbolSize; - Properties::SymbolStyle symbolStyle=properties().symbolStyle; - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - - for (unsigned int i=0;i<m_c->points.size();i++) { - double x = plotter->isLogX() ? (*toLogX) (m_c->points[i].x()) : m_c->points[i].x(); - - double y = plotter->isLogY() ? (*toLogY) (m_c->points[i].y()) : m_c->points[i].y(); - double xdxp = plotter->isLogX() ? (*toLogX)(m_c->points[i].x() + m_c->sizePlus[i]) : m_c->points[i].x() + m_c->sizePlus[i]; - double xdxm = plotter->isLogX() ? (*toLogX)(m_c->points[i].x() - m_c->sizeMnus[i]) : m_c->points[i].x() - m_c->sizeMnus[i]; - - QPointF loc(x, y ); - QSizeF siz(symbolSize,symbolSize); - QPointF ctr(siz.width()/2.0, siz.height()/2.0); - QPointF had(siz.width()/2.0, 0); - QPointF vad(0,siz.height()/2.0); - //QPointF penShiftLeft(-pen.widthF()/2.0, 0.0); - QPointF penShiftLeft(0,0); - QPointF plus(xdxp,y); - QPointF mnus(xdxm,y); - - if (plotter->rect()->contains(loc)) { - QAbstractGraphicsShapeItem *shape=NULL; - if (symbolStyle==Properties::CIRCLE) { - shape = new QGraphicsEllipseItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==Properties::SQUARE) { - shape = new QGraphicsRectItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==Properties::TRIANGLE_U) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2,0))); - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else if (symbolStyle==Properties::TRIANGLE_L) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2, symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else { - throw std::runtime_error("In PlotMeasure: unknown plot symbol"); - } - - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - { - QLineF pLine(m.map(loc)-had, m.map(plus)); - if (plotter->rect()->contains(plus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+vad+penShiftLeft,m.map(plus)-vad+penShiftLeft)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - else { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomRight(),plotter->rect()->topRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF plus=intersection; - QLineF pLine(m.map(loc)-had, m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - - { - QLineF mLine(m.map(loc)+had, m.map(mnus)); - if (plotter->rect()->contains(mnus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+vad+penShiftLeft,m.map(mnus)-vad+penShiftLeft)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - else { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->bottomLeft()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF mnus=intersection; - QLineF mLine(m.map(loc)+had, m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - } - else if (plotter->rect()->contains(mnus)) { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF mLine(m.map(loc), m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+vad-QPointF(pen.widthF(),0),m.map(mnus)-vad)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - } - else if (plotter->rect()->contains(plus)) { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF pLine(m.map(loc), m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+vad+penShiftLeft,m.map(plus)-vad+penShiftLeft)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - } - } - delete toLogX; - delete toLogY; -} - -const PlotMeasure::Properties PlotMeasure::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotMeasure::setProperties(const Properties & properties) { - if (!m_c->myProperties) { - m_c->myProperties = new Properties(properties); - } - else { - *m_c->myProperties=properties; - } -} - -void PlotMeasure::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotOrbit.cpp b/graphics/Qat/QatPlotting/src/PlotOrbit.cpp deleted file mode 100644 index 95f73a53b3cf041fc42c3321d66ad7b6a231a922..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotOrbit.cpp +++ /dev/null @@ -1,222 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotOrbit.h" -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "QatPlotting/AbsPlotter.h" - -#include "QatDataAnalysis/Query.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <stdexcept> - - -// Constructor -PlotOrbit::PlotOrbit(const Genfun::AbsFunction & functionX, - const Genfun::AbsFunction & functionY, - double t0, double t1): - Plotable(),m_c(new Clockwork()) -{ - m_c->functionX=functionX.clone(); - m_c->functionY=functionY.clone(); - m_c->t0=t0; - m_c->t1=t1; -} - -// Copy constructor: -PlotOrbit::PlotOrbit(const PlotOrbit & source): - Plotable(),m_c(new Clockwork(*(source.m_c))) -{ - - -} - -// Assignment operator: -PlotOrbit & PlotOrbit::operator=(const PlotOrbit & source){ - if (&source!=this) { - Plotable::operator=(source); - m_c.reset(new Clockwork(*(source.m_c))); - } - return *this; -} - - -#include <iostream> -// Destructor -PlotOrbit::~PlotOrbit(){ - //delete m_c; -} - - - -const QRectF PlotOrbit::rectHint() const { - static const int NSTEPS=500;// Synch to value in describeYourself(); - double interval = (m_c->t1-m_c->t0); - double d=interval/NSTEPS; - double minX=1E100,maxX=-minX, minY=minX, maxY=maxX; - - for (int i=0;i<NSTEPS;i++) { - double t = m_c->t0 + i*d; - double x= (*m_c->functionX)(t); - double y= (*m_c->functionY)(t); - minX=std::min(minX,x); - maxX=std::max(maxX,x); - minY=std::min(minY,y); - maxY=std::max(maxY,y); - } - double iX=maxX-minX,iY=maxY-minY; - minX-=iX/10.0; - minY-=iY/10.0; - maxX+=iX/10.0; - maxY+=iY/10.0; - m_c->rect.setLeft(minX); - m_c->rect.setRight(maxX); - m_c->rect.setTop(minY); - m_c->rect.setBottom(maxY); - - return m_c->rect; -} - - -// Get the graphic description:: -void PlotOrbit::describeYourselfTo(AbsPlotter *plotter) const { - - - QPen pen = properties().pen; - - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - { - unsigned int dimX = m_c->functionX->dimensionality(); - unsigned int dimY = m_c->functionY->dimensionality(); - if (dimX!=1|| dimY!=1) throw std::runtime_error("PlotOrbit: requires two functions of exactly 1 argument"); - } - double minX=plotter->rect()->left(), maxX=plotter->rect()->right(); - double minY=plotter->rect()->top(), maxY=plotter->rect()->bottom(); - - - int NPOINTS = 500; // Synch to value in rectHint(); - double interval = (m_c->t1-m_c->t0); - double d=interval/NPOINTS; - - const LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - const LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - { - // Just a line: - - Query<QPointF> cachedPoint; - QPainterPath *path=NULL; - bool empty=true; - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double t = m_c->t0 + d*i; - double x = (*m_c->functionX)(t); - double y = (*m_c->functionY)(t); - { - - //double y = (*m_c->function) (x); - QPointF point(x,y); - if (y < maxY && y > minY && x < maxX && x > minX) { // IN RANGE - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - if (cachedPoint.isValid()) { - QPointF intersection; - if (Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - if (Clockwork::maxOut(plotter->rect(), point, intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - std::cerr << "Intersection is failing" << std::endl; - } - } - } - else { - Clockwork::moveTo(path,m, point,toLogX,toLogY); - } - } - else { - Clockwork::lineTo(path,m,point,toLogX, toLogY); - } - } - else { // OUT OF RANGE - if (path) { - if (cachedPoint.isValid()) { - QPointF intersection; - if (Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection)) { - Clockwork::lineTo(path,m,intersection,toLogX,toLogY); - } - else { - if (Clockwork::maxOut(plotter->rect(), point, intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - std::cerr << "Intersection is failing" << std::endl; - } - } - } - closePath=true; - empty =true; - } - } - cachedPoint=point; - } - if (i==NPOINTS && path) closePath=true; - if (closePath) { - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - - delete toLogX; - delete toLogY; -} - - -const PlotOrbit::Properties PlotOrbit::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotOrbit::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties=new Properties(properties); -} - -void PlotOrbit::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} diff --git a/graphics/Qat/QatPlotting/src/PlotPoint.cpp b/graphics/Qat/QatPlotting/src/PlotPoint.cpp deleted file mode 100644 index 777221ebaa2bf26640269d231c93ec057fd98225..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotPoint.cpp +++ /dev/null @@ -1,195 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotPoint.h" -#include "QatPlotting/LinToLog.h" -#include "QatPlotting/AbsPlotter.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <iostream> -#include <iomanip> -#include <sstream> - -class PlotPoint::Clockwork { - - public: - - Clockwork():x(0.0),y(0.0),nRectangle(),myProperties(nullptr),defaultProperties(){ - // - } - ~Clockwork() { - delete myProperties; - } - - //copy - Clockwork(const Clockwork & other){ - x = other.x; - y = other.y; - nRectangle = other.nRectangle; - myProperties = (other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - - //assignment - Clockwork & operator=(const Clockwork & other){ - if (&other != this){ - x=other.x; - y=other.y; - nRectangle = other.nRectangle; - delete myProperties; - myProperties = (other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } - - double x,y; - QRectF nRectangle; - Properties *myProperties; - Properties defaultProperties; -}; - - -//copy c'tor -PlotPoint::PlotPoint (const PlotPoint & other):Plotable(),m_c(new Clockwork(*(other.m_c))){ - -} - -PlotPoint & PlotPoint::operator=(const PlotPoint & other) { - if (&other!=this) { - Plotable::operator=(other); - m_c.reset(new Clockwork(*(other.m_c))); - } - return *this; -} - -// Constructor -PlotPoint::PlotPoint(double x, double y) - :Plotable(),m_c(new Clockwork()) - -{ - m_c->x=x; - m_c->y=y; - - m_c->nRectangle=QRectF(m_c->x-1E-10, m_c->y-1E-10, 2E-10, 2E-10); - -} - - - -// Destructor -PlotPoint::~PlotPoint(){ - //delete m_c; -} - - -// Get the "natural maximum R" -const QRectF PlotPoint::rectHint() const { - return m_c->nRectangle; -} - - - -// Describe to plotter, in terms of primitives: -void PlotPoint::describeYourselfTo(AbsPlotter *plotter) const{ - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - double x=m_c->x; - double y=m_c->y; - - QPen pen =properties().pen; - QBrush brush=properties().brush; - int symbolSize=properties().symbolSize; - PlotPoint::Properties::SymbolStyle symbolStyle=properties().symbolStyle; - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - if (toLogX) x = (*toLogX)(x); - if (toLogY) y = (*toLogY)(y); - - QPointF loc(x, y ); - QSizeF siz(symbolSize,symbolSize); - QPointF ctr(siz.width()/2.0, siz.height()/2.0); - QPointF had(siz.width()/2.0, 0); - QPointF vad(0,siz.height()/2.0); - - if (plotter->rect()->contains(loc)) { - QAbstractGraphicsShapeItem *shape=NULL; - if (symbolStyle==PlotPoint::Properties::CIRCLE) { - shape = new QGraphicsEllipseItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==PlotPoint::Properties::SQUARE) { - shape = new QGraphicsRectItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==PlotPoint::Properties::TRIANGLE_U) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2,0))); - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else if (symbolStyle==PlotPoint::Properties::TRIANGLE_L) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2, symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else { - throw std::runtime_error("In PlotPoint: unknown plot symbol"); - } - - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - } - - delete toLogX; - delete toLogY; -} - -const PlotPoint::Properties PlotPoint::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotPoint::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties=new Properties(properties); -} - -void PlotPoint::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotProfile.cpp b/graphics/Qat/QatPlotting/src/PlotProfile.cpp deleted file mode 100644 index 05ff58d4101bd2b9f1f8d529418cb7589afd0bb6..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotProfile.cpp +++ /dev/null @@ -1,301 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotProfile.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsPathItem> - -class PlotProfile::Clockwork { - - -public: - - Clockwork():myProperties(NULL) {} - ~Clockwork() { delete myProperties;} - - QRectF nRectangle; - Properties *myProperties; - Properties defaultProperties; - std::vector<QPointF> points; - std::vector<double> sizePlus; - std::vector<double> sizeMnus; -}; - - -// Constructor -PlotProfile::PlotProfile(): - Plotable(),m_c(new Clockwork()) -{ - m_c->nRectangle.setLeft (+1.0E100); - m_c->nRectangle.setRight (-1.0E100); - m_c->nRectangle.setTop (+1.0E100); - m_c->nRectangle.setBottom(-1.0E100); - -} - - - -// Destructor -PlotProfile::~PlotProfile(){ - delete m_c; -} - - - -const QRectF PlotProfile::rectHint() const { - return m_c->nRectangle; -} - - - - // Add Points: -void PlotProfile::addPoint(const QPointF & point, double errorPlus, double errorMinus) { - m_c->points.push_back(point); - m_c->sizePlus.push_back(errorPlus); - m_c->sizeMnus.push_back(errorMinus); - - - m_c->nRectangle.setLeft(std::min(m_c->nRectangle.left(),point.x())); - m_c->nRectangle.setRight(std::max(m_c->nRectangle.right(),point.x())); - m_c->nRectangle.setBottom(std::min(m_c->nRectangle.bottom(),point.y()+errorPlus)); - m_c->nRectangle.setTop(std::max(m_c->nRectangle.top(),point.y()-errorMinus)); -} - -void PlotProfile::addPoint( const QPointF & point, double size) { - - m_c->points.push_back(point); - m_c->sizePlus.push_back(size); - m_c->sizeMnus.push_back(size); - - - m_c->nRectangle.setLeft(std::min(m_c->nRectangle.left(),point.x())); - m_c->nRectangle.setRight(std::max(m_c->nRectangle.right(),point.x())); - m_c->nRectangle.setBottom(std::min(m_c->nRectangle.bottom(),point.y()+size)); - m_c->nRectangle.setTop(std::max(m_c->nRectangle.top(),point.y()-size)); -} - - -void PlotProfile::describeYourselfTo(AbsPlotter * plotter) const { - - QPen pen =properties().pen; - QBrush brush=properties().brush; - int symbolSize=properties().symbolSize; - int errorBarSize=properties().errorBarSize; - Properties::SymbolStyle symbolStyle=properties().symbolStyle; - bool drawSymbol=properties().drawSymbol; - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - - for (unsigned int i=0;i<m_c->points.size();i++) { - double x = plotter->isLogX() ? (*toLogX) (m_c->points[i].x()) : m_c->points[i].x(); - - double y = plotter->isLogY() ? (*toLogY) (m_c->points[i].y()) : m_c->points[i].y(); - double ydyp = plotter->isLogY() ? (*toLogY)(m_c->points[i].y() + m_c->sizePlus[i]) : m_c->points[i].y() + m_c->sizePlus[i]; - double ydym = plotter->isLogY() ? (*toLogY)(m_c->points[i].y() - m_c->sizeMnus[i]) : m_c->points[i].y() - m_c->sizeMnus[i]; - - QPointF loc(x, y ); - QSizeF siz(symbolSize,symbolSize); - QSizeF esiz(errorBarSize,errorBarSize); - QPointF ctr(siz.width()/2.0, siz.height()/2.0); - QPointF had(esiz.width()/2.0, 0); - QPointF vad(0,siz.height()/2.0); - - QPointF plus(x,ydyp); - QPointF mnus(x,ydym); - - if (plotter->rect()->contains(loc)) { - QAbstractGraphicsShapeItem *shape=NULL; - if (drawSymbol) { - if (symbolStyle==Properties::CIRCLE) { - shape = new QGraphicsEllipseItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==Properties::SQUARE) { - shape = new QGraphicsRectItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==Properties::TRIANGLE_U) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2,0))); - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else if (symbolStyle==Properties::TRIANGLE_L) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize/2, symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else { - throw std::runtime_error("In PlotProfile: unknown plot symbol"); - } - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - } - - { - QLineF pLine(m.map(loc)-vad, m.map(plus)); - if (plotter->rect()->contains(plus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+had,m.map(plus)-had)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - else { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF plus=intersection; - QLineF pLine(m.map(loc)-vad, m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - - { - QLineF mLine(m.map(loc)+vad, m.map(mnus)); - if (plotter->rect()->contains(mnus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+had,m.map(mnus)-had)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - else { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF mnus=intersection; - QLineF mLine(m.map(loc)+vad, m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - } - else if (plotter->rect()->contains(mnus)) { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF mLine(m.map(loc), m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+had,m.map(mnus)-had)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - } - else if (plotter->rect()->contains(plus)) { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF pLine(m.map(loc), m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+had,m.map(plus)-had)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - } - } - delete toLogX; - delete toLogY; -} - -const PlotProfile::Properties PlotProfile::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotProfile::setProperties(const Properties & properties) { - if (!m_c->myProperties) { - m_c->myProperties = new Properties(properties); - } - else { - *m_c->myProperties=properties; - } -} - -void PlotProfile::resetProperties() { - delete m_c->myProperties; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotRect.cpp b/graphics/Qat/QatPlotting/src/PlotRect.cpp deleted file mode 100644 index f4c016f59df9b455f2bc624a86fa87d5e212565d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotRect.cpp +++ /dev/null @@ -1,153 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotRect.h" -#include "QatPlotting/LinToLog.h" -#include "QatPlotting/AbsPlotter.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <iostream> -#include <iomanip> -#include <sstream> - -class PlotRect::Clockwork { - - public: - Clockwork():rectangle(),myProperties(nullptr),defaultProperties() {} - ~Clockwork() { delete myProperties;} - //copy - Clockwork(const Clockwork & other){ - rectangle=other.rectangle; - myProperties=(other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - //assign - Clockwork & operator=(const Clockwork & other){ - if (&other !=this){ - rectangle=other.rectangle; - delete myProperties; - myProperties=(other.myProperties)?(new Properties(*(other.myProperties))):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } - //state - QRectF rectangle; - Properties *myProperties; - Properties defaultProperties; -}; - - - -PlotRect::PlotRect (const PlotRect & other):Plotable(),m_c(new Clockwork(*(other.m_c))){ - -} - -PlotRect & PlotRect::operator=(const PlotRect & other) { - if (&other!=this) { - Plotable::operator=(other); - m_c.reset(new Clockwork(*(other.m_c))); - } - return *this; -} - -// Constructor -PlotRect::PlotRect(const QRectF & rectangle) - :Plotable(),m_c(new Clockwork()) -{ - m_c->rectangle=rectangle; -} - - - -// Destructor -PlotRect::~PlotRect(){ - //delete m_c; -} - - -// Get the "natural maximum R" -const QRectF PlotRect::rectHint() const { - return m_c->rectangle; -} - - - -// Describe to plotter, in terms of primitives: -void PlotRect::describeYourselfTo(AbsPlotter *plotter) const{ - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - double x0=m_c->rectangle.left(); - double x1=m_c->rectangle.right(); - double y0=m_c->rectangle.bottom(); - double y1=m_c->rectangle.top(); - - QPen pen =properties().pen; - QBrush brush=properties().brush; - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - if (toLogX) x0 = (*toLogX)(x0); - if (toLogY) y0 = (*toLogY)(y0); - if (toLogX) x1 = (*toLogX)(x1); - if (toLogY) y1 = (*toLogY)(y1); - - QVector<QPointF> points; - points.push_back(m.map(QPointF(x0,y0))); - points.push_back(m.map(QPointF(x0,y1))); - points.push_back(m.map(QPointF(x1,y1))); - points.push_back(m.map(QPointF(x1,y0))); - points.push_back(m.map(QPointF(x0,y0))); - QGraphicsPolygonItem *shape = new QGraphicsPolygonItem(QPolygonF(points)); - - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - - delete toLogX; - delete toLogY; -} - -const PlotRect::Properties PlotRect::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotRect::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties = new Properties(properties); -} - -void PlotRect::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotResidual1D.cpp b/graphics/Qat/QatPlotting/src/PlotResidual1D.cpp deleted file mode 100644 index 89cb9ee60f977bee7aca099261005e604081c26d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotResidual1D.cpp +++ /dev/null @@ -1,344 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/Hist1D.h" -#include "QatPlotting/PlotResidual1D.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsPathItem> -#include <iostream> -#include <iomanip> -#include <sstream> -#include <cfloat> -// Constructor - -class PlotResidual1D::Clockwork { -public: - //Clockwork doesn't own the histogram pointer - Clockwork() : histogram(nullptr), function(nullptr), nRectangle(), - myProperties(nullptr), defaultProperties() {} - - ~Clockwork() { - delete myProperties; - delete function; - } - - //copy - Clockwork(const Clockwork & other){ - histogram = other.histogram; // same histogram is shared - function = other.function->clone(); - nRectangle = other.nRectangle; - myProperties = (other.myProperties)?new Properties(*(other.myProperties)):nullptr; - defaultProperties=other.defaultProperties; - } - - //assign - Clockwork & operator=(const Clockwork & other){ - if (&other != this){ - histogram = other.histogram; - delete function; - function = other.function->clone(); - nRectangle = other.nRectangle; - delete myProperties; - myProperties = (other.myProperties)?new Properties(*(other.myProperties)):nullptr; - defaultProperties=other.defaultProperties; - } - return *this; - } - - // This is state: - const Hist1D *histogram; // The histogram - const Genfun::AbsFunction *function; // The function - QRectF nRectangle; // The "natural" bounding rectangle - Properties *myProperties; // My properties. May - Properties defaultProperties; -}; - - -PlotResidual1D::PlotResidual1D(const Hist1D & histogram, Genfun::GENFUNCTION function): - Plotable(),m_c(new Clockwork()) -{ - m_c->histogram=&histogram; - m_c->function = function.clone(); - double yMin=FLT_MAX; - double yMax=FLT_MIN; - for (unsigned int i=0;i<histogram.nBins();i++) { - double x = histogram.binCenter(i); - double yplus = histogram.bin(i) -(*m_c->function)(x)+ histogram.binError(i); - double yminus = histogram.bin(i) -(*m_c->function)(x)- histogram.binError(i); - yMin = std::min(yMin,yminus); - yMax = std::max(yMax,yplus); - } - - double dist = yMax-yMin; - double marge = dist/10; - yMax += marge; - if (yMin>0) { - yMin=0; - } - else if (yMin<0) { - yMin-=marge; - } - - QPointF lowerRight(histogram.min(),yMin); - QPointF upperLeft (histogram.max(),yMax); - m_c->nRectangle.setLeft (histogram.min()); - m_c->nRectangle.setRight(histogram.max()); - m_c->nRectangle.setTop(yMin); - m_c->nRectangle.setBottom(yMax); -} - -// Copy constructor: -PlotResidual1D::PlotResidual1D(const PlotResidual1D & source): - Plotable(),m_c(new Clockwork(*(source.m_c))) -{ - -} - -// Assignment operator: -PlotResidual1D & PlotResidual1D::operator=(const PlotResidual1D & source) -{ - if (&source!=this) { - Plotable::operator=(source); - m_c.reset(new Clockwork(*(source.m_c))); - } - return *this; -} - - -// Destructor -PlotResidual1D::~PlotResidual1D(){ - //delete m_c; -} - - -const QRectF PlotResidual1D::rectHint() const { - return m_c->nRectangle; -} - - -// Get the graphic description:: -void PlotResidual1D::describeYourselfTo(AbsPlotter *plotter) const { - QPen pen =properties().pen; - int symbolSize=properties().symbolSize; - PlotResidual1D::Properties::SymbolStyle symbolStyle=properties().symbolStyle; - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - for (unsigned int i=0;i<m_c->histogram->nBins();i++) { - double x = plotter->isLogX() ? (*toLogX) (m_c->histogram->binCenter(i)) : m_c->histogram->binCenter(i); - double y = plotter->isLogY() ? (*toLogY) (m_c->histogram->bin(i)-(*m_c->function)(x)) : m_c->histogram->bin(i)-(*m_c->function)(x); - double ydyp = plotter->isLogY() ? (*toLogY)(m_c->histogram->bin(i)-(*m_c->function)(x)+m_c->histogram->binError(i)) : m_c->histogram->bin(i)-(*m_c->function)(x)+m_c->histogram->binError(i); - double ydym = plotter->isLogY() ? (*toLogY)(m_c->histogram->bin(i)-(*m_c->function)(x)-m_c->histogram->binError(i)) : m_c->histogram->bin(i)-(*m_c->function)(x)-m_c->histogram->binError(i); - - QPointF loc(x, y ); - QSizeF siz(symbolSize,symbolSize); - QPointF ctr(siz.width()*0.5, siz.height()*0.5); - QPointF had(siz.width()*0.5, 0); - QPointF vad(0,siz.height()*0.5); - - QPointF plus(x,ydyp); - QPointF mnus(x,ydym); - - if (plotter->rect()->contains(loc)) { - QAbstractGraphicsShapeItem *shape=NULL; - if (symbolStyle==PlotResidual1D::Properties::CIRCLE) { - shape = new QGraphicsEllipseItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==PlotResidual1D::Properties::SQUARE) { - shape = new QGraphicsRectItem(QRectF(m.map(loc)-ctr,siz)); - } - else if (symbolStyle==PlotResidual1D::Properties::TRIANGLE_U) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize,symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize*0.5,0))); - points.push_back(m.map(loc)-ctr+(QPointF(0,symbolSize))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else if (symbolStyle==PlotResidual1D::Properties::TRIANGLE_L) { - QVector<QPointF> points; - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize, 0))); - points.push_back(m.map(loc)-ctr+(QPointF(symbolSize*0.5, symbolSize))); - points.push_back(m.map(loc)-ctr+(QPointF(0, 0))); - shape = new QGraphicsPolygonItem(QPolygonF(points)); - } - else { - throw std::runtime_error("In PlotResidual1D: unknown plot symbol"); - } - - shape->setPen(pen); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - - { - QLineF pLine(m.map(loc)-vad, m.map(plus)); - if (plotter->rect()->contains(plus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+had,m.map(plus)-had)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - - } - else { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF plus=intersection; - QLineF pLine(m.map(loc)-vad, m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - - { - QLineF mLine(m.map(loc)+vad, m.map(mnus)); - if (plotter->rect()->contains(mnus)) { - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+had,m.map(mnus)-had)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - - } - else { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF mnus=intersection; - QLineF mLine(m.map(loc)+vad, m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - } - } - } - - - } - else if (plotter->rect()->contains(mnus)) { - QPointF intersection; - QLineF bottomLine(plotter->rect()->bottomLeft(),plotter->rect()->bottomRight()); - QLineF::IntersectType type=bottomLine.intersect(QLineF(loc,mnus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF mLine(m.map(loc), m.map(mnus)); - QGraphicsLineItem *line=new QGraphicsLineItem(mLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *bottomLine=new QGraphicsLineItem(QLineF(m.map(mnus)+had,m.map(mnus)-had)); - bottomLine->setPen(pen); - bottomLine->setMatrix(mInverse); - plotter->scene()->addItem(bottomLine); - plotter->group()->addToGroup(bottomLine); - } - } - else if (plotter->rect()->contains(plus)) { - QPointF intersection; - QLineF topLine(plotter->rect()->topLeft(),plotter->rect()->topRight()); - QLineF::IntersectType type=topLine.intersect(QLineF(loc,plus),&intersection); - if (type==QLineF::BoundedIntersection) { - QPointF loc=intersection; - QLineF pLine(m.map(loc), m.map(plus)); - QGraphicsLineItem *line=new QGraphicsLineItem(pLine); - line->setPen(pen); - line->setMatrix(mInverse); - plotter->scene()->addItem(line); - plotter->group()->addToGroup(line); - - QGraphicsLineItem *topLine=new QGraphicsLineItem(QLineF(m.map(plus)+had,m.map(plus)-had)); - topLine->setPen(pen); - topLine->setMatrix(mInverse); - plotter->scene()->addItem(topLine); - plotter->group()->addToGroup(topLine); - } - } - } - delete toLogX; - delete toLogY; -} - -std::string PlotResidual1D::title() const { - return m_c->histogram->name(); -} - -// Get the histogram: -const Hist1D *PlotResidual1D::histogram() const { - return m_c->histogram; -} - -// Get the function: -const Genfun::AbsFunction *PlotResidual1D::function() const { - return m_c->function->clone(); //cloned because the raw pointer is owned by this class -} - -const PlotResidual1D::Properties PlotResidual1D::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotResidual1D::setProperties(const Properties & properties) { - delete m_c->myProperties; - m_c->myProperties = new Properties(properties); -} - -void PlotResidual1D::resetProperties() { - delete m_c->myProperties; - m_c->myProperties=nullptr; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotShadeBox.cpp b/graphics/Qat/QatPlotting/src/PlotShadeBox.cpp deleted file mode 100644 index 1e6c02d0a52cfde8439d95d7ce8bfd7617bb79a9..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotShadeBox.cpp +++ /dev/null @@ -1,181 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotShadeBox.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsEllipseItem> -#include <QtGui/QGraphicsPolygonItem> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsPathItem> -#include <iostream> -#include <memory> -class PlotShadeBox::Clockwork { - - -public: - - Clockwork():myProperties(NULL) {} - ~Clockwork() { delete myProperties;} - - QRectF nRectangle; - Properties *myProperties; - Properties defaultProperties; - std::vector<QPointF> points; - std::vector<double> sizePlus; - std::vector<double> sizeMnus; -}; - - -// Constructor -PlotShadeBox::PlotShadeBox(): - Plotable(),m_c(new Clockwork()) -{ - m_c->nRectangle.setLeft (+1.0E100); - m_c->nRectangle.setRight (-1.0E100); - m_c->nRectangle.setTop (+1.0E100); - m_c->nRectangle.setBottom(-1.0E100); - -} - - - -// Destructor -PlotShadeBox::~PlotShadeBox(){ - delete m_c; -} - - - -const QRectF PlotShadeBox::rectHint() const { - return m_c->nRectangle; -} - - - - // Add Points: -void PlotShadeBox::addPoint(const QPointF & point, double errorPlus, double errorMinus) { - m_c->points.push_back(point); - m_c->sizePlus.push_back(errorPlus); - m_c->sizeMnus.push_back(errorMinus); - - - m_c->nRectangle.setLeft(std::min(m_c->nRectangle.left(),point.x())); - m_c->nRectangle.setRight(std::max(m_c->nRectangle.right(),point.x())); - m_c->nRectangle.setBottom(std::min(m_c->nRectangle.bottom(),point.y()+errorPlus)); - m_c->nRectangle.setTop(std::max(m_c->nRectangle.top(),point.y()-errorMinus)); -} - -void PlotShadeBox::addPoint( const QPointF & point, double size) { - - m_c->points.push_back(point); - m_c->sizePlus.push_back(size); - m_c->sizeMnus.push_back(size); - - - m_c->nRectangle.setLeft(std::min(m_c->nRectangle.left(),point.x())); - m_c->nRectangle.setRight(std::max(m_c->nRectangle.right(),point.x())); - m_c->nRectangle.setBottom(std::min(m_c->nRectangle.bottom(),point.y()+size)); - m_c->nRectangle.setTop(std::max(m_c->nRectangle.top(),point.y()-size)); -} - - -void PlotShadeBox::describeYourselfTo(AbsPlotter * plotter) const { - - QPen pen =properties().pen; - QBrush brush=properties().brush; - const double hSize = properties().horizontalSize; - const double halfLength = hSize*0.5; - //fix coverity issue 16789, 16790 (sroe) - using LogFnPtr_t = std::unique_ptr<LinToLog> ; - - const auto rectangle = plotter->rect(); - const auto left = rectangle->left(); - const auto right = rectangle->right(); - const auto bottom = rectangle->bottom(); - const auto top = rectangle->top(); - const bool xAxisIsLogScale(plotter->isLogX()); - const bool yAxisIsLogScale(plotter->isLogX()); - LogFnPtr_t toLogX( xAxisIsLogScale ? new LinToLog (left,right) : nullptr); - LogFnPtr_t toLogY( yAxisIsLogScale ? new LinToLog (top, bottom) : nullptr); - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - for (unsigned int i=0;i<m_c->points.size();i++) { - double xdxp = m_c->points[i].x() + halfLength; - double xdxm = m_c->points[i].x() - halfLength; - double ydyp = m_c->points[i].y() + m_c->sizePlus[i]; - double ydym = m_c->points[i].y() - m_c->sizeMnus[i]; - - xdxp = xAxisIsLogScale ? (*toLogX) (xdxp): xdxp; - xdxm = xAxisIsLogScale ? (*toLogX) (xdxm): xdxm; - ydyp = yAxisIsLogScale ? (*toLogY) (ydyp): ydyp; - ydym = yAxisIsLogScale ? (*toLogY) (ydym): ydym; - - if (ydyp<top) return; - if (ydym>bottom) return; - if (xdxp<left) return; - if (xdxm>right) return; - - xdxp = std::min(xdxp,right); - xdxm = std::max(xdxm,left); - ydyp = std::min(ydyp,bottom); - ydym = std::max(ydym,top); - - QRectF rect; - rect.setTop(ydym); - rect.setBottom(ydyp); - rect.setLeft(xdxm); - rect.setRight(xdxp); - QGraphicsRectItem *shape = new QGraphicsRectItem(m.mapRect(rect)); - - shape->setPen(pen); - shape->setBrush(brush); - shape->setMatrix(mInverse); - plotter->scene()->addItem(shape); - plotter->group()->addToGroup(shape); - } - -} - -const PlotShadeBox::Properties PlotShadeBox::properties() const { - return m_c->myProperties ? *m_c->myProperties : m_c->defaultProperties; -} - -void PlotShadeBox::setProperties(const Properties & properties) { - if (!m_c->myProperties) { - m_c->myProperties = new Properties(properties); - } - else { - *m_c->myProperties=properties; - } -} - -void PlotShadeBox::resetProperties() { - delete m_c->myProperties; -} - diff --git a/graphics/Qat/QatPlotting/src/PlotText.cpp b/graphics/Qat/QatPlotting/src/PlotText.cpp deleted file mode 100644 index e8b0623f2d870ab97ce7f1c73f011e65cc12a1c7..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotText.cpp +++ /dev/null @@ -1,148 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/PlotText.h" -#include "QatPlotting/LinToLog.h" -#include "QatPlotting/AbsPlotter.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <QtGui/QGraphicsItemGroup> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QGraphicsRectItem> -#include <QtGui/QTextDocument> -#include <iostream> -#include <iomanip> -#include <sstream> - -class PlotText::Clockwork { - - public: - - Clockwork():point(),textDocument(nullptr),nRect(nullptr){} - ~Clockwork() { - delete textDocument; textDocument=nullptr; - delete nRect; nRect=nullptr; - } - - - QPointF point; - QTextDocument *textDocument; - QRectF *nRect; -}; - - - -PlotText::PlotText (const PlotText & right):Plotable(),m_c(new Clockwork()){ - m_c->point=right.m_c->point; - m_c->textDocument=right.m_c->textDocument->clone(); - delete m_c->nRect; - m_c->nRect=new QRectF(*(right.m_c->nRect)); -} - -PlotText & PlotText::operator=(const PlotText & right) { - if (&right!=this) { - Plotable::operator=(right); - delete m_c; - m_c=new Clockwork(); - m_c->point=right.m_c->point; - if (right.m_c->textDocument) m_c->textDocument=right.m_c->textDocument->clone(); - m_c->nRect=new QRectF(*(right.m_c->nRect)); - } - return *this; -} - -// Constructor -PlotText::PlotText(double x, double y, const QString & text) - :Plotable(),m_c(new Clockwork()) - -{ - m_c->point=QPointF(x,y); - m_c->textDocument=new QTextDocument(text); - m_c->nRect=nullptr; -} - - - -// Destructor -PlotText::~PlotText(){ - delete m_c; -} - - -// Get the "natural maximum R" -const QRectF PlotText::rectHint() const { - if (!m_c->nRect) { - QGraphicsTextItem aux; - aux.setDocument(m_c->textDocument); - aux.setPos(m_c->point); - aux.adjustSize(); - m_c->nRect = new QRectF( aux.boundingRect()); - } - return *m_c->nRect; -} - - - -// Describe to plotter, in terms of primitives: -void PlotText::describeYourselfTo(AbsPlotter *plotter) const{ - - LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : nullptr; - LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : nullptr; - - double x=m_c->point.x(); - double y=m_c->point.y(); - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - if (toLogX) x = (*toLogX)(x); - if (toLogY) y = (*toLogY)(y); - - - - QGraphicsTextItem *item = new QGraphicsTextItem(); - //unused variables (sroe) - //QPointF p=m_c->point; - //QPointF p1 = m.map(m_c->point); - //QPointF p2 = mInverse.map(m_c->point); - - - QPointF P(plotter->rect()->left(), plotter->rect()->bottom()); - QPointF Q(m_c->point); - - item->setDocument(m_c->textDocument); - item->setPos(Q-P); - item->setMatrix(mInverse); - plotter->scene()->addItem(item); - plotter->group()->addToGroup(item); - - delete toLogX; - delete toLogY; -} - - -void PlotText::setDocument(QTextDocument *document) { - delete m_c->textDocument; - m_c->textDocument=document->clone(); -} - - diff --git a/graphics/Qat/QatPlotting/src/PlotWave1D.cpp b/graphics/Qat/QatPlotting/src/PlotWave1D.cpp deleted file mode 100644 index 437e39d692b8897967363a6a55ac5e194821cb8e..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/PlotWave1D.cpp +++ /dev/null @@ -1,242 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "CLHEP/GenericFunctions/AbsFunction.hh" -#include "QatPlotting/PlotWave1D.h" -#include "QatPlotting/AbsPlotter.h" -#include "QatPlotting/LinToLog.h" -#include "QatDataAnalysis/Query.h" -#include <QtGui/QGraphicsPathItem> -#include <QtGui/QPainterPath> -#include <QtGui/QGraphicsScene> -#include <stdexcept> -#include <sys/time.h> - -// Constructor -PlotWave1D::PlotWave1D(const Genfun::AbsFunction & function, - const QRectF & naturalRectangle): - PlotFunction1D(function, naturalRectangle) {} - - -PlotWave1D::PlotWave1D(const Genfun::AbsFunction & function, - const Cut<double> & domainRestriction, - const QRectF & naturalRectangle): - PlotFunction1D(function, domainRestriction, naturalRectangle) {} - -// Copy constructor: -PlotWave1D::PlotWave1D(const PlotWave1D & source): - PlotFunction1D(source) {} - -// Assignment operator: -PlotWave1D & PlotWave1D::operator=(const PlotWave1D & source){ - if (&source !=this) { - PlotFunction1D::operator=(source); - } - return *this; -} - - -// Destructor -PlotWave1D::~PlotWave1D(){ -} - - -// Get the graphic description:: -void PlotWave1D::describeYourselfTo(AbsPlotter *plotter) const { - - plotter->startAnimating(20); - - Genfun::Argument arg(2); - timeval tv; - gettimeofday(&tv,NULL); - arg[1] = double(tv.tv_sec) + tv.tv_usec/double(1000000); - - - - QPen pen = properties().pen; - QBrush brush=properties().brush; - - - QMatrix m=plotter->matrix(),mInverse=m.inverted(); - - unsigned int dim = m_c->function->dimensionality(); - if (dim!=2) throw std::runtime_error("PlotWave1D: requires a function of exactly 2 arguments"); - - double minX=plotter->rect()->left(), maxX=plotter->rect()->right(); - double minY=plotter->rect()->top(), maxY=plotter->rect()->bottom(); - - - int NPOINTS = 100; - double delta = (maxX-minX)/NPOINTS; - - const LinToLog *toLogX= plotter->isLogX() ? new LinToLog (plotter->rect()->left(),plotter->rect()->right()) : NULL; - const LinToLog *toLogY= plotter->isLogY() ? new LinToLog (plotter->rect()->top(),plotter->rect()->bottom()) : NULL; - - if (brush.style()==Qt::NoBrush) { - // Just a line: - - Query<QPointF> cachedPoint; - QPainterPath *path=NULL; - bool empty=true; - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double x = minX + i*delta; - arg[0] = x; - double y=0; - if ((!m_c->domainRestriction || (*m_c->domainRestriction)(x)) && finite((y=(*m_c->function)(arg)))) { // Check that X is in function domain - - //double y = (*m_c->function) (x); - QPointF point(x,y); - if (y < maxY && y > minY) { // IN RANGE - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - if (cachedPoint.isValid()) { - QPointF intersection; - if (Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - if (Clockwork::maxOut(plotter->rect(), point, intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - std::cerr << "Intersection is failing" << std::endl; - } - } - } - else { - Clockwork::moveTo(path,m, point,toLogX,toLogY); - } - } - else { - Clockwork::lineTo(path,m,point,toLogX, toLogY); - } - } - else { // OUT OF RANGE - if (path) { - if (cachedPoint.isValid()) { - QPointF intersection; - if (Clockwork::intersect(plotter->rect(),cachedPoint, point,intersection)) { - Clockwork::lineTo(path,m,intersection,toLogX,toLogY); - } - else { - if (Clockwork::maxOut(plotter->rect(), point, intersection)) { - Clockwork::moveTo(path,m,intersection,toLogX,toLogY); - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { - std::cerr << "Intersection is failing" << std::endl; - } - } - } - closePath=true; - empty =true; - } - } - cachedPoint=point; - } - else { // OUT OF DOMAIN - if (path) { - closePath=true; - empty=true; - } - cachedPoint=Query<QPointF>(); - } - if (i==NPOINTS && path) closePath=true; - if (closePath) { - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - else { - // A fill pattern of some sort.. - double yBase=std::max(std::min(maxY, properties().baseLine),minY); - - QPainterPath *path=NULL; - bool empty=true; - for (int i=0; i<NPOINTS+1;i++) { - bool closePath=false; - double x = minX + i*delta; - arg[0]=x; - double y=0; - if ((!m_c->domainRestriction || (*m_c->domainRestriction)(x)) && finite((y=(*m_c->function)(arg)))) { // Check that X is in function domain - - //double y = (*m_c->function) (x); - QPointF point(x,y); - - if (!path) path = new QPainterPath(); - if (empty) { - empty=false; - QPointF intersection; - Clockwork::moveTo(path,m, QPointF(x,yBase), toLogX,toLogY); - } - - - if (y < maxY && y > minY) { // IN RANGE - Clockwork::lineTo(path,m,point,toLogX,toLogY); - } - else { // OUT OF RANGE - QPointF maxOut; - Clockwork::maxOut(plotter->rect(), point,maxOut); - Clockwork::lineTo(path,m,maxOut,toLogX,toLogY); - } - } - else { // OUT OF DOMAIN - if (path) { - closePath=true; - empty=true; - } - } - if (i==NPOINTS && path) { - closePath=true; - } - if (closePath) { - QPointF position=mInverse.map(path->currentPosition()); - position.setY(yBase); - Clockwork::lineTo(path,m,position,toLogX,toLogY); - QGraphicsPathItem *polyline=new QGraphicsPathItem(*path); - polyline->setPen(pen); - polyline->setBrush(brush); - polyline->setMatrix(mInverse); - plotter->scene()->addItem(polyline); - plotter->group()->addToGroup(polyline); - delete path; - path=NULL; - } - } - } - delete toLogX; - delete toLogY; -} - - - diff --git a/graphics/Qat/QatPlotting/src/Plotable.cpp b/graphics/Qat/QatPlotting/src/Plotable.cpp deleted file mode 100644 index 9a31f3fe0c2702c35d8ac4e114bccfb934477401..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/Plotable.cpp +++ /dev/null @@ -1,29 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/Plotable.h" -Plotable::Plotable() { -} - -Plotable::~Plotable() { -} - diff --git a/graphics/Qat/QatPlotting/src/QatPlotting.pro b/graphics/Qat/QatPlotting/src/QatPlotting.pro deleted file mode 100644 index ee898f20b0bf15052e4031911f723ef2b43de98a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/QatPlotting.pro +++ /dev/null @@ -1,73 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Thu Sep 18 19:41:36 2008 -###################################################################### - -TEMPLATE = lib dll -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatDataAnalysis -DESTDIR=../../../lib -CONFIG += build_all debug -LIBS = -lCLHEP -lgsl -lgslcblas -# Input -HEADERS += ../QatPlotting/AbsPlotter.h \ - ../QatPlotting/LinToLog.h \ - ../QatPlotting/PlotStream.h \ - ../QatPlotting/Plotable.h \ - ../QatPlotting/PlotHist1D.h \ - ../QatPlotting/PlotHist1DProperties.h \ - ../QatPlotting/PlotHist2D.h \ - ../QatPlotting/PlotHist2DProperties.h \ - ../QatPlotting/PlotFunction1DProperties.h \ - ../QatPlotting/PlotFunction1D.h \ - ../QatPlotting/PlotProfileProperties.h \ - ../QatPlotting/PlotProfile.h \ - ../QatPlotting/PlotErrorEllipseProperties.h \ - ../QatPlotting/PlotErrorEllipse.h \ - ../QatPlotting/PlotOrbit.h \ - ../QatPlotting/PlotOrbitProperties.h \ - ../QatPlotting/PlotPointProperties.h \ - ../QatPlotting/PlotPoint.h \ - ../QatPlotting/PlotResidual1D.h \ - ../QatPlotting/PlotResidual1DProperties.h \ - ../QatPlotting/RealArg.h \ - ../QatPlotting/PlotRectProperties.h \ - ../QatPlotting/PlotRect.h \ - ../QatPlotting/PlotShadeBox.h \ - ../QatPlotting/PlotText.h \ - ../QatPlotting/PlotMeasure.h \ - ../QatPlotting/PlotMeasureProperties.h \ - ../QatPlotting/PlotBand1D.h \ - ../QatPlotting/PlotBand1DProperties.h \ - ../QatPlotting/VisFunction.h \ - ../QatPlotting/PlotWave1D.h \ - ../QatPlotting/PlotWave1DProperties.h \ - ../QatPlotting/PlotFunction1D.icc - -SOURCES += AbsPlotter.cpp \ - Plotable.cpp \ - PlotHist1D.cpp \ - PlotHist2D.cpp \ - PlotFunction1D.cpp \ - PlotOrbit.cpp \ - PlotProfile.cpp \ - PlotErrorEllipse.cpp \ - PlotPoint.cpp \ - PlotResidual1D.cpp \ - PlotShadeBox.cpp \ - RealArg.cpp \ - PlotRect.cpp \ - PlotText.cpp \ - PlotMeasure.cpp \ - PlotBand1D.cpp \ - VisFunction.cpp \ - PlotWave1D.cpp - -INSTALLS += target -target.path=/usr/local/lib - -headers.path=/usr/local/include/QatPlotting -headers.files= ../QatPlotting/*h ../QatPlotting/*.icc -INSTALLS += headers - - diff --git a/graphics/Qat/QatPlotting/src/RealArg.cpp b/graphics/Qat/QatPlotting/src/RealArg.cpp deleted file mode 100644 index fbf98e294d021b59440ee17c8937bfc051434dad..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/RealArg.cpp +++ /dev/null @@ -1,39 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/RealArg.h" -namespace RealArg { - - Eq::Eq(double value): m_value(value){} - bool Eq::operator() (const double & x) const {return x==m_value;} - Eq *Eq::clone() const { return new Eq(*this);} - - Lt::Lt(double value): m_value(value){} - bool Lt::operator() (const double & x) const {return x<m_value;} - Lt *Lt::clone() const { return new Lt(*this);} - - Gt::Gt(double value): m_value(value) {} - bool Gt::operator() (const double & x) const {return x>m_value;} - Gt *Gt::clone() const { return new Gt(*this);} - -} - diff --git a/graphics/Qat/QatPlotting/src/VisFunction.cpp b/graphics/Qat/QatPlotting/src/VisFunction.cpp deleted file mode 100644 index 826398e1dbd49ab2e4492845e28fad59c51ac9ab..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPlotting/src/VisFunction.cpp +++ /dev/null @@ -1,97 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatPlotting/VisFunction.h" -#include <vector> -#include <iostream> -class VisFunction::Clockwork { -public: - std::string name; - std::vector<Genfun::Parameter *> parameter; - std::vector<const Genfun::AbsFunction *> function; - std::vector<const Cut<double> *> domainRestriction; - QRectF rectHint; -}; - -VisFunction::VisFunction(const std::string & name): - m_c(new Clockwork()) -{ - m_c->name = name; -} - -VisFunction::~VisFunction() -{ - for (unsigned int i=0;i<m_c->function.size();i++) { - delete m_c->function[i]; - delete m_c->domainRestriction[i]; - } - for (unsigned int i=0;i<m_c->parameter.size();i++) { - delete m_c->parameter[i]; - } - delete m_c; -} - - -void VisFunction::addParameter(Genfun::Parameter *p) { - m_c->parameter.push_back(p); -} - -unsigned int VisFunction::getNumParameters() const { - return m_c->parameter.size(); -} - -Genfun::Parameter *VisFunction::getParameter(unsigned int i) const { - return m_c->parameter[i]; -} - - -void VisFunction::addFunction(Genfun::GENFUNCTION f, const Cut<double> * domainRestriction) { - m_c->function.push_back(f.clone()); - m_c->domainRestriction.push_back(domainRestriction ? domainRestriction->clone(): NULL); -} - -unsigned int VisFunction::getNumFunctions() const { - return m_c->function.size(); -} - -const Genfun::AbsFunction *VisFunction::getFunction(unsigned int i) const { - return m_c->function[i]; -} - -const Cut<double> *VisFunction::getDomainRestriction(unsigned int i) const { - return m_c->domainRestriction[i]; -} - - -const std::string & VisFunction::name() const { - return m_c->name; -} - - -const QRectF & VisFunction::rectHint() const { - return m_c->rectHint; -} - - -QRectF & VisFunction::rectHint() { - return m_c->rectHint; -} diff --git a/graphics/Qat/QatPresenter/CMakeLists.txt b/graphics/Qat/QatPresenter/CMakeLists.txt deleted file mode 100644 index 4a18c096311c9d660b467a9cea6fa00ea4f88efc..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenter/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -################################################################################ -# Package: QatPresenter -################################################################################ - -# Declare the package name: -atlas_subdir( QatPresenter ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatDataAnalysis - graphics/Qat/QatPlotWidgets - graphics/Qat/QatSystemInterfaces ) - -# External dependencies: -find_package( Qt4 ) - -# Generate UI files automatically: -set( CMAKE_AUTOUIC TRUE ) -# Generate MOC files automatically: -set( CMAKE_AUTOMOC TRUE ) -# Generate resource files automatically: -set( CMAKE_AUTORCC TRUE ) -# to let CMake find .h files automatically-generated from .ui files -set(CMAKE_INCLUDE_CURRENT_DIR ON) - - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Component(s) in the package: -atlas_add_library( QatPresenter QatPresenter/*.h src/*.h src/*.c* src/*.qrc - PUBLIC_HEADERS QatPresenter - INCLUDE_DIRS ${QT4_INCLUDE_DIRS} - LINK_LIBRARIES QatDataAnalysis QatPlotWidgets QatSystemInterfaces ${QT4_LIBRARIES} ) - diff --git a/graphics/Qat/QatPresenter/QatPresenter/PresenterApplication.h b/graphics/Qat/QatPresenter/QatPresenter/PresenterApplication.h deleted file mode 100644 index 1f80ee825ef10cf775978eaf92fa59a67708dce1..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenter/QatPresenter/PresenterApplication.h +++ /dev/null @@ -1,89 +0,0 @@ -#ifndef QATPRESENTER_PRESENTERAPPLICATION_H -#define QATPRESENTER_PRESENTERAPPLICATION_H -#include "QatDataAnalysis/IOLoader.h" -#include <QtGui/QMainWindow> -#include <string> -class HistogramManager; -class Table; -class QTreeWidgetItem; -class PresenterApplication: public QMainWindow { - - // This is a Q_OBJECT: - Q_OBJECT - - public: - - // Constructor - PresenterApplication(QWidget * parent=NULL); - - // Destructor - ~PresenterApplication(); - - // Open a file: - void open(const std::string & pathname); - - // Save a configuration file: - void save (const std::string & pathname); - - // Load a configuration file: - void load (const std::string & pathname); - - // Load a system: - void loadSystem (const std::string & systemName); - - // Add a directory for vis functions - void addVisFunctionDirectory(const std::string & visFunctionDirectoryName); - - // Read in vis functions - void readVisFunctions(); - - private: - - // Copy and assign are illegal - PresenterApplication & operator=(const PresenterApplication & ); - PresenterApplication (const PresenterApplication &); - - // Internals - class Clockwork; - Clockwork *m_c; - - public slots: - - // Quit the application: - void quit(); - - // Load a system - void loadSystem(); - - // Select a File for Open: - void selectOpenFile(); - - // Close selected file: - void selectCloseFile(); - - // Select a File for Load Configuration: - void selectLoadFile(); - - // Select a File for Save Configuration: - void selectSaveFile(); - - // Update the selection: - void updateSelection(); - - // Respond to clicks on the tab b ar - void raiseTabBarContextMenu (QWidget *, const QPoint & ); - - // Current selection changed - void currentChanged(int i); - - // Change tables - void refreshTables(HistogramManager *manager, const Table *oldTable, const Table *newTable); - - // Double click on an item in the tree: - void itemDoubleClicked(QTreeWidgetItem *item, int column); - - // Unload files, systems, and input browser. - void clear(); - -}; -#endif diff --git a/graphics/Qat/QatPresenter/QatPresenter/PresenterTreeWidget.h b/graphics/Qat/QatPresenter/QatPresenter/PresenterTreeWidget.h deleted file mode 100644 index 5ce9045d05eda22bce8e5f02f26a0b79858f6e55..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenter/QatPresenter/PresenterTreeWidget.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _PRESENTERTREEWIDGET_H_ -#define _PRESENTERTREEWIDGET_H_ -#include <QtGui/QTreeWidget> -class PresenterTreeWidget: public QTreeWidget { - Q_OBJECT - - public: - - PresenterTreeWidget(QWidget *parent=0); - - ~PresenterTreeWidget(); - - protected: - - virtual void dropEvent(QDropEvent *event); - - signals: - - void itemDropped(); - -}; -#endif diff --git a/graphics/Qat/QatPresenter/QatPresenter/QatTabBar.h b/graphics/Qat/QatPresenter/QatPresenter/QatTabBar.h deleted file mode 100755 index 917e7fb17e805c60761e00bac56360d8e7376005..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenter/QatPresenter/QatTabBar.h +++ /dev/null @@ -1,97 +0,0 @@ -///////////////////////////////////////////////////////////////////////// -// // -// File adopted from KDE4 libraries by // -// T. Kittelmann <Thomas.Kittelmann@cern.ch>, March 2007. // -// // -// Main thing is to remove dependence on KDE for length of title text // -// settings, delay on drag settings and title eliding. Also, // -// hoverbuttons were removed (since these had not been properly // -// implemented in KDE4 at the time the code was copied). // -// // -// Notice about Copyrights and GPL license from the orignal file is // -// left untouched below. // -// // -///////////////////////////////////////////////////////////////////////// - -/* This file is part of the KDE libraries - Copyright (C) 2003 Stephan Binner <binner@kde.org> - Copyright (C) 2003 Zack Rusin <zack@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef QatTABBAR_H -#define QatTABBAR_H - -#include <QtGui/QTabBar> - -class QatTabBar: public QTabBar -{ - Q_OBJECT - - public: - explicit QatTabBar( QWidget* parent = 0 ); - - virtual ~QatTabBar(); - - void setTabReorderingEnabled( bool enable ); - - bool isTabReorderingEnabled() const; - - void setTabCloseActivatePrevious( bool ); - - bool tabCloseActivatePrevious() const; - - int selectTab( const QPoint &position ) const; - - Q_SIGNALS: - void contextMenu( int, const QPoint& ); - void mouseDoubleClick( int ); - void mouseMiddleClick( int ); - void initiateDrag( int ); - void testCanDecode( const QDragMoveEvent*, bool& ); - void receivedDropEvent( int, QDropEvent* ); - void moveTab( int, int ); - void closeRequest( int ); -#ifndef QT_NO_WHEELEVENT - void wheelDelta( int ); -#endif - - protected: - virtual void mouseDoubleClickEvent( QMouseEvent *event ); - virtual void mousePressEvent( QMouseEvent *event ); - virtual void mouseMoveEvent( QMouseEvent *event ); - virtual void mouseReleaseEvent( QMouseEvent *event ); -#ifndef QT_NO_WHEELEVENT - virtual void wheelEvent( QWheelEvent *event ); -#endif - - virtual void dragEnterEvent( QDragEnterEvent *event ); - virtual void dragMoveEvent( QDragMoveEvent *event ); - virtual void dropEvent( QDropEvent *event ); - - protected Q_SLOTS: - virtual void activateDragSwitchTab(); - - protected: - virtual void tabLayoutChange(); - - private: - class Private; - Private* const m_d; -}; - -#endif diff --git a/graphics/Qat/QatPresenter/QatPresenter/QatTabWidget.h b/graphics/Qat/QatPresenter/QatPresenter/QatTabWidget.h deleted file mode 100755 index 6ab65fcdeee66c2d13be5a21f42a9c72b7995d9a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenter/QatPresenter/QatTabWidget.h +++ /dev/null @@ -1,146 +0,0 @@ -///////////////////////////////////////////////////////////////////////// -// // -// File adopted from KDE4 libraries by // -// T. Kittelmann <Thomas.Kittelmann@cern.ch>, March 2007. // -// // -// Main thing is to remove dependence on KDE for length of title text // -// settings, delay on drag settings and title eliding. Also, // -// hoverbuttons were removed (since these had not been properly // -// implemented in KDE4 at the time the code was copied). // -// // -// Notice about Copyrights and GPL license from the orignal file is // -// left untouched below. // -// // -///////////////////////////////////////////////////////////////////////// - -/* This file is part of the KDE libraries - Copyright (C) 2003 Stephan Binner <binner@kde.org> - Copyright (C) 2003 Zack Rusin <zack@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef QatTABWIDGET_H -#define QatTABWIDGET_H - -#include <QtGui/QTabWidget> - -class QTab; -class QatTabBar; - -class QatTabWidget : public QTabWidget -{ - Q_OBJECT - Q_PROPERTY( bool tabReorderingEnabled READ isTabReorderingEnabled WRITE setTabReorderingEnabled ) - Q_PROPERTY( bool tabCloseActivatePrevious READ tabCloseActivatePrevious WRITE setTabCloseActivatePrevious ) - Q_PROPERTY( bool automaticResizeTabs READ automaticResizeTabs WRITE setAutomaticResizeTabs ) - - public: - - QatTabBar* getQatTabBar();//Added by TK. - - explicit QatTabWidget( QWidget *parent = 0, Qt::WFlags flags = 0 ); - - virtual ~QatTabWidget(); - - void setTabTextColor( int index, const QColor& color ); - - QColor tabTextColor( int index ) const; - - bool isTabReorderingEnabled() const; - - bool tabCloseActivatePrevious() const; - - bool automaticResizeTabs() const; - - void setTabBarHidden( bool hide ); - - bool isTabBarHidden() const; - - QString tabText( int ) const; // but it's not virtual... - - void setTabText( int , const QString & ); - - public Q_SLOTS: - virtual void moveTab( int, int ); - - virtual QT_MOC_COMPAT void removePage ( QWidget * w ); - - virtual void removeTab(int index); - - void setTabReorderingEnabled( bool enable ); - - void setTabCloseActivatePrevious( bool previous ); - - void setAutomaticResizeTabs( bool enable ); - - Q_SIGNALS: - void testCanDecode(const QDragMoveEvent *e, bool &accept /* result */); - - void receivedDropEvent( QDropEvent * ); - - void receivedDropEvent( QWidget *, QDropEvent * ); - - void initiateDrag( QWidget * ); - - void contextMenu( const QPoint & ); - - void contextMenu( QWidget *, const QPoint & ); - - void movedTab( int, int ); - - void mouseDoubleClick(); - - void mouseDoubleClick( QWidget * ); - - void mouseMiddleClick(); - - void mouseMiddleClick( QWidget * ); - - void closeRequest( QWidget * ); - - protected: - virtual void mouseDoubleClickEvent( QMouseEvent* ); - virtual void mousePressEvent( QMouseEvent* ); - virtual void dragEnterEvent( QDragEnterEvent* ); - virtual void dragMoveEvent( QDragMoveEvent* ); - virtual void dropEvent( QDropEvent* ); - int tabBarWidthForMaxChars( int ); -#ifndef QT_NO_WHEELEVENT - virtual void wheelEvent( QWheelEvent* ); -#endif - virtual void resizeEvent( QResizeEvent* ); - virtual void tabInserted( int ); - virtual void tabRemoved ( int ); - - - protected Q_SLOTS: - virtual void receivedDropEvent( int, QDropEvent* ); - virtual void initiateDrag( int ); - virtual void contextMenu( int, const QPoint& ); - virtual void mouseDoubleClick( int ); - virtual void mouseMiddleClick( int ); - virtual void closeRequest( int ); -#ifndef QT_NO_WHEELEVENT - virtual void wheelDelta( int ); -#endif - - private: - class Private; - Private * const m_d; -}; - -#endif diff --git a/graphics/Qat/QatPresenter/src/PresenterApplication.cpp b/graphics/Qat/QatPresenter/src/PresenterApplication.cpp deleted file mode 100644 index 3894e7dd8fff6c325bbf35576a0ebdbcdea6fd5b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenter/src/PresenterApplication.cpp +++ /dev/null @@ -1,1257 +0,0 @@ -#include "QatPresenter/PresenterApplication.h" -#include "QatDataAnalysis/IODriver.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatSystemInterfaces/SystemInterface.h" -#include "QatSystemInterfaces/Serializer.h" -#include "QatSystemInterfaces/HistoLocator.h" -#include "ui_PresenterApplication.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" - -#include <QtCore/QDir> -#include <QtCore/QBuffer> -#include <QtCore/QPluginLoader> -#include <QtGui/QFileDialog> -#include <QtGui/QInputDialog> -#include <QtGui/QMessageBox> -#include <QtGui/QMenu> -#include <QtGui/QAction> -#include <stdexcept> -#include <iostream> -#include <sstream> -#include <libgen.h> - - -#include "QatPlotting/VisFunction.h" -#include <QtCore/QDir> -#include <dlfcn.h> -#include <QtCore/QStringList> -#include <QtGui/QTreeWidget> - -#include <unistd.h> - - -inline std::string getDriver() { - char *dn=getenv("QAT_IO_DRIVER"); - if (dn) { - return std::string(dn); - } - else { - char *cmt=getenv("CMTPATH"); - if (cmt) { - return "RootDriver"; - } - else { - return "HDF5Driver"; - } - } -} - - -// The I/O Loader -IOLoader loader; - - -class FunctionInsertion { - -public: - - void insert (QTreeWidget *, - const std::string & loadFileStem, - std::map<QTreeWidgetItem *, VisFunction *> &, - VisFunctionLocator &); - - -private: - - void processDir(const std::string & dirName, - QTreeWidgetItem *, - std::map<QTreeWidgetItem *,VisFunction *> &, - VisFunctionLocator & - ); - -}; - - - - -class PresenterApplication::Clockwork { -public: - Ui::PresenterApplication ui; - const IODriver *driver; - - void handleManager(const HistogramManager *manager, QTreeWidgetItem *parent); - - void handleTable (const Table *table, QTreeWidgetItem *parent); - - void purge(QTreeWidgetItem *, - Hist1DSet & doomedH1Set, - Hist2DSet & doomedH2Set, - TableSet & doomedTableSet); - - std::vector<DASystem *> system; - Hist1DSet selectedH1Set; - Hist2DSet selectedH2Set; - TableSet selectedTableSet; - VisFunctionSet selectedVisFunctionSet; - std::map<QTreeWidgetItem *, const Hist1D *> h1Map; - std::map<QTreeWidgetItem *, const Hist2D *> h2Map; - std::map<QTreeWidgetItem *, const Table *> tbMap; - - std::map<QTreeWidgetItem *, VisFunction *> visFunctionMap; - - std::map<QTreeWidgetItem *, const HistogramManager *> managerMap; - std::map<QWidget *, QByteArray> treeMap; - std::map<QWidget *, QByteArray> sysStateMap; - qint32 tab; - std::string currentFilename; - std::string currentDirectory; - - std::string attachFilename; - std::string attachDirectory; - - HistoLocator1D histoLocator1; - HistoLocator2D histoLocator2; - VisFunctionLocator visFunctionLocator; - - std::map<std::string, QObject *> loadMap; - - std::vector<std::string> visFunctionDir; - - -}; - -void PresenterApplication::Clockwork::purge(QTreeWidgetItem *item, - Hist1DSet & doomedH1Set, - Hist2DSet & doomedH2Set, - TableSet & doomedTableSet) { - - // h1Map cleanout - { - std::map<QTreeWidgetItem *, const Hist1D *>::iterator i=h1Map.find(item); - if (i!=h1Map.end()) { - doomedH1Set.push_back((*i).second); - h1Map.erase(i); - } - } - - - // h2Map cleanout - { - std::map<QTreeWidgetItem *, const Hist2D *>::iterator i=h2Map.find(item); - if (i!=h2Map.end()) { - doomedH2Set.push_back((*i).second); - h2Map.erase(i); - } - } - - // tbMap cleanout - { - std::map<QTreeWidgetItem *, const Table *>::iterator i=tbMap.find(item); - if (i!=tbMap.end()) { - doomedTableSet.push_back((*i).second); - tbMap.erase(i); - } - } - - // managerMap cleanout - { - std::map<QTreeWidgetItem *, const HistogramManager *>::iterator i=managerMap.find(item); - if (i!=managerMap.end()) { - managerMap.erase(i); - } - } - - for (int i=item->childCount()-1;i>=0; i--) { - purge(item->child(i), doomedH1Set, doomedH2Set, doomedTableSet); - } - - delete item; -} - -void PresenterApplication::Clockwork::handleTable( const Table *table, QTreeWidgetItem *parent) { - for (unsigned int a=0;a<table->numAttributes();a++) { - const Attribute & attr = table->attribute(a); - QStringList list; - list << attr.name().c_str(); - list << attr.typeName().c_str(); - QTreeWidgetItem *item=new QTreeWidgetItem(list); - item->setFlags(0); // not selectable or anything.. - parent->addChild(item); - } -} - - -void PresenterApplication::Clockwork::handleManager (const HistogramManager *manager, QTreeWidgetItem *parent) { - - - for (HistogramManager::DConstIterator d=manager->beginDir();d!=manager->endDir();d++) { - QStringList list; - list << (*d)->name().c_str(); - list << "Dir"; - QTreeWidgetItem *item=new QTreeWidgetItem(list); - item->setFlags(Qt::ItemIsEnabled); // not selectable. - parent->addChild(item); - managerMap[item]=*d; - handleManager(*d,item); - } - - for (HistogramManager::H1ConstIterator h=manager->beginH1();h!=manager->endH1();h++) { - QStringList list; - list << (*h)->name().c_str(); - list << "H1"; - QTreeWidgetItem *item = new QTreeWidgetItem(list); - item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);// | Qt::ItemIsDragEnabled); - parent->addChild(item); - h1Map[item]=*h; - - std::string name = (*h)->name(); - for (QTreeWidgetItem *m=parent;m!=NULL;m=m->parent()) { - name = m->text(0).toStdString() + "/" + name; - } - histoLocator1.insert(*h,name); - } - - for (HistogramManager::H2ConstIterator h=manager->beginH2();h!=manager->endH2();h++) { - QStringList list; - list << (*h)->name().c_str(); - list << "H2"; - QTreeWidgetItem *item = new QTreeWidgetItem(list); - item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);// | Qt::ItemIsDragEnabled); - parent->addChild(item); - h2Map[item]=*h; - - - std::string name = (*h)->name(); - for (QTreeWidgetItem *m=parent;m!=NULL;m=m->parent()) { - name = m->text(0).toStdString() + "/" + name; - } - histoLocator2.insert(*h,name); - - } - - for (HistogramManager::TConstIterator h=manager->beginTable();h!=manager->endTable();h++) { - QStringList list; - list << (*h)->name().c_str(); - list << "Table"; - QTreeWidgetItem *item = new QTreeWidgetItem(list); - item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);// | Qt::ItemIsDragEnabled); - parent->addChild(item); - handleTable(*h, item); - tbMap[item]=*h; - } - -} - - - -PresenterApplication::PresenterApplication (QWidget *parent) - :QMainWindow(parent), m_c(new Clockwork()) -{ - m_c->ui.setupUi(this); - m_c->driver=loader.ioDriver(getDriver()); - if (!m_c->driver) { - // Do not throw error at this point. - } - m_c->ui.treeWidget->setColumnWidth(0,200); - - - connect (m_c->ui.actionQuit, SIGNAL(triggered()), this, SLOT(quit())); - connect (m_c->ui.actionAttach, SIGNAL(triggered()), this, SLOT(selectOpenFile())); - connect (m_c->ui.actionDetach, SIGNAL(triggered()), this, SLOT(selectCloseFile())); - // connect (m_c->ui.actionNew, SIGNAL(triggered()), this, SLOT(selectNewFile())); - connect (m_c->ui.actionLoad_Configuration, SIGNAL(triggered()), this, SLOT(selectLoadFile())); - connect (m_c->ui.actionSave_Configuration, SIGNAL(triggered()), this, SLOT(selectSaveFile())); - connect (m_c->ui.tabWidget,SIGNAL(contextMenu(QWidget *, const QPoint& )), - this,SLOT(raiseTabBarContextMenu(QWidget *, const QPoint &))); - connect (m_c->ui.tabWidget, SIGNAL(currentChanged(int)), this, SLOT(currentChanged(int))); - connect(m_c->ui.treeWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)), this, SLOT(itemDoubleClicked(QTreeWidgetItem *, int))); - // Look at the Plugin Directory and Populate the list of Plugins: - - QStringList libraryPath=QApplication::libraryPaths(); - for (int i=0;i<libraryPath.size();i++) { - if (libraryPath.at(i).contains("qatplugins")) { - QDir dir(libraryPath.at(i)); - QStringList entryList=dir.entryList(); - for (int e=0;e<entryList.size();e++) { -#ifndef __APPLE__ - if (entryList.at(e).contains(".so")) { - QString entry=entryList.at(e); - QString trunc0=entry.remove(0,6); // Strip off "libQat" - QString suffix=".so"; - QString system=trunc0.remove(suffix); - QString extraDotsIndicatingVersion="."; - if (system.indexOf(extraDotsIndicatingVersion)!=-1) continue; - QAction *action=m_c->ui.menuSystems->addAction(system, this, SLOT(loadSystem())); - action->setObjectName(system); - } -#else - if (entryList.at(e).contains(".dylib")) { - QString entry=entryList.at(e); - QString trunc0=entry.remove(0,6); // Strip off "libQat" - QString suffix=".dylib"; - QString system=trunc0.remove(suffix); - QString extraDotsIndicatingVersion="."; - if (system.indexOf(extraDotsIndicatingVersion)!=-1) continue; - QAction *action=m_c->ui.menuSystems->addAction(system, this, SLOT(loadSystem())); - action->setObjectName(system); - } -#endif - } - } - } - m_c->ui.tabWidget->removeTab(0); - - connect(m_c->ui.treeWidget, SIGNAL(itemSelectionChanged()), this, SLOT(updateSelection())); - connect(m_c->ui.treeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)), this, SLOT(updateSelection())); - // connect(m_c->ui.treeWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)), this, SLOT(itemDoubleClicked(QTreeWidgetItem *, int))); - m_c->tab=-1; - - -} - -void PresenterApplication::readVisFunctions() { - FunctionInsertion fs; - for (unsigned int i=0;i<m_c->visFunctionDir.size();i++) { - fs.insert(m_c->ui.treeWidget, m_c->visFunctionDir[i], m_c->visFunctionMap,m_c->visFunctionLocator); - } -} - -PresenterApplication::~PresenterApplication() { - clear(); - std::map<QTreeWidgetItem *, VisFunction *>::iterator - begin=m_c->visFunctionMap.begin(), - end=m_c->visFunctionMap.end(), - current=begin; - while(current!=end) { - delete (*current).second; - current++; - } - - - delete m_c; -} - -void PresenterApplication::open(const std::string & pathname) { - - char fpath[1024]; - realpath(pathname.c_str(),fpath); - - const std::string fullpathname=fpath; - const HistogramManager *manager = m_c->driver ? m_c->driver->openManager(fullpathname):NULL; - if (!manager) { - std::cerr << "Warning: PresenterApplication cannot open file " << pathname << std::endl; - } - else { - QStringList list; - list << fullpathname.c_str(); - list << "File"; - - QTreeWidgetItem *item = new QTreeWidgetItem(list); - m_c->managerMap[item]=manager; - m_c->ui.treeWidget->addTopLevelItem(item); - m_c->handleManager(manager,item); - m_c->ui.treeWidget->reset(); - m_c->attachFilename=fullpathname; - } - -} - - -void PresenterApplication::quit () { - int button=QMessageBox::question(this, tr("Question"), tr("Really Quit?"), QMessageBox::No|QMessageBox::Yes, QMessageBox::Yes); - if (button==int(QMessageBox::Yes)) qApp->quit(); -} - -void PresenterApplication::loadSystem () { - QObject *senderObject = sender(); - if (senderObject) { - - // Get the name of the system from the sender: - QString systemName = senderObject->objectName(); - - loadSystem(systemName.toStdString()); - - } -} - -void PresenterApplication::loadSystem(const std::string & system) -{ - - QObject *senderObject = sender(); - - // Here is a message string for errors: - std::ostringstream messageString; - - std::map<std::string, QObject *>::const_iterator lM =m_c->loadMap.find(system); - QObject *instance=NULL; - - if (lM!=m_c->loadMap.end()) instance = (*lM).second; - - if (!instance) { - QString systemName=system.c_str(); - // Get the library path from the core application: - QStringList libraryPaths=QCoreApplication::instance()->libraryPaths(); - - for (int i=0;i<libraryPaths.size();i++) { - QString path=libraryPaths.at(i); -#ifndef __APPLE__ - QString libraryName = path + QString("/libQat") + systemName + QString(".so"); -#else - QString libraryName = path + QString("/libQat") + systemName + QString(".dylib"); -#endif - QPluginLoader piloader(libraryName); - piloader.load(); - - if (!piloader.isLoaded()) { - std::cerr << "Error loading " << libraryName.toStdString() << std::endl; - std::cerr << "Message: " << piloader.errorString().toStdString() << std::endl; - continue; - } - - instance = piloader.instance(); - if (instance) { - m_c->loadMap[system]=instance; //should presumably be here - break; - //m_c->loadMap[system]=instance; unreachable code - } - } - } - if (instance) { - SystemFactoryInterface *interface =qobject_cast<SystemFactoryInterface *> (instance); - if (interface) { - - DASystem *system = interface->newSystem(); - if (system) { - messageString << "Success creating a " << system->name().toStdString() << std::endl; - system->setHist1DSet(&m_c->selectedH1Set); - system->setHist2DSet(&m_c->selectedH2Set); - system->setTableSet (&m_c->selectedTableSet); - system->setVisFunctionSet (&m_c->selectedVisFunctionSet); - system->setPresenterTreeWidget(m_c->ui.treeWidget); - system->setPresenterMessageTextEdit(m_c->ui.messageTextEdit); - system->setPresenterH1Locator(&m_c->histoLocator1); - system->setPresenterH2Locator(&m_c->histoLocator2); - system->setPresenterVisFunctionLocator(&m_c->visFunctionLocator); - m_c->system.push_back(system); - - system->toolWidget()->setParent(m_c->ui.toolBoxStackedWidget); - m_c->ui.toolBoxStackedWidget->addWidget(system->toolWidget()); - system->toolWidget()->show(); - //Exp: - m_c->ui.toolBoxStackedWidget->setEnabled(true); - m_c->ui.toolBoxStackedWidget->show(); - m_c->ui.toolBoxStackedWidget->update(); - m_c->ui.toolBoxStackedWidget->setCurrentWidget(system->toolWidget()); - m_c->ui.tabWidget->blockSignals(true); - m_c->ui.tabWidget->setCurrentIndex(m_c->ui.tabWidget->addTab(system->mainWidget(),system->name())); - m_c->ui.tabWidget->blockSignals(false); - - m_c->tab=m_c->ui.tabWidget->currentIndex(); - // - // This routine is called from (A) user request, or (B) config file restore. - // In case (B) there is no sender, and no need to update either, since update - // will follow... - // - if (senderObject) m_c->system.back()->update(); - } - else { - messageString << "Failure creating system" << std::endl; - } - } - } - else { - messageString << "Failure loading library" << std::endl; - } - m_c->ui.messageTextEdit->insertPlainText (messageString.str().c_str()); -} - - -void PresenterApplication::selectOpenFile () { - char dirbuff[1024]; - getcwd(dirbuff,1024); - - QFileDialog dialog(0); - QStringList filters; - filters.append("Root files (*.root)"); - filters.append("All files (*)"); - dialog.setFilters(filters); - dialog.setDirectory(m_c->attachDirectory=="" ? dirbuff : m_c->attachDirectory.c_str()); - dialog.selectFile(m_c->attachFilename.c_str()); - dialog.setFileMode(QFileDialog::ExistingFile); - if (dialog.exec()) { - - QStringList openFilenames=dialog.selectedFiles(); - if (openFilenames.count()!=1) return; - QString openFileName = openFilenames[0]; - m_c->attachDirectory=dirname((char *) openFileName.toStdString().c_str()); - - if (!openFileName.isNull()) { - open(openFileName.toStdString()); - } - } -} - -void PresenterApplication::selectCloseFile () { - // Get the list of selected top level items in the tree view. - // Take those items out of the list.. - - QList<QTreeWidgetItem *> selectedItems =m_c->ui.treeWidget->selectedItems(); - for (int i=0;i<selectedItems.count();i++) { - if (!selectedItems[i]->parent()) { - if (selectedItems[i]->text(1).toStdString()=="File") { - - std::ostringstream message; - message << "Drop file " << selectedItems[i]->text(0).toStdString() << std::endl; - m_c->ui.messageTextEdit->insertPlainText (message.str().c_str()); - - // Block signals for a while: - m_c->ui.treeWidget->blockSignals(true); - int index = m_c->ui.treeWidget->indexOfTopLevelItem(selectedItems[i]); - QTreeWidgetItem *removedItem=m_c->ui.treeWidget->takeTopLevelItem(index); - - // Purge: - Hist1DSet doomedH1Set; - Hist2DSet doomedH2Set; - TableSet doomedTableSet; - m_c->purge(removedItem, doomedH1Set, doomedH2Set, doomedTableSet); - - // Close input file: - const HistogramManager *manager=m_c->managerMap[removedItem]; - if (m_c->driver) m_c->driver->close(manager); - - - // Turn signals back on. - - m_c->ui.treeWidget->blockSignals(false); - m_c->ui.treeWidget->update(); - updateSelection(); - } - } - } -} - - -void PresenterApplication::selectLoadFile () { - - - char dirbuff[1024]; - getcwd(dirbuff,1024); - - QFileDialog dialog(0); - QStringList filters; - filters.append("Presenter files (*.pres)"); - filters.append("All files (*)"); - dialog.setFilters(filters); - dialog.setDirectory(m_c->currentDirectory=="" ? dirbuff : m_c->currentDirectory.c_str()); - dialog.selectFile(m_c->currentFilename.c_str()); - dialog.setFileMode(QFileDialog::ExistingFile); - if (dialog.exec()) { - - QStringList loadFilenames=dialog.selectedFiles(); - if (loadFilenames.count()!=1) return; - QString loadFileName = loadFilenames[0]; - m_c->currentDirectory=dirname((char *) loadFileName.toStdString().c_str()); - - if (!loadFileName.isNull()) { - clear(); - load(loadFileName.toStdString()); - } - } - -} - -void PresenterApplication::selectSaveFile () { - - char dirbuff[1024]; - getcwd(dirbuff,1024); - - QFileDialog dialog(0); - QStringList filters; - filters.append("Presenter files (*.pres)"); - filters.append("All files (*)"); - dialog.setFilters(filters); - dialog.setDirectory(m_c->currentDirectory=="" ? dirbuff : m_c->currentDirectory.c_str()); - dialog.selectFile(m_c->currentFilename.c_str()); - dialog.setAcceptMode(QFileDialog::AcceptSave); - dialog.setConfirmOverwrite(true); - if (dialog.exec()) { - - QStringList saveFilenames=dialog.selectedFiles(); - if (saveFilenames.count()!=1) return; - QString saveFileName = saveFilenames[0]; - m_c->currentDirectory=dirname((char *) saveFileName.toStdString().c_str()); - - if (!saveFileName.isNull()) { - save(saveFileName.toStdString()); - } - } -} - - - - -void PresenterApplication::updateSelection() { - - QList<QTreeWidgetItem *> selectedItems=m_c->ui.treeWidget->selectedItems(); - QTreeWidgetItem *currentItem =m_c->ui.treeWidget->currentItem(); - - m_c->selectedH1Set.erase(m_c->selectedH1Set.begin(),m_c->selectedH1Set.end()); - m_c->selectedH2Set.erase(m_c->selectedH2Set.begin(),m_c->selectedH2Set.end()); - m_c->selectedTableSet.erase(m_c->selectedTableSet.begin(),m_c->selectedTableSet.end()); - m_c->selectedVisFunctionSet.erase(m_c->selectedVisFunctionSet.begin(),m_c->selectedVisFunctionSet.end()); - - // Selected Items: - for (int i=0;i<selectedItems.size();i++) { - QTreeWidgetItem *item=selectedItems.at(i); - // Locate all histograms: - std::map<QTreeWidgetItem *, const Hist1D *>::const_iterator h1=m_c->h1Map.find(item); - if (h1!=m_c->h1Map.end()) { - const Hist1D *hist1D=(*h1).second; - m_c->selectedH1Set.push_back(hist1D); - } - // Locate all scatterplots: - std::map<QTreeWidgetItem *, const Hist2D *>::const_iterator h2=m_c->h2Map.find(item); - if (h2!=m_c->h2Map.end()) { - const Hist2D *hist2D=(*h2).second; - m_c->selectedH2Set.push_back(hist2D); - } - // Locate all tables: - std::map<QTreeWidgetItem *, const Table *>::const_iterator tb=m_c->tbMap.find(item); - if (tb!=m_c->tbMap.end()) { - const Table *table=(*tb).second; - m_c->selectedTableSet.push_back(table); - } - // Locate all vis functions - std::map<QTreeWidgetItem *, VisFunction *>::const_iterator vi=m_c->visFunctionMap.find(item); - if (vi!=m_c->visFunctionMap.end()) { - const VisFunction *visFunction=(*vi).second; - m_c->selectedVisFunctionSet.push_back(visFunction); - } - } - if (selectedItems.size()==0) { - // Add the current item: - if (!selectedItems.contains(currentItem)) - { - // Locate all histograms: - std::map<QTreeWidgetItem *, const Hist1D *>::const_iterator h1=m_c->h1Map.find(currentItem); - if (h1!=m_c->h1Map.end()) { - const Hist1D *hist1D=(*h1).second; - m_c->selectedH1Set.push_back(hist1D); - } - // Locate all scatterplots: - std::map<QTreeWidgetItem *, const Hist2D *>::const_iterator h2=m_c->h2Map.find(currentItem); - if (h2!=m_c->h2Map.end()) { - const Hist2D *hist2D=(*h2).second; - m_c->selectedH2Set.push_back(hist2D); - } - // Locate all tables: - std::map<QTreeWidgetItem *, const Table *>::const_iterator tb=m_c->tbMap.find(currentItem); - if (tb!=m_c->tbMap.end()) { - const Table *table=(*tb).second; - m_c->selectedTableSet.push_back(table); - } - // Locate all vis functions - std::map<QTreeWidgetItem *, VisFunction *>::const_iterator vi=m_c->visFunctionMap.find(currentItem); - if (vi!=m_c->visFunctionMap.end()) { - const VisFunction *visFunction=(*vi).second; - m_c->selectedVisFunctionSet.push_back(visFunction); - } - } - } - - // Issue a message: - - - m_c->ui.messageTextEdit->insertPlainText ("Updating systems\n"); - QWidget *w = m_c->tab== -1 ? 0 : m_c->ui.tabWidget->widget(m_c->tab); - for (unsigned int i=0;i<m_c->system.size();i++) { - if (w && m_c->system[i]->mainWidget()==w) m_c->system[i]->update(); - } - - -} - -void PresenterApplication::raiseTabBarContextMenu (QWidget *w, const QPoint &p) { - QMenu menu(w); - int index = m_c->ui.tabWidget->indexOf(w); - - QAction *cloneAction=menu.addAction("Clone"); - QAction *deleteAction=menu.addAction("Delete"); - QAction *renameAction=menu.addAction("Rename"); - - QAction *selectedAction = menu.exec(p); - if (!selectedAction) { - return; - } - if (selectedAction==cloneAction) { - for (unsigned int i=0;i<m_c->system.size();i++) { - if (m_c->system[i]->mainWidget()==w) { - std::ostringstream messageString; - QByteArray byteArray=m_c->system[i]->saveState(); - DASystem *system = m_c->system[i]->clone(); - if (system) { - messageString << "Success cloning a " << system->name().toStdString() << std::endl; - system->setHist1DSet(&m_c->selectedH1Set); - system->setHist2DSet(&m_c->selectedH2Set); - system->setTableSet (&m_c->selectedTableSet); - system->setVisFunctionSet(&m_c->selectedVisFunctionSet); - system->setPresenterTreeWidget(m_c->ui.treeWidget); - system->setPresenterMessageTextEdit(m_c->ui.messageTextEdit); - system->setPresenterH1Locator(&m_c->histoLocator1); - system->setPresenterH2Locator(&m_c->histoLocator2); - system->setPresenterVisFunctionLocator(&m_c->visFunctionLocator); - m_c->system.push_back(system); - - system->toolWidget()->setParent(m_c->ui.toolBoxStackedWidget); - m_c->ui.toolBoxStackedWidget->addWidget(system->toolWidget()); - system->toolWidget()->show(); - //Exp: - m_c->ui.toolBoxStackedWidget->setEnabled(true); - m_c->ui.toolBoxStackedWidget->show(); - m_c->ui.toolBoxStackedWidget->update(); - m_c->ui.toolBoxStackedWidget->setCurrentWidget(system->toolWidget()); - - m_c->ui.tabWidget->setCurrentIndex(m_c->ui.tabWidget->addTab(system->mainWidget(),system->name())); - - system->restoreFromState(byteArray); - system->update(); - } - else { - messageString << "Failure cloning system" << std::endl; - } - m_c->ui.messageTextEdit->insertPlainText (messageString.str().c_str()); - break; - } - } - } - else if (selectedAction==deleteAction) { - for (unsigned int i=0;i<m_c->system.size();i++) { - if (m_c->system[i]->mainWidget()==w) { - m_c->tab=-1; - m_c->ui.tabWidget->removeTab(index); - m_c->ui.toolBoxStackedWidget->removeWidget(m_c->system[i]->toolWidget()); - delete m_c->system[i]; - m_c->system.erase(m_c->system.begin()+i); - } - } - } - else if (selectedAction==renameAction) { - bool ok; - QString text = QInputDialog::getText( m_c->ui.tabWidget, "Rename tab","Rename tab '"+m_c->ui.tabWidget->tabText(index)+"' to:", - QLineEdit::Normal, m_c->ui.tabWidget->tabText(index), &ok ); - if (ok) m_c->ui.tabWidget->setTabText(index,text); - - } - -} - -void PresenterApplication::currentChanged(int newTab) { - if (m_c->ui.tabWidget->count()==0) return; - m_c->ui.tabWidget->setFocus(); - QObject::blockSignals(true); - // Do stuff; - - if (m_c->tab!=-1) { - // Save the state of the tab widget, in four easy steps. - - // 1. Get the main widget. - QWidget *w = m_c->ui.tabWidget->widget(m_c->tab); - - // 2. Get the system. - DASystem *system=NULL; - for (unsigned int i=0;i<m_c->system.size();i++) { - if (w==m_c->system[i]->mainWidget()) { - system=m_c->system[i]; - break; - } - } - if (!system) { - std::ostringstream stream; - stream << "Cannot locate the system for tab widget " << m_c->tab ; - throw std::runtime_error (stream.str()); - } - - // 3. Get the state of the tab widget. - Serializer serializer(1); - serializer.save(m_c->ui.tabWidget->tabText(m_c->tab).toStdString()); - serializer.save(m_c->ui.treeWidget); - QByteArray byteArray=serializer.result(); - - - // 4. Connect the tab widget state to the system. - m_c->treeMap[w]=byteArray; - - // 5. Save the state of the system, too: - if (1) { - if (system) { - QByteArray systemByteArray=system->saveCache(); - m_c->sysStateMap[w]=systemByteArray; - } - } - - } - - // As for the new tab: go through the presenter tree map and determine - // see if the state is avaiable. If so, set the state. - { - // 1. Get the main widget. - QWidget *w = m_c->ui.tabWidget->widget(newTab); - - DASystem *system=NULL; - for (unsigned int i=0;i<m_c->system.size();i++) { - if (w==m_c->system[i]->mainWidget()) { - system=m_c->system[i]; - break; - } - } - - if (system) m_c->ui.toolBoxStackedWidget->setCurrentWidget(system->toolWidget()); - - - - // 2. See if its state is in the map, if so restore. - { - std::map<QWidget *, QByteArray>::iterator t=m_c->treeMap.find(w), end=m_c->treeMap.end(); - if (t!=end) { - Deserializer state((*t).second); - m_c->ui.treeWidget->blockSignals(true); - if (state.version() >=1) { - std::string tName; - state.restore(tName); - QString tn(tName.c_str()); - m_c->ui.tabWidget->setTabText(newTab,tn); - } - state.restore(m_c->ui.treeWidget); - m_c->ui.treeWidget->blockSignals(false); - if (state.version()>1) throw std::runtime_error ("Error restoring the state of the tree widget"); - - } - } - - // And restore the system as well: - if (1) - { - std::map<QWidget *, QByteArray>::iterator t=m_c->sysStateMap.find(w), end=m_c->sysStateMap.end(); - if (t!=end) { - if (system) { - system->restoreFromCache((*t).second); - } - } - } - - - } - - // End do stuff. Old tab is now this tab. - m_c->tab=newTab; - QObject::blockSignals(false); - updateSelection(); - - -} - -// Change tables -void PresenterApplication::refreshTables(HistogramManager *, const Table *oldTable, const Table *newTable) { - - std::map<QTreeWidgetItem *, const Table *>::const_iterator - begin=m_c->tbMap.begin(), - end= m_c->tbMap.end(), - tb=begin; - - while (tb!=end) { - const Table *table=(*tb).second; - if (table==oldTable) { - QTreeWidgetItem *item = (*tb).first; - - m_c->tbMap[item]=newTable; - - break; - } - tb++; - } - - updateSelection(); - -} - - -void PresenterApplication::itemDoubleClicked(QTreeWidgetItem *item, int /*column*/) { - - for (unsigned int i=0;i<m_c->system.size();i++) { - if (m_c->system[i]->mainWidget()==m_c->ui.tabWidget->currentWidget()) { - - std::map<QTreeWidgetItem *, const Hist1D *>::const_iterator h1=m_c->h1Map.find(item); - if (h1!=m_c->h1Map.end()) { - const Hist1D *hist1D=(*h1).second; - m_c->system[i]->dblClicked1D(hist1D); - } - std::map<QTreeWidgetItem *, const Hist2D *>::const_iterator h2=m_c->h2Map.find(item); - if (h2!=m_c->h2Map.end()) { - const Hist2D *hist2D=(*h2).second; - m_c->system[i]->dblClicked2D(hist2D); - } - - std::map<QTreeWidgetItem *, const HistogramManager *>::const_iterator dr=m_c->managerMap.find(item); - if (dr!=m_c->managerMap.end()) { - const HistogramManager *dir=(*dr).second; - m_c->system[i]->dblClickedMan(dir); - } - std::map<QTreeWidgetItem *, VisFunction *>::const_iterator v1=m_c->visFunctionMap.find(item); - if (v1!=m_c->visFunctionMap.end()) { - const VisFunction *vf=(*v1).second; - m_c->system[i]->dblClickedVisFunction(vf); - } - - if (item->flags() & Qt::ItemIsSelectable) item->setSelected(true); - } - } - -} - - -void PresenterApplication::load( const std::string & pathname) { - - QString filename=pathname.c_str(); - - if (filename.isEmpty()) { - QMessageBox::critical(0, "Error - Empty file name provided", - "Empty file name provided.",QMessageBox::Ok,QMessageBox::Ok); - return; - } - QFileInfo fi(filename); - if (!fi.exists()) { - QMessageBox::critical(0, "Error - file does not exists: "+filename, - "File does not exists: <i>"+filename+"</i>",QMessageBox::Ok,QMessageBox::Ok); - return; - } - if (!fi.isReadable()) { - QMessageBox::critical(0, "Error - file is not readable: "+filename, - "File is not readable: <i>"+filename+"</i>",QMessageBox::Ok,QMessageBox::Ok); - return; - } - //open file - QFile file(filename); - if (!file.open(QIODevice::ReadOnly)) { - QMessageBox::critical(0, "Error - problems opening file "+filename, - "Problems opening file: <i>"+filename+"</i>",QMessageBox::Ok,QMessageBox::Ok); - return; - } - - // move to selectload clear(); - - //Read: - QString head,foot; - QStringList inFileNames, systemNames; - QList<QByteArray> systemStates; - QList<QByteArray> systemTreeStates; - qint32 tab; - - QByteArray byteArray64; - QDataStream infile(&file); - infile >> byteArray64; - - QByteArray byteArray = qUncompress(QByteArray::fromBase64(byteArray64)); - - QBuffer buffer(&byteArray); - buffer.open(QIODevice::ReadOnly); - QDataStream in(&buffer); - in >> head; - in >> inFileNames; - in >> systemNames; - in >> systemStates; - in >> systemTreeStates; - in >> tab; - in >> foot; - buffer.close(); - - // Check basic stuff. - if (head!="This is an automatically generated config file for present. [cfg version 000]" - ||foot!="This is the end of the automatically generated config file for present.") { - QMessageBox::critical(0, "Error - file not in correct format: "+filename, - "File not in correct format: <i>"+filename+"</i>",QMessageBox::Ok,QMessageBox::Ok); - return; - } - - // Open all of the files: - for (int i=0;i<inFileNames.count();i++) { - try { - open(inFileNames[i].toStdString()); - } - catch (std::exception & e) { - } - } - std::cout << "Loading systems...." << std::endl; - // Start all of the systems: - for (int i=0;i<systemNames.count();i++) { - loadSystem(systemNames[i].toStdString()); - } - // Restore all of the system trees to their states: - for (int i=0;i<systemNames.count();i++) { - m_c->treeMap[m_c->system[i]->mainWidget()]=systemTreeStates[i]; - Deserializer state(systemTreeStates[i]); - m_c->ui.treeWidget->blockSignals(true); - if (state.version() >=1) { - std::string tName; - state.restore(tName); - QString tn(tName.c_str()); - m_c->ui.tabWidget->setTabText(i,tn); - } - - state.restore(m_c->ui.treeWidget); - m_c->ui.treeWidget->blockSignals(false); - - if (state.version()>1) throw std::runtime_error ("Error restoring the state of the tree widget"); - - } - std::cout << "Restoring systems..." << std::endl; - // Restore all of the systems to their states: - - //-------------------------- - // Normally done when the tab changes. But if there is only one system, - // this is forced. - if (systemNames.count()==1) updateSelection(); - //-------------------------- - - for (int i=0;i<systemNames.count();i++) { - m_c->ui.tabWidget->setCurrentIndex(i); - m_c->system[i]->restoreFromState(systemStates[i]); - //m_c->system[i]->update(); // normally done when the tab widget selection occurs.. - } - m_c->ui.tabWidget->setCurrentIndex(tab); - m_c->currentFilename=pathname; -} - - -void PresenterApplication::save( const std::string & pathname) { - - - // Input Files: - QStringList inFileNames; - for (int i=0;i<m_c->ui.treeWidget->topLevelItemCount();i++) { - QString file=m_c->ui.treeWidget->topLevelItem(i)->text(0); - inFileNames.append( file ) ; - } - - // Systems: - QStringList systemNames; - for (unsigned int i=0;i<m_c->system.size();i++) { - systemNames.append(m_c->system[i]->name()); - } - - // Tree widget state: - QList<QByteArray> systemTreeStates; - for (unsigned int i=0;i<m_c->system.size();i++) { - - QWidget *W = m_c->system[i]->mainWidget(); - QWidget *w = m_c->tab==-1 ? NULL: m_c->ui.tabWidget->widget(m_c->tab); - if (w==W) { // Means record now! From presenting widget! - Serializer serializer(1); - serializer.save(m_c->ui.tabWidget->tabText(m_c->tab).toStdString()); - serializer.save(m_c->ui.treeWidget); - QByteArray byteArray=serializer.result(); - systemTreeStates.append(byteArray); - } - else { - systemTreeStates.append(m_c->treeMap[W]); - } - } - - // System state: - QList<QByteArray> systemStates; - for (unsigned int i=0;i<m_c->system.size();i++) { - systemStates.append(m_c->system[i]->saveState()); - } - - - QByteArray byteArray; - QBuffer buffer(&byteArray); - buffer.open(QIODevice::WriteOnly); - QDataStream out(&buffer); - out<<QString("This is an automatically generated config file for present. [cfg version 000]" ); - out<< inFileNames; - out<< systemNames; - out<< systemStates; - out<< systemTreeStates; - out<< m_c->tab; - out<<QString("This is the end of the automatically generated config file for present." ); - buffer.close(); - - QFile file(pathname.c_str()); - if (!file.open(QIODevice::WriteOnly)) { - m_c->ui.messageTextEdit->insertPlainText ("Cannot save configuration"); - return; - } - QDataStream outfile(&file); - outfile<<qCompress(byteArray).toBase64(); - - m_c->currentFilename=pathname; -} - -void PresenterApplication::clear() { - - m_c->ui.tabWidget->blockSignals(true); - m_c->ui.treeWidget->clear(); - for (int i=m_c->ui.tabWidget->count()-1;i>=0;i--) m_c->ui.tabWidget->removeTab(i); - m_c->ui.tabWidget->blockSignals(false); - - m_c->tab=-1; - - for (unsigned int i=0;i<m_c->system.size();i++) { - delete m_c->system[i]; - } - m_c->system.erase(m_c->system.begin(),m_c->system.end()); - m_c->selectedH1Set.erase(m_c->selectedH1Set.begin(),m_c->selectedH1Set.end()); - m_c->selectedH2Set.erase(m_c->selectedH2Set.begin(),m_c->selectedH2Set.end()); - m_c->selectedTableSet.erase(m_c->selectedTableSet.begin(),m_c->selectedTableSet.end()); - m_c->selectedVisFunctionSet.erase(m_c->selectedVisFunctionSet.begin(), m_c->selectedVisFunctionSet.end()); - m_c->h1Map.erase(m_c->h1Map.begin(),m_c->h1Map.end()); - m_c->h2Map.erase(m_c->h2Map.begin(),m_c->h2Map.end()); - m_c->tbMap.erase(m_c->tbMap.begin(),m_c->tbMap.end()); - m_c->treeMap.erase(m_c->treeMap.begin(),m_c->treeMap.end()); - - - { - std::map<QTreeWidgetItem *, const HistogramManager *>::const_iterator - begin=m_c->managerMap.begin(), - end=m_c->managerMap.end(), - current=begin; - while (current!=end) { - const HistogramManager *manager=(*current).second; - if (m_c->driver) m_c->driver->close(manager); - current++; - } - } - - -} - -// Add a directory for vis functions -void PresenterApplication::addVisFunctionDirectory(const std::string & visFunctionDir) { - m_c->visFunctionDir.push_back(visFunctionDir); -} - - - - -typedef void * (*CreationMethod) (); - - -void FunctionInsertion::processDir(const std::string & dirName, - QTreeWidgetItem *parentItem, - std::map<QTreeWidgetItem *, VisFunction *> &visFunction, - VisFunctionLocator &vfl) { - - QDir dir(dirName.c_str()); - if (dir.isReadable()) { - QStringList subdirList = dir.entryList(QDir::Dirs); - - for (QStringList::Iterator subdir = ++subdirList.begin(); subdir != subdirList.end(); ++subdir) { - if (!(*subdir).startsWith(".") && !(*subdir).contains("ti_files")) { - QStringList shortList; - shortList.push_back(*subdir); - QTreeWidgetItem *item = new QTreeWidgetItem(parentItem, shortList,1); - item->setFlags(Qt::ItemIsEnabled); - processDir (std::string(dirName)+std::string("/") + (*subdir).toStdString(), item, visFunction,vfl); - } - } - - - QDir d(dirName.c_str()); - d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks ); - - const QFileInfoList list = d.entryInfoList(); - - - QList<QFileInfo>::const_iterator it=list.begin(); // create list iterator - - while (it!=list.end()) { // for each file... - std::string selection = (*it).fileName().toStdString(); - std::string basename = (*it).baseName().toStdString(); - std::string extension = (*it).suffix().toStdString(); - std::string path = (*it).absolutePath().toStdString(); - std::string dir = (*it).dir().dirName().toStdString(); - path += "/"; - path += basename; - path += "."; - path += extension; - if (extension=="so") { - void *handle = dlopen(path.c_str(),RTLD_NOW); - if (!handle) { - std::cout << "Warning, dlopen fails on file: " << path << std::endl; - std::cout << dlerror() << std::endl; - ++it; continue; - } - std::ostringstream createFunctionName; - //createFunctionName << "_ZN" << basename.size() << basename << "6createEv"; - //createFunctionName << "create__" << basename.size() << basename << "SFv"; - createFunctionName << "create_"<< basename; - CreationMethod createMethod; - union { CreationMethod func; void* data; } sym; - sym.data= dlsym(handle, createFunctionName.str().c_str()); - createMethod = sym.func; - if (!createMethod) { - // We are hosed.... - std::cout << "Warning, cannot load function : " << basename << std::endl; - std::cout << "That we try to load from file " << path << std::endl; - std::cout << dlerror() << std::endl; - } - else { - // Create this object on the spot. . - VisFunction *ff = (VisFunction *) (*createMethod)(); - if (ff) { - std::string name=ff->name(); - vfl.insert(ff,name); - QStringList list; - list << ff->name().c_str() ; - list << "Function"; - QTreeWidgetItem *item = new QTreeWidgetItem(list); - item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); - parentItem->addChild(item); - visFunction[item]=ff; - } - else { - } - } - } - ++it; - } - - } - -} - - -void FunctionInsertion::insert(QTreeWidget *fmw, const std::string & loadFileStem, - std::map<QTreeWidgetItem *, VisFunction *> &visFunction, - VisFunctionLocator &vfl) { - // - // In addition to the Histograms, also present the built in functions: - // - - std::string loadFileName = loadFileStem+std::string("/VisFunctions"); - if (!QDir(loadFileName.c_str()).isReadable()) loadFileName=""; - - - if (loadFileName=="") { - // std::cerr << "Warning, cannot locate directory containing Visualization Functions." << std::endl; - // We are hosed. - // We are hosed. - } - else { - - QStringList list; - list << loadFileName.c_str(); - - QTreeWidgetItem *library = new QTreeWidgetItem(list); - library->setFlags(Qt::ItemIsEnabled); - fmw->addTopLevelItem(library); - - //-------------------------------------------------// - // Into recursion land...--------------------------// - processDir(loadFileName,library, visFunction,vfl); // - //-------------------------------------------------// - } - -} - - diff --git a/graphics/Qat/QatPresenter/src/PresenterApplication.ui b/graphics/Qat/QatPresenter/src/PresenterApplication.ui deleted file mode 100644 index a47d0a696a32f9794375962fbcfd29624894540a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenter/src/PresenterApplication.ui +++ /dev/null @@ -1,416 +0,0 @@ -<ui version="4.0" > - <class>PresenterApplication</class> - <widget class="QMainWindow" name="PresenterApplication" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>1133</width> - <height>787</height> - </rect> - </property> - <property name="windowTitle" > - <string>Presenter</string> - </property> - <widget class="QWidget" name="centralwidget" > - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QatTabWidget" name="tabWidget" > - <property name="currentIndex" > - <number>0</number> - </property> - <widget class="QWidget" name="tab" > - <attribute name="title" > - <string/> - </attribute> - <attribute name="toolTip" > - <string>Enable Systems from System Menu</string> - </attribute> - </widget> - </widget> - </item> - </layout> - </widget> - <widget class="QMenuBar" name="menubar" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>1133</width> - <height>25</height> - </rect> - </property> - <widget class="QMenu" name="menuWindow" > - <property name="title" > - <string>Window</string> - </property> - <addaction name="actionInput_Output" /> - <addaction name="actionTools" /> - <addaction name="actionMessages" /> - </widget> - <widget class="QMenu" name="menuSystems" > - <property name="title" > - <string>Systems</string> - </property> - </widget> - <widget class="QMenu" name="menuFile" > - <property name="title" > - <string>File</string> - </property> - <addaction name="actionAttach" /> - <addaction name="actionDetach" /> - <addaction name="separator" /> - <addaction name="actionLoad_Configuration" /> - <addaction name="actionSave_Configuration" /> - <addaction name="separator" /> - <addaction name="separator" /> - <addaction name="actionQuit" /> - </widget> - <addaction name="menuFile" /> - <addaction name="menuWindow" /> - <addaction name="menuSystems" /> - </widget> - <widget class="QStatusBar" name="statusbar" /> - <widget class="QDockWidget" name="inputOutputDockWidget" > - <property name="maximumSize" > - <size> - <width>16777215</width> - <height>16777215</height> - </size> - </property> - <property name="focusPolicy" > - <enum>Qt::ClickFocus</enum> - </property> - <property name="floating" > - <bool>false</bool> - </property> - <property name="allowedAreas" > - <set>Qt::LeftDockWidgetArea</set> - </property> - <property name="windowTitle" > - <string>Input/Output</string> - </property> - <attribute name="dockWidgetArea" > - <number>1</number> - </attribute> - <widget class="QWidget" name="dockWidgetContents" > - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="PresenterTreeWidget" name="treeWidget" > - <property name="editTriggers" > - <set>QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::NoEditTriggers</set> - </property> - <property name="tabKeyNavigation" > - <bool>true</bool> - </property> - <property name="dragEnabled" > - <bool>true</bool> - </property> - <property name="dragDropMode" > - <enum>QAbstractItemView::DragDrop</enum> - </property> - <property name="selectionMode" > - <enum>QAbstractItemView::MultiSelection</enum> - </property> - <property name="indentation" > - <number>40</number> - </property> - <property name="sortingEnabled" > - <bool>false</bool> - </property> - <property name="columnCount" > - <number>2</number> - </property> - <column> - <property name="text" > - <string>Input</string> - </property> - </column> - <column> - <property name="text" > - <string>Type</string> - </property> - </column> - </widget> - </item> - </layout> - </widget> - </widget> - <widget class="QDockWidget" name="toolsDockWidget" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>5</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>0</width> - <height>80</height> - </size> - </property> - <property name="allowedAreas" > - <set>Qt::TopDockWidgetArea</set> - </property> - <property name="windowTitle" > - <string>Tools</string> - </property> - <attribute name="dockWidgetArea" > - <number>4</number> - </attribute> - <widget class="QWidget" name="dockWidgetContents_2" > - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="0" > - <widget class="QStackedWidget" name="toolBoxStackedWidget" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>13</hsizetype> - <vsizetype>13</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>16</width> - <height>20</height> - </size> - </property> - <widget class="QWidget" name="page" /> - <widget class="QWidget" name="page_2" /> - </widget> - </item> - </layout> - </widget> - </widget> - <widget class="QDockWidget" name="messagesDockWidget" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>1</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>0</width> - <height>0</height> - </size> - </property> - <property name="maximumSize" > - <size> - <width>16777215</width> - <height>500</height> - </size> - </property> - <property name="allowedAreas" > - <set>Qt::BottomDockWidgetArea</set> - </property> - <property name="windowTitle" > - <string>Messages</string> - </property> - <attribute name="dockWidgetArea" > - <number>8</number> - </attribute> - <widget class="QWidget" name="dockWidgetContents_4" > - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item> - <widget class="QTextEdit" name="messageTextEdit" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>13</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>0</width> - <height>30</height> - </size> - </property> - <property name="baseSize" > - <size> - <width>0</width> - <height>0</height> - </size> - </property> - <property name="horizontalScrollBarPolicy" > - <enum>Qt::ScrollBarAlwaysOff</enum> - </property> - </widget> - </item> - </layout> - </widget> - </widget> - <action name="actionNew" > - <property name="text" > - <string>New</string> - </property> - <property name="toolTip" > - <string>New File</string> - </property> - <property name="shortcut" > - <string>N</string> - </property> - </action> - <action name="actionAttach" > - <property name="text" > - <string>Attach</string> - </property> - <property name="toolTip" > - <string>Attach File</string> - </property> - <property name="shortcut" > - <string>A</string> - </property> - </action> - <action name="actionLoad_Configuration" > - <property name="text" > - <string>Load Configuration</string> - </property> - <property name="shortcut" > - <string>L</string> - </property> - </action> - <action name="actionSave_Configuration" > - <property name="text" > - <string>Save Configuration</string> - </property> - <property name="shortcut" > - <string>S</string> - </property> - </action> - <action name="actionInput_Output" > - <property name="text" > - <string>Input/Output</string> - </property> - <property name="shortcut" > - <string>I</string> - </property> - </action> - <action name="actionQuit" > - <property name="text" > - <string>Quit</string> - </property> - <property name="shortcut" > - <string>Q</string> - </property> - </action> - <action name="actionTools" > - <property name="text" > - <string>Tools</string> - </property> - <property name="shortcut" > - <string>T</string> - </property> - </action> - <action name="actionMessages" > - <property name="text" > - <string>Messages</string> - </property> - <property name="shortcut" > - <string>M</string> - </property> - </action> - <action name="actionDetach" > - <property name="text" > - <string>Detach</string> - </property> - <property name="shortcut" > - <string>D</string> - </property> - </action> - </widget> - <customwidgets> - <customwidget> - <class>PresenterTreeWidget</class> - <extends>QTreeWidget</extends> - <header>QatPresenter/PresenterTreeWidget.h</header> - </customwidget> - <customwidget> - <class>QatTabWidget</class> - <extends>QTabWidget</extends> - <header>QatPresenter/QatTabWidget.h</header> - </customwidget> - </customwidgets> - <resources/> - <connections> - <connection> - <sender>actionInput_Output</sender> - <signal>triggered()</signal> - <receiver>inputOutputDockWidget</receiver> - <slot>show()</slot> - <hints> - <hint type="sourcelabel" > - <x>-1</x> - <y>-1</y> - </hint> - <hint type="destinationlabel" > - <x>143</x> - <y>416</y> - </hint> - </hints> - </connection> - <connection> - <sender>actionTools</sender> - <signal>triggered()</signal> - <receiver>toolsDockWidget</receiver> - <slot>show()</slot> - <hints> - <hint type="sourcelabel" > - <x>-1</x> - <y>-1</y> - </hint> - <hint type="destinationlabel" > - <x>423</x> - <y>76</y> - </hint> - </hints> - </connection> - <connection> - <sender>actionMessages</sender> - <signal>triggered()</signal> - <receiver>messagesDockWidget</receiver> - <slot>show()</slot> - <hints> - <hint type="sourcelabel" > - <x>-1</x> - <y>-1</y> - </hint> - <hint type="destinationlabel" > - <x>423</x> - <y>718</y> - </hint> - </hints> - </connection> - </connections> -</ui> diff --git a/graphics/Qat/QatPresenter/src/PresenterTreeWidget.cpp b/graphics/Qat/QatPresenter/src/PresenterTreeWidget.cpp deleted file mode 100644 index de6d098ec7066fcdb82ef6e36b6d838b40764e6f..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenter/src/PresenterTreeWidget.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "QatPresenter/PresenterTreeWidget.h" -PresenterTreeWidget::PresenterTreeWidget(QWidget *parent) : - QTreeWidget(parent) { -} - -PresenterTreeWidget::~PresenterTreeWidget() { -} - -void PresenterTreeWidget::dropEvent(QDropEvent *event) { - QAbstractItemView::dropEvent(event); - emit itemDropped(); -} diff --git a/graphics/Qat/QatPresenter/src/QatPresenter.pro b/graphics/Qat/QatPresenter/src/QatPresenter.pro deleted file mode 100644 index 6d77fd737f1aa53ab8f810cbb05cfc49936df4e0..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenter/src/QatPresenter.pro +++ /dev/null @@ -1,31 +0,0 @@ - -###################################################################### -# Automatically generated by qmake (2.01a) Sun Oct 19 02:42:55 2008 -###################################################################### - -TEMPLATE = lib -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotWidgets ../../QatSystemInterfaces ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis -DESTDIR=../../../lib -FORMS=PresenterApplication.ui -CONFIG += qt debug -# Input -HEADERS += ../QatPresenter/QatTabBar.h \ - ../QatPresenter/QatTabWidget.h \ - ../QatPresenter/PresenterTreeWidget.h \ - ../QatPresenter/PresenterApplication.h - -SOURCES += QatTabBar.cpp \ - QatTabWidget.cpp \ - PresenterTreeWidget.cpp \ - PresenterApplication.cpp - -LIBS=-L/usr/local/lib -lQatSystemInterfaces -lQatPlotWidgets -lQatPlotting -lQatDataModeling -lQatDataAnalysis -lCLHEP -target.path=/usr/local/lib -headers.path=/usr/local/include/QatPresenter -headers.files= ../QatPresenter/*.h ../QatPresenter/*.icc ui_PresenterApplication.h - -INSTALLS += target -INSTALLS += headers - diff --git a/graphics/Qat/QatPresenter/src/QatTabBar.cpp b/graphics/Qat/QatPresenter/src/QatTabBar.cpp deleted file mode 100755 index 9e6023818a78b7a8fb5d3178584e6d80d1474778..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenter/src/QatTabBar.cpp +++ /dev/null @@ -1,284 +0,0 @@ -///////////////////////////////////////////////////////////////////////// -// // -// File adopted from KDE4 libraries by // -// T. Kittelmann <Thomas.Kittelmann@cern.ch>, March 2007. // -// // -// Main thing is to remove dependence on KDE for length of title text // -// settings, delay on drag settings and title eliding. Also, // -// hoverbuttons were removed (since these had not been properly // -// implemented in KDE4 at the time the code was copied). // -// // -// Notice about Copyrights and GPL license from the orignal file is // -// left untouched below. // -// // -///////////////////////////////////////////////////////////////////////// - -/* This file is part of the KDE libraries - Copyright (C) 2003 Stephan Binner <binner@kde.org> - Copyright (C) 2003 Zack Rusin <zack@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include <QtCore/QTimer> -#include <QtGui/QApplication> -#include <QtGui/QMouseEvent> - -#include "QatPresenter/QatTabBar.h" - -class QatTabBar::Private -{ - public: - Private() - : mReorderStartTab( -1 ), - mReorderPreviousTab( -1 ), - mDragSwitchTab( -1 ), - mActivateDragSwitchTabTimer(nullptr), - mTabReorderingEnabled( false ), - mTabCloseActivatePrevious( false ) - { - } - - QPoint mDragStart; - int mReorderStartTab; - int mReorderPreviousTab; - int mDragSwitchTab; - QTimer *mActivateDragSwitchTabTimer; - - bool mTabReorderingEnabled; - bool mTabCloseActivatePrevious; - -}; - -QatTabBar::QatTabBar( QWidget *parent ) - : QTabBar( parent ), - m_d( new Private ) -{ - setAcceptDrops( true ); - setMouseTracking( true ); - - //m_d->mEnableCloseButtonTimer = new QTimer( this ); - //connect( m_d->mEnableCloseButtonTimer, SIGNAL( timeout() ), SLOT( enableCloseButton() ) ); - - m_d->mActivateDragSwitchTabTimer = new QTimer( this ); - m_d->mActivateDragSwitchTabTimer->setSingleShot( true ); - connect( m_d->mActivateDragSwitchTabTimer, SIGNAL( timeout() ), SLOT( activateDragSwitchTab() ) ); - - //connect( this, SIGNAL( layoutChanged() ), SLOT( onLayoutChange() ) ); -} - -QatTabBar::~QatTabBar() -{ - delete m_d; -} - -void QatTabBar::mouseDoubleClickEvent( QMouseEvent *event ) -{ - if ( event->button() != Qt::LeftButton ) - return; - - int tab = selectTab( event->pos() ); - if ( tab != -1 ) { - emit mouseDoubleClick( tab ); - return; - } - - QTabBar::mouseDoubleClickEvent( event ); -} - -void QatTabBar::mousePressEvent( QMouseEvent *event ) -{ - if ( event->button() == Qt::LeftButton ) { - //m_d->mEnableCloseButtonTimer->stop(); - m_d->mDragStart = event->pos(); - } else if( event->button() == Qt::RightButton ) { - int tab = selectTab( event->pos() ); - if ( tab != -1 ) { - emit contextMenu( tab, mapToGlobal( event->pos() ) ); - return; - } - } - - QTabBar::mousePressEvent( event ); -} - -void QatTabBar::mouseMoveEvent( QMouseEvent *event ) -{ - if ( event->buttons() == Qt::LeftButton ) { - int tab = selectTab( event->pos() ); - if ( m_d->mDragSwitchTab && tab != m_d->mDragSwitchTab ) { - m_d->mActivateDragSwitchTabTimer->stop(); - m_d->mDragSwitchTab = 0; - } - - int delay = 5;//TK fixme KGlobalSettings::dndEventDelay(); - QPoint newPos = event->pos(); - if ( newPos.x() > m_d->mDragStart.x() + delay || newPos.x() < m_d->mDragStart.x() - delay || - newPos.y() > m_d->mDragStart.y() + delay || newPos.y() < m_d->mDragStart.y() - delay ) { - if ( tab != -1 ) { - emit initiateDrag( tab ); - return; - } - } - } else if ( event->buttons() == Qt::MidButton ) { - if ( m_d->mReorderStartTab == -1 ) { - int delay = 5;//TK fixme KGlobalSettings::dndEventDelay(); - QPoint newPos = event->pos(); - - if ( newPos.x() > m_d->mDragStart.x() + delay || newPos.x() < m_d->mDragStart.x() - delay || - newPos.y() > m_d->mDragStart.y() + delay || newPos.y() < m_d->mDragStart.y() - delay ) { - int tab = selectTab( event->pos() ); - if ( tab != -1 && m_d->mTabReorderingEnabled ) { - m_d->mReorderStartTab = tab; - grabMouse( Qt::SizeAllCursor ); - return; - } - } - } else { - int tab = selectTab( event->pos() ); - if ( tab != -1 ) { - int reorderStopTab = tab; - if ( m_d->mReorderStartTab != reorderStopTab && m_d->mReorderPreviousTab != reorderStopTab ) { - emit moveTab( m_d->mReorderStartTab, reorderStopTab ); - - m_d->mReorderPreviousTab = m_d->mReorderStartTab; - m_d->mReorderStartTab = reorderStopTab; - - return; - } - } - } - } - - QTabBar::mouseMoveEvent( event ); -} - - -void QatTabBar::activateDragSwitchTab() -{ - int tab = selectTab( mapFromGlobal( QCursor::pos() ) ); - if ( tab != -1 && m_d->mDragSwitchTab == tab ) - setCurrentIndex( m_d->mDragSwitchTab ); - - m_d->mDragSwitchTab = 0; -} - -void QatTabBar::mouseReleaseEvent( QMouseEvent *event ) -{ - if ( event->button() == Qt::MidButton ) { - if ( m_d->mReorderStartTab == -1 ) { - int tab = selectTab( event->pos() ); - if ( tab != -1 ) { - emit mouseMiddleClick( tab ); - return; - } - } else { - releaseMouse(); - setCursor( Qt::ArrowCursor ); - m_d->mReorderStartTab = -1; - m_d->mReorderPreviousTab = -1; - } - } - - QTabBar::mouseReleaseEvent( event ); -} - -void QatTabBar::dragEnterEvent( QDragEnterEvent *event ) -{ - event->setAccepted( true ); - QTabBar::dragEnterEvent( event ); -} - -void QatTabBar::dragMoveEvent( QDragMoveEvent *event ) -{ - int tab = selectTab( event->pos() ); - if ( tab != -1 ) { - bool accept = false; - // The receivers of the testCanDecode() signal has to adjust - // 'accept' accordingly. - emit testCanDecode( event, accept ); - if ( accept && tab != currentIndex() ) { - m_d->mDragSwitchTab = tab; - m_d->mActivateDragSwitchTabTimer->start( QApplication::doubleClickInterval() * 2 ); - } - - event->setAccepted( accept ); - return; - } - - event->setAccepted( false ); - QTabBar::dragMoveEvent( event ); -} - -void QatTabBar::dropEvent( QDropEvent *event ) -{ - int tab = selectTab( event->pos() ); - if ( tab != -1 ) { - m_d->mActivateDragSwitchTabTimer->stop(); - m_d->mDragSwitchTab = 0; - emit receivedDropEvent( tab , event ); - return; - } - - QTabBar::dropEvent( event ); -} - -#ifndef QT_NO_WHEELEVENT -void QatTabBar::wheelEvent( QWheelEvent *event ) -{ - if ( event->orientation() == Qt::Horizontal ) - return; - - emit( wheelDelta( event->delta() ) ); -} -#endif - -bool QatTabBar::isTabReorderingEnabled() const -{ - return m_d->mTabReorderingEnabled; -} - -void QatTabBar::setTabReorderingEnabled( bool on ) -{ - m_d->mTabReorderingEnabled = on; -} - -bool QatTabBar::tabCloseActivatePrevious() const -{ - return m_d->mTabCloseActivatePrevious; -} - -void QatTabBar::setTabCloseActivatePrevious( bool on ) -{ - m_d->mTabCloseActivatePrevious = on; -} - - -void QatTabBar::tabLayoutChange() -{ - m_d->mActivateDragSwitchTabTimer->stop(); - m_d->mDragSwitchTab = 0; -} - -int QatTabBar::selectTab( const QPoint &pos ) const -{ - for ( int i = 0; i < count(); ++i ) - if ( tabRect( i ).contains( pos ) ) - return i; - - return -1; -} - diff --git a/graphics/Qat/QatPresenter/src/QatTabWidget.cpp b/graphics/Qat/QatPresenter/src/QatTabWidget.cpp deleted file mode 100755 index 62c53634909e67b8aca3d2d949eea57c5a59093b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenter/src/QatTabWidget.cpp +++ /dev/null @@ -1,517 +0,0 @@ -///////////////////////////////////////////////////////////////////////// -// // -// File adopted from KDE4 libraries by // -// T. Kittelmann <Thomas.Kittelmann@cern.ch>, March 2007. // -// // -// Main thing is to remove dependence on KDE for length of title text // -// settings, delay on drag settings and title eliding. Also, // -// hoverbuttons were removed (since these had not been properly // -// implemented in KDE4 at the time the code was copied). // -// // -// Notice about Copyrights and GPL license from the orignal file is // -// left untouched below. // -// // -///////////////////////////////////////////////////////////////////////// - - -/* This file is part of the KDE libraries - Copyright (C) 2003 Stephan Binner <binner@kde.org> - Copyright (C) 2003 Zack Rusin <zack@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include <QtGui/QApplication> -#include <QtGui/QDragMoveEvent> -#include <QtGui/QStyle> -#include <QtGui/QTextDocument> - -#include "QatPresenter/QatTabBar.h" - -#include "QatPresenter/QatTabWidget.h" - -class QatTabWidget::Private -{ - public: - Private( QatTabWidget *parent ) - : m_parent( parent ), - m_automaticResizeTabs( false ) - { - m_maxLength=30;m_minLength=3;//TK-fixme - m_currentMaxLength = m_minLength; - } - - QatTabWidget *m_parent; - bool m_automaticResizeTabs; - int m_maxLength; - int m_minLength; - int m_currentMaxLength; - - //holds the full names of the tab, otherwise all we - //know about is the shortened name - QStringList m_tabNames; - - bool isEmptyTabbarSpace( const QPoint & ) const; - void resizeTabs( int changedTabIndex = -1 ); - void updateTab( int index ); -}; - -//Added by TK: -QatTabBar* QatTabWidget::getQatTabBar() { - return static_cast<QatTabBar*>(tabBar()); -} - -bool QatTabWidget::Private::isEmptyTabbarSpace( const QPoint &point ) const -{ - QSize size( m_parent->tabBar()->sizeHint() ); - if ( ( m_parent->tabPosition() == QTabWidget::North && point.y() < size.height() ) || - ( m_parent->tabPosition() == QTabWidget::South && point.y() > (m_parent->height() - size.height() ) ) ) { - - QWidget *rightcorner = m_parent->cornerWidget( Qt::TopRightCorner ); - if ( rightcorner ) { - if ( point.x() >= m_parent->width()-rightcorner->width() ) - return false; - } - - QWidget *leftcorner = m_parent->cornerWidget( Qt::TopLeftCorner ); - if ( leftcorner ) { - if ( point.x() <= leftcorner->width() ) - return false; - } - - for ( int i = 0; i < m_parent->count(); ++i ) - if ( m_parent->tabBar()->tabRect( i ).contains( m_parent->tabBar()->mapFromParent( point ) ) ) - return false; - - return true; - } - - return false; -} - -void QatTabWidget::Private::resizeTabs( int changeTabIndex ) -{ - int newMaxLength; - if ( m_automaticResizeTabs ) { - // Calculate new max length - newMaxLength = m_maxLength; - int lcw = 0, rcw = 0; - - int tabBarHeight = m_parent->tabBar()->sizeHint().height(); - if ( m_parent->cornerWidget( Qt::TopLeftCorner ) && m_parent->cornerWidget( Qt::TopLeftCorner )->isVisible() ) - lcw = qMax( m_parent->cornerWidget( Qt::TopLeftCorner )->width(), tabBarHeight ); - - if ( m_parent->cornerWidget( Qt::TopRightCorner ) && m_parent->cornerWidget( Qt::TopRightCorner )->isVisible() ) - rcw = qMax( m_parent->cornerWidget( Qt::TopRightCorner )->width(), tabBarHeight ); - - int maxTabBarWidth = m_parent->width() - lcw - rcw; - - for ( ; newMaxLength > m_minLength; newMaxLength-- ) { - if ( m_parent->tabBarWidthForMaxChars( newMaxLength ) < maxTabBarWidth ) - break; - } - } else - newMaxLength = 4711; - - // Update hinted or all tabs - if ( m_currentMaxLength != newMaxLength ) { - m_currentMaxLength = newMaxLength; - for ( int i = 0; i < m_parent->count(); ++i ) - updateTab( i ); - } else if ( changeTabIndex != -1 ) - updateTab( changeTabIndex ); -} - -void QatTabWidget::Private::updateTab( int index ) -{ - QString title = m_automaticResizeTabs ? m_tabNames[ index ] : m_parent->QTabWidget::tabText( index ); - m_parent->setTabToolTip( index, QString() ); - - if ( title.length() > m_currentMaxLength ) { - if ( Qt::mightBeRichText( title ) ) - m_parent->setTabToolTip( index, Qt::escape( title ) ); - else - m_parent->setTabToolTip( index, title ); - } - - //TK-fixme. Just use elide here? - //TK-fixme title = KStringHandler::rsqueeze( title, m_currentMaxLength ).leftJustified( m_minLength, ' ' ); - title.replace( '&', "&&" ); - - if ( m_parent->QTabWidget::tabText( index ) != title ) - m_parent->QTabWidget::setTabText( index, title ); -} - -QatTabWidget::QatTabWidget( QWidget *parent, Qt::WFlags flags ) - : QTabWidget( parent ), - m_d( new Private( this ) ) -{ - setWindowFlags( flags ); - setTabBar( new QatTabBar( this ) ); - setObjectName( "tabbar" ); - setAcceptDrops( true ); - - connect(tabBar(), SIGNAL(contextMenu( int, const QPoint & )), SLOT(contextMenu( int, const QPoint & ))); - connect(tabBar(), SIGNAL(mouseDoubleClick( int )), SLOT(mouseDoubleClick( int ))); - connect(tabBar(), SIGNAL(mouseMiddleClick( int )), SLOT(mouseMiddleClick( int ))); - connect(tabBar(), SIGNAL(initiateDrag( int )), SLOT(initiateDrag( int ))); - connect(tabBar(), SIGNAL(testCanDecode(const QDragMoveEvent *, bool & )), SIGNAL(testCanDecode(const QDragMoveEvent *, bool & ))); - connect(tabBar(), SIGNAL(receivedDropEvent( int, QDropEvent * )), SLOT(receivedDropEvent( int, QDropEvent * ))); - connect(tabBar(), SIGNAL(moveTab( int, int )), SLOT(moveTab( int, int ))); - connect(tabBar(), SIGNAL(closeRequest( int )), SLOT(closeRequest( int ))); -#ifndef QT_NO_WHEELEVENT - connect(tabBar(), SIGNAL(wheelDelta( int )), SLOT(wheelDelta( int ))); -#endif -} - -QatTabWidget::~QatTabWidget() -{ - delete m_d; -} - -/*void QatTabWidget::insertTab( QWidget *child, const QString &label, int index ) -{ - QTabWidget::insertTab( child, label, index ); -} - -void QatTabWidget::insertTab( QWidget *child, const QIcon& iconset, const QString &label, int index ) -{ - QTabWidget::insertTab( child, iconset, label, index ); -} - -void QatTabWidget::insertTab( QWidget *child, QTab *tab, int index ) -{ - QTabWidget::insertTab( child, tab, index); - if ( m_d->m_automaticResizeTabs ) { - if ( index < 0 || index >= count() ) { - m_d->m_tabNames.append( tab->text() ); - m_d->resizeTabs( m_d->m_tabNames.count()-1 ); - } - else { - m_d->m_tabNames.insert( m_d->m_tabNames.at( index ), tab->text() ); - m_d->resizeTabs( index ); - } - } -}*/ - -void QatTabWidget::setTabBarHidden( bool hide ) -{ - QWidget *rightcorner = cornerWidget( Qt::TopRightCorner ); - QWidget *leftcorner = cornerWidget( Qt::TopLeftCorner ); - - if ( hide ) { - if ( leftcorner ) leftcorner->hide(); - if ( rightcorner ) rightcorner->hide(); - tabBar()->hide(); - } else { - tabBar()->show(); - if ( leftcorner ) leftcorner->show(); - if ( rightcorner ) rightcorner->show(); - } -} - -bool QatTabWidget::isTabBarHidden() const -{ - return !( tabBar()->isVisible() ); -} - -void QatTabWidget::setTabTextColor( int index, const QColor& color ) -{ - tabBar()->setTabTextColor( index, color ); -} - -QColor QatTabWidget::tabTextColor( int index ) const -{ - return tabBar()->tabTextColor( index ); -} - -void QatTabWidget::setTabReorderingEnabled( bool on) -{ - static_cast<QatTabBar*>(tabBar())->setTabReorderingEnabled( on ); -} - -bool QatTabWidget::isTabReorderingEnabled() const -{ - return static_cast<QatTabBar*>(tabBar())->isTabReorderingEnabled(); -} - -void QatTabWidget::setTabCloseActivatePrevious( bool previous) -{ - static_cast<QatTabBar*>(tabBar())->setTabCloseActivatePrevious( previous ); -} - -bool QatTabWidget::tabCloseActivatePrevious() const -{ - return static_cast<QatTabBar*>(tabBar())->tabCloseActivatePrevious(); -} - -int QatTabWidget::tabBarWidthForMaxChars( int /*maxLength*/ ) -{ - int hframe; //, overlap; // overlap not used so far... - - hframe = tabBar()->style()->pixelMetric( QStyle::PM_TabBarTabHSpace, 0L, tabBar() ); - //overlap = tabBar()->style()->pixelMetric( QStyle::PM_TabBarTabOverlap, 0L, tabBar() ); // not used so far... - - QFontMetrics fm = tabBar()->fontMetrics(); - int x = 0; - for ( int i = 0; i < count(); ++i ) { - QString newTitle = m_d->m_tabNames[ i ]; - //TK-fixme. Just use elide here? - //TK-fixme newTitle = KStringHandler::rsqueeze( newTitle, maxLength ).leftJustified( m_d->m_minLength, ' ' ); - - int lw = fm.width( newTitle ); - int iw = 0; - if ( !tabBar()->tabIcon( i ).isNull() ){ - iw = tabBar()->tabIcon( i ).pixmap( style()->pixelMetric( QStyle::PM_SmallIconSize ), QIcon::Normal ).width() + 4; - } - x += ( tabBar()->style()->sizeFromContents( QStyle::CT_TabBarTab, 0L, - QSize( qMax( lw + hframe + iw, QApplication::globalStrut().width() ), 0 ), - this ) ).width(); - } - - return x; -} - -QString QatTabWidget::tabText( int index ) const -{ - if ( m_d->m_automaticResizeTabs ) { - if ( index >= 0 && index < count() ) - return m_d->m_tabNames[ index ]; - else - return QString(); - } - else - return QTabWidget::tabText( index ); -} - -void QatTabWidget::setTabText( int index, const QString &text ) -{ - QTabWidget::setTabText( index, text ); - if ( m_d->m_automaticResizeTabs ) { - if ( index != -1 ) { - m_d->m_tabNames[ index ] = text; - m_d->resizeTabs( index ); - } - } -} - - -void QatTabWidget::dragEnterEvent( QDragEnterEvent *event ) -{ - event->setAccepted( true ); - QTabWidget::dragEnterEvent( event ); -} - -void QatTabWidget::dragMoveEvent( QDragMoveEvent *event ) -{ - if ( m_d->isEmptyTabbarSpace( event->pos() ) ) { - bool accept = false; - // The receivers of the testCanDecode() signal has to adjust - // 'accept' accordingly. - emit testCanDecode( event, accept); - - event->setAccepted( accept ); - return; - } - - event->setAccepted( false ); - QTabWidget::dragMoveEvent( event ); -} - -void QatTabWidget::dropEvent( QDropEvent *event ) -{ - if ( m_d->isEmptyTabbarSpace( event->pos() ) ) { - emit ( receivedDropEvent( event ) ); - return; - } - - QTabWidget::dropEvent( event ); -} - -#ifndef QT_NO_WHEELEVENT -void QatTabWidget::wheelEvent( QWheelEvent *event ) -{ - if ( event->orientation() == Qt::Horizontal ) - return; - - if ( m_d->isEmptyTabbarSpace( event->pos() ) ) - wheelDelta( event->delta() ); - else - event->ignore(); -} - -void QatTabWidget::wheelDelta( int delta ) -{ - if ( count() < 2 ) - return; - - int page = currentIndex(); - if ( delta < 0 ) - page = (page + 1) % count(); - else { - page--; - if ( page < 0 ) - page = count() - 1; - } - setCurrentIndex( page ); -} -#endif - -void QatTabWidget::mouseDoubleClickEvent( QMouseEvent *event ) -{ - if ( event->button() != Qt::LeftButton ) - return; - - if ( m_d->isEmptyTabbarSpace( event->pos() ) ) { - emit( mouseDoubleClick() ); - return; - } - - QTabWidget::mouseDoubleClickEvent( event ); -} - -void QatTabWidget::mousePressEvent( QMouseEvent *event ) -{ - if ( event->button() == Qt::RightButton ) { - if ( m_d->isEmptyTabbarSpace( event->pos() ) ) { - emit( contextMenu( mapToGlobal( event->pos() ) ) ); - return; - } - } else if ( event->button() == Qt::MidButton ) { - if ( m_d->isEmptyTabbarSpace( event->pos() ) ) { - emit( mouseMiddleClick() ); - return; - } - } - - QTabWidget::mousePressEvent( event ); -} - -void QatTabWidget::receivedDropEvent( int index, QDropEvent *event ) -{ - emit( receivedDropEvent( widget( index ), event ) ); -} - -void QatTabWidget::initiateDrag( int index ) -{ - emit( initiateDrag( widget( index ) ) ); -} - -void QatTabWidget::contextMenu( int index, const QPoint &point ) -{ - emit( contextMenu( widget( index ), point ) ); -} - -void QatTabWidget::mouseDoubleClick( int index ) -{ - emit( mouseDoubleClick( widget( index ) ) ); -} - -void QatTabWidget::mouseMiddleClick( int index ) -{ - emit( mouseMiddleClick( widget( index ) ) ); -} - -void QatTabWidget::moveTab( int from, int to ) -{ - QString tablabel = tabText( from ); - QWidget *w = widget( from ); - QColor color = tabTextColor( from ); - QIcon tabiconset = tabIcon( from ); - QString tabtooltip = tabToolTip( from ); - bool current = ( from == currentIndex() ); - bool enabled = isTabEnabled( from ); - - bool blocked = blockSignals( true ); - removeTab( from ); - - // Work-around kmdi brain damage which calls showPage() in insertTab() - insertTab( to, w, tablabel ); - if ( m_d->m_automaticResizeTabs ) { - if ( to < 0 || to >= count() ) - m_d->m_tabNames.append( QString() ); - else - m_d->m_tabNames.insert( to, QString() ); - } - - setTabIcon( to, tabiconset ); - setTabText( to, tablabel ); - setTabToolTip( to, tabtooltip ); - setTabTextColor( to, color ); - if ( current ) - setCurrentIndex( to ); - setTabEnabled( to, enabled ); - blockSignals( blocked ); - - emit ( movedTab( from, to ) ); -} - -void QatTabWidget::removePage( QWidget *widget ) -{ - QTabWidget::removeTab( indexOf( widget ) ); - if ( m_d->m_automaticResizeTabs ) - m_d->resizeTabs(); -} - -void QatTabWidget::removeTab( int index ) -{ - QTabWidget::removeTab( index ); - if ( m_d->m_automaticResizeTabs ) - m_d->resizeTabs(); -} - -void QatTabWidget::setAutomaticResizeTabs( bool enabled ) -{ - if ( m_d->m_automaticResizeTabs == enabled ) - return; - - m_d->m_automaticResizeTabs = enabled; - if ( enabled ) { - m_d->m_tabNames.clear(); - for ( int i = 0; i < count(); ++i ) - m_d->m_tabNames.append( tabBar()->tabText( i ) ); - } else - for ( int i = 0; i < count(); ++i ) - tabBar()->setTabText( i, m_d->m_tabNames[ i ] ); - - m_d->resizeTabs(); -} - -bool QatTabWidget::automaticResizeTabs() const -{ - return m_d->m_automaticResizeTabs; -} - -void QatTabWidget::closeRequest( int index ) -{ - emit( closeRequest( widget( index ) ) ); -} - -void QatTabWidget::resizeEvent( QResizeEvent *event ) -{ - QTabWidget::resizeEvent( event ); - m_d->resizeTabs(); -} - -void QatTabWidget::tabInserted( int idx ) -{ - m_d->m_tabNames.insert( idx, tabBar()->tabText( idx ) ); -} - -void QatTabWidget::tabRemoved( int idx ) -{ - m_d->m_tabNames.removeAt( idx ); -} diff --git a/graphics/Qat/QatPresenterApp/CMakeLists.txt b/graphics/Qat/QatPresenterApp/CMakeLists.txt deleted file mode 100644 index dca081acac650fdbc05fe0cffc2de1447967cba6..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -################################################################################ -# Package: QatPresenterApp -################################################################################ - -# Declare the package name: -atlas_subdir( QatPresenterApp ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatPresenter ) - -# External dependencies: -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -# Generate UI files automatically: -set( CMAKE_AUTOUIC TRUE ) -# Generate MOC files automatically: -set( CMAKE_AUTOMOC TRUE ) -# Generate resource files automatically: -set( CMAKE_AUTORCC TRUE ) -# to let CMake find .h files automatically-generated from .ui files -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -# set additional compilation flags -SET(MY_GCC_COMPILE_FLAGS "-g -O0") -SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_GCC_COMPILE_FLAGS}" ) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Component(s) in the package: -atlas_add_executable( present - src/present.cpp - INCLUDE_DIRS ${QT4_INCLUDE_DIRS} - LINK_LIBRARIES ${QT4_LIBRARIES} GL QatPresenter) - diff --git a/graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.cpp b/graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.cpp deleted file mode 100644 index 03ae2ad42db965628fef98dad45e1e206fa40e1d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.cpp +++ /dev/null @@ -1,113 +0,0 @@ -#include "QatProjectForm.h" -#include <QMessageBox> -#include <QFileDialog> -#include <QCheckBox> -#include <QRadioButton> -#include <iostream> -#include <string> -#include <unistd.h> -#include <sys/stat.h> -#include <sys/types.h> -#include <errno.h> - -QatProjectForm::QatProjectForm(QWidget *parent) : - QWidget(parent) -{ - ui.setupUi(this); - connect(ui.quitButton, SIGNAL(clicked()), qApp, SLOT(closeAllWindows())); - connect(ui.createProjectButton, SIGNAL(clicked()), this, SLOT(createProject())); - connect(ui.programNameLineEdit, SIGNAL(editingFinished()), this, SLOT(editingFinished())); - connect(ui.directoryNamePushButton, SIGNAL(clicked()), this, SLOT(changeDir())); -} - -QatProjectForm::~QatProjectForm() { -} - -void QatProjectForm::createProject() { - - std::string programName = ui.programNameLineEdit->text().toStdString(); - if (programName=="") { - - QMessageBox::warning(this, tr("upvs-project"), - tr("You must select a name for your program"), - QMessageBox::Ok); - - return; - } - - std::string directoryName = ui.directoryLabel->text().toStdString(); - if (directoryName=="") { - - QMessageBox::warning(this, tr("upvs-project"), - tr("You must select a directory for your program"), - QMessageBox::Ok); - - return; - } - - - bool plotView=ui.plotViewCheckBox->isChecked(); - enum Type {ZeroToZero, OneToZero, NToZero, ZeroToOne, OneToOne, NToOne}; - - Type type = ZeroToZero; - if (ui.zeroToOneRadioButton->isChecked()) type=ZeroToOne; - if (ui.oneToOneRadioButton->isChecked()) type=OneToOne; - if (ui.nToOneRadioButton->isChecked()) type=NToOne; - if (ui.nToZeroRadioButton->isChecked()) type=NToZero; - if (ui.oneToZeroRadioButton->isChecked()) type=OneToZero; - - - // Make the directory: - if (mkdir(directoryName.c_str(), 0755)) { - QMessageBox::warning(this, tr("upvs-project"), - QString("Error creating directory ") + QString(directoryName.c_str())+ QString(": ") + QString(strerror(errno)), - QMessageBox::Ok); - - return; - } - mkdir((directoryName+"/src").c_str(),0755); - system ((std::string("cp /usr/local/share/templates/qt.pro ") + directoryName+"/src").c_str()); - -#ifdef __APPLE__ - system (("sed -i .orig s/\"<app>\"/" + programName + "/g " + directoryName + "/src/qt.pro").c_str()); -#else - system (("sed -i s/\\<app\\>/" + programName + "/g " + directoryName + "/src/qt.pro").c_str()); -#endif - // There are eight templates. Choose one of them: - if (plotView) { - if (type==ZeroToZero) system (("cp /usr/local/share/templates/templateZeroToZeroView.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==OneToZero) system (("cp /usr/local/share/templates/templateOneToZeroView.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==NToZero) system (("cp /usr/local/share/templates/templateNToZeroView.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==ZeroToOne) system (("cp /usr/local/share/templates/templateZeroToOneView.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==OneToOne) system (("cp /usr/local/share/templates/templateOneToOneView.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==NToOne) system (("cp /usr/local/share/templates/templateNToOneView.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - } - else { - if (type==ZeroToZero) system (("cp /usr/local/share/templates/templateZeroToZero.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==OneToZero) system (("cp /usr/local/share/templates/templateOneToZero.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==NToZero) system (("cp /usr/local/share/templates/templateNToZero.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==ZeroToOne) system (("cp /usr/local/share/templates/templateZeroToOne.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==OneToOne) system (("cp /usr/local/share/templates/templateOneToOne.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - if (type==NToOne) system (("cp /usr/local/share/templates/templateNToOne.cpp " + directoryName + "/src/" + programName + ".cpp").c_str()); - } - - qApp->closeAllWindows(); - - -} - -void QatProjectForm::editingFinished() { - char BUFF[1024]; - if (!ui.programNameLineEdit->text().isEmpty() && ui.directoryLabel->text().isEmpty()) - ui.directoryLabel->setText(QString(getcwd(BUFF,1024))+QString("/")+ui.programNameLineEdit->text().toUpper()); -} - -void QatProjectForm::changeDir() { - char BUFF[1024]; - QString fileName = QFileDialog::getSaveFileName(this, tr("Set Project Directory"), - getcwd(BUFF,1024), - QString(""), - NULL, - QFileDialog::ShowDirsOnly); - ui.directoryLabel->setText(fileName); -} diff --git a/graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.h b/graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.h deleted file mode 100644 index b7ba95a877286337277652a716b68cd9b4c4ac4b..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/QatProjectForm.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef _QatPROJECTFORM_H_ -#define _QatPROJECTFORM_H_ -#include <QWidget> -#include "ui_qat-project.h" - -class QatProjectForm : public QWidget { - - Q_OBJECT - - public: - - - // Constructor - QatProjectForm(QWidget *parent=NULL); - - // Destructor: - ~QatProjectForm(); - - private: - - Ui::QatProjectForm ui; - - public slots: - - void editingFinished(); - void createProject(); - void changeDir(); - - - -}; -#endif diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/qt.pro b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/qt.pro deleted file mode 100644 index 5ff4f49b36bb2449b537305fc948a015fce956de..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/qt.pro +++ /dev/null @@ -1,19 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon Sep 28 11:05:54 2009 -###################################################################### - -TEMPLATE = app -TARGET = <app> -DESTDIR = ../local/bin -DEPENDPATH += . -INCLUDEPATH += . .. -LIBS=-lQatPlotWidgets -lQatPlotting -lQatDataModeling -lgfortran -lQatDataAnalysis -lCLHEP -lgsl -lgslcblas -ldl - -CONFIG += qt debug - -# Input -SOURCES += <app>.cpp - -mac { - CONFIG -= app_bundle -} diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOne.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOne.cpp deleted file mode 100644 index e08dd69637cecb364b37594cea0b35c3c3bbc664..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOne.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include <cstdlib> -#include <iostream> -#include <string> - -int main (int argc, char **argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " [Input1] [Input2] ... -o Output [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - HIONToOne hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - // -------------------------------------------------: - return 1; - -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOneView.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOneView.cpp deleted file mode 100644 index 8aae43b68b092c6d42505fc62d5f677f98f9b50f..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToOneView.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotStream.h" -#include <QApplication> -#include <QtGui/QMainWindow> -#include <QToolBar> -#include <QtGui/QAction> -#include <cstdlib> -#include <iostream> -#include <string> -int main (int argc, char * * argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " [Input1] [Input2] ... -o Output [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - - HIONToOne hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - QApplication app(argc,argv); - - QMainWindow window; - QToolBar *toolBar=window.addToolBar("Tools"); - QAction *nextAction=toolBar->addAction("Next"); - QAction *editAction=toolBar->addAction("Edit"); - PlotHist1DDialog *editorDialog=new PlotHist1DDialog(NULL); - - nextAction->setShortcut(QKeySequence("n")); - editAction->setShortcut(QKeySequence("e")); - - QObject::connect(nextAction, SIGNAL(triggered()), &app, SLOT(quit())); - QObject::connect(editAction, SIGNAL(triggered()), editorDialog, SLOT(show())); - - QRectF rect; - rect.setLeft(0.0); - rect.setRight(1.0); - rect.setTop(0.0); - rect.setBottom(1.0); - - - PlotView view(&rect); - window.setCentralWidget(&view); - - PlotStream titleStream(view.titleTextEdit()); - titleStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - PlotStream xLabelStream(view.xLabelTextEdit()); - xLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - PlotStream yLabelStream(view.yLabelTextEdit()); - yLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - view.show(); - window.show(); - app.exec(); - return 1; -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZero.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZero.cpp deleted file mode 100644 index a047047a9119b991f0baaad65699a5a72184e82a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZero.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include <cstdlib> -#include <iostream> -#include <string> - -int main (int argc, char **argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " [Input1] [Input2] ... [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - HIONToZero hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - // -------------------------------------------------: - return 1; - -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZeroView.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZeroView.cpp deleted file mode 100644 index 72c5632692a695b1a1713f1a42ca94d90279ecda..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateNToZeroView.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotStream.h" -#include <QApplication> -#include <QtGui/QMainWindow> -#include <QToolBar> -#include <QtGui/QAction> -#include <cstdlib> -#include <iostream> -#include <string> -int main (int argc, char * * argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " [Input1] [Input2] ... [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - - HIONToZero hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - QApplication app(argc,argv); - - QMainWindow window; - QToolBar *toolBar=window.addToolBar("Tools"); - QAction *nextAction=toolBar->addAction("Next"); - QAction *editAction=toolBar->addAction("Edit"); - PlotHist1DDialog *editorDialog=new PlotHist1DDialog(NULL); - - nextAction->setShortcut(QKeySequence("n")); - editAction->setShortcut(QKeySequence("e")); - - QObject::connect(nextAction, SIGNAL(triggered()), &app, SLOT(quit())); - QObject::connect(editAction, SIGNAL(triggered()), editorDialog, SLOT(show())); - - QRectF rect; - rect.setLeft(0.0); - rect.setRight(1.0); - rect.setTop(0.0); - rect.setBottom(1.0); - - - PlotView view(&rect); - window.setCentralWidget(&view); - - PlotStream titleStream(view.titleTextEdit()); - titleStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - PlotStream xLabelStream(view.xLabelTextEdit()); - xLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - PlotStream yLabelStream(view.yLabelTextEdit()); - yLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - view.show(); - window.show(); - app.exec(); - return 1; -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOne.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOne.cpp deleted file mode 100644 index cfeb2290fd543576fd69787dee83c5dcbdd63a71..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOne.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include <cstdlib> -#include <iostream> -#include <string> - -int main (int argc, char **argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " -i Input -o Output [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - HIOOneToOne hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - // -------------------------------------------------: - return 1; - -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOneView.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOneView.cpp deleted file mode 100644 index 27f06ef305df99a6cbd9c46026f3065d05833aa0..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToOneView.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotStream.h" -#include <QApplication> -#include <QtGui/QMainWindow> -#include <QToolBar> -#include <QtGui/QAction> -#include <cstdlib> -#include <iostream> -#include <string> -int main (int argc, char * * argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " -i Input -o Output [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - - HIOOneToOne hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - QApplication app(argc,argv); - - QMainWindow window; - QToolBar *toolBar=window.addToolBar("Tools"); - QAction *nextAction=toolBar->addAction("Next"); - QAction *editAction=toolBar->addAction("Edit"); - PlotHist1DDialog *editorDialog=new PlotHist1DDialog(NULL); - - nextAction->setShortcut(QKeySequence("n")); - editAction->setShortcut(QKeySequence("e")); - - QObject::connect(nextAction, SIGNAL(triggered()), &app, SLOT(quit())); - QObject::connect(editAction, SIGNAL(triggered()), editorDialog, SLOT(show())); - - QRectF rect; - rect.setLeft(0.0); - rect.setRight(1.0); - rect.setTop(0.0); - rect.setBottom(1.0); - - - PlotView view(&rect); - window.setCentralWidget(&view); - - PlotStream titleStream(view.titleTextEdit()); - titleStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - PlotStream xLabelStream(view.xLabelTextEdit()); - xLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - PlotStream yLabelStream(view.yLabelTextEdit()); - yLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - view.show(); - window.show(); - app.exec(); - return 1; -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZero.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZero.cpp deleted file mode 100644 index b696b821c8fb932fed4ef51a2165bb8d54507fff..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZero.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include <cstdlib> -#include <iostream> -#include <string> - -int main (int argc, char **argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " -i Input [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - HIOOneToZero hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - // -------------------------------------------------: - return 1; - -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZeroView.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZeroView.cpp deleted file mode 100644 index 4754c3f3eed49aa9cf04166424afae5e084a0b0e..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateOneToZeroView.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotStream.h" -#include <QApplication> -#include <QtGui/QMainWindow> -#include <QToolBar> -#include <QtGui/QAction> -#include <cstdlib> -#include <iostream> -#include <string> -int main (int argc, char * * argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " -i Input [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - - HIOOneToZero hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - QApplication app(argc,argv); - - QMainWindow window; - QToolBar *toolBar=window.addToolBar("Tools"); - QAction *nextAction=toolBar->addAction("Next"); - QAction *editAction=toolBar->addAction("Edit"); - PlotHist1DDialog *editorDialog=new PlotHist1DDialog(NULL); - - nextAction->setShortcut(QKeySequence("n")); - editAction->setShortcut(QKeySequence("e")); - - QObject::connect(nextAction, SIGNAL(triggered()), &app, SLOT(quit())); - QObject::connect(editAction, SIGNAL(triggered()), editorDialog, SLOT(show())); - - QRectF rect; - rect.setLeft(0.0); - rect.setRight(1.0); - rect.setTop(0.0); - rect.setBottom(1.0); - - - PlotView view(&rect); - window.setCentralWidget(&view); - - PlotStream titleStream(view.titleTextEdit()); - titleStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - PlotStream xLabelStream(view.xLabelTextEdit()); - xLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - PlotStream yLabelStream(view.yLabelTextEdit()); - yLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - view.show(); - window.show(); - app.exec(); - return 1; -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOne.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOne.cpp deleted file mode 100644 index e44cb2426474b4bf5722e43f961ad35f415757ed..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOne.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include <cstdlib> -#include <iostream> -#include <string> - -int main (int argc, char **argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " -o Output [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - HIOZeroToOne hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - // -------------------------------------------------: - return 1; - -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOneView.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOneView.cpp deleted file mode 100644 index 66430105a20eca6e6e9840fc8eabeff3991a69fa..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToOneView.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "QatDataAnalysis/OptParse.h" -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotStream.h" -#include <QApplication> -#include <QtGui/QMainWindow> -#include <QToolBar> -#include <QtGui/QAction> -#include <cstdlib> -#include <iostream> -#include <string> -int main (int argc, char * * argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0] + " -o Output [-v]"; - if (argc==1) { - std::cout << usage << std::endl; - exit(0); - } - - HIOZeroToOne hio; - try { - hio.optParse(argc,argv); - } - catch (std::exception & e) { - std::cerr << "Error " << e.what() << std::endl; - std::cerr << usage << std::endl << std::endl; - exit(0); - } - if (argc!=1) { - std::cerr << "Unrecognized option: " << argv[1] <<std::endl; - exit(0); - } - - QApplication app(argc,argv); - - QMainWindow window; - QToolBar *toolBar=window.addToolBar("Tools"); - QAction *nextAction=toolBar->addAction("Next"); - QAction *editAction=toolBar->addAction("Edit"); - PlotHist1DDialog *editorDialog=new PlotHist1DDialog(NULL); - - nextAction->setShortcut(QKeySequence("n")); - editAction->setShortcut(QKeySequence("e")); - - QObject::connect(nextAction, SIGNAL(triggered()), &app, SLOT(quit())); - QObject::connect(editAction, SIGNAL(triggered()), editorDialog, SLOT(show())); - - QRectF rect; - rect.setLeft(0.0); - rect.setRight(1.0); - rect.setTop(0.0); - rect.setBottom(1.0); - - - PlotView view(&rect); - window.setCentralWidget(&view); - - PlotStream titleStream(view.titleTextEdit()); - titleStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - PlotStream xLabelStream(view.xLabelTextEdit()); - xLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - PlotStream yLabelStream(view.yLabelTextEdit()); - yLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - view.show(); - window.show(); - app.exec(); - return 1; -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZero.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZero.cpp deleted file mode 100644 index f8e769d4465a57c0907e4ed163ede8f52eef30be..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZero.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <cstdlib> -#include <iostream> -#include <string> - -int main (int argc, char **argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0]; - if (argc!=1) { - std::cout << usage << std::endl; - } - - // -------------------------------------------------: - return 1; - -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZeroView.cpp b/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZeroView.cpp deleted file mode 100644 index d9116e0311185dd2afd74de3139f1b7bf3dc3e05..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/TEMPLATES/templateZeroToZeroView.cpp +++ /dev/null @@ -1,73 +0,0 @@ -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotWidgets/PlotHist1DDialog.h" -#include "QatPlotting/PlotStream.h" -#include <QApplication> -#include <QtGui/QMainWindow> -#include <QToolBar> -#include <QtGui/QAction> -#include <cstdlib> -#include <iostream> -#include <string> -int main (int argc, char * * argv) { - - // Automatically generated:-------------------------: - - std::string usage= std::string("usage: ") + argv[0]; - if (argc!=1) { - std::cout << usage << std::endl; - } - - - QApplication app(argc,argv); - - QMainWindow window; - QToolBar *toolBar=window.addToolBar("Tools"); - QAction *nextAction=toolBar->addAction("Next"); - QAction *editAction=toolBar->addAction("Edit"); - PlotHist1DDialog *editorDialog=new PlotHist1DDialog(NULL); - - nextAction->setShortcut(QKeySequence("n")); - editAction->setShortcut(QKeySequence("e")); - - QObject::connect(nextAction, SIGNAL(triggered()), &app, SLOT(quit())); - QObject::connect(editAction, SIGNAL(triggered()), editorDialog, SLOT(show())); - - QRectF rect; - rect.setLeft(0.0); - rect.setRight(1.0); - rect.setTop(0.0); - rect.setBottom(1.0); - - - PlotView view(&rect); - window.setCentralWidget(&view); - - PlotStream titleStream(view.titleTextEdit()); - titleStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - PlotStream xLabelStream(view.xLabelTextEdit()); - xLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - PlotStream yLabelStream(view.yLabelTextEdit()); - yLabelStream << PlotStream::Clear() - << PlotStream::Center() - << PlotStream::Family("Sans Serif") - << PlotStream::Size(16) - << PlotStream::EndP(); - - - view.show(); - window.show(); - app.exec(); - return 1; -} - diff --git a/graphics/Qat/QatPresenterApp/qat-project/qat-project.cpp b/graphics/Qat/QatPresenterApp/qat-project/qat-project.cpp deleted file mode 100644 index 98ee1c4f4fc45df5bc9613b277c607b5b1f83850..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/qat-project.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// This is a program to write a program: -#include "QatProjectForm.h" -#include <QApplication> - -int main (int argc, char ** argv) { - - QApplication *app = new QApplication(argc, argv); - QatProjectForm *form = new QatProjectForm(NULL); - form->show(); - return app->exec(); - -} diff --git a/graphics/Qat/QatPresenterApp/qat-project/qat-project.ui b/graphics/Qat/QatPresenterApp/qat-project/qat-project.ui deleted file mode 100644 index 73f035bc2a27bbae7d5c2ed873fe45970cd25c4d..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/qat-project.ui +++ /dev/null @@ -1,155 +0,0 @@ -<ui version="4.0" > - <class>QatProjectForm</class> - <widget class="QWidget" name="QatProjectForm" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>463</width> - <height>344</height> - </rect> - </property> - <property name="windowTitle" > - <string>qat-project</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="2" column="2" colspan="2" > - <widget class="QCheckBox" name="plotViewCheckBox" > - <property name="text" > - <string>With PlotView</string> - </property> - </widget> - </item> - <item row="2" column="0" colspan="2" > - <widget class="QGroupBox" name="hioGroupBox" > - <property name="title" > - <string>Histogram I/O</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="1" > - <widget class="QRadioButton" name="zeroToOneRadioButton" > - <property name="text" > - <string>0 --> 1</string> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QRadioButton" name="oneToOneRadioButton" > - <property name="text" > - <string>1 --> 1</string> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QRadioButton" name="nToOneRadioButton" > - <property name="text" > - <string>N --> 1</string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QRadioButton" name="oneToZeroRadioButton" > - <property name="text" > - <string>1 --> 0</string> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QRadioButton" name="nToZeroRadioButton" > - <property name="text" > - <string>N --> 0</string> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QRadioButton" name="zeroToZeroRadioButton" > - <property name="text" > - <string>0 --> 0</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="1" column="3" > - <widget class="QPushButton" name="directoryNamePushButton" > - <property name="text" > - <string>Change</string> - </property> - </widget> - </item> - <item row="1" column="1" colspan="2" > - <widget class="QLabel" name="directoryLabel" > - <property name="frameShape" > - <enum>QFrame::Box</enum> - </property> - <property name="text" > - <string/> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QLabel" name="directoryNameLabel" > - <property name="text" > - <string>Directory name</string> - </property> - </widget> - </item> - <item row="0" column="1" colspan="2" > - <widget class="QLineEdit" name="programNameLineEdit" /> - </item> - <item row="0" column="0" > - <widget class="QLabel" name="programNameLabel" > - <property name="text" > - <string>Program name</string> - </property> - </widget> - </item> - <item row="3" column="0" colspan="2" > - <widget class="QPushButton" name="quitButton" > - <property name="text" > - <string>Quit</string> - </property> - <property name="shortcut" > - <string>Q</string> - </property> - </widget> - </item> - <item row="3" column="2" colspan="2" > - <widget class="QPushButton" name="createProjectButton" > - <property name="text" > - <string>Create Project</string> - </property> - </widget> - </item> - </layout> - </widget> - <tabstops> - <tabstop>programNameLineEdit</tabstop> - <tabstop>directoryNamePushButton</tabstop> - <tabstop>zeroToZeroRadioButton</tabstop> - <tabstop>zeroToOneRadioButton</tabstop> - <tabstop>oneToOneRadioButton</tabstop> - <tabstop>nToOneRadioButton</tabstop> - <tabstop>plotViewCheckBox</tabstop> - <tabstop>quitButton</tabstop> - <tabstop>createProjectButton</tabstop> - </tabstops> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatPresenterApp/qat-project/qt.pro b/graphics/Qat/QatPresenterApp/qat-project/qt.pro deleted file mode 100644 index cc4b162945ea09a0b1eeb726aa81d118d0ceb3a0..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/qat-project/qt.pro +++ /dev/null @@ -1,25 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon Feb 1 12:06:28 2010 -###################################################################### - -TEMPLATE = app -TARGET = qat-project -DEPENDPATH += . -INCLUDEPATH += . - -# Input -FORMS += qat-project.ui -SOURCES += qat-project.cpp QatProjectForm.cpp -HEADERS += QatProjectForm.h - -INSTALLS += target -target.path=/usr/local/bin - -templates.path = /usr/local/share/templates -templates.files = TEMPLATES/*.cpp TEMPLATES/*.pro -INSTALLS += templates -mac { - CONFIG -= app_bundle -} - - diff --git a/graphics/Qat/QatPresenterApp/src/QatPresenterApp.pro b/graphics/Qat/QatPresenterApp/src/QatPresenterApp.pro deleted file mode 100644 index 532ba812b0d034443f9489e9b218bc8a5d1defb8..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/src/QatPresenterApp.pro +++ /dev/null @@ -1,21 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon May 2 09:49:50 2011 -###################################################################### - -TEMPLATE = app -TARGET = present -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotWidgets ../../QatSystemInterfaces ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis ../../QatPresenter -DESTDIR=../../../bin -CONFIG += qt debug -LIBS += -L../../../lib -L/usr/local/lib -lQatPresenter -lQatSystemInterfaces -lQatPlotWidgets -lQatPlotting -l QatDataModeling -lQatDataAnalysis -lCLHEP -lgfortran - -SOURCES += present.cpp - -target.path=/usr/local/bin - -INSTALLS += target - -mac { - CONFIG -= app_bundle -} diff --git a/graphics/Qat/QatPresenterApp/src/present.cpp b/graphics/Qat/QatPresenterApp/src/present.cpp deleted file mode 100644 index ffb0b49b6ce932596ac9ccb2b4e520dc0cb1c466..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatPresenterApp/src/present.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "QatPresenter/PresenterApplication.h" -#include <QtGui/QApplication> -#include <string> -#include <iostream> -#include <cstring> -#include <unistd.h> -#include <cstdlib> -int main(int argc, char ** argv) { - - char * cmtpath_env=getenv("CMTPATH"); - char * cmtconfig_env=getenv("CMTCONFIG"); - - std::string cmtpath = cmtpath_env ? cmtpath_env: ""; - std::string cmtconfig = cmtconfig_env ? cmtconfig_env:""; - - - QApplication app(argc,argv); - - if (cmtpath_env && cmtconfig_env) { - int begin=0; - while (1) { - int end=cmtpath.find(":",begin); - std::string tok = cmtpath.substr(begin,end-begin); - tok += "/InstallArea/"; - tok += cmtconfig; - tok += "/lib/qatplugins"; - app.addLibraryPath(tok.c_str()); - begin=end+1; - if (end==(int) cmtpath.npos) break; - } - } - else { - app.addLibraryPath("/usr/local/share/qatplugins"); - } - - PresenterApplication presenter; - - // Get Vis Dirs: - char *visDir=getenv("PRESENTER_VIS_DIR"); - if (visDir) { - char *thisDir=strtok(visDir,(char *)":"); - while (thisDir) { - presenter.addVisFunctionDirectory(thisDir); - thisDir=strtok(NULL, (char *) ":"); - } - } - else { - presenter.addVisFunctionDirectory("/usr/local/share/"); - } - - presenter.readVisFunctions(); - - if (argc==1) { - } - else if ((argc==2) && std::string(argv[1]).find(".pres")!=std::string::npos) { - presenter.load(argv[1]); - } - else { - for (int c=1;c<argc;c++) { - presenter.open(argv[c]); - } - } - presenter.show(); - return app.exec(); -} diff --git a/graphics/Qat/QatSpreadsheetSystem/CMakeLists.txt b/graphics/Qat/QatSpreadsheetSystem/CMakeLists.txt deleted file mode 100644 index b615a38d7095433d05798c8193b67c86bd9fc96a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSpreadsheetSystem/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# Package: QatSpreadsheetSystem -################################################################################ - -# Declare the package name: -atlas_subdir( QatSpreadsheetSystem ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - graphics/Qat/QatBase - graphics/Qat/QatDataAnalysis - graphics/Qat/QatSystemInterfaces ) - -# External dependencies: -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Install files from the package: -atlas_install_headers( QatSpreadsheetSystem ) - diff --git a/graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystem.h b/graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystem.h deleted file mode 100644 index d7dc709dafcac7c388f503cb2c00ec30bfda90fb..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystem.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef _SPREADSHEETSYSTEM_H_ -#define _SPREADSHEETSYSTEM_H_ -#include <QatSystemInterfaces/SystemInterface.h> -#include <QtGui/QWidget> -class HistogramManager; -class SpreadsheetSystem:public DASystem { -public: - - SpreadsheetSystem(); - - virtual ~SpreadsheetSystem(); - - virtual QString name() { return QString("SpreadsheetSystem");} - - virtual QWidget *mainWidget() const; - - virtual QWidget *toolWidget() const; - - virtual void update(); - - virtual QByteArray saveState(); - - virtual void restoreFromState (QByteArray ba); - - virtual SpreadsheetSystem *clone() const; - - - private: - - // It is illegal to copy or assign: - SpreadsheetSystem(const SpreadsheetSystem &); - SpreadsheetSystem & operator=(const SpreadsheetSystem &); - - - // Internal: - class Clockwork; - Clockwork *c; -}; - -class SpreadsheetSystemFactory : public QObject, public SystemFactoryInterface - { - Q_OBJECT - Q_INTERFACES(SystemFactoryInterface) - - public: - - - virtual DASystem *newSystem() const; - - }; - -#endif diff --git a/graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystemMainWidget.h b/graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystemMainWidget.h deleted file mode 100644 index c7b69cdaa94f6b71183d7be736049ae3a49e2888..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSpreadsheetSystem/QatSpreadsheetSystem/SpreadsheetSystemMainWidget.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef _SPREADSHEETSYSTEMMAINWIDGET_H_ -#define _SPREADSHEETSYSTEMMAINWIDGET_H_ -class Table; -class QTableWidgetItem; -class SpreadsheetSystem; -#include <QtGui/QWidget> -namespace Ui { - class SpreadsheetSystemMainWidget; -} - -class SpreadsheetSystemMainWidget: public QWidget { - - Q_OBJECT - - public: - - // Constructor: - SpreadsheetSystemMainWidget(QWidget *parent=NULL,SpreadsheetSystem *system=NULL); - - // Destructor: - ~SpreadsheetSystemMainWidget(); - - int getPosition() const; - int getNRows() const; - - const Table * table() const; - void setTable (const Table * table); - - Ui::SpreadsheetSystemMainWidget & ui(); - - public slots: - - void increment(); - void decrement(); - void changeNRows(int i); - void changePosition(int i); - void update(); - void edit (QTableWidgetItem *item); - - private: - - class Clockwork; - Clockwork *c; - -}; - -#endif diff --git a/graphics/Qat/QatSpreadsheetSystem/src/QatSpreadsheetSystem.pro b/graphics/Qat/QatSpreadsheetSystem/src/QatSpreadsheetSystem.pro deleted file mode 100644 index b1a7ed8dc334b173a890d50d74f29a4df335aa08..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSpreadsheetSystem/src/QatSpreadsheetSystem.pro +++ /dev/null @@ -1,20 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon May 2 09:49:50 2011 -###################################################################### - -TEMPLATE = lib plugin -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotWidgets ../../QatSystemInterfaces ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis ../../QatPresenter -DESTDIR=../../../plugins -CONFIG += plugin debug -LIBS += -L../../../lib -L/usr/local/lib -lQatPresenter -lQatSystemInterfaces -lQatPlotWidgets -lQatPlotting -l QatDataModeling -lQatDataAnalysis -lCLHEP -lgfortran -FORMS=SpreadsheetSystemMainWidget.ui - -SOURCES += SpreadsheetSystem.cpp SpreadsheetSystemMainWidget.cpp -HEADERS += ../QatSpreadsheetSystem/SpreadsheetSystem.h ../QatSpreadsheetSystem/SpreadsheetSystemMainWidget.h - -INSTALLS += target -target.path=/usr/local/share/qatplugins - - diff --git a/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystem.cpp b/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystem.cpp deleted file mode 100644 index 2555250b1718ded03b4d85891957bacdca902688..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystem.cpp +++ /dev/null @@ -1,84 +0,0 @@ -#include "QatSpreadsheetSystem/SpreadsheetSystem.h" -#include "QatSpreadsheetSystem/SpreadsheetSystemMainWidget.h" -#include "QatSystemInterfaces/Serializer.h" -#include "QatDataAnalysis/HistogramManager.h" -#include <QObject> -#include <QtGui/QTreeWidget> -#include <stdexcept> -#include <iostream> -#include "ui_SpreadsheetSystemMainWidget.h" - -class SpreadsheetSystemMainWidget; -class SpreadsheetSystem::Clockwork { -public: - SpreadsheetSystemMainWidget *mainWidget; - QWidget *toolWidget; -}; - -SpreadsheetSystem::SpreadsheetSystem ():c(new Clockwork()) { - - c->mainWidget=new SpreadsheetSystemMainWidget(NULL,this); - c->toolWidget = new QWidget(); - -} - -SpreadsheetSystem::~SpreadsheetSystem() { - delete c; -} - -QWidget *SpreadsheetSystem::mainWidget() const { - return c->mainWidget; -} - -QWidget *SpreadsheetSystem::toolWidget() const { - return c->toolWidget; -} - - -void SpreadsheetSystem::update() { - - if (tableSet()->size()==1) { - const Table *table=(*tableSet())[0]; - c->mainWidget->setTable(table); - } - else { - c->mainWidget->setTable(NULL); - } - - c->mainWidget->update(); - - -} - - - -QByteArray SpreadsheetSystem::saveState() { - Serializer serializer(0); - serializer.save(c->mainWidget->ui().nRowsSpinBox); - serializer.save(c->mainWidget->ui().positionSpinBox); - // serializer.save(presenterTreeWidget()); - return serializer.result(); -} - -void SpreadsheetSystem::restoreFromState (QByteArray ba){ - - Deserializer state(ba); - if (state.version()!=0) throw std::runtime_error ("Wrong version code in SpreadsheetSystem::restoreFromState"); - state.restore(c->mainWidget->ui().nRowsSpinBox); - state.restore(c->mainWidget->ui().positionSpinBox); - //state.restore(presenterTreeWidget()); -} - - - -//=====================Boilerplate======================// - -SpreadsheetSystem *SpreadsheetSystem::clone() const { - return new SpreadsheetSystem(); -} - -DASystem *SpreadsheetSystemFactory::newSystem() const { - return new SpreadsheetSystem(); -} - -Q_EXPORT_PLUGIN2(SpreadsheetSystemPlugin, SpreadsheetSystemFactory) diff --git a/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.cpp b/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.cpp deleted file mode 100644 index 0aa2fdb97b1f6cc8300f2e874d0764f1717c2126..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.cpp +++ /dev/null @@ -1,198 +0,0 @@ -#include "QatSpreadsheetSystem/SpreadsheetSystemMainWidget.h" -#include "QatSpreadsheetSystem/SpreadsheetSystem.h" -#include "QatDataAnalysis/Table.h" -#include <QtGui/QScrollBar> -#include "ui_SpreadsheetSystemMainWidget.h" -#include <iostream> -#include <sstream> -class SpreadsheetSystemMainWidget::Clockwork { - public: - SpreadsheetSystem *system; - int position; - int nRows; - const Table *table; - Ui::SpreadsheetSystemMainWidget ui; -}; - -Ui::SpreadsheetSystemMainWidget & SpreadsheetSystemMainWidget::ui() { - return c->ui; -} - - -SpreadsheetSystemMainWidget::SpreadsheetSystemMainWidget (QWidget *parent,SpreadsheetSystem *system): - QWidget(parent), - c(new Clockwork()){ - c->ui.setupUi(this); - QObject::connect(c->ui.previousButton, SIGNAL(clicked()), this, SLOT(decrement())); - QObject::connect(c->ui.nextButton, SIGNAL(clicked()), this, SLOT(increment())); - QObject::connect(c->ui.nRowsSpinBox, SIGNAL(valueChanged(int)), this, SLOT(changeNRows(int))); - QObject::connect(c->ui.positionSpinBox, SIGNAL(valueChanged(int)), this, SLOT(changePosition(int))); - - c->nRows=c->ui.nRowsSpinBox->value(); - c->position=c->ui.positionSpinBox->value(); - c->system=system; -} - -SpreadsheetSystemMainWidget::~SpreadsheetSystemMainWidget () { - delete c; -} -void SpreadsheetSystemMainWidget::increment() { - // Make double sure: - if (!c->table) return; - - c->position += c->nRows; - if (c->position>= int(c->table->numTuples())-c->nRows) c->position=c->table->numTuples()-c->nRows-1; - c->ui.positionSpinBox->setValue(c->position); -} - -void SpreadsheetSystemMainWidget::decrement() { - // Make double sure: - if (!c->table) return; - - c->position -= c->nRows; - if (c->position<0) c->position=0; - c->ui.positionSpinBox->setValue(c->position); -} - -void SpreadsheetSystemMainWidget::changeNRows(int n) { - // Make double sure: - if (!c->table) return; - - c->nRows=n; - if (c->position>=int(c->table->numTuples())-c->nRows) c->position=c->table->numTuples()-c->nRows-1; - if (c->position<0) c->position=0; - c->ui.positionSpinBox->setValue(c->position); - update(); -} - -void SpreadsheetSystemMainWidget::changePosition(int p) { - - // Make double sure: - if (!c->table) return; - - c->position=p; - if (c->position>=int(c->table->numTuples())-c->nRows) c->position=c->table->numTuples()-c->nRows-1; - if (c->position<0) c->position=0; - c->ui.positionSpinBox->setValue(c->position); - update(); -} - -const Table * SpreadsheetSystemMainWidget::table() const { - return c->table; -} - -void SpreadsheetSystemMainWidget::setTable (const Table * table) { - - c->ui.positionSpinBox->setEnabled(table); - c->ui.nRowsSpinBox->setEnabled(table); - c->ui.nextButton->setEnabled(table); - c->ui.nextButton->setEnabled(table); - if (table) c->ui.tableNameLabel->setText(table->name().c_str()); - else c->ui.tableNameLabel->setText(""); - - - c->table=table; -} - -int SpreadsheetSystemMainWidget::getNRows() const { - return c->nRows; -} - -int SpreadsheetSystemMainWidget::getPosition() const { - return c->position; -} - - -void SpreadsheetSystemMainWidget::update() { - - int scrollPosition=c->ui.tableWidget->horizontalScrollBar()->value(); - c->ui.tableWidget->clear(); - c->ui.tableWidget->setRowCount(0); - c->ui.tableWidget->setColumnCount(0); - c->ui.tableWidget->update(); - - if (!c->table) { - return; - } - - - unsigned int startRow=getPosition(); - unsigned int numRows =getNRows(); - - c->ui.tableWidget->setRowCount(numRows); - c->ui.tableWidget->setColumnCount(c->table->numAttributes()); - - - for (int a=0;a<c->nRows;a++) { - QTableWidgetItem *vh = new QTableWidgetItem(); - std::ostringstream tStream; - tStream << a+startRow; - vh->setText(tStream.str().c_str()); - c->ui.tableWidget->setVerticalHeaderItem(a,vh); - } - - - for (unsigned int n=0;n<c->table->numAttributes();n++) { - const Attribute & attribute=c->table->attribute(n); - - QTableWidgetItem *item = new QTableWidgetItem(); - item->setText(attribute.name().c_str()); - c->ui.tableWidget->setHorizontalHeaderItem(n,item); - for (unsigned int a=0;a<numRows;a++) { - if (a+startRow < c->table->numTuples()) { - float F=0; - double D=0; - int I=0; - unsigned int UI=0; - - if (attribute.type()==Attribute::FLOAT) { - - c->table->read(a+startRow, attribute.name(), F); - std::ostringstream output; - output << F; - QTableWidgetItem *item = new QTableWidgetItem(); - item->setText(output.str().c_str()); - c->ui.tableWidget->setItem(a, n, item); - - } - if (attribute.type()==Attribute::DOUBLE) { - c->table->read(a+startRow, attribute.name(), D); - std::ostringstream output; - output << D; - QTableWidgetItem *item = new QTableWidgetItem(); - item->setText(output.str().c_str()); - c->ui.tableWidget->setItem(a, n, item); - - } - else if (attribute.type()==Attribute::INT) { - c->table->read(a+startRow, attribute.name(), I); - std::ostringstream output; - output << I; - QTableWidgetItem *item = new QTableWidgetItem(); - item->setText(output.str().c_str()); - c->ui.tableWidget->setItem(a, n, item); - - } - else if (attribute.type()==Attribute::UINT) { - c->table->read(a+startRow, attribute.name(), UI); - std::ostringstream output; - output << UI; - QTableWidgetItem *item = new QTableWidgetItem(); - item->setText(output.str().c_str()); - c->ui.tableWidget->setItem(a, n, item); - } - } - } - } - - for (unsigned int n=0;n<c->table->numAttributes();n++) { - c->ui.tableWidget->resizeColumnToContents(n); - } - c->ui.tableWidget->horizontalScrollBar()->setValue(scrollPosition); - -} - -void SpreadsheetSystemMainWidget::edit (QTableWidgetItem* /*item*/) { -// Not yet implemented but needed to satisfy linking on MacOSX -} - diff --git a/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.ui b/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.ui deleted file mode 100644 index da0dfdef9c486c8f2cea0a2a598c56fbe91bd751..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSpreadsheetSystem/src/SpreadsheetSystemMainWidget.ui +++ /dev/null @@ -1,99 +0,0 @@ -<ui version="4.0" > - <class>SpreadsheetSystemMainWidget</class> - <widget class="QWidget" name="SpreadsheetSystemMainWidget" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>676</width> - <height>516</height> - </rect> - </property> - <property name="windowTitle" > - <string>Spreadsheet System</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="0" column="1" > - <widget class="QLabel" name="tableNameLabel" > - <property name="font" > - <font> - <pointsize>17</pointsize> - </font> - </property> - <property name="text" > - <string>Table:</string> - </property> - </widget> - </item> - <item row="1" column="0" colspan="6" > - <widget class="QTableWidget" name="tableWidget" /> - </item> - <item row="2" column="3" > - <widget class="QSpinBox" name="nRowsSpinBox" > - <property name="value" > - <number>20</number> - </property> - </widget> - </item> - <item row="2" column="5" > - <widget class="QSpinBox" name="positionSpinBox" > - <property name="maximum" > - <number>1000000000</number> - </property> - <property name="minimum" > - <number>0</number> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QPushButton" name="nextButton" > - <property name="text" > - <string>Next</string> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QPushButton" name="previousButton" > - <property name="text" > - <string>Previous</string> - </property> - </widget> - </item> - <item row="2" column="2" > - <widget class="QLabel" name="nRowsLabel" > - <property name="text" > - <string>Rows</string> - </property> - <property name="alignment" > - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item row="2" column="4" > - <widget class="QLabel" name="positionLabel" > - <property name="text" > - <string>Position</string> - </property> - <property name="alignment" > - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> - </item> - </layout> - </widget> - <tabstops> - <tabstop>tableWidget</tabstop> - <tabstop>previousButton</tabstop> - <tabstop>nextButton</tabstop> - <tabstop>nRowsSpinBox</tabstop> - <tabstop>positionSpinBox</tabstop> - </tabstops> - <resources/> - <connections/> -</ui> diff --git a/graphics/Qat/QatSystemInterfaces/CMakeLists.txt b/graphics/Qat/QatSystemInterfaces/CMakeLists.txt deleted file mode 100644 index d23161a6d8aec3d0b2f401821a96f1ecc63aa654..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSystemInterfaces/CMakeLists.txt +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# Package: QatSystemInterfaces -################################################################################ - -# Declare the package name: -atlas_subdir( QatSystemInterfaces ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PRIVATE - graphics/Qat/QatPlotWidgets - graphics/Qat/QatPlotting ) - -# External dependencies: -find_package( Qt4 COMPONENTS QtCore QtOpenGL QtGui ) - -# Generate UI files automatically: -set( CMAKE_AUTOUIC TRUE ) -# Generate MOC files automatically: -set( CMAKE_AUTOMOC TRUE ) -# Generate resource files automatically: -set( CMAKE_AUTORCC TRUE ) -# to let CMake find .h files automatically-generated from .ui files -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -include_directories( /usr/X11R6/include ) - -# Remove the --as-needed linker flags: -atlas_disable_as_needed() - -# Component(s) in the package: -atlas_add_library( QatSystemInterfaces QatSystemInterfaces/*.h src/*.h src/*.c* src/*.qrc - PUBLIC_HEADERS QatSystemInterfaces - INCLUDE_DIRS ${QT4_INCLUDE_DIRS} - LINK_LIBRARIES ${QT4_LIBRARIES} GL - PRIVATE_LINK_LIBRARIES QatPlotWidgets QatPlotting ) - diff --git a/graphics/Qat/QatSystemInterfaces/Changelog b/graphics/Qat/QatSystemInterfaces/Changelog deleted file mode 100644 index d2a192df93ea2a77832aeb222b1da3cac447be9a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSystemInterfaces/Changelog +++ /dev/null @@ -1,6 +0,0 @@ -2016-10-03 Shaun Roe - * Create Changelog - * fix coverity: -16353 09/07/2014 (Medium) Dereference after null check :/graphics/Qat/QatSystemInterfaces/src/Serializer.cpp in function "restore" - * tag as QatSystemInterfaces-00-00-07 - diff --git a/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/HistoLocator.h b/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/HistoLocator.h deleted file mode 100644 index 581c84d55f4f401d03b3f0fd0eef7b27b030538a..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/HistoLocator.h +++ /dev/null @@ -1,112 +0,0 @@ -#ifndef QATSYSTEMINTERFACES_HISTOLOCATOR_H -#define QATSYSTEMINTERFACES_HISTOLOCATOR_H - -class HistoLocator1D { - - public: - - // Constructor: - HistoLocator1D(){}; - - // Destructor: - ~HistoLocator1D(){}; - - // Insert - void insert(const Hist1D *histo, std::string & name) { - m_histoMap[histo]=name; - m_nameMap [name ]=histo; - } - - // Find forward - const std::string *find (const Hist1D *histo) const { - std::map<const Hist1D *, std::string>::const_iterator h=m_histoMap.find(histo); - return h==m_histoMap.end() ? NULL : & (*h).second; - } - - // Find reverse - const Hist1D *find (const std::string & name) const { - std::map<std::string, const Hist1D *>::const_iterator h=m_nameMap.find(name); - return h==m_nameMap.end() ? NULL : (*h).second; - } - - private: - - std::map<const Hist1D *, std::string> m_histoMap; - std::map<std::string, const Hist1D *> m_nameMap; - -}; - - -class HistoLocator2D { - - public: - - // Constructor: - HistoLocator2D(){}; - - // Destructor: - ~HistoLocator2D(){}; - - // Insert - void insert(const Hist2D *histo, std::string & name) { - m_histoMap[histo]=name; - m_nameMap [name ]=histo; - } - - // Find forward - const std::string *find (const Hist2D *histo) const { - std::map<const Hist2D *, std::string>::const_iterator h=m_histoMap.find(histo); - return h==m_histoMap.end() ? NULL : & (*h).second; - } - - // Find reverse - const Hist2D *find (const std::string & name) const { - std::map<std::string, const Hist2D *>::const_iterator h=m_nameMap.find(name); - return h==m_nameMap.end() ? NULL : (*h).second; - } - - private: - - std::map<const Hist2D *, std::string> m_histoMap; - std::map<std::string, const Hist2D *> m_nameMap; - -}; - - - -class VisFunctionLocator { - - public: - - // Constructor: - VisFunctionLocator(){}; - - // Destructor: - ~VisFunctionLocator(){}; - - // Insert - void insert(const VisFunction *vis, std::string & name) { - m_visMap[vis]=name; - m_nameMap [name ]=vis; - } - - // Find forward - const std::string *find (const VisFunction *vis) const { - std::map<const VisFunction *, std::string>::const_iterator h=m_visMap.find(vis); - return h==m_visMap.end() ? NULL : & (*h).second; - } - - // Find reverse - const VisFunction *find (const std::string & name) const { - std::map<std::string, const VisFunction *>::const_iterator h=m_nameMap.find(name); - return h==m_nameMap.end() ? NULL : (*h).second; - } - - private: - - std::map<const VisFunction *, std::string> m_visMap; - std::map<std::string, const VisFunction *> m_nameMap; - -}; - -#endif diff --git a/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/Serializer.h b/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/Serializer.h deleted file mode 100644 index b1ac8a57f86cac438fe75c7294ee30b72d9ccdf9..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/Serializer.h +++ /dev/null @@ -1,92 +0,0 @@ -#ifndef QATSYSTEMINTERFACES_SERIALIZER_H -#define QATSYSTEMINTERFACES_SERIALIZER_H -#include <QtCore/QByteArray> -#include <QtGui/QSpinBox> -#include <QtGui/QTreeWidget> -#include <QtGui/QTextEdit> -#include <string> -class PlotHist1DProperties; -class PlotHist2DProperties; -class PlotFunction1DProperties; - -class PlotView; -// This is a helper class for Serialization. The design -// is taken from VP1 (Kittelmann & al.) - -class Serializer { - - public: - - // Constructor: - Serializer(unsigned int version); - - - // Destructor: - ~Serializer(); - - // Get the result: - QByteArray result() const; - - // Save methods, builtin types: - void save(bool); - void save(int); - void save(unsigned int); - void save(double); - void save(const std::string & name); - - // Save methods, Widgets - void save(QSpinBox *); - void save(QTreeWidget *); - void save(QTreeWidgetItem *); - void save(PlotView *); - void save(const PlotHist1DProperties & prop); - void save(const PlotHist2DProperties & prop); - void save(const PlotFunction1DProperties & prop); - void save(QTextEdit *); - - private: - - - class Clockwork; - Clockwork *m_c; - -}; - -class Deserializer { - -public: - - // Constructor: - Deserializer(const QByteArray &); - - - // Destructor: - ~Deserializer(); - - // Access Version: - unsigned int version() const; - - // Restore methods, builtin types: - void restore(bool &); - void restore(int &); - void restore(unsigned int &); - void restore(double &); - void restore(std::string & name); - - // Restore methods, Widgets - void restore(QSpinBox *); - void restore(QTreeWidget *); - void restore(QTreeWidgetItem *, bool &mismatch, const std::string & s0, const std::string & s1); - void restore(PlotView *); - void restore(PlotHist1DProperties & prop); - void restore(PlotHist2DProperties & prop); - void restore(PlotFunction1DProperties & prop); - void restore(QTextEdit *); - -private: - - class Clockwork; - Clockwork *m_c; -}; - -#endif diff --git a/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/SystemInterface.h b/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/SystemInterface.h deleted file mode 100644 index 72b43611fab24da203654df50e4e9b19d1dfd359..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSystemInterfaces/QatSystemInterfaces/SystemInterface.h +++ /dev/null @@ -1,151 +0,0 @@ -#ifndef SYSTEMINTERFACE_H_ -#define SYSTEMINTERFACE_H_ -#include <QtPlugin> -#include <QtCore/QByteArray> -class Hist1D; -class Hist2D; -class VisFunction; -class Table; -class QTreeWidget; -class QTreeWidgetItem; -class QTextEdit; -class HistogramManager; -#include <vector> -#include <map> - -typedef std::vector<const Hist1D *> Hist1DSet; -typedef std::vector<const Hist2D *> Hist2DSet; -typedef std::vector<const Table *> TableSet; -typedef std::vector<const VisFunction *> VisFunctionSet; -typedef std::map<QTreeWidgetItem *, const HistogramManager *> ConstHistManMap; -typedef std::map<QTreeWidgetItem *, HistogramManager *> HistManMap; - -#include "QatSystemInterfaces/HistoLocator.h" - -class DASystem : public QObject{ - - Q_OBJECT - - - public: - - // Constructor: - DASystem(); - - // Destructor: - virtual ~DASystem(); - - // Get the name of the system. - virtual QString name() { return QString("Base System");} - - // Get the main widget: - virtual QWidget * mainWidget() const=0; - - // Tell the system to update: - virtual void update() = 0; - - // Attribute some 1D histograms to this system: - void setHist1DSet (Hist1DSet *); - - // Attribute some 2D histograms to this system: - void setHist2DSet (Hist2DSet *); - - // Set the Vis function set: - void setVisFunctionSet (VisFunctionSet *); - - // Attribute some 2D histograms to this system: - void setTableSet (TableSet *); - - // Get the 1D Histograms: - const Hist1DSet * hist1DSet() const; - - // Get the 2D Histograms: - const Hist2DSet * hist2DSet() const; - - // Get the 1D Histograms: - const VisFunctionSet * visFunctionSet() const; - - // Get the Tables: - const TableSet * tableSet() const; - - // Save the state - virtual QByteArray saveState()=0; - - // Restore the state - virtual void restoreFromState (QByteArray ba)=0; - - // Get the presenter's tree widget: - QTreeWidget *presenterTreeWidget() const; - - // Set the presenter's tree widget: - void setPresenterTreeWidget(QTreeWidget *); - - // Get the presenter's message text edit: - QTextEdit *presenterMessageTextEdit() const; - - // Set the presenter's mesage text edit: - void setPresenterMessageTextEdit(QTextEdit *); - - // Get the presenter's H1 Locator: - HistoLocator1D *presenterH1Locator() const; - - // Set the presenter's H1 Locator: - void setPresenterH1Locator(HistoLocator1D *); - - // Get the presenter's H2 Locator: - HistoLocator2D *presenterH2Locator() const; - - // Set the presenter's H2 Locator: - void setPresenterH2Locator(HistoLocator2D *); - - // Get the presenter's VisFunction Locator: - VisFunctionLocator *presenterVisFunctionLocator() const; - - // Set the presenter's H2 Locator: - void setPresenterVisFunctionLocator(VisFunctionLocator *); - - virtual DASystem *clone() const =0; - - virtual void dblClicked1D(const Hist1D *); - virtual void dblClicked2D(const Hist2D *); - virtual void dblClickedMan(const HistogramManager*); - virtual void dblClickedVisFunction(const VisFunction *); - - // Return the tool box widget. - virtual QWidget *toolWidget() const { return NULL;} - - - // Save the state - virtual QByteArray saveCache() { return saveState();} - - // Restore the state - virtual void restoreFromCache (QByteArray ba) { restoreFromState(ba); }; - - - private: - - // Illegal operations: - DASystem(const DASystem &); - DASystem & operator=(const DASystem &); - - class Clockwork; - Clockwork *m_c; - -}; - -class QWidget; -class SystemFactoryInterface - { - - public: - - virtual ~SystemFactoryInterface(); - - virtual DASystem *newSystem() const = 0; - - }; - -Q_DECLARE_INTERFACE(SystemFactoryInterface, "UPVS.SystemFactoryInterface/1.0") - -#endif - diff --git a/graphics/Qat/QatSystemInterfaces/src/QatSystemInterfaces.pro b/graphics/Qat/QatSystemInterfaces/src/QatSystemInterfaces.pro deleted file mode 100644 index df206bef59e6f37b2ee7189c6dc649cc86ce1b31..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSystemInterfaces/src/QatSystemInterfaces.pro +++ /dev/null @@ -1,25 +0,0 @@ - -###################################################################### -# Automatically generated by qmake (2.01a) Sun Oct 19 02:42:55 2008 -###################################################################### - -TEMPLATE = lib -TARGET = -DEPENDPATH += . -INCLUDEPATH += . .. ../../QatPlotWidgets ../../QatPlotting ../../QatDataModelling ../../QatDataAnalysis ../../QatSystemInterfaces -DESTDIR=../../../lib -CONFIG += qt debug -# Input -HEADERS += ../QatSystemInterfaces/HistoLocator.h \ - ../QatSystemInterfaces/Serializer.h \ - ../QatSystemInterfaces/SystemInterface.h - -SOURCES += Serializer.cpp \ - SystemInterface.cpp -LIBS=-L/usr/local/lib -lQatPlotWidgets -lQatPlotting -lQatDataModeling -lQatDataAnalysis -lCLHEP -target.path=/usr/local/lib -headers.path=/usr/local/include/QatSystemInterfaces -headers.files= ../QatSystemInterfaces/*.h ../QatSystemInterfaces/*.icc - -INSTALLS += target -INSTALLS += headers diff --git a/graphics/Qat/QatSystemInterfaces/src/Serializer.cpp b/graphics/Qat/QatSystemInterfaces/src/Serializer.cpp deleted file mode 100644 index 78e5ceafe62122c14d26daaf7da6b2a75ccb28f1..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSystemInterfaces/src/Serializer.cpp +++ /dev/null @@ -1,516 +0,0 @@ -#include "QatSystemInterfaces/Serializer.h" -#include "QatPlotWidgets/PlotView.h" -#include "QatPlotting/PlotStream.h" -#include "QatPlotting/PlotHist1DProperties.h" -#include "QatPlotting/PlotFunction1DProperties.h" -#include "QatPlotting/PlotHist2DProperties.h" -#include <QtCore/QByteArray> -#include <QtCore/QBuffer> -#include <QtCore/QDataStream> -#include <QtGui/QTextEdit> -#include <QtGui/QMessageBox> -#include <stdexcept> -#include <iostream> -class Serializer::Clockwork { -public: - QByteArray byteArray; - QBuffer *buffer; - QDataStream *state; - QTreeWidget *treeWidget; - QTreeWidgetItem *currentItem; -}; - -class Deserializer::Clockwork { -public: - QByteArray byteArray; - QBuffer *buffer; - QDataStream *state; - unsigned int version; - - QTreeWidget *treeWidget; - QTreeWidgetItem *currentItem; -}; - - -Serializer::Serializer (unsigned int version) :m_c(new Clockwork()){ - m_c->buffer = new QBuffer(&m_c->byteArray); - m_c->buffer->open(QIODevice::WriteOnly); - m_c->state = new QDataStream(m_c->buffer); - m_c->treeWidget=NULL; - m_c->currentItem=NULL; - save(version); -} - -Deserializer::Deserializer(const QByteArray &ba):m_c(new Clockwork()){ - m_c->byteArray=ba; - m_c->buffer=new QBuffer(&m_c->byteArray); - if (!m_c->buffer->open(QIODevice::ReadOnly)) { - delete m_c->buffer; - m_c->buffer=NULL; - throw std::runtime_error("Cannot Deserialize!"); - } - else { - m_c->state=new QDataStream(m_c->buffer); - restore(m_c->version); - } - m_c->treeWidget=NULL; - m_c->currentItem=NULL; -} - - - -Serializer::~Serializer () { - - m_c->buffer->close(); - delete m_c->state; - delete m_c->buffer; - - delete m_c; -} - -Deserializer::~Deserializer(){ - if (m_c->buffer) { - if (!m_c->buffer->atEnd()) { - std::cout << "Warning, buffer not at end" << std::endl; - } - m_c->buffer->close(); - } - delete m_c->state; - delete m_c->buffer; - delete m_c; -} - - -unsigned int Deserializer::version() const{ - return m_c->version; -} - -QByteArray Serializer::result() const { - return m_c->byteArray; -} - -//==================int========================= - -void Serializer::save(unsigned int i) { - (*m_c->state) << i; -} - - -void Deserializer::restore(unsigned int & i){ - (*m_c->state) >> i; -} - -//==================int========================= -void Serializer::save(int i) { - (*m_c->state) << i; -} - -void Deserializer::restore(int & i){ - (*m_c->state) >> i; -} - - -//==================double========================= -void Serializer::save(double d) { - (*m_c->state) << d; -} - -void Deserializer::restore(double & d){ - (*m_c->state) >> d; -} - -//==================bool========================= - -void Serializer::save(bool i) { - (*m_c->state) << i; -} - -void Deserializer::restore(bool & b){ - (*m_c->state) >> b; -} - -//==================std::string========================= - -void Serializer::save(const std::string & name) { - QString nameString=QString::fromStdString(name); - (*m_c->state) << nameString; -} -void Deserializer::restore(std::string & name){ - - QString nameString; - (*m_c->state) >> nameString; - name = nameString.toStdString(); - -} - -//==QTextEdit==// -void Serializer::save(QTextEdit *tE) { - (*m_c->state) << tE->document()->toHtml(); -} -void Deserializer::restore(QTextEdit *tE) { - QString html; - (*m_c->state) >> html; - tE->clear(); - tE->append(html); -} - - -//==PlotView==/ -void Serializer::save(PlotView *plotView) { - (*m_c->state) << plotView->titleTextEdit()->document()->toHtml(); - (*m_c->state) << plotView->xLabelTextEdit()->document()->toHtml(); - (*m_c->state) << plotView->yLabelTextEdit()->document()->toHtml(); - (*m_c->state) << plotView->vLabelTextEdit()->document()->toHtml(); - (*m_c->state) << plotView->statTextEdit()->document()->toHtml(); - - QRectF rect; - if (plotView->rect()) (*m_c->state) << *plotView->rect(); - - // Page 1: - (*m_c->state) << plotView->isBox(); - (*m_c->state) << plotView->isLogX(); - (*m_c->state) << plotView->isLogY(); - (*m_c->state) << plotView->isGrid(); - (*m_c->state) << plotView->isXZero(); - (*m_c->state) << plotView->isYZero(); - (*m_c->state) << plotView->statBoxX(); - (*m_c->state) << plotView->statBoxY(); - - - (*m_c->state) << plotView->xAxisFont(); - (*m_c->state) << plotView->yAxisFont(); - - (*m_c->state) << plotView->statBoxX(); - (*m_c->state) << plotView->statBoxY(); - (*m_c->state) << plotView->labelXSizePercentage(); - (*m_c->state) << plotView->labelYSizePercentage(); -} - -void Deserializer::restore(PlotView *plotView) { - { - QString html; - (*m_c->state) >> html; - plotView->titleTextEdit()->clear(); - plotView->titleTextEdit()->append(html); - } - { - QString html; - (*m_c->state) >> html; - plotView->xLabelTextEdit()->clear(); - plotView->xLabelTextEdit()->append(html); - } - { - QString html; - (*m_c->state) >> html; - plotView->yLabelTextEdit()->clear(); - plotView->yLabelTextEdit()->append(html); - } - { - QString html; - (*m_c->state) >> html; - plotView->vLabelTextEdit()->clear(); - plotView->vLabelTextEdit()->append(html); - } - { - QString html; - (*m_c->state) >> html; - plotView->statTextEdit()->clear(); - plotView->statTextEdit()->append(html); - } - - { - QRectF rect; - (*m_c->state) >> rect; - plotView->setRect(rect); - } - - { - bool flag; - (*m_c->state) >> flag; - plotView->setBox(flag); - } - - { - bool flag; - (*m_c->state) >> flag; - plotView->setLogX(flag); - } - - { - bool flag; - (*m_c->state) >> flag; - plotView->setLogY(flag); - } - - { - bool flag; - (*m_c->state) >> flag; - plotView->setGrid(flag); - } - - { - bool flag; - (*m_c->state) >> flag; - plotView->setXZero(flag); - } - - { - bool flag; - (*m_c->state) >> flag; - plotView->setYZero(flag); - } - - - { - qreal x,y; - (*m_c->state) >> x >> y; - plotView->setLabelPos(x,y); - } - - { - QFont font; - (*m_c->state) >> font; - plotView->xAxisFont()=font; - } - - - { - QFont font; - (*m_c->state) >> font; - plotView->yAxisFont()=font; - } - - { - qreal x,y, w, h; - if (version()>=3) { - (*m_c->state) >> x; - (*m_c->state) >> y; - (*m_c->state) >> w; - (*m_c->state) >> h; - plotView->setLabelPos(x,y); - plotView->setLabelXSizePercentage(w); - plotView->setLabelYSizePercentage(h); - } - } - -} - - -//==================QSpinBox========================= - -void Serializer::save(QSpinBox *spinBox) { - (*m_c->state) << spinBox->value(); -} - -void Deserializer::restore(QSpinBox *spinBox){ - int value; - (*m_c->state) >> value; - spinBox->setValue(value); -} - -struct ItemRep { - std::string s0; - std::string s1; - bool isSelected; - bool isExpanded; - int childCount; -}; - -class MatchItem { -public: - MatchItem(QTreeWidgetItem *item):m_item(item) {;} - bool operator () (const ItemRep & rep) { - return rep.s0==m_item->text(0).toStdString() && rep.s1==m_item->text(1).toStdString(); - } -private: - QTreeWidgetItem *m_item; -}; - - - -//==================QTreeWidget========================= - -void Serializer::save(QTreeWidget * treeWidget) { - //Prepare: - m_c->treeWidget = treeWidget; - m_c->currentItem = treeWidget->currentItem(); - - // Go: - save(treeWidget->headerItem()->text(0).toStdString()); - save(treeWidget->headerItem()->text(1).toStdString()); - QList<QTreeWidgetItem *> itemList=treeWidget->findItems("*", Qt::MatchWildcard); - save (itemList.size()); - for (int i=0;i<itemList.size();i++) { - save(itemList[i]); - } - - // End: - m_c->treeWidget = NULL; - m_c->currentItem = NULL; -} - -void Deserializer::restore(QTreeWidget *treeWidget){ - //Prepare: - m_c->treeWidget = treeWidget; - m_c->currentItem = treeWidget->currentItem(); - - // Go: - { std::string s; restore(s) ; treeWidget->headerItem()->setText(0, s.c_str());}; - { std::string s; restore(s) ; treeWidget->headerItem()->setText(1, s.c_str());}; - - int size ; restore(size); - - - for (int i=0;i<size;i++) { - - // Peak-------------- - std::string s0,s1; - restore(s0); - restore(s1); - //-------------------- - bool mismatch=false; - - QList<QTreeWidgetItem *> items=treeWidget->findItems(s0.c_str(), Qt::MatchExactly, 0); - QTreeWidgetItem *item = items.size()==1 ? items[0]:NULL; - - // if (!item) { - // std::ostringstream warningStream; - // warningStream << "The input " << s0 << " has not been loaded or cannot be located."; - // QMessageBox::warning(0, - // "Present", - // warningStream.str().c_str(), - // QMessageBox::Ok); - //} - - - // QTreeWidgetItem *item = treeWidget->topLevelItem(i); - - - if (!item){ - mismatch=true; - } else{ - restore(item, mismatch,s0,s1); //item gets dereferenced in restore - } - if (m_c->buffer->atEnd()) break; - if (mismatch) i--; - - } - - // End: - m_c->treeWidget = NULL; - m_c->currentItem = NULL; -} - -//==================QTreeWidgetItem========================= - -void Serializer::save(QTreeWidgetItem * treeWidgetItem) { - save(treeWidgetItem->text(0).toStdString()); - save(treeWidgetItem->text(1).toStdString()); - save(treeWidgetItem->isSelected()); - save(treeWidgetItem->isExpanded()); - save(treeWidgetItem->childCount()); - for (int i=0;i<treeWidgetItem->childCount();i++) { - save(treeWidgetItem->child(i)); - } -} - -void Deserializer::restore(QTreeWidgetItem *item, bool & mismatch, - const std::string & s0, - const std::string & s1){ - ItemRep rep; - // restore(rep.s0); - // restore(rep.s1); - rep.s0=s0; - rep.s1=s1; - - restore(rep.isSelected); - restore(rep.isExpanded); - restore(rep.childCount); - - if (!mismatch && rep.s0!=item->text(0).toStdString()) { - mismatch=1; - } - if (!mismatch) { - item->setExpanded(rep.isExpanded); - item->setSelected(rep.isSelected); - } - - for (int i=0;i<rep.childCount;i++) { - - std::string s0,s1; // shadowing input parameters. - restore(s0); - restore(s1); - - - QTreeWidgetItem *next = NULL; - if (!mismatch) { - - //next = item->child(i); - - for (int c=0;c<item->childCount();c++) { - QTreeWidgetItem *testItem=item->child(c); - if (testItem->text(0).toStdString()==s0) { - next=testItem; - break; - } - } - - //QList<QTreeWidgetItem *> items=item->findItems(s0.c_str(), Qt::MatchExactly, 0); - //next = items.size()==1 ? items[0]:NULL; - - - } - - restore(next, mismatch,s0,s1); - } - - -} - - -void Deserializer::restore (PlotHist1DProperties & prop) { - (*m_c->state) >> prop.pen; - (*m_c->state) >> prop.brush; - - int plotStyle; - (*m_c->state) >> plotStyle; - prop.plotStyle= PlotHist1DProperties::PlotStyle(plotStyle); - - int symbolStyle; - (*m_c->state) >> symbolStyle; - prop.symbolStyle=PlotHist1DProperties::SymbolStyle(symbolStyle); - (*m_c->state) >> prop.symbolSize; - -} - -void Deserializer::restore (PlotFunction1DProperties & prop) { - (*m_c->state) >> prop.pen; - (*m_c->state) >> prop.brush; - -} - -void Deserializer::restore (PlotHist2DProperties & prop) { - (*m_c->state) >> prop.pen; - (*m_c->state) >> prop.brush; -} - - -void Serializer::save (const PlotHist1DProperties & prop) { - (*m_c->state) << prop.pen; - (*m_c->state) << prop.brush; - (*m_c->state) << (int) prop.plotStyle; - (*m_c->state) << (int) prop.symbolStyle; - (*m_c->state) << prop.symbolSize; - -} - -void Serializer::save (const PlotFunction1DProperties & prop) { - (*m_c->state) << prop.pen; - (*m_c->state) << prop.brush; -} - -void Serializer::save (const PlotHist2DProperties & prop) { - (*m_c->state) << prop.pen; - (*m_c->state) << prop.brush; -} - diff --git a/graphics/Qat/QatSystemInterfaces/src/SystemInterface.cpp b/graphics/Qat/QatSystemInterfaces/src/SystemInterface.cpp deleted file mode 100644 index 40c91cbb29f4a7caacf63102e4407dc964c553d8..0000000000000000000000000000000000000000 --- a/graphics/Qat/QatSystemInterfaces/src/SystemInterface.cpp +++ /dev/null @@ -1,114 +0,0 @@ -#include "QatSystemInterfaces/SystemInterface.h" -#include "QatDataAnalysis/HistogramManager.h" -SystemFactoryInterface::~SystemFactoryInterface () { -} - -class DASystem::Clockwork { -public: - Hist1DSet *hist1DSet; - Hist2DSet *hist2DSet; - VisFunctionSet *visFunctionSet; - TableSet *tableSet; - QTreeWidget *presenterTreeWidget; - QTextEdit *presenterMessageTextEdit; - HistoLocator1D *presenterH1Locator; - HistoLocator2D *presenterH2Locator; - VisFunctionLocator *presenterVisFunctionLocator; -}; - -DASystem::DASystem():m_c(new Clockwork()){ - m_c->hist1DSet=NULL; - m_c->hist2DSet=NULL; - m_c->visFunctionSet=NULL; - m_c->tableSet =NULL; - m_c->presenterTreeWidget=NULL; - m_c->presenterMessageTextEdit=NULL; - m_c->presenterH1Locator=NULL; - m_c->presenterH2Locator=NULL; - m_c->presenterVisFunctionLocator=NULL; -} - -DASystem::~DASystem() { - delete m_c; -} - -void DASystem::setHist1DSet(Hist1DSet * hist1DSet) { - m_c->hist1DSet=hist1DSet; -} - -void DASystem::setHist2DSet(Hist2DSet * hist2DSet) { - m_c->hist2DSet=hist2DSet; -} - - -void DASystem::setTableSet(TableSet * tableSet) { - m_c->tableSet=tableSet; -} - -void DASystem::setVisFunctionSet(VisFunctionSet * visFunctionSet) { - m_c->visFunctionSet = visFunctionSet; -} - -const Hist1DSet *DASystem::hist1DSet() const { - return m_c->hist1DSet; -} - - -const Hist2DSet *DASystem::hist2DSet() const { - return m_c->hist2DSet; -} - -const VisFunctionSet *DASystem::visFunctionSet() const { - return m_c->visFunctionSet; -} - -const TableSet *DASystem::tableSet() const { - return m_c->tableSet; -} - -QTreeWidget *DASystem::presenterTreeWidget() const { - return m_c->presenterTreeWidget; -} - -void DASystem::setPresenterTreeWidget (QTreeWidget *presenterTreeWidget) { - m_c->presenterTreeWidget=presenterTreeWidget; -} - -QTextEdit *DASystem::presenterMessageTextEdit() const { - return m_c->presenterMessageTextEdit; -} - -void DASystem::setPresenterMessageTextEdit (QTextEdit *presenterMessageTextEdit) { - m_c->presenterMessageTextEdit=presenterMessageTextEdit; -} - - -void DASystem::dblClicked1D(const Hist1D *){;} -void DASystem::dblClicked2D(const Hist2D *){;} -void DASystem::dblClickedMan(const HistogramManager*) {;} -void DASystem::dblClickedVisFunction(const VisFunction*) {;} - - -HistoLocator1D *DASystem::presenterH1Locator() const { - return m_c->presenterH1Locator; -} - -void DASystem::setPresenterH1Locator(HistoLocator1D *locator) { - m_c->presenterH1Locator=locator; -} - -HistoLocator2D *DASystem::presenterH2Locator() const { - return m_c->presenterH2Locator; -} - -void DASystem::setPresenterH2Locator(HistoLocator2D *locator) { - m_c->presenterH2Locator=locator; -} - -VisFunctionLocator *DASystem::presenterVisFunctionLocator() const { - return m_c->presenterVisFunctionLocator; -} - -void DASystem::setPresenterVisFunctionLocator(VisFunctionLocator *locator) { - m_c->presenterVisFunctionLocator=locator; -} diff --git a/graphics/Qat/Qoot/CMakeLists.txt b/graphics/Qat/Qoot/CMakeLists.txt deleted file mode 100644 index 417729864472109a3709c535197cee4495c6fbf2..0000000000000000000000000000000000000000 --- a/graphics/Qat/Qoot/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# Package: Qoot -################################################################################ - -# Declare the package name: -atlas_subdir( Qoot ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PRIVATE - graphics/Qat/QatDataAnalysis ) - -# External dependencies: -find_package( ROOT COMPONENTS Hist Tree RIO Core MathCore pthread ) - -# this line failed automatic conversion in cmt2cmake : -# path_remove DYLD_LIBRARY_PATH "" host-darwin "$(<package>_cmtpath)/InstallArea/${CMTCONFIG}/lib/qatplugins" ; path_append DYLD_LIBRARY_PATH "" host-darwin "$(<package>_cmtpath)/InstallArea/${CMTCONFIG}/lib/qatplugins" - -# Component(s) in the package: -atlas_add_library( Qoot - src/*.cpp - NO_PUBLIC_HEADERS - PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} QatDataAnalysis ) - diff --git a/graphics/Qat/Qoot/Changelog b/graphics/Qat/Qoot/Changelog deleted file mode 100644 index 045bed0e7dbc38164976c5eab3e7950c3d48bd00..0000000000000000000000000000000000000000 --- a/graphics/Qat/Qoot/Changelog +++ /dev/null @@ -1,5 +0,0 @@ -2016-10-04 Shaun Roe - * Created Changelog - * Fix coverity: -16916 09/07/2014 (Medium) Uninitialized scalar field :/graphics/Qat/Qoot/src/RootDriver.cpp in function "RootIOStore" - * tag as Qoot-00-00-07 diff --git a/graphics/Qat/Qoot/grid/Makefile b/graphics/Qat/Qoot/grid/Makefile deleted file mode 100644 index 525f06b7cb3958d0a547001099e2a12f69c79bbd..0000000000000000000000000000000000000000 --- a/graphics/Qat/Qoot/grid/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -prefix = `pwd`/../../../local - -targetdir = ../tmp - - -TMCPPFILES = $(shell find ../src -name "*.cpp" ) -MYCPPFILES = $(patsubst ./%, %, $(TMCPPFILES)) -MYOFILES = $(patsubst ../src/%.cpp, %.o, $(MYCPPFILES)) -DSOFILES = $(patsubst %.cpp, $(targetdir)/IODriver/%.so, $(MYCPPFILES)) - - -override CXXFLAGS += -g -O0 -fPIC -I$(ROOTSYS)/include -I/usr/include/root -I../../QatDataAnalysis/ -I../../../CLHEP/GenericFunctions - -%.o:../src/%.cpp - $(CXX) -c $< -o $@ $(CXXFLAGS) $(CPPFLAGS) - -all : $(targetdir)/IODriver/libQoot.so -$(targetdir)/IODriver/libQoot.so : RootDriver.o - mkdir -p $(targetdir) - mkdir -p $(targetdir)/IODriver - mkdir -p $(targetdir)/IODriver/`dirname $<` - cp $< $(targetdir)/IODriver/`dirname $<` - g++ --shared $< -L$(prefix)/lib -lQatDataAnalysis -lCLHEP-GenericFunctions-2.1.3.1 -L$(ROOTSYS)/lib -lHist -lMatrix -lTree -lRIO -lNet -lMathCore -lCore -lCint -o $@ - rm -f $(targetdir)/IODriver/$< - - -all: $(DSOFILES) - -$(DSOFILES):$(MYOFILES) - - -install: all - mkdir -p $(prefix)/share - cp -r $(targetdir)/IODriver/* $(prefix)/lib - - -uninstall: - rm -f $(prefix)/share/IODriver/libQoot.so - -clean: - rm -r -f $(targetdir)/IODriver RootDriver.o - - -bin:$(DSOFILES) - - -distdir: - mkdir -p "$(distdir)" - find . -name "*.cpp" -exec install -D {} $(distdir)/{} \; - install Makefile.in $(distdir) - -distclean: - rm -r -f $(distdir)/IODriver - - - - - - diff --git a/graphics/Qat/Qoot/src/Makefile b/graphics/Qat/Qoot/src/Makefile deleted file mode 100644 index 438044c1cca01d542b7d9b049b888d3892fcf67b..0000000000000000000000000000000000000000 --- a/graphics/Qat/Qoot/src/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -prefix = /usr/local -rootsys= $(prefix)/root -targetdir = ../tmp - - -TMCPPFILES = $(shell find -name "*.cpp" ) -MYCPPFILES = $(patsubst ./%, %, $(TMCPPFILES)) -MYOFILES = $(patsubst %.cpp, %.o, $(MYCPPFILES)) -DSOFILES = $(patsubst %.cpp, $(targetdir)/IODriver/%.so, $(MYCPPFILES)) - - -override CXXFLAGS += -g -O0 -fPIC -I/usr/include/root -I../.. - -%.cpp.%.o: - $(CXX) -c $< -o $@ $(CXXFLAGS) $(CPPFLAGS) - -all : $(targetdir)/IODriver/libQoot.so -$(targetdir)/IODriver/libQoot.so : RootDriver.o - mkdir -p $(targetdir) - mkdir -p $(targetdir)/IODriver - mkdir -p $(targetdir)/IODriver/`dirname $<` - cp $< $(targetdir)/IODriver/`dirname $<` - g++ --shared $< -L$(prefix)/lib -lQatDataAnalysis -lHist -lMatrix -lTree -lRIO -lNet -lMathCore -lCore -lCint -o $@ - rm -f $(targetdir)/IODriver/$< - - -all: $(DSOFILES) - -$(DSOFILES):$(MYOFILES) - - -install: all - mkdir -p $(prefix)/share - cp -r $(targetdir)/IODriver/* $(prefix)/lib - - -uninstall: - rm -f $(prefix)/share/IODriver/libQoot.so - -clean: - rm -r -f $(targetdir)/IODriver RootDriver.o - - -bin:$(DSOFILES) - - -distdir: - mkdir -p "$(distdir)" - find . -name "*.cpp" -exec install -D {} $(distdir)/{} \; - install Makefile.in $(distdir) - -distclean: - rm -r -f $(distdir)/IODriver - - - - - - diff --git a/graphics/Qat/Qoot/src/Makefile.MAC b/graphics/Qat/Qoot/src/Makefile.MAC deleted file mode 100644 index 5e3b56b392451cdfc98776e97fe65e5c919e59cf..0000000000000000000000000000000000000000 --- a/graphics/Qat/Qoot/src/Makefile.MAC +++ /dev/null @@ -1,59 +0,0 @@ -prefix = /usr/local -rootsys= $(prefix)/root -targetdir = ../tmp - - -TMCPPFILES = RootDriver.cpp -MYCPPFILES = $(patsubst ./%, %, $(TMCPPFILES)) -MYOFILES = $(patsubst %.cpp, %.o, $(MYCPPFILES)) -DSOFILES = $(patsubst %.cpp, $(targetdir)/IODriver/%.so, $(MYCPPFILES)) - - -override CXXFLAGS += -g -O0 -fPIC -I/usr/local/root/include -I../.. - -%.cpp.%.o: - $(CXX) -c $< -o $@ $(CXXFLAGS) $(CPPFLAGS) - -all : $(targetdir)/IODriver/libQoot.so -$(targetdir)/IODriver/libQoot.so : RootDriver.o - mkdir -p $(targetdir) - mkdir -p $(targetdir)/IODriver - mkdir -p $(targetdir)/IODriver/`dirname $<` - cp $< $(targetdir)/IODriver/`dirname $<` - g++ --shared $< -L$(prefix)/lib -lQatDataAnalysis -lCLHEP -L/usr/local/root/lib -lHist -lMatrix -lTree -lRIO -lNet -lMathCore -lCore -lCint -o $@ - rm -f $(targetdir)/IODriver/$< - - -all: $(DSOFILES) - -$(DSOFILES):$(MYOFILES) - - -install: all - mkdir -p $(prefix)/share - cp -r $(targetdir)/IODriver/* $(prefix)/lib - - -uninstall: - rm -f $(prefix)/share/IODriver/libQoot.so - -clean: - rm -r -f $(targetdir)/IODriver RootDriver.o - - -bin:$(DSOFILES) - - -distdir: - mkdir -p "$(distdir)" - find . -name "*.cpp" -exec install -D {} $(distdir)/{} \; - install Makefile.in $(distdir) - -distclean: - rm -r -f $(distdir)/IODriver - - - - - - diff --git a/graphics/Qat/Qoot/src/RootDriver.cpp b/graphics/Qat/Qoot/src/RootDriver.cpp deleted file mode 100755 index 6ef054f17b5017c6c8275cba7d8be7b6d0a588db..0000000000000000000000000000000000000000 --- a/graphics/Qat/Qoot/src/RootDriver.cpp +++ /dev/null @@ -1,620 +0,0 @@ -//---------------------------------------------------------------------------// -// // -// This file is part of the Pittsburgh Visualization System (PVS) // -// // -// Copyright (C) 2004 Joe Boudreau, University of Pittsburgh // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 // -// --------------------------------------------------------------------------// - - -#include "QatDataAnalysis/IODriver.h" -#include "QatDataAnalysis/HistogramManager.h" -#include "QatDataAnalysis/Tuple.h" -#include "TTree.h" -#include "TFile.h" -#include "TList.h" -#include "TLeaf.h" -#include "TH1D.h" -#include "TH2D.h" -#include "TROOT.h" -#include "TKey.h" -#include <ios> -#include <iostream> -#include <fstream> -#include <sstream> -#include <map> -#include <set> -#include <unistd.h> -#include <memory> -#include <stdexcept> -//* -----------------declarations -------------------*// - -class RootDriver: public IODriver { - -public: - - // Constructor: - RootDriver(); - - // Destructor: - ~RootDriver(); - - // New Manager: - virtual HistogramManager *newManager(const std::string & filename) const; - - // OpenManager: - virtual const HistogramManager *openManager(const std::string & filename) const; - - // Writes the Histograms out. - virtual void close (const HistogramManager *mgr) const; - - // Closes the file: - virtual void write (HistogramManager *mgr) const; - - private: - - - void read(HistogramManager * mgr) const; - - mutable std::map<std::string, HistogramManager *> m_mgrMap; - mutable std::map<std::string, TFile *> m_ostrMap; - mutable std::map<std::string, TFile *> m_istrMap; - - mutable TFile *m_o; - mutable TFile *m_i; - -}; - - -// Creation routine: -extern "C" void *RootDriverCreate(); - - - - - - -class RootIOStore: public TupleStore { - -public: - - enum TCode { - Double_c=0, - Int_c, - UInt_c, - Float_c - }; - - // Constructor: - RootIOStore(TTree * tree); - - // For input: - virtual TupleConstLink operator [](size_t i) const; - - // Get the size: - virtual size_t size() const { - return (size_t) m_tree->GetEntries(); - } - - AttributeListConstLink attributeList() const { - return m_internalTable->attributeList(); - } - -private: - - // Destructor: - virtual ~RootIOStore(); - - - - TTree *m_tree; - - Table *m_internalTable; - TupleLink m_internalTuple; - std::vector<std::string> m_nList; - std::vector<TLeaf *> m_lList; - size_t m_nAttributes; - - friend class ImaginaryFriend; - -}; - - -TupleConstLink RootIOStore::operator [] (size_t i) const { - - size_t limit = (size_t) (0.5+m_tree->GetEntries()); - if (i>=limit) return NULL; - - m_tree->GetEntry(i); - m_internalTuple->uncache(); - - return m_internalTuple; - -} - - -RootIOStore::~RootIOStore() { - delete m_internalTable; - delete m_tree; -} - -RootIOStore::RootIOStore(TTree * tree): -m_tree(tree), -m_internalTable(NULL), -m_internalTuple(NULL), -m_nAttributes{} -{ - TObjArray *bArray = tree->GetListOfLeaves(); - TObjArrayIter next(bArray); - TObject *to; - - m_internalTable = new Table("Internal Use Only"); - - while ((to=next())) { - - TLeaf * leaf = dynamic_cast<TLeaf *> (to); - if (leaf) { - std::string typeName = leaf->GetTypeName(); - TBranch * branch = leaf->GetBranch(); - std::string branchName = branch ? std::string(branch->GetName()) : std::string("") ; - std::string name = branchName != leaf->GetName() ? branchName + std::string("_") + leaf->GetName() : leaf->GetName(); - if (typeName=="Float_t") { - m_internalTable->add(name,float(0)); - } - else if (typeName=="Double_t") { - m_internalTable->add(name,double(0)); - } - else if (typeName=="Int_t") { - m_internalTable->add(name,int(0)); - } - // Just added, not debugged: - else if (typeName=="UChar_t") { - m_internalTable->add(name,size_t(0)); - } - // End addition - else if (typeName=="UInt_t") { - m_internalTable->add(name,size_t(0)); - } - else { - std::cerr << "[RootDriver: Unknown type " << typeName << " will be ignored on input]" << std::endl; - } - m_nList.push_back(name); - m_lList.push_back(leaf); - } - } - // Get the data: - - // End of header. Now start the data: - m_internalTuple = (TupleLink) m_internalTable->capture(); - - ValueList & vList = m_internalTuple->valueList(); - - - for (size_t j=0;j<m_nList.size();j++) { - try { - int i = m_internalTable->attribute(m_nList[j]).attrId(); - m_lList[j]->SetAddress((void *) vList[i].asCharStar() ); - } - catch (std::runtime_error &) { - } - } -} - -//*----------------implementation------------------*// - - -extern "C" void *RootDriverCreate() { - return new RootDriver(); -} - - -RootDriver::RootDriver():m_o(NULL),m_i(NULL) { - std::cerr << "[RootDriver: HELLO.]" << std::endl; -} - - -RootDriver::~RootDriver() { -} - -const HistogramManager *RootDriver::openManager(const std::string & filename) const { - // See if this file is indeed a root file: - { - std::ifstream ifile(filename.c_str()); - char buf[5]=" "; - ifile >> buf[0] >> buf[1] >> buf[2] >> buf[3]; - if (std::string(buf)=="root") { - } - else { - std::cerr << "[RootDriver: File NOT OK:" << filename << "]" << std::endl; - return NULL; - } - } - - // See if you can open this file: - TFile * stream = new TFile (filename.c_str(),"READ"); - if (!stream->IsOpen()) { - delete stream; - return NULL; - } - - m_istrMap[filename]=stream; - - - HistogramManager *mgr = new HistogramManager(filename); - m_mgrMap[filename]=mgr; - - read(mgr); - - std::cerr << "[RootDriver: Open Histogram file " << filename << "]" << std::endl; - - return mgr; - -} - - -HistogramManager *RootDriver::newManager(const std::string & filename) const { - - // See if you can open this file: - TFile *stream = new TFile(filename.c_str(),"recreate"); - if (!stream->IsOpen()) { - delete stream; - return NULL; - } - - m_ostrMap[filename]=stream; - - HistogramManager *mgr = new HistogramManager(); - m_mgrMap[filename]=mgr; - - std::cerr << "[RootDriver: New Histogram file " << filename << "]" << std::endl; - - return mgr; - -} - -// Writes the Histograms out. -void RootDriver::close (const HistogramManager *mgr) const { - // Find the file name: - std::map<std::string, HistogramManager *>::iterator - begin=m_mgrMap.begin(), - end=m_mgrMap.end(),m=begin; - std::string filename; - while (m!=end) { - m++; - if ((*m).second==mgr) { - filename = (*m).first; - break; - } - } - - if (filename!="") { - { - TFile *file = m_ostrMap[filename]; - if (file) file->Close(); - } - { - TFile *file = m_istrMap[filename]; - if (file) file->Close(); - } - { - std::map<std::string, HistogramManager *>::iterator d=m_mgrMap.find(filename); - if (d!=m_mgrMap.end()) m_mgrMap.erase(d); - } - { - std::map<std::string, TFile *>::iterator d=m_istrMap.find(filename); - if (d!=m_istrMap.end()) m_istrMap.erase(d); - } - { - std::map<std::string, TFile *>::iterator d=m_ostrMap.find(filename); - if (d!=m_ostrMap.end()) m_ostrMap.erase(d); - } - } - - -} - -// Closes the file: -void RootDriver::write (HistogramManager *mgr) const { - - // Find the output file - // Find the output stream for this: - bool topLevel(false); - std::string name; - std::map<std::string , HistogramManager *>::iterator m; - for (m=m_mgrMap.begin();m!=m_mgrMap.end();m++) { - if (mgr==(*m).second) { - name = (*m).first; - m_o = m_ostrMap[name]; - m_o->cd(); - topLevel=true; - break; - } - } - - - // Write out all of the ntuples: - - HistogramManager::DConstIterator d; - for (d=mgr->beginDir();d!=mgr->endDir();d++) { - TDirectory *dir=gDirectory, *newDir=gDirectory->mkdir((*d)->name().c_str()); - newDir->cd(); - write (*d); - dir->cd(); - } - - // Write out all ntuples: - HistogramManager::TConstIterator t; - for (t=mgr->beginTable();t!=mgr->endTable();t++) { - - float *fBuff = new float [(**t).numAttributes()]; - double *dBuff = new double [(**t).numAttributes()]; - int *iBuff = new int [(**t).numAttributes()]; - unsigned int *uBuff = new unsigned int [(**t).numAttributes()]; - - // float fBuff[(**t).numAttributes()]; - // double dBuff[(**t).numAttributes()]; - // int iBuff[(**t).numAttributes()]; - // size_t uBuff[(**t).numAttributes()]; - - TTree *tree = new TTree((**t).name().c_str(), (**t).name().c_str()); - for (unsigned int i=0;i<(**t).numAttributes();i++) { - std::string name = (**t).attribute(i).name(); - { - std::string typeName = (**t).attribute(i).typeName(); - - if (typeName=="d") { - tree->Branch(name.c_str(), dBuff+i, (name+"/D").c_str()); - } - - else if (typeName=="f") { - tree->Branch(name.c_str(), fBuff+i, (name+"/F").c_str()); - } - - else if (typeName=="i") { - tree->Branch(name.c_str(), iBuff+i, (name+"/I").c_str()); - } - - else if (typeName=="j" || typeName=="m" ) { - tree->Branch(name.c_str(), uBuff+i, (name+"/i").c_str()); - } - else { - std::ostringstream msg; - msg << "RootDriver: cannot write data in of RTTI type " << typeName; - throw std::runtime_error(msg.str().c_str()); - } - } - } - - - for (size_t n = 0; ; n++) { - - TupleConstLink thisTuple = (**t)[n]; - if (!thisTuple) break; - - for (unsigned int j=0;j<(*t)->numAttributes();j++) { - { - if (thisTuple->read(iBuff[j],j)) continue; - else if (thisTuple->read(dBuff[j],j)) continue; - else if (thisTuple->read(uBuff[j],j)) continue; - else if (thisTuple->read(fBuff[j],j)) continue; - throw std::runtime_error("Unknown data type cannot be written"); - } - } - tree->Fill(); // Once per event? - } - delete [] fBuff; - delete [] dBuff; - delete [] iBuff; - delete [] uBuff; - - } - - for (HistogramManager::H1ConstIterator h=mgr->beginH1();h!=mgr->endH1();h++) { - TH1D *hist = new TH1D((**h).name().c_str(),(**h).name().c_str(), (**h).nBins(), (**h).min(), (**h).max()); - for (size_t c=0;c<(**h).nBins();c++) { - hist->SetBinContent(c+1,(**h).bin(c)); - hist->SetBinError(c+1,(**h).binError(c)); - } - hist->SetBinContent(0,(**h).underflow()); - hist->SetBinContent((**h).nBins()+1, (**h).overflow()); - hist->SetEntries((**h).entries()); - - } - - for (HistogramManager::H2ConstIterator h=mgr->beginH2();h!=mgr->endH2();h++) { - TH2D *hist = new TH2D((**h).name().c_str(),(**h).name().c_str(), - (**h).nBinsX(), (**h).minX(), (**h).maxX(), - (**h).nBinsY(), (**h).minY(), (**h).maxY()); - for (size_t c=0;c<(**h).nBinsX();c++) { - for (size_t d=0; d<(**h).nBinsY();d++) { - hist->SetBinContent(c+1,d+1,(**h).bin(c,d)); - hist->SetBinError(c+1,d+1, (**h).binError(c,d)); - } - } - hist->SetBinContent(0, 0, (**h).overflow(Hist2D::Underflow,Hist2D::Underflow)); - hist->SetBinContent(0, (**h).nBinsY()+1, (**h).overflow(Hist2D::Underflow,Hist2D::Overflow)); - hist->SetBinContent((**h).nBinsX()+1, (**h).nBinsY()+1, (**h).overflow(Hist2D::Overflow, Hist2D::Overflow)); - hist->SetBinContent((**h).nBinsX()+1, 0, (**h).overflow(Hist2D::Overflow, Hist2D::Underflow)); - - hist->SetBinContent(1, 0, (**h).overflow(Hist2D::InRange, Hist2D::Underflow)); - hist->SetBinContent(1, (**h).nBinsY()+1, (**h).overflow(Hist2D::InRange, Hist2D::Overflow)); - hist->SetBinContent((**h).nBinsX()+1, 1, (**h).overflow(Hist2D::Overflow, Hist2D::InRange)); - hist->SetBinContent(0, 1, (**h).overflow(Hist2D::Underflow,Hist2D::InRange)); - - hist->SetEntries((**h).entries()); - - } - - if (topLevel) m_o->Write(); // Once per file? - -} - - -void RootDriver::read(HistogramManager *mgr) const { - // Find the output stream for this: - std::string name; - std::map<std::string , HistogramManager *>::iterator m; - for (m=m_mgrMap.begin();m!=m_mgrMap.end();m++) { - if (mgr==(*m).second) { - name = (*m).first; - m_i = m_istrMap[name]; - m_i->cd(); - break; - } - } - - std::set<std::string> nameSet; - - TList *list = gDirectory->GetListOfKeys(); - TListIter next(list); - TObject *to; - while ((to=next())) { - - TKey *key = dynamic_cast<TKey *> (to); - if (key) { - TObject *o = gROOT->FindObject(key->GetName()); - if (o) { - { - TTree * tree = dynamic_cast<TTree *> (o); - if (tree) { - std::string treeName=key->GetName(); - if (nameSet.find(treeName)==nameSet.end()) { - if (tree->GetEntries()) { - RootIOStore *store = new RootIOStore(tree); - nameSet.insert(treeName); - /*Table * t = */ mgr->newTable(treeName,store); - } - } - else { - } - continue; - } - } - { - TH2 *h = dynamic_cast<TH2 *> (o); - if (h) { - Hist2D::Clockwork c; - c.name = std::string(key->GetName()); - c.nBinsX = h->GetNbinsX(); - c.nBinsY = h->GetNbinsY(); - c.binWidthX = h->GetXaxis()->GetBinWidth(0); - c.binWidthY = h->GetYaxis()->GetBinWidth(0); - c.minX = h->GetXaxis()->GetBinLowEdge(1); - c.maxX = c.minX + c.nBinsX*c.binWidthX; - c.minY = h->GetYaxis()->GetBinLowEdge(1); - c.maxY = c.minY + c.nBinsY*c.binWidthY; - - c.overUnderFlow[Hist2D::Underflow][Hist2D::Underflow] = (int) (0.5+ h->GetBinContent(0,0)); - c.overUnderFlow[Hist2D::Overflow] [Hist2D::Underflow] = (int) (0.5+ h->GetBinContent(c.nBinsX+1,0)); - c.overUnderFlow[Hist2D::Overflow] [Hist2D::Overflow] = (int) (0.5+ h->GetBinContent(c.nBinsX+1,c.nBinsY+1)); - c.overUnderFlow[Hist2D::Underflow][Hist2D::Overflow] = (int) (0.5+ h->GetBinContent(0,c.nBinsY+1)); - - - for (unsigned int i=1;i<c.nBinsX+1; i++) c.overUnderFlow[Hist2D::InRange] [Hist2D::Underflow] += (int) (0.5+h->GetBinContent(i,0)); - for (unsigned int i=1;i<c.nBinsY+1; i++) c.overUnderFlow[Hist2D::Overflow] [Hist2D::InRange] += (int) (0.5+h->GetBinContent(c.nBinsX+1,i)); - for (unsigned int i=1;i<c.nBinsX+1; i++) c.overUnderFlow[Hist2D::InRange] [Hist2D::Overflow] += (int) (0.5+h->GetBinContent(i,c.nBinsY+1)); - for (unsigned int i=1;i<c.nBinsY+1; i++) c.overUnderFlow[Hist2D::Underflow][Hist2D::InRange] += (int) (0.5+h->GetBinContent(0,i)); - - c.overUnderFlow[Hist2D::InRange][Hist2D::InRange]= (int) (0.5+h->GetEntries()); - - - c.overflow = - c.overUnderFlow[0][0] + - c.overUnderFlow[0][1] + - c.overUnderFlow[0][2] + - c.overUnderFlow[1][0] + - c.overUnderFlow[1][2] + - c.overUnderFlow[2][0] + - c.overUnderFlow[2][1] + - c.overUnderFlow[2][2]; - - c.xW = h->GetSumOfWeights()*h->GetMean(1); - c.yW = h->GetSumOfWeights()*h->GetMean(2); - - c.xxW = h->GetSumOfWeights()*(h->GetRMS(1)*h->GetRMS(1) + h->GetMean(1)*h->GetMean(1)); - c.yyW = h->GetSumOfWeights()*(h->GetRMS(2)*h->GetRMS(2) + h->GetMean(2)*h->GetMean(2)); - c.xyW = h->GetSumOfWeights()*(h->GetCovariance(1,2) + h->GetMean(1)*h->GetMean(2)); - - - c.sumWeight = h->GetSumOfWeights(); - c.minContents = h->GetMinimum(); - c.maxContents = h->GetMaximum(); - - c.contents.resize(c.nBinsX*c.nBinsY); - c.contents.reserve(c.nBinsX*c.nBinsY); - c.errors.resize(c.nBinsX*c.nBinsY); - c.errors.reserve(c.nBinsX*c.nBinsY); - - for (unsigned int i=0;i<c.nBinsX;i++) { - for (unsigned int j=0;j<c.nBinsY; j++) { - size_t ii = c.nBinsX*j+i; - c.contents[ii]=(h->GetBinContent(i+1,j+1)); - c.errors[ii] =(h->GetBinError(i+1,j+1)*h->GetBinError(i+1,j+1)); - } - } - Hist2D newHisto(&c); - mgr->newHist2D(newHisto); - continue; - } - } - { - TH1 *h = dynamic_cast<TH1 *> (o); - if (h) { - Hist1D::Clockwork c; - c.name = std::string(key->GetName()); - c.binWidth = h->GetBinWidth(0); - c.nBins = h->GetNbinsX(); - c.min = h->GetBinLowEdge(1); - c.max = c.min + c.nBins*c.binWidth; - c.underflow = (int) (0.5+h->GetBinContent(0)); - c.overflow = (int) (0.5+h->GetBinContent(c.nBins+1)); - c.entries = (int) (0.5+h->GetEntries()); - c.xW = h->GetSumOfWeights()*h->GetMean(); - c.xxW = h->GetSumOfWeights()*(h->GetRMS()*h->GetRMS() + h->GetMean()*h->GetMean()); - c.sumWeight = h->GetSumOfWeights(); - c.minContents = h->GetMinimum(); - c.maxContents = h->GetMaximum(); - - for (unsigned int i=0;i<c.nBins;i++) { - c.contents.push_back(h->GetBinContent(i+1)); - c.errors.push_back(h->GetBinError(i+1)*h->GetBinError(i+1)); - } - - Hist1D newHisto(&c); - mgr->newHist1D(newHisto); - continue; - } - } - - { - TDirectory *d = dynamic_cast<TDirectory *> (o); - if (d) { - TDirectory *oldDirectory = gDirectory; - HistogramManager *newMgr=mgr->newDir(d->GetName()); - d->cd(); - read(newMgr); - oldDirectory->cd(); - continue; - } - } - { - std::cerr << "[RootDriver: Unknown object " << o->GetName() <<"(" << o->ClassName() << ")]" << std::endl; - - } - } - } - } -} diff --git a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackPropagationHelper.cxx b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackPropagationHelper.cxx index e6a4fbd91db45a8911ab82b47d51b2333d814d06..04076ecd1d8c51510015419129fb13059fda65ab 100644 --- a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackPropagationHelper.cxx +++ b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackPropagationHelper.cxx @@ -27,7 +27,6 @@ #include "TrkVolumes/VolumeBounds.h" -#include "TrkDetDescrUtils/ObjectAccessor.h" #include "VP1Base/VP1QtUtils.h" #include <limits>