00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef STJ_MC_PARTICLE_TO_ST_MU_TRACK_FOUR_VEC_H
00010 #define STJ_MC_PARTICLE_TO_ST_MU_TRACK_FOUR_VEC_H
00011
00012 #include "TLorentzVector.h"
00013 #include "StMuTrackFourVec.h"
00014 #include "StjMCParticleList.h"
00015
00016 struct StjMCParticleToStMuTrackFourVec {
00017 StMuTrackFourVec* operator()(const StjMCParticle& mcparticle) const
00018 {
00019 TLorentzVector p;
00020 p.SetPtEtaPhiM(mcparticle.pt,mcparticle.eta,mcparticle.phi,mcparticle.m);
00021 StMcTrackEmu* mctrack = new StMcTrackEmu;
00022 mctrack->_pt = mcparticle.pt;
00023 mctrack->_eta = mcparticle.eta;
00024 mctrack->_phi = mcparticle.phi;
00025 mctrack->_m = mcparticle.m;
00026 mctrack->_e = mcparticle.e;
00027 mctrack->_id = mcparticle.mcparticleId;
00028 mctrack->_pdg = mcparticle.pdg;
00029 mctrack->_status = mcparticle.status;
00030 return new StMuTrackFourVec(0,0,mctrack,p,0,mcparticle.mcparticleId-1,kUnknownId);
00031 }
00032 };
00033
00034 #endif // STJ_MC_PARTICLE_TO_ST_MU_TRACK_FOUR_VEC_H