ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootRun.h
Revision: 1.1
Committed: Thu Jun 19 14:07:31 2008 UTC (16 years, 10 months ago) by mlethuil
Content type: text/plain
Branch: MAIN
CVS Tags: cmssw_1_6_12
Log Message:
Add HLT Info

File Contents

# Content
1 #ifndef TRootRun_h
2 #define TRootRun_h
3
4 #include <string>
5 #include <iostream>
6
7 #include "Rtypes.h"
8 #include "TObject.h"
9 #include "TVector3.h"
10
11 using namespace std;
12
13 class TRootRun : public TObject
14 {
15
16 public:
17
18 TRootRun() :
19 nHLTEvents_(0)
20 ,nHLTWasRun_(0)
21 ,nHLTAccept_(0)
22 ,nHLTErrors_(0)
23 ,hltWasRun_(0)
24 ,hltAccept_(0)
25 ,hltErrors_(0)
26 ,hltNames_(0)
27 {;}
28
29 ~TRootRun() {;}
30
31 unsigned int nHLTPaths() const { return hltNames_.size(); }
32
33 unsigned int nHLTEvents() const { return nHLTEvents_; }
34 unsigned int nHLTWasRun() const { return nHLTWasRun_; }
35 unsigned int nHLTAccept() const { return nHLTAccept_; }
36 unsigned int nHLTErrors() const { return nHLTErrors_; }
37
38 std::vector<unsigned int> hltWasRun() const { return hltWasRun_; }
39 std::vector<unsigned int> hltAccept() const { return hltAccept_; }
40 std::vector<unsigned int> hltErrors() const { return hltErrors_; }
41 std::vector<std::string> hltNames() const { return hltNames_; }
42
43 unsigned int hltWasRun(unsigned ipath) const { return (hltWasRun_.size()>ipath ? hltWasRun_.at(ipath) : 0 ); }
44 unsigned int hltAccept(unsigned ipath) const { return (hltAccept_.size()>ipath ? hltAccept_.at(ipath) : 0 ); }
45 unsigned int hltErrors(unsigned ipath) const { return (hltErrors_.size()>ipath ? hltErrors_.at(ipath) : 0 ); }
46 std::string hltNames(unsigned ipath) const { return (hltNames_.size()>ipath ? hltNames_.at(ipath) : "noname" ); }
47
48 void setNHLTEvents(unsigned int nHLTEvents) { nHLTEvents_=nHLTEvents; }
49 void setNHLTWasRun(unsigned int nHLTWasRun) { nHLTWasRun_=nHLTWasRun; }
50 void setNHLTAccept(unsigned int nHLTAccept) { nHLTAccept_=nHLTAccept; }
51 void setNHLTErrors(unsigned int nHLTErrors) { nHLTErrors_=nHLTErrors; }
52
53 void setHLTWasRun(std::vector<unsigned int> hltWasRun)
54 {
55 hltWasRun_.resize(hltWasRun.size());
56 hltWasRun_=hltWasRun;
57 }
58
59 void setHLTAccept(std::vector<unsigned int> hltAccept)
60 {
61 hltAccept_.resize(hltAccept.size());
62 hltAccept_=hltAccept;
63 }
64
65 void setHLTErrors(std::vector<unsigned int> hltErrors)
66 {
67 hltErrors_.resize(hltErrors.size());
68 hltErrors_=hltErrors;
69 }
70
71 void setHLTNames(std::vector<std::string> hltNames)
72 {
73 hltNames_.resize(hltNames.size());
74 hltNames_=hltNames;
75 }
76
77
78 private:
79
80 unsigned int nHLTEvents_; // Nb of events
81 unsigned int nHLTWasRun_; // Nb of events where at least one HLT was run
82 unsigned int nHLTAccept_; // Nb of accepted events
83 unsigned int nHLTErrors_; // Nb of events where at least one HLT had error
84
85 std::vector<unsigned int> hltWasRun_; // # where HLT[i] was run
86 std::vector<unsigned int> hltAccept_; // # of events accepted by HLT[i]
87 std::vector<unsigned int> hltErrors_; // # of events with error in HLT[i]
88 std::vector<std::string> hltNames_; // name of each HLT algorithm
89
90 ClassDef (TRootRun,1);
91 };
92
93 #endif