29 #include "CLHEP/GenericFunctions/CumulativeChiSquare.hh" 
   66   if ( !(trackParticles.isValid()) ) {
 
   68     return StatusCode::RECOVERABLE;
 
   70     ATH_MSG_DEBUG(
"IDAlignMonPVBiasesAlg: Track container "<< trackParticles.name() <<
" is found.");
 
   76   if (!vertices.isPresent()) {
 
   78     return StatusCode::SUCCESS;
 
   80   if (not vertices.isValid()) {
 
   82     return StatusCode::RECOVERABLE;
 
   89   for (
const auto trackPart: *trackParticles) {
 
   92     ATH_MSG_DEBUG( 
"InDetAlignPVBiasesAlg: NULL track pointer in collection" );
 
   97     for (
const auto* 
const vx : *vertices) {
 
   98       for (
const auto& tpLink : vx->trackParticleLinks()) {
 
   99         if (*tpLink == trackPart) {
 
  103         if (foundVertex) 
break;
 
  107     if (!foundVertex) 
continue;
 
  109     if (foundVertex->vertexType() != 1) 
continue;
 
  111     if (foundVertex->nTrackParticles() < 10) 
continue;
 
  113     std::unique_ptr<const Trk::ImpactParametersAndSigma> myIPandSigma(
m_trackToVertexIPEstimator->estimate(trackPart, foundVertex, 
true));
 
  116     if(myIPandSigma.get()==
nullptr || std::abs(myIPandSigma->
IPd0) > 4.0) 
continue;
 
  118     double charge = trackPart->charge();
 
  123     double pt = trackPart->pt() * 0.001;
 
  125     if (
pt > 0.4 && 
pt < 0.6) {
 
  131     fill(pvGroup, phi_46p_m, d0_46p_m);
 
  132     fill(pvGroup, eta_46p_m, d0_46p_m);
 
  138     fill(pvGroup, phi_46n_m, d0_46n_m);
 
  139     fill(pvGroup, eta_46n_m, d0_46n_m);
 
  143     if (
pt > 0.6 && 
pt < 1) {
 
  148         fill(pvGroup, phi_61p_m, d0_61p_m);
 
  149     fill(pvGroup, eta_61p_m, d0_61p_m);
 
  156     fill(pvGroup, phi_61n_m, d0_61n_m);
 
  157     fill(pvGroup, eta_61n_m, d0_61n_m);
 
  161     if (
pt > 1 && 
pt < 2) {
 
  166     fill(pvGroup, phi_12p_m, d0_12p_m);
 
  167     fill(pvGroup, eta_12p_m, d0_12p_m);
 
  173     fill(pvGroup, phi_12n_m, d0_12n_m);
 
  174     fill(pvGroup, eta_12n_m, d0_12n_m);
 
  178     if (
pt > 2 && 
pt < 5) {
 
  183     fill(pvGroup, phi_25p_m, d0_25p_m);
 
  184     fill(pvGroup, eta_25p_m, d0_25p_m);
 
  190     fill(pvGroup, phi_25n_m, d0_25n_m);
 
  191     fill(pvGroup, eta_25n_m, d0_25n_m);
 
  195     if (
pt > 5 && 
pt < 10) {
 
  200     fill(pvGroup, phi_510p_m, d0_510p_m);
 
  201     fill(pvGroup, eta_510p_m, d0_510p_m);
 
  207     fill(pvGroup, phi_510n_m, d0_510n_m);
 
  208     fill(pvGroup, eta_510n_m, d0_510n_m);
 
  217     fill(pvGroup, phi_g10p_m, d0_g10p_m);
 
  218     fill(pvGroup, eta_g10p_m, d0_g10p_m);
 
  224     fill(pvGroup, phi_g10n_m, d0_g10n_m);
 
  225     fill(pvGroup, eta_g10n_m, d0_g10n_m);
 
  231   return StatusCode::SUCCESS;