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

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