ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/dhidas/OSUAnalysis/Tools/test/TestHistogramManager.h
Revision: 1.1.1.1 (vendor branch)
Committed: Thu Dec 1 16:28:47 2011 UTC (13 years, 5 months ago) by dhidas
Content type: text/plain
Branch: dhidas, MAIN
CVS Tags: START, HEAD
Changes since 1.1: +0 -0 lines
Error occurred while calculating annotation data.
Log Message:
osu copy modified

File Contents

# Content
1 /*
2 * TestTH1Collection.h
3 *
4 * Created on: 9 Aug 2010
5 * Author: kreczko
6 */
7
8 #include "cute/cute.h"
9 #include "cute/cute_suite.h"
10 #include "../interface/HistHelpers/HistogramManager.h"
11 #include <boost/array.hpp>
12 #include "../interface/DataTypes.h"
13 #include <boost/filesystem.hpp>
14
15 using namespace BAT;
16
17 struct TestHistogramManager {
18 private:
19 HistogramManager man;
20 float lumi;
21 string expectedTtbarFile, expectedDataFile;
22 public:
23 TestHistogramManager() :
24 man(),
25 lumi(1.5),
26 expectedTtbarFile("ttjet_1.5pb_CaloElectron_CaloJets_CaloMET.root"),
27 expectedDataFile("data_1.5pb_CaloElectron_CaloJets_CaloMET.root") {
28 boost::array<bool, DataType::NUMBER_OF_DATA_TYPES> seenDataTypes = boost::array<bool,
29 DataType::NUMBER_OF_DATA_TYPES>();
30
31 seenDataTypes[DataType::DATA] = true;
32 seenDataTypes[DataType::ttbar] = true;
33
34 man.setCurrentLumi(lumi);
35 man.prepareForSeenDataTypes(seenDataTypes);
36 man.addH1D("myHist", "Testing", 10, 0., 1);
37 man.addH2D("myHist2D", "Testing", 10, 0., 1, 10, 0., 1);
38 man.addH1D_JetBinned("myHistJeted", "Testing", 10, 0., 1);
39 }
40
41 ~TestHistogramManager() {
42 if (boost::filesystem::exists(expectedDataFile))
43 boost::filesystem::remove(expectedDataFile);
44 if (boost::filesystem::exists(expectedTtbarFile))
45 boost::filesystem::remove(expectedTtbarFile);
46 }
47
48 void testPreparationData() {
49 man.setCurrentDataType(DataType::DATA);
50 ASSERT(man.H1D("myHist") != 0);
51 }
52
53 void testPreparationTtbar() {
54 man.setCurrentDataType(DataType::ttbar);
55 ASSERT(man.H1D("myHist") != 0);
56 }
57
58 void testDataFile() {
59 man.writeToDisk();
60 ASSERT(boost::filesystem::exists(expectedDataFile));
61 }
62
63 void testPreparationData2D() {
64 man.setCurrentDataType(DataType::DATA);
65 ASSERT(man.H2D("myHist2D") != 0);
66 }
67
68 void testPreparationDatajetBinned() {
69 man.setCurrentDataType(DataType::DATA);
70 man.setCurrentJetBin(0);
71 ASSERT(man.H1D_JetBinned("myHistJeted") != 0);
72 }
73
74 void testNumberOfHistsInFile(){
75 man.writeToDisk();
76 boost::shared_ptr<TFile> file(new TFile(expectedDataFile.c_str()));
77 ASSERT_EQUAL(2 + JetBin::NUMBER_OF_JET_BINS + JetBinSummed::NUMBER_OF_SUMMED_JET_BINS, file->GetNkeys());
78 }
79
80 void testJetBinnedHistInFile(){
81 man.writeToDisk();
82 boost::shared_ptr<TFile> file(new TFile(expectedDataFile.c_str()));
83 ASSERT(file->Get("myHistJeted_0jet") != 0);
84 }
85
86 };
87
88 extern cute::suite make_suite_TestHistogramManager() {
89 cute::suite s;
90
91 s.push_back(CUTE_SMEMFUN(TestHistogramManager, testPreparationData));
92 s.push_back(CUTE_SMEMFUN(TestHistogramManager, testPreparationTtbar));
93 s.push_back(CUTE_SMEMFUN(TestHistogramManager, testDataFile));
94 s.push_back(CUTE_SMEMFUN(TestHistogramManager, testPreparationData2D));
95 s.push_back(CUTE_SMEMFUN(TestHistogramManager, testPreparationDatajetBinned));
96 s.push_back(CUTE_SMEMFUN(TestHistogramManager, testNumberOfHistsInFile));
97 s.push_back(CUTE_SMEMFUN(TestHistogramManager, testJetBinnedHistInFile));
98
99 return s;
100 }
101