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, 11 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

# 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 "ObjectHandler.h"
9 #include "../../core/include/SLogger.h"
10
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 Selection(std::string name);
26 ~Selection(){};
27
28 void addSelectionModule(SelectionModule*);
29 void clearSelectionModulesList();
30 void resetCutFlow();
31 bool passSelection(BaseCycleContainer *bcc);
32 bool passInvertedSelection(BaseCycleContainer *bcc);
33 bool passSelection();
34 bool passInvertedSelection();
35
36 void printCutFlow();
37
38 TString GetName() {return m_name;}
39 void SetName(TString name) { m_name = name;}
40
41 private:
42 TString m_name;
43 mutable SLogger m_logger;
44 std::vector<SelectionModule*> m_cuts;
45 std::vector<int> m_cutflow;
46 int Ntotal;
47
48 };
49
50
51
52 #endif // Selection_H