ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/SFrameTools/include/Selection.h
Revision: 1.4
Committed: Wed Jun 6 15:29:09 2012 UTC (12 years, 11 months ago) by peiffer
Content type: text/plain
Branch: MAIN
Changes since 1.3: +4 -0 lines
Log Message:
Selection without BaseCycleContainer as argument

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     bool passSelection(BaseCycleContainer *bcc);
31     bool passInvertedSelection(BaseCycleContainer *bcc);
32 peiffer 1.4 bool passSelection();
33     bool passInvertedSelection();
34 peiffer 1.1
35     void printCutFlow();
36    
37 rkogler 1.3 TString GetName() {return m_name;}
38     void SetName(TString name) { m_name = name;}
39    
40 peiffer 1.1 private:
41 rkogler 1.3 TString m_name;
42 peiffer 1.1 mutable SLogger m_logger;
43     std::vector<SelectionModule*> m_cuts;
44     std::vector<int> m_cutflow;
45 rkogler 1.3 int Ntotal;
46 peiffer 1.4
47 peiffer 1.1 };
48    
49    
50    
51 rkogler 1.3 #endif // Selection_H