diff --git a/reco/L1/CbmL1Performance.cxx b/reco/L1/CbmL1Performance.cxx index 70996109620b874d097e9833d466a74940266403..f71cb12b6c0dcd0238c83e4e2903aa5318c84811 100644 --- a/reco/L1/CbmL1Performance.cxx +++ b/reco/L1/CbmL1Performance.cxx @@ -1946,20 +1946,19 @@ void CbmL1::InputPerformance() mcPos.SetY(pt->GetYIn() + t * (pt->GetYOut() - pt->GetYIn())); mcPos.SetZ(hitPos.Z()); -#if 0 // standard errors - if (hitErr.X() != 0) pullXsts->Fill( (hitPos.X() - mcPos.X()) / hitErr.X() ); // standard errors - if (hitErr.Y() != 0) pullYsts->Fill( (hitPos.Y() - mcPos.Y()) / hitErr.Y() ); -#elif 1 // qa errors - if (hitErr.X() != 0) pullXsts->Fill((hitPos.X() - mcPos.X()) / sh->GetDx()); // qa errors - if (hitErr.Y() != 0) pullYsts->Fill((hitPos.Y() - mcPos.Y()) / sh->GetDy()); - - pullTsts->Fill((sh->GetTime() - mcTime) / sh->GetTimeError()); -#else // errors used in TF - if (hitErr.X() != 0) + if (0) { // standard errors + if (hitErr.X() > 1.e-8) pullXsts->Fill((hitPos.X() - mcPos.X()) / hitErr.X()); + if (hitErr.Y() > 1.e-8) pullYsts->Fill((hitPos.Y() - mcPos.Y()) / hitErr.Y()); + } + else if (1) { // qa errors + if (sh->GetDx() > 1.e-8) pullXsts->Fill((hitPos.X() - mcPos.X()) / sh->GetDx()); + if (sh->GetDy() > 1.e-8) pullYsts->Fill((hitPos.Y() - mcPos.Y()) / sh->GetDy()); + pullTsts->Fill((sh->GetTime() - mcTime) / sh->GetTimeError()); + } + else { // errors used in TF pullXsts->Fill((hitPos.X() - mcPos.X()) / sqrt(algo->vStations[NMvdStations].XYInfo.C00[0])); - if (hitErr.Y() != 0) pullYsts->Fill((hitPos.Y() - mcPos.Y()) / sqrt(algo->vStations[NMvdStations].XYInfo.C11[0])); -#endif + } resXsts->Fill((hitPos.X() - mcPos.X()) * 10 * 1000); resYsts->Fill((hitPos.Y() - mcPos.Y()) * 10 * 1000); @@ -2060,20 +2059,19 @@ void CbmL1::InputPerformance() mcPos.SetY(0.5 * (pt->GetYIn() + pt->GetYOut())); mcPos.SetZ(hitPos.Z()); -#if 0 // standard errors - if (hitErr.X() != 0) pullXmuch->Fill( (hitPos.X() - mcPos.X()) / hitErr.X() ); // standard errors - if (hitErr.Y() != 0) pullYmuch->Fill( (hitPos.Y() - mcPos.Y()) / hitErr.Y() ); -#elif 1 // qa errors - if (hitErr.X() != 0) pullXmuch->Fill((h.x - mcPos.X()) / sh->GetDx()); // qa errors - if (hitErr.Y() != 0) pullYmuch->Fill((h.y - mcPos.Y()) / sh->GetDy()); - - pullTmuch->Fill((h.t - mcTime) / sh->GetTimeError()); -#else // errors used in TF - if (hitErr.X() != 0) + if (0) { // standard errors + if (hitErr.X() > 1.e-8) pullXmuch->Fill((hitPos.X() - mcPos.X()) / hitErr.X()); + if (hitErr.Y() > 1.e-8) pullYmuch->Fill((hitPos.Y() - mcPos.Y()) / hitErr.Y()); + } + else if (1) { // qa errors + if (sh->GetDx() > 1.e-8) pullXmuch->Fill((h.x - mcPos.X()) / sh->GetDx()); + if (sh->GetDy() > 1.e-8) pullYmuch->Fill((h.y - mcPos.Y()) / sh->GetDy()); + pullTmuch->Fill((h.t - mcTime) / sh->GetTimeError()); + } + else { // errors used in TF pullXmuch->Fill((hitPos.X() - mcPos.X()) / sqrt(algo->vStations[NMvdStations].XYInfo.C00[0])); - if (hitErr.Y() != 0) pullYmuch->Fill((hitPos.Y() - mcPos.Y()) / sqrt(algo->vStations[NMvdStations].XYInfo.C11[0])); -#endif + } resXmuch->Fill((h.x - mcPos.X()) * 10 * 1000); resYmuch->Fill((h.y - mcPos.Y()) * 10 * 1000); @@ -2128,18 +2126,19 @@ void CbmL1::InputPerformance() mcPos.SetY((pt->GetYIn() + pt->GetYOut()) / 2.); mcPos.SetZ(hitPos.Z()); -#if 0 // standard errors - if (hitErr.X() != 0) pullXtrd->Fill( (hitPos.X() - mcPos.X()) / hitErr.X() ); // standard errors - if (hitErr.Y() != 0) pullYtrd->Fill( (hitPos.Y() - mcPos.Y()) / hitErr.Y() ); -#elif 1 // qa errors - if (hitErr.X() != 0) pullXtrd->Fill((h.x - mcPos.X()) / sh->GetDx()); // qa errors - if (hitErr.Y() != 0) pullYtrd->Fill((h.y - mcPos.Y()) / sh->GetDy()); - - pullTtrd->Fill((h.t - mcTime) / sh->GetTimeError()); -#else // errors used in TF - if (hitErr.X() != 0) pullXtrd->Fill((hitPos.X() - mcPos.X()) / sqrt(algo->vStations[NMvdStations].XYInfo.C00[0])); - if (hitErr.Y() != 0) pullYtrd->Fill((hitPos.Y() - mcPos.Y()) / sqrt(algo->vStations[NMvdStations].XYInfo.C11[0])); -#endif + if (0) { // standard errors + if (hitErr.X() > 1.e-8) pullXtrd->Fill((hitPos.X() - mcPos.X()) / hitErr.X()); + if (hitErr.Y() > 1.e-8) pullYtrd->Fill((hitPos.Y() - mcPos.Y()) / hitErr.Y()); + } + else if (1) { // qa errors + if (sh->GetDx() > 1.e-8) pullXtrd->Fill((h.x - mcPos.X()) / sh->GetDx()); + if (sh->GetDy() > 1.e-8) pullYtrd->Fill((h.y - mcPos.Y()) / sh->GetDy()); + pullTtrd->Fill((h.t - mcTime) / sh->GetTimeError()); + } + else { // errors used in TF + pullXtrd->Fill((hitPos.X() - mcPos.X()) / sqrt(algo->vStations[NMvdStations].XYInfo.C00[0])); + pullYtrd->Fill((hitPos.Y() - mcPos.Y()) / sqrt(algo->vStations[NMvdStations].XYInfo.C11[0])); + } resXtrd->Fill((h.x - mcPos.X()) * 10 * 1000); resYtrd->Fill((h.y - mcPos.Y()) * 10 * 1000); @@ -2195,18 +2194,19 @@ void CbmL1::InputPerformance() mcPos.SetY((pt->GetY())); mcPos.SetZ(hitPos.Z()); -#if 0 // standard errors - if (hitErr.X() != 0) pullXmuch->Fill( (hitPos.X() - mcPos.X()) / hitErr.X() ); // standard errors - if (hitErr.Y() != 0) pullYmuch->Fill( (hitPos.Y() - mcPos.Y()) / hitErr.Y() ); -#elif 1 // qa errors - if (hitErr.X() != 0) pullXtof->Fill((h.x - mcPos.X()) / sh->GetDx()); // qa errors - if (hitErr.Y() != 0) pullYtof->Fill((h.y - mcPos.Y()) / sh->GetDy()); - - pullTtof->Fill((sh->GetTime() - mcTime) / sh->GetTimeError()); -#else // errors used in TF - if (hitErr.X() != 0) pullXtof->Fill((hitPos.X() - mcPos.X()) / sqrt(algo->vStations[NMvdStations].XYInfo.C00[0])); - if (hitErr.Y() != 0) pullYtof->Fill((hitPos.Y() - mcPos.Y()) / sqrt(algo->vStations[NMvdStations].XYInfo.C11[0])); -#endif + if (0) { // standard errors + if (hitErr.X() > 1.e-8) pullXmuch->Fill((hitPos.X() - mcPos.X()) / hitErr.X()); + if (hitErr.Y() > 1.e-8) pullYmuch->Fill((hitPos.Y() - mcPos.Y()) / hitErr.Y()); + } + else if (1) { // qa errors + if (sh->GetDx() > 1.e-8) pullXtof->Fill((h.x - mcPos.X()) / sh->GetDx()); + if (sh->GetDy() > 1.e-8) pullYtof->Fill((h.y - mcPos.Y()) / sh->GetDy()); + pullTtof->Fill((sh->GetTime() - mcTime) / sh->GetTimeError()); + } + else { // errors used in TF + pullXtof->Fill((hitPos.X() - mcPos.X()) / sqrt(algo->vStations[NMvdStations].XYInfo.C00[0])); + pullYtof->Fill((hitPos.Y() - mcPos.Y()) / sqrt(algo->vStations[NMvdStations].XYInfo.C11[0])); + } resXtof->Fill((h.x - mcPos.X()) * 10 * 1000); resYtof->Fill((h.y - mcPos.Y()) * 10 * 1000);