167 if ( !( recTrk )->isMdcKalTrackValid() )
return irc;
170 double ptrk = mdcKalTrk->
p();
174 m_pt = mdcKalTrk->
pxy();
175 m_pt = m_pt * mdcTrk->
charge();
184 m_energy = emcTrk->
energy();
185 m_eseed = emcTrk->
eSeed();
186 m_e3x3 = emcTrk->
e3x3();
187 m_e5x5 = emcTrk->
e5x5();
189 double m_emc_theta = emcTrk->
theta();
190 double m_emc_phi = emcTrk->
phi();
193 double m_ext_theta = mc.theta();
194 double m_ext_phi = mc.phi();
196 m_delta_theta = m_emc_theta - m_ext_theta;
197 m_delta_phi = m_emc_phi - m_ext_phi;
198 if ( m_delta_phi > 1 ) m_delta_phi = m_delta_phi - 6.283;
199 if ( m_delta_phi < -1 ) m_delta_phi = m_delta_phi + 6.283;
206 if ( emcTrk->
energy() <= 0 )
return irc;
218 params_emc1[0] = m_ptrk;
219 params_emc1[1] = m_pt;
220 params_emc1[2] = m_energy;
221 params_emc1[3] = m_eseed;
222 params_emc1[4] = m_e3x3;
223 params_emc1[5] = m_e5x5;
224 params_emc1[6] = m_secondmoment;
225 params_emc1[7] = m_latmoment;
226 params_emc1[8] = m_a20moment;
227 params_emc1[9] = m_a42moment;
228 params_emc1[10] = m_delta_theta;
229 params_emc1[11] = m_delta_phi;
231 m_val_emc = m_mlp_emc->Evaluate( 0, params_emc1 );
232 int pindex = int( ( m_ptrk - 0.2 ) / 0.1 );
233 int bindex = int( ( m_val_emc - 0.5 ) / 0.01 );
234 if ( bindex > 300 || bindex < 0 )
return irc;
235 if ( pindex > 17 ) pindex = 17;
236 if ( pindex < 0 ) pindex = 0;
238 m_prob[0] = m_e_h[pindex][bindex];
239 m_prob[1] = m_m_h[pindex][bindex];
240 m_prob[2] = m_p_h[pindex][bindex];
241 m_prob[3] = m_p_h[pindex][bindex];
242 m_prob[4] = m_p_h[pindex][bindex];
243 for (
int i = 0; i < 5; i++ )
245 if ( m_prob[i] == 0 ) m_prob[i] = 0.001;
249 for (
int i = 0; i < 5; i++ ) { ppp[i] = 0; }
250 for (
int j = 0; j <= bindex; j++ )
252 ppp[0] += m_e_h[pindex][j];
253 ppp[1] += m_m_h[pindex][j];
254 ppp[2] += m_p_h[pindex][j];
256 for (
int i = 0; i < 3; i++ )
258 ppp[i] = ppp[i] * 0.01;
259 if ( ppp[i] > 0 && ppp[i] < 1 ) {
CALG( ppp[i], m_chi[i] ); }
260 if ( ppp[i] <= 0 || ppp[i] >= 1 ) m_chi[i] = -99;
const Hep3Vector emcPosition() const
const int emcVolumeNumber() const
EvtRecTrack * PidTrk() const