ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/SFrameTools/include/Selection.h
(Generate patch)

Comparing UserCode/UHHAnalysis/SFrameTools/include/Selection.h (file contents):
Revision 1.5 by peiffer, Fri Jun 8 14:01:43 2012 UTC vs.
Revision 1.7 by rkogler, Tue Jan 29 10:35:33 2013 UTC

# Line 8 | Line 8
8   #include "ObjectHandler.h"
9   #include "../../core/include/SLogger.h"
10  
11 + /**
12 + *  @short basic class for selection modules
13 + *  @author Thomas Peiffer
14 + */
15 +
16   class SelectionModule{
17   public:
18 +  //Default constructor
19    SelectionModule(){};
20 +  //Default destructor
21    virtual ~SelectionModule(){};
22    
23    virtual bool pass(BaseCycleContainer*)=0;
24    virtual std::string description()=0;
25   };
26  
27 + /**
28 + *  @short basic class for a selection
29 + *
30 + *         contains a list of SelectionModules
31 + *         and produces cut flow tables
32 + *
33 + *  @author Thomas Peiffer
34 + */
35  
36   class Selection{
37   public:
38    
39    //Selection(){};
40 +  /// Default constructor
41    Selection(std::string name);
42 +  /// Default destructor
43    ~Selection(){};
44    
45 +  /// add a new SelectionModule to the event selection
46    void addSelectionModule(SelectionModule*);
47 +  /// remove all booked SelectionModules
48    void clearSelectionModulesList();
49 +  /// set all entries in the cut flow table to 0
50    void resetCutFlow();
51 +
52 +  /**
53 +   * loop over all booked SelectionModules and call the pass() routine of each module for a given BaseCycleContainer
54 +   * @see passSelection()
55 +   * @see SelectionModule::pass(BaseCycleContainer*)
56 +   */
57    bool passSelection(BaseCycleContainer *bcc);
58    bool passInvertedSelection(BaseCycleContainer *bcc);
59 +  /**
60 +   * same as passSelection(BaseCycleContainer *bcc) but takes BaseCycleContainer from ObjectHandler
61 +   * @see passSelection(BaseCycleContainer *bcc)
62 +   */
63    bool passSelection();
64    bool passInvertedSelection();
65  
66 +  /**
67 +   * enable or disable the selection, the selection is enabled by default
68 +   */
69 +  void DisableSelection(){m_isactive = false;}
70 +  void EnableSelection(){m_isactive = true;}
71 +  bool IsActive(){return m_isactive;}
72 +
73 +  /// print the cut-flow table for the booked SelectionModules, to be called in the EndInputData routine of a cycle
74    void printCutFlow();
75  
76    TString GetName() {return m_name;}
# Line 44 | Line 82 | class Selection{
82    std::vector<SelectionModule*> m_cuts;
83    std::vector<int> m_cutflow;
84    int Ntotal;
85 +  bool m_isactive;
86  
87   };
88  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines