00001
00002
00003 #include "tmb_tree/TMBIsoTrack.hpp"
00004 #include "tmb_tree/TMBTrack.hpp"
00005
00006 ClassImp(TMBIsoTrack);
00007
00008
00009
00010 TMBIsoTrack::TMBIsoTrack()
00011 : _pshwrdphi(999.9), _pshwrdeta(999.9),
00012 _PSphi(999.9), _PSz(999.9), _PSR(999.9),
00013 _bestcps_match_chi2(999.9)
00014 {}
00015
00016
00017 TMBIsoTrack::TMBIsoTrack(Float_t pshwrdphi, Float_t pshwrdeta,
00018 Float_t PSphi, Float_t PSz, Float_t PSR,
00019 Float_t e_mtc_tot, const Float_t* e_mtc,
00020 const Float_t* e33, const Float_t* e55,
00021 Int_t i_mtc,
00022 const TRef& tref,
00023 const TRefArray* CPS, const TRefArray* FPS,
00024 Float_t bestcps_match_chi2,
00025 const TArrayF* cps_match_chi2)
00026 {
00027 _pshwrdphi = pshwrdphi;
00028 _pshwrdeta = pshwrdeta;
00029 _PSphi = PSphi;
00030 _PSz = PSz;
00031 _PSR = PSR;
00032 _e_mtc_tot = e_mtc_tot;
00033 for(int i=0; i<14; ++i)
00034 _e_mtc[i] = e_mtc[i];
00035 for(int i=0; i<3 ; ++i) {
00036 _e33[i] = e33[i];
00037 _e55[i] = e55[i];
00038 }
00039 _i_mtc = i_mtc;
00040 _tref = tref;
00041 _CPS.Clear();
00042 if (CPS) {
00043 for (int i=0; i<CPS->GetLast()+1; ++i) {
00044 _CPS.Add( CPS->At(i) );
00045 }
00046 }
00047 _FPS.Clear();
00048 if (FPS) {
00049 for (int i=0; i<FPS->GetLast()+1; ++i) {
00050 _FPS.Add( FPS->At(i) );
00051 }
00052 }
00053 _bestcps_match_chi2 = bestcps_match_chi2;
00054 if ( cps_match_chi2 ) _cps_match_chi2 = *cps_match_chi2;
00055 }