ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/SFrameTools/include/Selection.h
Revision: 1.5
Committed: Fri Jun 8 14:01:43 2012 UTC (12 years, 10 months ago) by peiffer
Content type: text/plain
Branch: MAIN
Changes since 1.4: +1 -0 lines
Log Message:
update for cut flow table with parallel jobs

File Contents

# User Rev Content
1 rkogler 1.3 // Dear emacs, this is -*- c++ -*-
2 peiffer 1.1 #ifndef Selection_H
3     #define Selection_H
4    
5 rkogler 1.3 #include <TString.h>
6 peiffer 1.1 #include "Objects.h"
7     #include "BaseCycleContainer.h"
8 peiffer 1.4 #include "ObjectHandler.h"
9 peiffer 1.2 #include "../../core/include/SLogger.h"
10 peiffer 1.1
11     class SelectionModule{
12     public:
13     SelectionModule(){};
14     virtual ~SelectionModule(){};
15    
16     virtual bool pass(BaseCycleContainer*)=0;
17     virtual std::string description()=0;
18     };
19    
20    
21     class Selection{
22     public:
23    
24     //Selection(){};
25 rkogler 1.3 Selection(std::string name);
26 peiffer 1.1 ~Selection(){};
27    
28     void addSelectionModule(SelectionModule*);
29     void clearSelectionModulesList();
30 peiffer 1.5 void resetCutFlow();
31 peiffer 1.1 bool passSelection(BaseCycleContainer *bcc);
32     bool passInvertedSelection(BaseCycleContainer *bcc);
33 peiffer 1.4 bool passSelection();
34     bool passInvertedSelection();
35 peiffer 1.1
36     void printCutFlow();
37    
38 rkogler 1.3 TString GetName() {return m_name;}
39     void SetName(TString name) { m_name = name;}
40    
41 peiffer 1.1 private:
42 rkogler 1.3 TString m_name;
43 peiffer 1.1 mutable SLogger m_logger;
44     std::vector<SelectionModule*> m_cuts;
45     std::vector<int> m_cutflow;
46 rkogler 1.3 int Ntotal;
47 peiffer 1.4
48 peiffer 1.1 };
49    
50    
51    
52 rkogler 1.3 #endif // Selection_H