ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/SFrameTools/include/Selection.h
Revision: 1.3
Committed: Wed Jun 6 08:26:43 2012 UTC (12 years, 11 months ago) by rkogler
Content type: text/plain
Branch: MAIN
Changes since 1.2: +9 -2 lines
Log Message:
name stored and cosmetics

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.2 #include "../../core/include/SLogger.h"
9 peiffer 1.1
10     class SelectionModule{
11     public:
12     SelectionModule(){};
13     virtual ~SelectionModule(){};
14    
15     virtual bool pass(BaseCycleContainer*)=0;
16     virtual std::string description()=0;
17     };
18    
19    
20     class Selection{
21     public:
22    
23     //Selection(){};
24 rkogler 1.3 Selection(std::string name);
25 peiffer 1.1 ~Selection(){};
26    
27     void addSelectionModule(SelectionModule*);
28     void clearSelectionModulesList();
29     bool passSelection(BaseCycleContainer *bcc);
30     bool passInvertedSelection(BaseCycleContainer *bcc);
31    
32     void printCutFlow();
33    
34 rkogler 1.3 TString GetName() {return m_name;}
35     void SetName(TString name) { m_name = name;}
36    
37 peiffer 1.1 private:
38 rkogler 1.3 TString m_name;
39 peiffer 1.1 mutable SLogger m_logger;
40     std::vector<SelectionModule*> m_cuts;
41     std::vector<int> m_cutflow;
42 rkogler 1.3 int Ntotal;
43 peiffer 1.1 };
44    
45    
46    
47 rkogler 1.3 #endif // Selection_H