@@ -1184,7 +1184,16 @@ float KFParticle_Tools::get_dEdx(PHCompositeNode *topNode, const KFParticle &dau
11841184
11851185void KFParticle_Tools::init_dEdx_fits ()
11861186{
1187- std::string dedx_fitparams = CDBInterface::instance ()->getUrl (" TPC_DEDX_FITPARAM" );
1187+ std::string dedx_fitparams;
1188+ if (m_use_local_PID_file)
1189+ {
1190+ dedx_fitparams = m_local_PID_filename;
1191+ }
1192+ else
1193+ {
1194+ dedx_fitparams = CDBInterface::instance ()->getUrl (" TPC_DEDX_FITPARAM" );
1195+ }
1196+
11881197 TFile *filefit = TFile::Open (dedx_fitparams.c_str ());
11891198
11901199 if (!filefit->IsOpen ())
@@ -1193,12 +1202,25 @@ void KFParticle_Tools::init_dEdx_fits()
11931202 return ;
11941203 }
11951204
1196- filefit->GetObject (" f_piband" , f_pion_plus);
1197- filefit->GetObject (" f_Kband" , f_kaon_plus);
1198- filefit->GetObject (" f_pband" , f_proton_plus);
1199- filefit->GetObject (" f_piminus_band" , f_pion_minus);
1200- filefit->GetObject (" f_Kminus_band" , f_kaon_minus);
1201- filefit->GetObject (" f_pbar_band" , f_proton_minus);
1205+ if (m_use_local_PID_file)
1206+ {
1207+ // new method is independent of charge
1208+ filefit->GetObject (" pi_band" ,f_pion_plus);
1209+ filefit->GetObject (" K_band" ,f_kaon_plus);
1210+ filefit->GetObject (" p_band" ,f_proton_plus);
1211+ filefit->GetObject (" pi_band" ,f_pion_minus);
1212+ filefit->GetObject (" K_band" ,f_kaon_minus);
1213+ filefit->GetObject (" p_band" ,f_proton_minus);
1214+ }
1215+ else
1216+ {
1217+ filefit->GetObject (" f_piband" , f_pion_plus);
1218+ filefit->GetObject (" f_Kband" , f_kaon_plus);
1219+ filefit->GetObject (" f_pband" , f_proton_plus);
1220+ filefit->GetObject (" f_piminus_band" , f_pion_minus);
1221+ filefit->GetObject (" f_Kminus_band" , f_kaon_minus);
1222+ filefit->GetObject (" f_pbar_band" , f_proton_minus);
1223+ }
12021224
12031225 pidMap.insert (std::pair<int , TF1 *>(-11 , f_pion_plus));
12041226 pidMap.insert (std::pair<int , TF1 *>(211 , f_pion_plus));
0 commit comments