00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __ATLFAST_TrackNtupleMaker_H
00015 #define __ATLFAST_TrackNtupleMaker_H
00016
00017
00018
00019 #define DEFAULT_trackLocation "/Event/AtlfastTracks"
00020 #include <string>
00021
00022
00023 #include "GaudiKernel/Algorithm.h"
00024 #include "GaudiKernel/NTuple.h"
00025 #include "AtlfastCode/TesIO.h"
00026
00027 namespace Atlfast {
00028
00029 class TrackNtupleMaker: public Algorithm {
00030 protected:
00031
00032
00033 NTuple::Item<long> m_ntra;
00034 NTuple::Array<long> m_kpTruth, m_kfTruth;
00035 NTuple::Array<long> m_kpm1tra, m_kfm1tra;
00036 NTuple::Array<long> m_kpm2tra, m_kfm2tra;
00037 NTuple::Array<long> m_kpm3tra, m_kfm3tra;
00038 NTuple::Array<long> m_kpm4tra, m_kfm4tra;
00039 NTuple::Array<long> m_kpm5tra, m_kfm5tra;
00040 NTuple::Array<long> m_kpm6tra, m_kfm6tra;
00041 NTuple::Array<float> m_d0Track, m_z0Track, m_phiTrack, m_cotTrack, m_ptInvTrack;
00042 NTuple::Array<float> m_d0Truth, m_z0Truth, m_phiTruth, m_cotTruth, m_ptInvTruth;
00043 NTuple::Array<float> m_corr11tra, m_corr12tra, m_corr13tra, m_corr14tra, m_corr15tra;
00044 NTuple::Array<float> m_corr22tra, m_corr23tra, m_corr24tra, m_corr25tra;
00045 NTuple::Array<float> m_corr33tra, m_corr34tra, m_corr35tra;
00046 NTuple::Array<float> m_corr44tra, m_corr45tra, m_corr55tra;
00047
00048
00049 NTuple::Tuple* p_nt1;
00050
00051 public:
00053 TrackNtupleMaker(const std::string& name, ISvcLocator* pSvcLocator);
00054 StatusCode initialize();
00055 StatusCode execute();
00056 StatusCode finalize();
00057
00058 private:
00059
00060 long m_nEvents;
00061 TesIO* m_tesIO;
00062
00063
00064 std::string m_trackLocation;
00065
00066 };
00067
00068 }
00069
00070 #endif
00071
00072
00073
00074
00075
00076
00077