00001 // ================================================ 00002 // ReconstructedParticleDumper class description 00003 // ================================================ 00004 // 00005 // THIS TEXT TO BE REPLACED BY ATLAS STANDARD FORMAT 00006 // 00007 // 00008 // This version.... 00009 // 00010 // 00011 // Namespace Atlfast:: 00012 // 00013 // class: ReconstructedParticleDumper 00014 // 00015 // Description: 00016 // 00017 // formatted output of collection of Reconstructed Particles from the TES 00018 // for debugging purposes 00019 // ................................................................ 00020 // 00021 00022 #ifndef ATLFAST_RECONSTRUCTEDPARTICLEDUMPER_H 00023 #define ATLFAST_RECONSTRUCTEDPARTICLEDUMPER_H 00024 00025 // STL 00026 #include <vector> 00027 #include <string> 00028 00029 // Gaudi 00030 #include "GaudiKernel/ISvcLocator.h" 00031 #include "GaudiKernel/IAlgorithm.h" 00032 #include "GaudiKernel/Algorithm.h" 00033 #include "GaudiKernel/MsgStream.h" 00034 #include "GaudiKernel/DataObject.h" 00035 00036 // Other 00037 #include "CLHEP/Vector/LorentzVector.h" 00038 00039 // Atlfast 00040 #include "AtlfastEvent/ReconstructedParticle.h" 00041 #include "AtlfastUtils/TesIO.h" 00042 namespace Atlfast { 00047 using std::string; 00048 class ReconstructedParticleDumper : 00049 public Algorithm { 00050 00051 public: 00052 00053 //------------------------- 00054 // Constructors/Destructors 00055 // 00056 // Gaudi requires that the constructor takes certain arguments 00057 // (and passes them directly to the constructor of the base class) 00058 //------------------------- 00059 00060 ReconstructedParticleDumper( const std::string& name, ISvcLocator* pSvcLocator ) ; 00061 virtual ~ReconstructedParticleDumper(); 00062 00063 00064 //------------------------------------------------------ 00065 // Methods used by Gaudi to run the algorithm 00066 //------------------------------------------------------ 00067 00068 virtual StatusCode initialize() ; 00069 virtual StatusCode execute() ; 00070 virtual StatusCode finalize() ; 00071 00072 00073 00074 private: 00075 //------------------------------------ 00076 // Types used internally by this class 00077 // for local collections 00078 //------------------------------------ 00079 00080 00081 TesIO* m_tesIO; 00082 //holds the Stotegate MC location 00083 std::string m_mcLocation; 00084 00085 //--------------------------------------------------- 00086 // properties set by jobOptions 00087 //--------------------------------------------------- 00088 00089 bool m_writePDG; 00090 bool m_writeFourVector; 00091 bool m_writeEta; 00092 bool m_writePhi; 00093 bool m_writePt; 00094 bool m_writeEt; 00095 bool m_writeMt; 00096 bool m_writeTruth; 00097 00098 //-------------------------------------------------- 00099 // Paths in the Transient Event store to get/put things 00100 // These are currently set in member variables so that 00101 // they can be overwritten by the job options service 00102 //-------------------------------------------------- 00103 00104 std::string m_inputLocation ; 00105 }; 00106 00107 00108 } //end of namespace bracket 00109 00110 #endif 00111 00112 00113 00114 00115 00116 00117 00118 00119 00120 00121