00001 #ifndef TAUREC_TAUPI0CREATEROI_H
00002 #define TAUREC_TAUPI0CREATEROI_H
00003
00004 #include <string>
00005 #include <vector>
00006
00007 #include "GaudiKernel/ToolHandle.h"
00008 #include "tauRecTools/TauRecToolBase.h"
00009
00010 #include "xAODTau/TauJet.h"
00011
00012 class ICaloCellMakerTool;
00013
00022 class TauPi0CreateROI : virtual public TauRecToolBase {
00023 public:
00024 TauPi0CreateROI(const std::string& name);
00025 ASG_TOOL_CLASS2(TauPi0CreateROI, TauRecToolBase, ITauToolBase);
00026 virtual ~TauPi0CreateROI();
00027
00028 virtual StatusCode initialize();
00029 virtual StatusCode eventInitialize();
00030 virtual StatusCode execute(xAOD::TauJet& pTau);
00031 virtual StatusCode eventFinalize();
00032 virtual StatusCode finalize();
00033
00034 virtual void cleanup(xAOD::TauJet* ) { }
00035 virtual void print() const { }
00036
00037 private:
00038
00040 void storeCell(const CaloCell* );
00041
00043 ToolHandle<ICaloCellMakerTool> m_cellMakerTool;
00044
00046 const CaloDetDescrManager* m_calo_dd_man;
00047 const CaloCell_ID* m_calo_id;
00048
00050 std::string m_caloCellContainerName;
00051
00053 CaloCellContainer *m_pPi0CellContainer;
00054 std::string m_pi0CellContainerName;
00055
00057 std::vector<CaloCell*> m_addedCellsMap;
00058 };
00059
00060 #endif
00061