From 0f86966497a53627553a066e4cfdb5a234a00d69 Mon Sep 17 00:00:00 2001 From: hristov Date: Tue, 1 Nov 2005 16:06:10 +0000 Subject: [PATCH] Reintroducing some protections --- RICH/AliRICHTracker.cxx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/RICH/AliRICHTracker.cxx b/RICH/AliRICHTracker.cxx index 796ae82d7de..345268ac983 100644 --- a/RICH/AliRICHTracker.cxx +++ b/RICH/AliRICHTracker.cxx @@ -103,14 +103,17 @@ void AliRICHTracker::RecWithESD(AliESD *pESD,AliRICH *pRich,Int_t iTrackN) if(recon.GetPhotonFlag() == 2) { Double_t theta_g=recon.GetTrackTheta(); Double_t phi_g=(recon.GetPhiPoint()-recon.GetTrackPhi()); - Double_t sigma = AliRICHParam::SigmaSinglePhoton(iPart,pTrack->GetP(),theta_g,phi_g).Mag(); - sigmaPID[iPart] += 1/(sigma*sigma); + Double_t sigma2 = AliRICHParam::SigmaSinglePhoton(iPart,pTrack->GetP(),theta_g,phi_g).Mag2(); + if (sigma2>0) + sigmaPID[iPart] += 1/sigma2; } } + sigmaPID[iPart] *= (Double_t)(recon.GetHoughPhotons()-fnPhotBKG)/(Double_t)(recon.GetHoughPhotons()); // n total phots, m are background...the sigma are scaled.. if (sigmaPID[iPart]>0) - sigmaPID[iPart] *= (Double_t)(recon.GetHoughPhotons()-fnPhotBKG)/(Double_t)(recon.GetHoughPhotons()); // n total phots, m are background...the sigma are scaled.. sigmaPID[iPart] = 1/TMath::Sqrt(sigmaPID[iPart])*0.001; // sigma from parametrization are in mrad... - fErrPar[iPart]=sigmaPID[iPart]; + else + sigmaPID[iPart] = 0; + fErrPar[iPart]=sigmaPID[iPart]; AliDebug(1,Form("sigma for %s is %f rad",AliPID::ParticleName(iPart),sigmaPID[iPart])); } CalcProb(thetaCerenkov,pTrack->GetP(),sigmaPID,richPID); @@ -245,7 +248,7 @@ void AliRICHTracker::CalcProb(Double_t thetaCer,Double_t pmod, Double_t *sigmaPI if(totalHeight<1e-5) {for(Int_t iPart=0;iPart5) for(Int_t iPart=0;iPart 5*sigmaPID[iPartNear]) for(Int_t iPart=0;iPart