00001 #ifndef QUICK_ANA__KIN_SELECT_TOOL_H
00002 #define QUICK_ANA__KIN_SELECT_TOOL_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <QuickAna/Global.h>
00021
00022 #include <QuickAna/AnaTool.h>
00023 #include <QuickAna/SelectionCut.h>
00024 #include <QuickAna/SelectionData.h>
00025
00026 namespace ana
00027 {
00029 class KinSelectTool : public AnaTool
00030 {
00031
00032
00033
00034
00035 ASG_TOOL_CLASS (KinSelectTool, ana::IAnaTool)
00036
00037
00038
00039 public:
00040 virtual StatusCode
00041 setObjectType (ObjectType type, const std::string& workingPoint) override;
00042
00043
00047 public:
00048 KinSelectTool (const std::string& name);
00049
00050
00056 public:
00057 ~KinSelectTool ();
00058
00059
00063 public:
00064 StatusCode initialize() override;
00065
00066
00068 public:
00069 virtual StatusCode
00070 useConfiguration (const InternalConfiguration& configuration)
00071 override;
00072
00073
00076 public:
00077 virtual AnalysisStep step () const override;
00078
00079
00081 public:
00082 virtual unsigned inputTypes () const override;
00083
00084
00086 public:
00087 virtual unsigned outputTypes () const override;
00088
00089
00093 public:
00094 virtual StatusCode execute (IEventObjects& objects) override;
00095
00096
00098 public:
00099 ObjectType m_objectType;
00100
00102 public:
00103 std::string m_selection;
00104
00106 private:
00107 std::unique_ptr<KinObjectSelect> m_selectObject;
00108
00110 private:
00111 SelectionData m_selectionData;
00112
00114 private:
00115 SelectionCut cut_kin_select;
00116 };
00117 }
00118
00119 #endif