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,
00042 m_cotTrack, m_ptInvTrack, m_radiusTrack, m_curvTrack;
00043 NTuple::Array<float> m_d0Truth, m_z0Truth, m_phiTruth,
00044 m_cotTruth, m_ptInvTruth, m_radiusTruth, m_curvTruth;
00045 NTuple::Array<float> m_corr11tra, m_corr12tra, m_corr13tra, m_corr14tra, m_corr15tra;
00046 NTuple::Array<float> m_corr22tra, m_corr23tra, m_corr24tra, m_corr25tra;
00047 NTuple::Array<float> m_corr33tra, m_corr34tra, m_corr35tra;
00048 NTuple::Array<float> m_corr44tra, m_corr45tra, m_corr55tra;
00049
00050
00051 NTuple::Tuple* p_nt1;
00052
00053 public:
00055 TrackNtupleMaker(const std::string& name, ISvcLocator* pSvcLocator);
00056 StatusCode initialize();
00057 StatusCode execute();
00058 StatusCode finalize();
00059
00060 private:
00061
00062 long m_nEvents;
00063 TesIO* m_tesIO;
00064
00065
00066 std::string m_trackLocation;
00067
00068
00069 static const std::string DEFAULT_trackLocation;
00070
00071 };
00072
00073 }
00074
00075 #endif