diff --git a/trackReps/src/MaterialEffects.cc b/trackReps/src/MaterialEffects.cc index f325d6bfc9792d02ad6f86aab17170c1f6a7b806..66849db8a901f844c688c2dfe3202c57b7f678fb 100644 --- a/trackReps/src/MaterialEffects.cc +++ b/trackReps/src/MaterialEffects.cc @@ -189,7 +189,7 @@ double MaterialEffects::effects(const std::vector<RKStep>& steps, double pSquare = p*p; if (pdg_ == c_monopolePDGCode) { - charge_ = mag_charge_ * sqrt(mom / hypot(mom, mass_)); //effective charge for monopoles + charge_ = mag_charge_ * mom / hypot(mom, mass_); //effective charge for monopoles } if (energyLossBetheBloch_ && noiseBetheBloch_) @@ -853,7 +853,7 @@ void MaterialEffects::drawdEdx(int pdg) { double mom = pow(10., log10(minMom) + i*logStepSize); double E = hypot(mom, mass_); if (pdg_ == c_monopolePDGCode) { - charge_ = mag_charge_ * sqrt(mom / E); //effective charge for monopoles + charge_ = mag_charge_ * mom / E; //effective charge for monopoles } energyLossBrems_ = false; diff --git a/trackReps/src/MplTrackRep.cc b/trackReps/src/MplTrackRep.cc index 49abd72e404408d73ba1c92f8c4799f3afd7152f..c4f8cbb1961a357f461f9e1b13cac88eb7700f94 100644 --- a/trackReps/src/MplTrackRep.cc +++ b/trackReps/src/MplTrackRep.cc @@ -109,7 +109,7 @@ double MplTrackRep::RKPropagate(M1x7& state7, r[0] = R[0]; r[1] = R[1]; r[2]=R[2]; FieldManager::getInstance()->getFieldVal(r[0], r[1], r[2], H0[0], H0[1], H0[2]); // magnetic field in 10^-1 T = kGauss H0[0] *= PS2; H0[1] *= PS2; H0[2] *= PS2; // H0 is PS2*(Hx, Hy, Hz) @ R0; effectively this is h/2 * Force - D0 = fabs(1.0/state7[6]); // p_n + D0 = fabs(m_magCharge/state7[6]); // p_n F0 = std::sqrt(m_mass * m_mass + D0 * D0) / (D0 * D0); // E / p^2 AH0 = A[0]*H0[0] + A[1]*H0[1] + A[2]*H0[2]; // A dot Force @@ -185,7 +185,7 @@ double MplTrackRep::RKPropagate(M1x7& state7, for(int i=start; i<7; ++i) { //first point - dD0 = -D0*D0/sign*J(i,6); + dD0 = -D0*D0/m_magCharge/sign*J(i,6); dA0 = (1/(F0*F0*D0*D0*D0) - 2/D0)*A0*dD0 - (D1-D0)/D0*J(i,3) - F0*A[0]*(J(i,3)*H0[0] + J(i,4)*H0[1] + J(i,5)*H0[2]); // FIXME A true marvel of clarity dB0 = (1/(F0*F0*D0*D0*D0) - 2/D0)*B0*dD0 - (D1-D0)/D0*J(i,4) - F0*A[1]*(J(i,3)*H0[0] + J(i,4)*H0[1] + J(i,5)*H0[2]); dC0 = (1/(F0*F0*D0*D0*D0) - 2/D0)*C0*dD0 - (D1-D0)/D0*J(i,5) - F0*A[2]*(J(i,3)*H0[0] + J(i,4)*H0[1] + J(i,5)*H0[2]); @@ -220,7 +220,7 @@ double MplTrackRep::RKPropagate(M1x7& state7, J(i, 0) += (dA2+dA3+dA4)*S3; J(i, 3) = ((dA0+2.*dA3)+(dA5+dA6))*P3; // dR := dR + S3*[(dA2, dB2, dC2) + (dA3, dB3, dC3) + (dA4, dB4, dC4)] J(i, 1) += (dB2+dB3+dB4)*S3; J(i, 4) = ((dB0+2.*dB3)+(dB5+dB6))*P3; // dA := 1/3*[(dA0, dB0, dC0) + 2*(dA3, dB3, dC3) + (dA5, dB5, dC5) + (dA6, dB6, dC6)] J(i, 2) += (dC2+dC3+dC4)*S3; J(i, 5) = ((dC0+2.*dC3)+(dC5+dC6))*P3; - J(i,6) = -sign/D5/D5*P3*(dD1 + 2*dD2 + dD3 + dD4); + J(i,6) = -m_magCharge*sign/D5/D5*P3*(dD1 + 2*dD2 + dD3 + dD4); } // } // end if (!calcOnlyLastRowOfJ)