00001 #ifndef QUICK_ANA__EVENT_SELECT_BASE_TOOL_H
00002 #define QUICK_ANA__EVENT_SELECT_BASE_TOOL_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <QuickAna/Global.h>
00015
00016 #include <QuickAna/AnaTool.h>
00017 #include <QuickAna/SelectionData.h>
00018
00019 namespace ana
00020 {
00021
00024 class EventSelectBaseTool : virtual public AnaTool
00025 {
00026
00027
00028
00029
00030 ASG_TOOL_CLASS (EventSelectBaseTool, ana::IAnaTool)
00031
00032 public:
00033
00037 EventSelectBaseTool (const std::string& name);
00038
00040 virtual StatusCode
00041 setObjectType (ObjectType type, const std::string& workingPoint) override;
00042
00045 virtual AnalysisStep step () const override;
00046
00048 virtual unsigned inputTypes () const override;
00049
00051 virtual unsigned outputTypes () const override;
00052
00053 public:
00054 virtual StatusCode
00055 useConfiguration (const InternalConfiguration& configuration)
00056 override;
00057
00061 virtual StatusCode execute (IEventObjects& objects) override;
00062
00064 private:
00065 std::vector<SG::AuxElement::Accessor<SelectType>> m_select;
00066 };
00067 }
00068
00069 #endif