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
Log Message:
osu copy modified

File Contents

# User Rev Content
1 dhidas 1.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