ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/SFrameTools/include/Selection.h
Revision: 1.1
Committed: Fri May 25 09:31:04 2012 UTC (12 years, 11 months ago) by peiffer
Content type: text/plain
Branch: MAIN
Log Message:
move files to SFrameTools

File Contents

# User Rev Content
1 peiffer 1.1 #ifndef Selection_H
2     #define Selection_H
3    
4     #include "Objects.h"
5     #include "BaseCycleContainer.h"
6     #include "core/include/SLogger.h"
7    
8     class SelectionModule{
9     public:
10     SelectionModule(){};
11     virtual ~SelectionModule(){};
12    
13     virtual bool pass(BaseCycleContainer*)=0;
14     virtual std::string description()=0;
15     };
16    
17    
18     class Selection{
19     public:
20    
21     //Selection(){};
22     Selection(std::string name = "Selection");
23     ~Selection(){};
24    
25     void addSelectionModule(SelectionModule*);
26     void clearSelectionModulesList();
27     bool passSelection(BaseCycleContainer *bcc);
28     bool passInvertedSelection(BaseCycleContainer *bcc);
29    
30     void printCutFlow();
31    
32     private:
33     mutable SLogger m_logger;
34     std::vector<SelectionModule*> m_cuts;
35     std::vector<int> m_cutflow;
36     };
37    
38    
39    
40     #endif