Skip to content

Commit 79a1639

Browse files
author
Michael Peters
committed
Adds local PID parametrization file option to KFParticle_sPHENIX
1 parent 9a19bb9 commit 79a1639

File tree

3 files changed

+35
-7
lines changed

3 files changed

+35
-7
lines changed

offline/packages/KFParticle_sPHENIX/KFParticle_Tools.cc

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1184,7 +1184,16 @@ float KFParticle_Tools::get_dEdx(PHCompositeNode *topNode, const KFParticle &dau
11841184

11851185
void 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));

offline/packages/KFParticle_sPHENIX/KFParticle_Tools.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,8 @@ class KFParticle_Tools : protected KFParticle_MVA
149149
std::vector<float> m_intermediate_vertex_volume;
150150

151151
bool m_use_PID{false};
152+
bool m_use_local_PID_file{false};
153+
std::string m_local_PID_filename = "";
152154
float m_dEdx_band_width{0.2}; // Fraction of expected dE/dx
153155

154156
TF1 *f_pion_plus{nullptr};

offline/packages/KFParticle_sPHENIX/KFParticle_sPHENIX.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,10 @@ class KFParticle_sPHENIX : public SubsysReco, public KFParticle_nTuple, public K
394394
void selectMotherByMassError(bool select = true) { m_select_by_mass_error = select; }
395395

396396
void usePID(bool use = true){ m_use_PID = use; }
397+
398+
void useLocalPIDFile(bool use = false){ m_use_local_PID_file = use; }
399+
400+
void setLocalPIDFilename(std::string name){ m_local_PID_filename = name; }
397401

398402
void setPIDacceptFraction(float frac = 0.2){ m_dEdx_band_width = frac; }
399403

0 commit comments

Comments
 (0)