ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/OSUT3Analysis/AnaTools/interface/CutFlow.h
Revision: 1.1
Committed: Mon Jul 23 08:20:07 2012 UTC (12 years, 9 months ago) by ahart
Content type: text/plain
Branch: MAIN
CVS Tags: mytag_0_0_0, V00-00-03, V00-00-02
Log Message:
First commit of CutFlow class.

File Contents

# User Rev Content
1 ahart 1.1 #ifndef CUT_FLOW
2    
3     #define CUT_FLOW
4    
5     #include <iostream>
6     #include <iomanip>
7     #include <map>
8     #include <string>
9     #include <vector>
10    
11     #include "FWCore/ServiceRegistry/interface/Service.h"
12     #include "CommonTools/UtilAlgos/interface/TFileService.h"
13    
14     #include "TH1D.h"
15     #include "TStopwatch.h"
16    
17     using namespace std;
18    
19     class CutFlow
20     {
21     public:
22     CutFlow () {};
23     CutFlow (map<string, TH1D *> &, const edm::Service<TFileService> &, const string &prefix = "");
24     ~CutFlow ();
25     bool &operator[] (const string &);
26     bool &at (const string &cutName) { return (*this)[cutName]; };
27    
28     void fillCutFlow ();
29     void outputTime ();
30     void outputCutFlow ();
31    
32     private:
33     TH1D *cutFlow_;
34     TH1D *selection_;
35     TH1D *complementarySelection_;
36    
37     TStopwatch sw_;
38     string prefix_;
39     vector<string> cutNames_;
40     map<string, bool> cuts_;
41     };
42    
43     #endif