00001 #ifndef GoodRunsLists_IGoodRunsListSelectionTool_H
00002 #define GoodRunsLists_IGoodRunsListSelectionTool_H
00003
00004
00005 #include <vector>
00006 #include <string>
00007
00008
00009 #include "AsgTools/IAsgTool.h"
00010
00011
00012 #include "xAODEventInfo/EventInfo.h"
00013
00014
00015 namespace Root {
00016 class TGRLCollection;
00017 }
00018
00021
00022 class IGoodRunsListSelectionTool : virtual public asg::IAsgTool {
00023
00024 ASG_TOOL_INTERFACE( IGoodRunsListSelectionTool )
00025
00026 public:
00028 virtual bool passRunLB( const std::vector< std::string >& grlnameVec =
00029 std::vector< std::string >(),
00030 const std::vector< std::string >& brlnameVec =
00031 std::vector< std::string >() ) const = 0;
00032
00034 virtual bool passRunLB( const xAOD::EventInfo& event,
00035 const std::vector< std::string >& grlnameVec =
00036 std::vector< std::string >(),
00037 const std::vector< std::string >& brlnameVec =
00038 std::vector< std::string >() ) const = 0;
00039
00041 virtual bool passRunLB( int runNumber, int lumiBlockNr,
00042 const std::vector< std::string >& grlnameVec =
00043 std::vector< std::string >(),
00044 const std::vector< std::string >& brlnameVec =
00045 std::vector< std::string >() ) const = 0;
00046
00048 virtual const Root::TGRLCollection& getGRLCollection() const = 0;
00049
00051 virtual const Root::TGRLCollection& getBRLCollection() const = 0;
00052
00053 };
00054
00055 #endif // GoodRunsLists_IGoodRunsListSelectionTool_H