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 #include <string>
00020
00021
00022 #include "GaudiKernel/Algorithm.h"
00023 #include "GaudiKernel/NTuple.h"
00024 #include "AtlfastUtils/TesIO.h"
00025
00026 namespace Atlfast {
00027 using std::string;
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 static const std::string DEFAULT_trackLocation;
00068
00069 };
00070
00071 }
00072
00073 #endif