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

# Content
1 // Dear emacs, this is -*- c++ -*-
2 #ifndef Selection_H
3 #define Selection_H
4
5 #include <TString.h>
6 #include "Objects.h"
7 #include "BaseCycleContainer.h"
8 #include "../../core/include/SLogger.h"
9
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 Selection(std::string name);
25 ~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 TString GetName() {return m_name;}
35 void SetName(TString name) { m_name = name;}
36
37 private:
38 TString m_name;
39 mutable SLogger m_logger;
40 std::vector<SelectionModule*> m_cuts;
41 std::vector<int> m_cutflow;
42 int Ntotal;
43 };
44
45
46
47 #endif // Selection_H