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.6 by peiffer, Wed Jun 13 09:37:33 2012 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 +  /// print the cut-flow table for the booked SelectionModules, to be called in the EndInputData routine of a cycle
67    void printCutFlow();
68  
69    TString GetName() {return m_name;}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines