00001 #ifndef QUICK_ANA__MASTER_OUTPUT_TOOL_XAOD_H
00002 #define QUICK_ANA__MASTER_OUTPUT_TOOL_XAOD_H
00003
00004
00005 #ifdef ROOTCORE
00006
00007
00008 #include "AsgTools/AsgTool.h"
00009
00010
00011 #include "QuickAna/Global.h"
00012 #include "QuickAna/IOutputTool.h"
00013 #include "QuickAna/EventData.h"
00014 #include "AsgTools/AnaToolHandle.h"
00015
00016 namespace ana
00017 {
00018
00026 class MasterOutputToolXAOD : public IOutputTool, public asg::AsgTool
00027 {
00028
00030 ASG_TOOL_CLASS(MasterOutputToolXAOD, IOutputTool)
00031
00032 public:
00033
00035 MasterOutputToolXAOD(const std::string& name);
00036
00038 virtual StatusCode initialize() override;
00039
00041 virtual StatusCode write() override;
00042
00043 private:
00044
00046 EventData m_eventData;
00047
00049 std::vector<ObjectType> m_outputTypes;
00050
00052 std::vector< asg::AnaToolHandle<IOutputTool> > m_outputTools;
00053
00054 };
00055
00056 }
00057
00058 #endif // ROOTCORE
00059
00060 #endif