Skip to content

Commit 572779e

Browse files
committed
[test] test treeindex with array index in formula
1 parent 6b6401f commit 572779e

File tree

3 files changed

+64
-0
lines changed

3 files changed

+64
-0
lines changed

roottest/root/tree/index/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,7 @@ ROOTTEST_ADD_TEST(index64
1818
ROOTTEST_ADD_TEST(indexl64
1919
MACRO runindexl64.C
2020
OUTREF indexl64.ref)
21+
22+
ROOTTEST_ADD_TEST(varsizearr
23+
MACRO runvarsizearr.C
24+
OUTREF varsizearr.ref)
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#include "TTree.h"
2+
#include "TTreeIndex.h"
3+
#include <vector>
4+
#include <iostream>
5+
6+
int runvarsizearr()
7+
{
8+
const Long64_t nEvents = 2;
9+
const size_t nElements = 3;
10+
std::vector<int> otherNumbers(nElements);
11+
Long64_t eventNumber;
12+
TTree t("tree", "tree");
13+
t.Branch("eventNumber", &eventNumber);
14+
t.Branch("otherNumbers", &otherNumbers);
15+
for (Long64_t i = 0; i < nEvents; i++) {
16+
eventNumber = i;
17+
for (size_t j = 0; j < nElements; ++j)
18+
otherNumbers[j] = -2. * eventNumber + 3500 * j;
19+
t.Fill();
20+
}
21+
std::cout << t.GetEntries() << std::endl;
22+
// use Scan to show what otherNumbers[2] contains
23+
t.Scan("eventNumber:otherNumbers", "", "", nEvents);
24+
25+
TTreeIndex firstIndex(&t, "otherNumbers[2]", "eventNumber");
26+
firstIndex.Print("2"); // wasn't working before: major was always a garbage value
27+
TTreeIndex secondIndex(&t, "otherNumbers", "eventNumber");
28+
secondIndex.Print("2"); // major is always otherNumbers[0] since index not specified (before and after fix)
29+
return 0;
30+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
2+
Processing runvarsizearr.C...
3+
2
4+
***********************************************
5+
* Row * Instance * eventNumb * otherNumb *
6+
***********************************************
7+
* 0 * 0 * 0 * 0 *
8+
* 0 * 1 * 0 * 3500 *
9+
* 0 * 2 * 0 * 7000 *
10+
* 1 * 0 * 1 * -2 *
11+
* 1 * 1 * 1 * 3498 *
12+
* 1 * 2 * 1 * 6998 *
13+
***********************************************
14+
15+
**********************************************
16+
* Index of Tree: tree/tree
17+
**********************************************
18+
serial : otherNumbers[2] : eventNumber
19+
**********************************************
20+
0 : 6998 : 1
21+
1 : 7000 : 0
22+
23+
**********************************************
24+
* Index of Tree: tree/tree
25+
**********************************************
26+
serial : otherNumbers : eventNumber
27+
**********************************************
28+
0 : -2 : 1
29+
1 : 0 : 0
30+
(int) 0

0 commit comments

Comments
 (0)