ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/dhidas/OSUAnalysis/Tools/test/TestTrackReader.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

# Content
1 /*
2 * TestTrackReader.hh
3 *
4 * Created on: 20 Sep 2010
5 * Author: kreczko
6 */
7
8 #ifndef TESTTRACKREADER_HH_
9 #define TESTTRACKREADER_HH_
10 #include "cute/cute.h"
11 #include "cute/cute_suite.h"
12
13 #include <boost/scoped_ptr.hpp>
14 #include <boost/shared_ptr.hpp>
15
16 #include "../interface/RecoObjects/Track.h"
17 #include "../interface/Readers/TrackReader.h"
18 #include "../interface/Readers/NTupleEventReader.h"
19 #include <iostream>
20
21 using namespace BAT;
22
23 struct TestTrackReader {
24 private:
25 boost::shared_ptr<TChain> input;
26 boost::scoped_ptr<TrackReader> trackReader;
27 TrackCollection tracks;
28 TrackPointer firstTrack;
29
30 public:
31 TestTrackReader() :
32 input(new TChain(NTupleEventReader::EVENT_CHAIN)),
33 trackReader(new TrackReader(input)),
34 tracks(),
35 firstTrack() {
36
37 input->Add(InputFile::ttbar);
38
39 input->LoadTree(1);
40 input->SetBranchStatus("*", 0);
41 trackReader->initialise();
42 input->GetEntry(1);
43 tracks = trackReader->getTracks();
44 firstTrack = tracks.front();
45 }
46
47 void testReadTracksSize() {
48 ASSERT_EQUAL(121, tracks.size());
49 }
50
51 void testReadFirstTrackPhi() {
52 ASSERT_EQUAL(true, fabs(firstTrack->phi()) < 2*TMath::Pi()+0.1);
53 }
54
55 void testFirstTrackCharge() {
56 ASSERT_EQUAL(1, fabs(firstTrack->charge()));
57 }
58
59 void testFirstTrackD0() {
60 ASSERT_EQUAL_DELTA(0.359524, firstTrack->d0(), 0.000001);
61 }
62
63 void testFirstTrackIsHighPurity() {
64 ASSERT_EQUAL(true, firstTrack->isHighPurity());
65 }
66
67 void testNumberOfHighPurityTracks() {
68 unsigned int numberOfHighPurityTracks = 0;
69 for (unsigned int index = 0; index < tracks.size(); ++index) {
70 if (tracks.at(index)->isHighPurity())
71 numberOfHighPurityTracks++;
72 }
73 ASSERT_EQUAL(111, numberOfHighPurityTracks);
74 }
75
76 };
77 extern cute::suite make_suite_TestTrackReader() {
78 cute::suite s;
79
80 s.push_back(CUTE_SMEMFUN(TestTrackReader, testReadTracksSize));
81 s.push_back(CUTE_SMEMFUN(TestTrackReader, testReadFirstTrackPhi));
82 s.push_back(CUTE_SMEMFUN(TestTrackReader, testFirstTrackCharge));
83 s.push_back(CUTE_SMEMFUN(TestTrackReader, testFirstTrackD0));
84 s.push_back(CUTE_SMEMFUN(TestTrackReader, testFirstTrackIsHighPurity));
85 s.push_back(CUTE_SMEMFUN(TestTrackReader, testNumberOfHighPurityTracks));
86
87 return s;
88 }
89
90 #endif /* TESTTRACKREADER_HH_ */