-
- AliMUONHit hit(fIshunt,
- gAlice->GetMCApp()->GetCurrentTrackNumber(),
- detElemId, ipart,
- fTrackPosition.X(),
- fTrackPosition.Y()+yAngleEffect,
- fTrackPosition.Z(),
- gMC->TrackTime(),
- fTrackMomentum.P(),
- theta,
- phi,
- fStepSum[idvol],
- fDestepSum[idvol],
- fTrackPosition.X(),
- fTrackPosition.Y(),
- fTrackPosition.Z());
+ else if (fAngleEffect && fMagEffect) {
+ if ( (betaxGamma >3.2) && (TMath::Abs(thetawires*kRaddeg)<=15.) ) {
+ betaxGamma=TMath::Log(betaxGamma);
+ eLossParticleELossMip = fElossRatio->Eval(betaxGamma);
+ // 10 degrees is a reference for a model (arbitrary)
+ sigmaEffect10degrees=fAngleEffect10->Eval(eLossParticleELossMip);// in micrometers
+ // Angle with respect to the wires assuming that chambers are perpendicular to the z axis.
+ sigmaEffectThetadegrees = sigmaEffect10degrees/fMagAngleEffectNorma->Eval(thetawires*kRaddeg,bField[0]/10.); // For 5mm gap
+ if ( (iChamber==1) || (iChamber==2) )
+ sigmaEffectThetadegrees/=(1.09833e+00+1.70000e-02*(thetawires*kRaddeg)); // The gap is different (4mm)
+ yAngleEffect=1.e-04*gRandom->Gaus(0,sigmaEffectThetadegrees); // Error due to the angle effect in cm
+ }
+ }