diff --git a/tests/import_export/ROOT/data/README b/tests/import_export/ROOT/data/README new file mode 100644 index 000000000..b31f47077 --- /dev/null +++ b/tests/import_export/ROOT/data/README @@ -0,0 +1,9 @@ +The ROOT script samplehists.C creates three test files + +- basic_lz4.root with 5 typical histograms, one of each data type + - compressed with the default LZ4 compression +- advanced_zlib.root with two cycles of the same histogram + - variable bin borders + - compressed with the old default ZLIB compression +- broken_basic.root the same as basic_lz4.root but only the first 3kBytes + - test ability to read broken files diff --git a/tests/import_export/ROOT/data/advanced_zlib.root b/tests/import_export/ROOT/data/advanced_zlib.root new file mode 100644 index 000000000..197c56365 Binary files /dev/null and b/tests/import_export/ROOT/data/advanced_zlib.root differ diff --git a/tests/import_export/ROOT/data/basic_lz4.root b/tests/import_export/ROOT/data/basic_lz4.root new file mode 100644 index 000000000..c97867178 Binary files /dev/null and b/tests/import_export/ROOT/data/basic_lz4.root differ diff --git a/tests/import_export/ROOT/data/broken_basic.root b/tests/import_export/ROOT/data/broken_basic.root new file mode 100644 index 000000000..326de0bba Binary files /dev/null and b/tests/import_export/ROOT/data/broken_basic.root differ diff --git a/tests/import_export/ROOT/data/samplehists.C b/tests/import_export/ROOT/data/samplehists.C new file mode 100644 index 000000000..b520bf128 --- /dev/null +++ b/tests/import_export/ROOT/data/samplehists.C @@ -0,0 +1,55 @@ +void samplehists() +{ + TFile fBasic("basic_lz4.root", "RECREATE"); + fBasic.SetCompressionAlgorithm(ROOT::kLZ4); + + TH1D doubleHist("doubleHist", "", 100, -5., 5.); + doubleHist.Sumw2(); + doubleHist.FillRandom("gaus", 10000); + doubleHist.Write(); + + TH1F floatHist("floatHist", "", 100, -5., 5.); + floatHist.Sumw2(); + floatHist.FillRandom("gaus", 10000); + floatHist.Write(); + + TH1I intHist("intHist", "", 100, -5., 5.); + intHist.Sumw2(); + intHist.FillRandom("gaus", 10000); + intHist.Write(); + + TH1S shortHist("shortHist", "", 100, -5., 5.); + shortHist.Sumw2(); + shortHist.FillRandom("gaus", 10000); + shortHist.Write(); + + TH1C charHist("charHist", "", 100, -5., 5.); + charHist.Sumw2(); + charHist.FillRandom("gaus", 1000); + charHist.Write(); + + fBasic.Close(); + + TFile fAdvanced("advanced_zlib.root", "RECREATE"); + fAdvanced.SetCompressionAlgorithm(ROOT::kZLIB); + + vector borders; + for (size_t i = 0; i < 101; ++i) + borders.push_back(0.09 * i - 5. + 1.e-4 * i * i); + + TH1D variableBinHist("variableBinHist", "", 100, borders.data()); + variableBinHist.Sumw2(); + variableBinHist.FillRandom("gaus", 10000); + variableBinHist.Write(); + variableBinHist.FillRandom("gaus", 1000000); + variableBinHist.Write(); + + fAdvanced.Close(); + + ifstream infile("basic_lz4.root"); + ofstream outfile("broken_basic.root"); + + char buffer[3000]; + infile.read(buffer, 3000); + outfile.write(buffer, 3000); +}