00001
00002
00003 #ifndef GoodRunsLists_GoodRunsListSelectionTool_H
00004 #define GoodRunsLists_GoodRunsListSelectionTool_H
00005
00006
00007 #include <vector>
00008 #include <string>
00009
00010
00011 #include "AsgTools/AsgTool.h"
00012
00013
00014 #include "AsgAnalysisInterfaces/IGoodRunsListSelectionTool.h"
00015 #include "GoodRunsLists/TGRLCollection.h"
00016
00025 class GoodRunsListSelectionTool : virtual public IGoodRunsListSelectionTool,
00026 public asg::AsgTool {
00027
00028
00029 ASG_TOOL_CLASS( GoodRunsListSelectionTool, IGoodRunsListSelectionTool )
00030
00031 public:
00032 GoodRunsListSelectionTool( const std::string& name =
00033 "GoodRunsListsSelectionTool" );
00034
00036 virtual StatusCode initialize();
00037
00040
00042 virtual bool passRunLB( const std::vector< std::string >& grlnameVec =
00043 std::vector< std::string >(),
00044 const std::vector< std::string >& brlnameVec =
00045 std::vector< std::string >() ) const;
00046
00048 virtual bool passRunLB( const xAOD::EventInfo& event,
00049 const std::vector< std::string >& grlnameVec =
00050 std::vector< std::string >(),
00051 const std::vector< std::string >& brlnameVec =
00052 std::vector< std::string >() ) const;
00053
00055 virtual bool passRunLB( int runNumber, int lumiBlockNr,
00056 const std::vector< std::string >& grlnameVec =
00057 std::vector< std::string >(),
00058 const std::vector< std::string >& brlnameVec =
00059 std::vector< std::string >() ) const;
00060
00062 virtual const Root::TGRLCollection& getGRLCollection() const {
00063 return m_grlcollection;
00064 }
00065
00067 virtual const Root::TGRLCollection& getBRLCollection() const {
00068 return m_brlcollection;
00069 }
00070
00072
00073 protected:
00075 StatusCode readXMLs( Root::TGRLCollection& grl,
00076 const std::vector< std::string >& files );
00077
00078 std::vector< std::string > m_goodrunslistVec;
00079 std::vector< std::string > m_blackrunslistVec;
00080
00081 Root::TGRLCollection m_grlcollection;
00082 Root::TGRLCollection m_brlcollection;
00083
00084 int m_boolop;
00085 bool m_passthrough;
00086 bool m_rejectanybrl;
00087
00088 };
00089
00090 #endif // GoodRunsLists_GoodRunsListSelectionTool_H