105 {
106 int irc = -1;
110
111 m_depth = -99;
112 m_hits = -99;
113 m_chi2 =-99;
114 m_distance =-99;
115 m_muc_delta_phi =-99;
116
117 double ptrk = mdcTrk->
p();
118 double m_ptrk =
ptrk;
120 double phi = mdcTrk->
phi();
121 double theta = mdcTrk->
theta();
123 if(
ptrk<0.5)
return irc;
124 if(fabs(cost)>0.83) return irc;
130
131
132 if(mucTrk->
depth()>100000)
return irc;
133
135 m_depth = mucTrk->
depth();
137 m_chi2 = mucTrk->
chi2();
138
139
140
141
142
143
144 m_muc_delta_phi= mucTrk->
deltaPhi();
145 m_muc_delta_phi=3.14159-m_muc_delta_phi;
147 params_muc1[0] = m_ptrk;
148 params_muc1[1] = phi;
149 params_muc1[2] = theta;
150 params_muc1[3] = m_depth;
151 params_muc1[4] = m_hits;
152 params_muc1[5] = m_chi2;
153 params_muc1[6] = m_distance;
154 params_muc1[7] = m_muc_delta_phi;
155
156 m_val_muc = m_mlp_muc->Evaluate(0,params_muc1);
158 int pindex = int((m_ptrk-0.5)/0.1);
159 int bindex = int((m_val_muc-0.5)/0.01);
160 if(bindex>300||bindex<0) return irc;
161 if(pindex>11) pindex=11;
162 if(pindex<0) pindex=0;
163 m_prob[0] = m_p_h[pindex][bindex];;
164 m_prob[1] = m_m_h[pindex][bindex];
165 m_prob[2] = m_p_h[pindex][bindex];
166 m_prob[3] = m_p_h[pindex][bindex];
167 m_prob[4] = m_p_h[pindex][bindex];
168 for(int i =0; i<5; i++) {
169 if(m_prob[i]==0) m_prob[i] = 0.001;
170 }
171 float ppp[5];
172 for(int i =0; i<5; i++) {
173 ppp[i] = 0.0;
174 }
175
176 for(int j=0; j<bindex; j++) {
177 ppp[1]+= m_m_h[pindex][j]*0.01;
178 ppp[2]+= m_p_h[pindex][j]*0.01;
179 }
180 if(ppp[1]>0&&ppp[1]<1)
181 CALG(ppp[1],m_chi[1]);
182 if(ppp[2]>0&&ppp[2]<1)
183 CALG(ppp[2],m_chi[2]);
184 if(ppp[1]<=0||ppp[1]>=1)
185 m_chi[1]=-99;
186 if(ppp[2]<=0||ppp[2]>=1)
187 m_chi[2]=-99;
188
189 m_chi[3]=m_chi[2];
190 m_chi[4]=m_chi[2];
191 m_chi[0] =m_chi[2];
192 m_ndof = 1;
193 irc = 0;
194 return irc;
195}
double cos(const BesAngle a)
NTuple::Item< double > m_pt
void CALG(double Px, double &e2)
const int mucVolumeNumber() const
const double theta() const
int maxHitsInLayer() const
EvtRecTrack * PidTrk() const