diff --git a/Calo/CaloReco/src/CaloShowerOverlap.cpp b/Calo/CaloReco/src/CaloShowerOverlap.cpp
index b1ae9a8d9dbe52fbae389027519dc75206200e10..e4efddb12adbcdeb640f68f5d16070536bcd3e80 100644
--- a/Calo/CaloReco/src/CaloShowerOverlap.cpp
+++ b/Calo/CaloReco/src/CaloShowerOverlap.cpp
@@ -1,4 +1,4 @@
-// Include files 
+// Include files
 
  // from Gaudi
 #include "CaloUtils/CaloAlgUtils.h"
@@ -34,7 +34,7 @@ StatusCode CaloShowerOverlap::initialize() {
   if ( sc.isFailure() ) return sc;  // error printed already by GaudiAlgorithm
 
   if ( msgLevel(MSG::DEBUG) ) debug() << "==> Initialize" << endmsg;
-  
+
   m_oTool   = tool<ICaloShowerOverlapTool>("CaloShowerOverlapTool","PhotonShowerOverlap",this);
   m_tagger  = tool<SubClusterSelectorTool>( "SubClusterSelectorTool" , "EcalClusterTag" , this );
 
@@ -59,15 +59,15 @@ StatusCode CaloShowerOverlap::execute() {
   for( LHCb::CaloClusters::iterator i1 = clusters->begin() ; clusters->end() != i1 ; ++i1 ){
     double et1 = eT( *i1 );
     if( et1 < m_etMin )continue; // neglect overlap from/to low ET clusters
-    const LHCb::CaloCellID id1=(*i1)->seed();     
+    const LHCb::CaloCellID id1=(*i1)->seed();
     const LHCb::CaloDigit* spd1 = (spds == NULL) ? NULL : spds->object( (*i1)->seed() );
     for( LHCb::CaloClusters::iterator i2 = i1+1 ; clusters->end() != i2 ; ++i2 ){
       double et2=eT( *i2 );
       if(  et2 < m_etMin )continue; // neglect overlap from/to low ET clusters
       if(  et1 < m_etMin2 && et2 < m_etMin2 )continue; // require at least one cluster above threshold (speed-up)
-      const LHCb::CaloCellID id2=(*i2)->seed();    
+      const LHCb::CaloCellID id2=(*i2)->seed();
       if( id1.area() != id2.area() ) continue;
-      if( abs( int(id1.col()) - int(id2.col()) ) > m_dMin || abs( int(id1.row()) - int(id2.row()) ) > m_dMin )continue; 
+      if( abs( int(id1.col()) - int(id2.col()) ) > m_dMin || abs( int(id1.row()) - int(id2.row()) ) > m_dMin )continue;
       const LHCb::CaloDigit* spd2 = (spds == NULL) ? NULL : spds->object( (*i2)->seed() );
       int  s1= (spd1 == NULL) ? 0 : int(spd1->e() > 0.) ;
       int  s2= (spd2 == NULL) ? 0 : int(spd2->e() > 0.) ;
@@ -81,13 +81,13 @@ StatusCode CaloShowerOverlap::execute() {
           if( e1->digit()->cellID() == e2->digit()->cellID() ){
             const auto totE = ( cl1->e() + cl2->e() );
             e1->setFraction( cl1->e() / totE );
-            e2->setFraction( cl2->e() / totE );            
-          }    
+            e2->setFraction( cl2->e() / totE );
+          }
         }
       }
       // tag the cluster position to have correct corrections
-      const StatusCode sc = ( m_tagger->tagPosition(  cl1  ) &&
-                              m_tagger->tagPosition(  cl2  ) );
+      const StatusCode sc = StatusCode{ m_tagger->tagPosition(  cl1  ) &&
+                                        m_tagger->tagPosition(  cl2  ) };
       if( sc.isFailure() )Warning("Cluster tagging failed - keep the initial 3x3 tagging").ignore();
       // correct entry weight for shower overlap (assuming EM cluster)
       m_oTool->process(*i1,*i2, s1*10+s2, m_iter);
diff --git a/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDCommonBase.icpp b/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDCommonBase.icpp
index e0cd39126b0bbd811719f2b56e80f073cdb2394e..c9d818073f27f0f3b92be6a90122cc9927d60bfd 100644
--- a/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDCommonBase.icpp
+++ b/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDCommonBase.icpp
@@ -54,7 +54,7 @@ StatusCode ANNGlobalPID::ChargedProtoANNPIDCommonBase<PBASE>::initialize()
   IIncidentSvc * incSvc =
     this -> template svc<IIncidentSvc>( "IncidentSvc", true );
   incSvc->addListener( this, IncidentType::EndEvent );
-  sc = sc && this -> releaseSvc(incSvc);
+  if ( sc ) sc = this -> releaseSvc(incSvc);
 
   return sc;
 }
@@ -380,7 +380,7 @@ NetConfig( const std::string & tkType,
   std::string filename_extension = "_ANN.txt";
 
 
-  const std::string configFile = "GlobalPID_" + pidType + "_" + tkType + filename_extension; 
+  const std::string configFile = "GlobalPID_" + pidType + "_" + tkType + filename_extension;
 
   // Determine where to load the data files from.
   // First try via env var.
@@ -574,14 +574,14 @@ NetConfig( const std::string & tkType,
                                               suppressANNPrintout ) );
       }
 #endif
-      else if ( ( "XGBoost" == annType ||  "FLAT4d" == annType ||  "DNN" == annType || "CatBoost" == annType ) ) 
+      else if ( ( "XGBoost" == annType ||  "FLAT4d" == annType ||  "DNN" == annType || "CatBoost" == annType ) )
       {
         if ( parent->msgLevel(MSG::DEBUG) )
 	    {
           parent->debug() << "Using yPID implementation" << netVersion<< " " <<
 							particleType()<< " " << trackType() << endmsg;
 		}
-          
+
 		m_netHelper = std::make_unique<yPIDImpANN>(netVersion,
                                            particleType(), trackType(),
                                            inputs, parent);
diff --git a/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDTrainingTuple.cpp b/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDTrainingTuple.cpp
index 64ee7e1a6c4722f3c7d0825f7507f2425d03257e..5e0b74b02e7256e3b7a26ef5985be79bc2aa1f96 100644
--- a/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDTrainingTuple.cpp
+++ b/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDTrainingTuple.cpp
@@ -58,9 +58,9 @@ StatusCode ChargedProtoANNPIDTrainingTuple::execute()
     // make a tuple
     auto tuple = nTuple( "annInputs", "ProtoParticle PID Information for ANN Training" );
     // Fill variables
-    sc = sc && m_tuple->fill(tuple,P);
+    if ( sc ) sc = m_tuple->fill(tuple,P);
     // Finally, write the tuple for this ProtoParticle
-    sc = sc && tuple->write();
+    if ( sc ) sc = tuple->write();
   }
 
   // return
diff --git a/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDTupleTool.cpp b/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDTupleTool.cpp
index 584c947703f9984243344a8dd79738a2ed2bb6de..d5fcfd17db7a8199cb1b719e9b33012cffd5b120 100644
--- a/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDTupleTool.cpp
+++ b/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDTupleTool.cpp
@@ -115,21 +115,21 @@ StatusCode ChargedProtoANNPIDTupleTool::fill( Tuples::Tuple& tuple,
   for ( const auto & i : m_inputs )
   {
     // get the variable and fill ntuple
-    sc = sc && tuple->column( i.first, (float) i.second->value(proto) );
+    if ( sc ) sc = tuple->column( i.first, (float) i.second->value(proto) );
   }
 
   // PID info
-  sc = sc && tuple->column( "RecoPIDcode", pid.pid() );
+  if ( sc ) sc = tuple->column( "RecoPIDcode", pid.pid() );
 
   // MC variables
 
   // First get the MCParticle, if associated
   const auto * mcPart = m_truth->mcParticle(track);
-  sc = sc && tuple->column( "HasMC",          mcPart != nullptr );
-  sc = sc && tuple->column( "MCParticleType", mcPart ? mcPart->particleID().pid() : 0    );
-  sc = sc && tuple->column( "MCParticleP",    mcPart ? mcPart->p()                : -999 );
-  sc = sc && tuple->column( "MCParticlePt",   mcPart ? mcPart->pt()               : -999 );
-  sc = sc && tuple->column( "MCVirtualMass",  mcPart ? mcPart->virtualMass()      : -999 );
+  if ( sc ) sc = tuple->column( "HasMC",          mcPart != nullptr );
+  if ( sc ) sc = tuple->column( "MCParticleType", mcPart ? mcPart->particleID().pid() : 0    );
+  if ( sc ) sc = tuple->column( "MCParticleP",    mcPart ? mcPart->p()                : -999 );
+  if ( sc ) sc = tuple->column( "MCParticlePt",   mcPart ? mcPart->pt()               : -999 );
+  if ( sc ) sc = tuple->column( "MCVirtualMass",  mcPart ? mcPart->virtualMass()      : -999 );
 
   // MC history flags
   bool fromB(false), fromD(false);
@@ -146,15 +146,15 @@ StatusCode ChargedProtoANNPIDTupleTool::fill( Tuples::Tuple& tuple,
     mcParent = mcParent->mother();
   }
   // Save MC parent info
-  sc = sc && tuple->column( "MCFromB", fromB );
-  sc = sc && tuple->column( "MCFromD", fromD );
+  if ( sc ) sc = tuple->column( "MCFromB", fromB );
+  if ( sc ) sc = tuple->column( "MCFromD", fromD );
 
   // Get info on the MC vertex type
   const auto * mcVert = ( mcPart ? mcPart->originVertex() : nullptr );
-  sc = sc && tuple->column( "MCVertexType", mcVert ? (int)mcVert->type()    : -999   );
-  sc = sc && tuple->column( "MCVertexX",    mcVert ? mcVert->position().x() : -999.0 );
-  sc = sc && tuple->column( "MCVertexY",    mcVert ? mcVert->position().y() : -999.0 );
-  sc = sc && tuple->column( "MCVertexZ",    mcVert ? mcVert->position().z() : -999.0 );
+  if ( sc ) sc = tuple->column( "MCVertexType", mcVert ? (int)mcVert->type()    : -999   );
+  if ( sc ) sc = tuple->column( "MCVertexX",    mcVert ? mcVert->position().x() : -999.0 );
+  if ( sc ) sc = tuple->column( "MCVertexY",    mcVert ? mcVert->position().y() : -999.0 );
+  if ( sc ) sc = tuple->column( "MCVertexZ",    mcVert ? mcVert->position().z() : -999.0 );
 
   // return
   return sc;
diff --git a/Rec/GlobalReco/src/ChargedProtoParticleTupleAlg.cpp b/Rec/GlobalReco/src/ChargedProtoParticleTupleAlg.cpp
index 6eac0620e4b91fa42aac9e3ce7b86bfaa972742c..690074222746f9f37ece443f0590160051d5a480 100755
--- a/Rec/GlobalReco/src/ChargedProtoParticleTupleAlg.cpp
+++ b/Rec/GlobalReco/src/ChargedProtoParticleTupleAlg.cpp
@@ -82,102 +82,102 @@ StatusCode ChargedProtoParticleTupleAlg::execute()
     // reco variables
 
     // some track info
-    sc = sc && tuple->column( "TrackP",          track->p()  );
-    sc = sc && tuple->column( "TrackPt",         track->pt() );
-    sc = sc && tuple->column( "TrackChi2PerDof", track->chi2PerDoF() );
-    sc = sc && tuple->column( "TrackNumDof",     track->nDoF() );
-    sc = sc && tuple->column( "TrackType",       track->type() );
-    sc = sc && tuple->column( "TrackHistory",    track->history() );
-    sc = sc && tuple->column( "TrackGhostProb",  track->ghostProbability() );
-    sc = sc && tuple->column( "TrackLikelihood", track->likelihood() );
-    sc = sc && tuple->column( "TrackCloneDist",  track->info(LHCb::Track::AdditionalInfo::CloneDist,9e10) );
+    if ( sc ) sc = tuple->column( "TrackP",          track->p()  );
+    if ( sc ) sc = tuple->column( "TrackPt",         track->pt() );
+    if ( sc ) sc = tuple->column( "TrackChi2PerDof", track->chi2PerDoF() );
+    if ( sc ) sc = tuple->column( "TrackNumDof",     track->nDoF() );
+    if ( sc ) sc = tuple->column( "TrackType",       track->type() );
+    if ( sc ) sc = tuple->column( "TrackHistory",    track->history() );
+    if ( sc ) sc = tuple->column( "TrackGhostProb",  track->ghostProbability() );
+    if ( sc ) sc = tuple->column( "TrackLikelihood", track->likelihood() );
+    if ( sc ) sc = tuple->column( "TrackCloneDist",  track->info(LHCb::Track::AdditionalInfo::CloneDist,9e10) );
 
     // rich
     static LHCb::RichPID tmpRPID;
     tmpRPID.setPidResultCode( static_cast<int>(proto->info(LHCb::ProtoParticle::additionalInfo::RichPIDStatus,0)) );
-    sc = sc && tuple->column( "RichDLLe",      proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLe,  0 ) );
-    sc = sc && tuple->column( "RichDLLmu",     proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLmu, 0 ) );
-    sc = sc && tuple->column( "RichDLLpi",     proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLpi, 0 ) );
-    sc = sc && tuple->column( "RichDLLk",      proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLk,  0 ) );
-    sc = sc && tuple->column( "RichDLLp",      proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLp,  0 ) );
-    sc = sc && tuple->column( "RichDLLd",      proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLd,  0 ) );
-    sc = sc && tuple->column( "RichDLLbt",     proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLbt, 0 ) );
-    sc = sc && tuple->column( "RichUsedAero",     tmpRPID.usedAerogel()  );
-    sc = sc && tuple->column( "RichUsedR1Gas",    tmpRPID.usedRich1Gas() );
-    sc = sc && tuple->column( "RichUsedR2Gas",    tmpRPID.usedRich2Gas() );
-    sc = sc && tuple->column( "RichAboveElThres", tmpRPID.electronHypoAboveThres() );
-    sc = sc && tuple->column( "RichAboveMuThres", tmpRPID.muonHypoAboveThres() );
-    sc = sc && tuple->column( "RichAbovePiThres", tmpRPID.pionHypoAboveThres() );
-    sc = sc && tuple->column( "RichAboveKaThres", tmpRPID.kaonHypoAboveThres() );
-    sc = sc && tuple->column( "RichAbovePrThres", tmpRPID.protonHypoAboveThres() );
-    sc = sc && tuple->column( "RichAboveDeThres", tmpRPID.deuteronHypoAboveThres() );
-    sc = sc && tuple->column( "RichBestPID",      (int)tmpRPID.bestParticleID() );
+    if ( sc ) sc = tuple->column( "RichDLLe",      proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLe,  0 ) );
+    if ( sc ) sc = tuple->column( "RichDLLmu",     proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLmu, 0 ) );
+    if ( sc ) sc = tuple->column( "RichDLLpi",     proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLpi, 0 ) );
+    if ( sc ) sc = tuple->column( "RichDLLk",      proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLk,  0 ) );
+    if ( sc ) sc = tuple->column( "RichDLLp",      proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLp,  0 ) );
+    if ( sc ) sc = tuple->column( "RichDLLd",      proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLd,  0 ) );
+    if ( sc ) sc = tuple->column( "RichDLLbt",     proto->info ( LHCb::ProtoParticle::additionalInfo::RichDLLbt, 0 ) );
+    if ( sc ) sc = tuple->column( "RichUsedAero",     tmpRPID.usedAerogel()  );
+    if ( sc ) sc = tuple->column( "RichUsedR1Gas",    tmpRPID.usedRich1Gas() );
+    if ( sc ) sc = tuple->column( "RichUsedR2Gas",    tmpRPID.usedRich2Gas() );
+    if ( sc ) sc = tuple->column( "RichAboveElThres", tmpRPID.electronHypoAboveThres() );
+    if ( sc ) sc = tuple->column( "RichAboveMuThres", tmpRPID.muonHypoAboveThres() );
+    if ( sc ) sc = tuple->column( "RichAbovePiThres", tmpRPID.pionHypoAboveThres() );
+    if ( sc ) sc = tuple->column( "RichAboveKaThres", tmpRPID.kaonHypoAboveThres() );
+    if ( sc ) sc = tuple->column( "RichAbovePrThres", tmpRPID.protonHypoAboveThres() );
+    if ( sc ) sc = tuple->column( "RichAboveDeThres", tmpRPID.deuteronHypoAboveThres() );
+    if ( sc ) sc = tuple->column( "RichBestPID",      (int)tmpRPID.bestParticleID() );
 
     // muon
     static LHCb::MuonPID tmpMPID;
     tmpMPID.setStatus( static_cast<int>(proto->info(LHCb::ProtoParticle::additionalInfo::MuonPIDStatus,0)) );
-    sc = sc && tuple->column( "MuonBkgLL",    proto->info ( LHCb::ProtoParticle::additionalInfo::MuonBkgLL, 0 ) );
-    sc = sc && tuple->column( "MuonMuLL",     proto->info ( LHCb::ProtoParticle::additionalInfo::MuonMuLL,  0 ) );
-    sc = sc && tuple->column( "MuonNShared",  proto->info ( LHCb::ProtoParticle::additionalInfo::MuonNShared, 0 ) );
-    sc = sc && tuple->column( "MuonIsLooseMuon", tmpMPID.IsMuonLoose() );
-    sc = sc && tuple->column( "MuonIsMuon",      tmpMPID.IsMuon() );
-    sc = sc && tuple->column( "MuonInAcc",  proto->info ( LHCb::ProtoParticle::additionalInfo::InAccMuon, false ) );
+    if ( sc ) sc = tuple->column( "MuonBkgLL",    proto->info ( LHCb::ProtoParticle::additionalInfo::MuonBkgLL, 0 ) );
+    if ( sc ) sc = tuple->column( "MuonMuLL",     proto->info ( LHCb::ProtoParticle::additionalInfo::MuonMuLL,  0 ) );
+    if ( sc ) sc = tuple->column( "MuonNShared",  proto->info ( LHCb::ProtoParticle::additionalInfo::MuonNShared, 0 ) );
+    if ( sc ) sc = tuple->column( "MuonIsLooseMuon", tmpMPID.IsMuonLoose() );
+    if ( sc ) sc = tuple->column( "MuonIsMuon",      tmpMPID.IsMuon() );
+    if ( sc ) sc = tuple->column( "MuonInAcc",  proto->info ( LHCb::ProtoParticle::additionalInfo::InAccMuon, false ) );
 
     // calo
-    sc = sc && tuple->column( "InAccSpd",   proto->info ( LHCb::ProtoParticle::additionalInfo::InAccSpd,  false ) );
-    sc = sc && tuple->column( "InAccPrs",   proto->info ( LHCb::ProtoParticle::additionalInfo::InAccPrs,  false ) );
-    sc = sc && tuple->column( "InAccEcal",  proto->info ( LHCb::ProtoParticle::additionalInfo::InAccEcal, false ) );
-    sc = sc && tuple->column( "InAccHcal",  proto->info ( LHCb::ProtoParticle::additionalInfo::InAccHcal, false ) );
-    sc = sc && tuple->column( "InAccBrem",  proto->info ( LHCb::ProtoParticle::additionalInfo::InAccBrem, false ) );
-    sc = sc && tuple->column( "CaloTrMatch",       proto->info ( LHCb::ProtoParticle::additionalInfo::CaloTrMatch, 0 ) );
-    sc = sc && tuple->column( "CaloElectronMatch", proto->info ( LHCb::ProtoParticle::additionalInfo::CaloElectronMatch, 0 ) );
-    sc = sc && tuple->column( "CaloBremMatch",     proto->info ( LHCb::ProtoParticle::additionalInfo::CaloBremMatch, 0 ) );
-    sc = sc && tuple->column( "CaloChargedSpd",    proto->info ( LHCb::ProtoParticle::additionalInfo::CaloChargedSpd, 0 ) );
-    sc = sc && tuple->column( "CaloChargedPrs",    proto->info ( LHCb::ProtoParticle::additionalInfo::CaloChargedPrs, 0 ) );
-    sc = sc && tuple->column( "CaloChargedEcal",   proto->info ( LHCb::ProtoParticle::additionalInfo::CaloChargedEcal, 0 ) );
-    sc = sc && tuple->column( "CaloSpdE",   proto->info ( LHCb::ProtoParticle::additionalInfo::CaloSpdE,   0 ) );
-    sc = sc && tuple->column( "CaloPrsE",   proto->info ( LHCb::ProtoParticle::additionalInfo::CaloPrsE,   0 ) );
-    sc = sc && tuple->column( "CaloEcalChi2", proto->info ( LHCb::ProtoParticle::additionalInfo::CaloEcalChi2, 0 ) );
-    sc = sc && tuple->column( "CaloClusChi2", proto->info ( LHCb::ProtoParticle::additionalInfo::CaloClusChi2, 0 ) );
-    sc = sc && tuple->column( "CaloBremChi2", proto->info ( LHCb::ProtoParticle::additionalInfo::CaloBremChi2, 0 ) );
-    sc = sc && tuple->column( "CaloPrsE",   proto->info ( LHCb::ProtoParticle::additionalInfo::CaloPrsE,   0 ) );
-    sc = sc && tuple->column( "CaloEcalE",  proto->info ( LHCb::ProtoParticle::additionalInfo::CaloEcalE,  0 ) );
-    sc = sc && tuple->column( "CaloHcalE",  proto->info ( LHCb::ProtoParticle::additionalInfo::CaloHcalE,  0 ) );
-    sc = sc && tuple->column( "CaloTrajectoryL", proto->info ( LHCb::ProtoParticle::additionalInfo::CaloTrajectoryL, 0 ) );
-    sc = sc && tuple->column( "EcalPIDe",   proto->info ( LHCb::ProtoParticle::additionalInfo::EcalPIDe,  0 ) );
-    sc = sc && tuple->column( "HcalPIDe",   proto->info ( LHCb::ProtoParticle::additionalInfo::HcalPIDe,  0 ) );
-    sc = sc && tuple->column( "PrsPIDe",    proto->info ( LHCb::ProtoParticle::additionalInfo::PrsPIDe,   0 ) );
-    sc = sc && tuple->column( "BremPIDe",   proto->info ( LHCb::ProtoParticle::additionalInfo::BremPIDe,  0 ) );
-    sc = sc && tuple->column( "EcalPIDmu",  proto->info ( LHCb::ProtoParticle::additionalInfo::EcalPIDmu, 0 ) );
-    sc = sc && tuple->column( "HcalPIDmu",  proto->info ( LHCb::ProtoParticle::additionalInfo::HcalPIDmu, 0 ) );
+    if ( sc ) sc = tuple->column( "InAccSpd",   proto->info ( LHCb::ProtoParticle::additionalInfo::InAccSpd,  false ) );
+    if ( sc ) sc = tuple->column( "InAccPrs",   proto->info ( LHCb::ProtoParticle::additionalInfo::InAccPrs,  false ) );
+    if ( sc ) sc = tuple->column( "InAccEcal",  proto->info ( LHCb::ProtoParticle::additionalInfo::InAccEcal, false ) );
+    if ( sc ) sc = tuple->column( "InAccHcal",  proto->info ( LHCb::ProtoParticle::additionalInfo::InAccHcal, false ) );
+    if ( sc ) sc = tuple->column( "InAccBrem",  proto->info ( LHCb::ProtoParticle::additionalInfo::InAccBrem, false ) );
+    if ( sc ) sc = tuple->column( "CaloTrMatch",       proto->info ( LHCb::ProtoParticle::additionalInfo::CaloTrMatch, 0 ) );
+    if ( sc ) sc = tuple->column( "CaloElectronMatch", proto->info ( LHCb::ProtoParticle::additionalInfo::CaloElectronMatch, 0 ) );
+    if ( sc ) sc = tuple->column( "CaloBremMatch",     proto->info ( LHCb::ProtoParticle::additionalInfo::CaloBremMatch, 0 ) );
+    if ( sc ) sc = tuple->column( "CaloChargedSpd",    proto->info ( LHCb::ProtoParticle::additionalInfo::CaloChargedSpd, 0 ) );
+    if ( sc ) sc = tuple->column( "CaloChargedPrs",    proto->info ( LHCb::ProtoParticle::additionalInfo::CaloChargedPrs, 0 ) );
+    if ( sc ) sc = tuple->column( "CaloChargedEcal",   proto->info ( LHCb::ProtoParticle::additionalInfo::CaloChargedEcal, 0 ) );
+    if ( sc ) sc = tuple->column( "CaloSpdE",   proto->info ( LHCb::ProtoParticle::additionalInfo::CaloSpdE,   0 ) );
+    if ( sc ) sc = tuple->column( "CaloPrsE",   proto->info ( LHCb::ProtoParticle::additionalInfo::CaloPrsE,   0 ) );
+    if ( sc ) sc = tuple->column( "CaloEcalChi2", proto->info ( LHCb::ProtoParticle::additionalInfo::CaloEcalChi2, 0 ) );
+    if ( sc ) sc = tuple->column( "CaloClusChi2", proto->info ( LHCb::ProtoParticle::additionalInfo::CaloClusChi2, 0 ) );
+    if ( sc ) sc = tuple->column( "CaloBremChi2", proto->info ( LHCb::ProtoParticle::additionalInfo::CaloBremChi2, 0 ) );
+    if ( sc ) sc = tuple->column( "CaloPrsE",   proto->info ( LHCb::ProtoParticle::additionalInfo::CaloPrsE,   0 ) );
+    if ( sc ) sc = tuple->column( "CaloEcalE",  proto->info ( LHCb::ProtoParticle::additionalInfo::CaloEcalE,  0 ) );
+    if ( sc ) sc = tuple->column( "CaloHcalE",  proto->info ( LHCb::ProtoParticle::additionalInfo::CaloHcalE,  0 ) );
+    if ( sc ) sc = tuple->column( "CaloTrajectoryL", proto->info ( LHCb::ProtoParticle::additionalInfo::CaloTrajectoryL, 0 ) );
+    if ( sc ) sc = tuple->column( "EcalPIDe",   proto->info ( LHCb::ProtoParticle::additionalInfo::EcalPIDe,  0 ) );
+    if ( sc ) sc = tuple->column( "HcalPIDe",   proto->info ( LHCb::ProtoParticle::additionalInfo::HcalPIDe,  0 ) );
+    if ( sc ) sc = tuple->column( "PrsPIDe",    proto->info ( LHCb::ProtoParticle::additionalInfo::PrsPIDe,   0 ) );
+    if ( sc ) sc = tuple->column( "BremPIDe",   proto->info ( LHCb::ProtoParticle::additionalInfo::BremPIDe,  0 ) );
+    if ( sc ) sc = tuple->column( "EcalPIDmu",  proto->info ( LHCb::ProtoParticle::additionalInfo::EcalPIDmu, 0 ) );
+    if ( sc ) sc = tuple->column( "HcalPIDmu",  proto->info ( LHCb::ProtoParticle::additionalInfo::HcalPIDmu, 0 ) );
 
     // combined DLLs
-    sc = sc && tuple->column( "CombDLLe",   proto->info ( LHCb::ProtoParticle::additionalInfo::CombDLLe,  0 ) );
-    sc = sc && tuple->column( "CombDLLmu",  proto->info ( LHCb::ProtoParticle::additionalInfo::CombDLLmu, 0 ) );
-    sc = sc && tuple->column( "CombDLLpi",  proto->info ( LHCb::ProtoParticle::additionalInfo::CombDLLpi, 0 ) );
-    sc = sc && tuple->column( "CombDLLk",   proto->info ( LHCb::ProtoParticle::additionalInfo::CombDLLk,  0 ) );
-    sc = sc && tuple->column( "CombDLLp",   proto->info ( LHCb::ProtoParticle::additionalInfo::CombDLLp,  0 ) );
+    if ( sc ) sc = tuple->column( "CombDLLe",   proto->info ( LHCb::ProtoParticle::additionalInfo::CombDLLe,  0 ) );
+    if ( sc ) sc = tuple->column( "CombDLLmu",  proto->info ( LHCb::ProtoParticle::additionalInfo::CombDLLmu, 0 ) );
+    if ( sc ) sc = tuple->column( "CombDLLpi",  proto->info ( LHCb::ProtoParticle::additionalInfo::CombDLLpi, 0 ) );
+    if ( sc ) sc = tuple->column( "CombDLLk",   proto->info ( LHCb::ProtoParticle::additionalInfo::CombDLLk,  0 ) );
+    if ( sc ) sc = tuple->column( "CombDLLp",   proto->info ( LHCb::ProtoParticle::additionalInfo::CombDLLp,  0 ) );
 
     // ANN PID Probabilities
-    sc = sc && tuple->column( "ProbNNe",     proto->info ( LHCb::ProtoParticle::additionalInfo::ProbNNe,  -1 ) );
-    sc = sc && tuple->column( "ProbNNmu",    proto->info ( LHCb::ProtoParticle::additionalInfo::ProbNNmu, -1 ) );
-    sc = sc && tuple->column( "ProbNNpi",    proto->info ( LHCb::ProtoParticle::additionalInfo::ProbNNpi, -1 ) );
-    sc = sc && tuple->column( "ProbNNk",     proto->info ( LHCb::ProtoParticle::additionalInfo::ProbNNk,  -1 ) );
-    sc = sc && tuple->column( "ProbNNp",     proto->info ( LHCb::ProtoParticle::additionalInfo::ProbNNp,  -1 ) );
-    sc = sc && tuple->column( "ProbNNghost", proto->info ( LHCb::ProtoParticle::additionalInfo::ProbNNghost, -1 ) );
+    if ( sc ) sc = tuple->column( "ProbNNe",     proto->info ( LHCb::ProtoParticle::additionalInfo::ProbNNe,  -1 ) );
+    if ( sc ) sc = tuple->column( "ProbNNmu",    proto->info ( LHCb::ProtoParticle::additionalInfo::ProbNNmu, -1 ) );
+    if ( sc ) sc = tuple->column( "ProbNNpi",    proto->info ( LHCb::ProtoParticle::additionalInfo::ProbNNpi, -1 ) );
+    if ( sc ) sc = tuple->column( "ProbNNk",     proto->info ( LHCb::ProtoParticle::additionalInfo::ProbNNk,  -1 ) );
+    if ( sc ) sc = tuple->column( "ProbNNp",     proto->info ( LHCb::ProtoParticle::additionalInfo::ProbNNp,  -1 ) );
+    if ( sc ) sc = tuple->column( "ProbNNghost", proto->info ( LHCb::ProtoParticle::additionalInfo::ProbNNghost, -1 ) );
 
     // VeloCharge
-    sc = sc && tuple->column( "VeloCharge", proto->info ( LHCb::ProtoParticle::additionalInfo::VeloCharge, 0 ) );
+    if ( sc ) sc = tuple->column( "VeloCharge", proto->info ( LHCb::ProtoParticle::additionalInfo::VeloCharge, 0 ) );
 
     // MCParticle information
     const auto * mcPart = m_truth->mcParticle( track );
-    sc = sc && tuple->column( "MCParticleType", mcPart ? mcPart->particleID().pid() : 0 );
-    sc = sc && tuple->column( "MCParticleP",    mcPart ? mcPart->p() : -99999 );
-    sc = sc && tuple->column( "MCParticlePt",   mcPart ? mcPart->pt() : -99999 );
-    sc = sc && tuple->column( "MCVirtualMass",  mcPart ? mcPart->virtualMass() : -99999 );
+    if ( sc ) sc = tuple->column( "MCParticleType", mcPart ? mcPart->particleID().pid() : 0 );
+    if ( sc ) sc = tuple->column( "MCParticleP",    mcPart ? mcPart->p() : -99999 );
+    if ( sc ) sc = tuple->column( "MCParticlePt",   mcPart ? mcPart->pt() : -99999 );
+    if ( sc ) sc = tuple->column( "MCVirtualMass",  mcPart ? mcPart->virtualMass() : -99999 );
 
     // write the tuple for this protoP
-    sc = sc && tuple->write();
+    if ( sc ) sc = tuple->write();
 
     if ( sc.isFailure() ) return sc;
 
diff --git a/Rich/RichFutureRecCheckers/src/RichPIDQC.cpp b/Rich/RichFutureRecCheckers/src/RichPIDQC.cpp
index 032dd85387a0620344145bb3efb9c3dd20aa7e2c..f676e760fd41656873637f7ec641da5263e470a5 100644
--- a/Rich/RichFutureRecCheckers/src/RichPIDQC.cpp
+++ b/Rich/RichFutureRecCheckers/src/RichPIDQC.cpp
@@ -14,7 +14,7 @@ PIDQC::PIDQC( const std::string& name, ISvcLocator* pSvcLocator )
   : Consumer( name, pSvcLocator,
               { KeyValue{ "TracksLocation",    LHCb::TrackLocation::Default },
                 KeyValue{ "RichPIDsLocation",  LHCb::RichPIDLocation::Default },
-                KeyValue{ "TrackToMCParticlesRelations", 
+                KeyValue{ "TrackToMCParticlesRelations",
                           Rich::Future::MC::Relations::TrackToMCParticles } } )
 {
   // Initialise
@@ -31,16 +31,14 @@ StatusCode PIDQC::initialize()
   if ( !sc ) return sc;
 
   // get tools
-  sc = sc && m_tkSel.retrieve();
-
-  return sc;
+  return m_tkSel.retrieve();
 }
 
 //-----------------------------------------------------------------------------
 
 void PIDQC::operator()( const LHCb::Track::Selection& tracks,
                         const LHCb::RichPIDs& pids,
-                        const Rich::Future::MC::Relations::TkToMCPRels& rels ) const 
+                        const Rich::Future::MC::Relations::TkToMCPRels& rels ) const
 {
 
   // track selector shortcut
@@ -96,10 +94,10 @@ void PIDQC::operator()( const LHCb::Track::Selection& tracks,
     else
     {
       // Get the sum off all MCP weights
-      const double wSum = 
+      const double wSum =
         std::accumulate( mcPs.begin(), mcPs.end(), 0.0,
                          []( const auto sum, const auto w )
-                         { return sum + w.weight(); } );        
+                         { return sum + w.weight(); } );
       // fill once per associated MCP
       for ( const auto MC : mcPs )
       {
@@ -112,7 +110,7 @@ void PIDQC::operator()( const LHCb::Track::Selection& tracks,
         // If unknown, set to below threshold (i.e. ghost).
         if ( Rich::Unknown == mcpid        ) { mcpid = Rich::BelowThreshold; }
         // If a real type, but below threshold, set below threshold
-        if ( !pid->isAboveThreshold(mcpid) ) { mcpid = Rich::BelowThreshold; } 
+        if ( !pid->isAboveThreshold(mcpid) ) { mcpid = Rich::BelowThreshold; }
         // fill table
         fillTable( bpid, mcpid, mcPW );
       }
@@ -166,7 +164,7 @@ StatusCode PIDQC::finalize()
       eff[iRec]    = ( trueTot[iRec]>0 ? 100*m_sumTab[iRec][iRec]/trueTot[iRec] : 0 );
       purity[iRec] = ( recTot[iRec]>0  ? 100*m_sumTab[iRec][iRec]/recTot[iRec]  : 0 );
     }
-    
+
     // Kaon / Pion seperation
     const auto truePi = trueTotExcludeX[Rich::Pion];
     const auto trueKa = trueTotExcludeX[Rich::Kaon];
@@ -190,13 +188,13 @@ StatusCode PIDQC::finalize()
                                        m_sumTab[Rich::Pion][Rich::Proton] +
                                        m_sumTab[Rich::Pion][Rich::Deuteron] ) / truePi : 0 );
     piMisIDEff[1] = ( truePi>0 ? std::sqrt(piMisIDEff[0]*(100.-piMisIDEff[0]) / truePi ) : 0 );
-    
+
     // Scale entries to percent of total number of entries
     for ( auto & i : m_sumTab )
     {
       for ( auto & j : i ) { j = 100.0 * j / sumTot; }
     }
-    
+
     // compute event and track PID success rates
     std::array<double,2> evPIDRate = {0,0};
     evPIDRate[0] = ( m_nEvents[0]>0 ? 100.*m_nEvents[1]/m_nEvents[0] : 100 );
@@ -206,7 +204,7 @@ StatusCode PIDQC::finalize()
     trPIDRate[1] = ( m_nTracks[0]>0 ? std::sqrt(trPIDRate[0]*(100.-trPIDRate[0])/m_nTracks[0]) : 100 );
     info() << "-------------+---------------------------------------------------------------+------------"
            << endmsg;
-    info() << "   " << name() 
+    info() << "   " << name()
            << " #Tracks = " << m_nTracks[0] << ", With RICH info = " << m_nTracks[1] << endmsg;
     info() << "-------------+---------------------------------------------------------------+------------"
            << endmsg
@@ -236,39 +234,39 @@ StatusCode PIDQC::finalize()
            << "     |" << endmsg;
     info() << "-------------+---------------------------------------------------------------+------------"
            << endmsg;
-    
+
     info() << " % ID eff    |  K->K,Pr,D : "
            << boost::format( "%6.2f +-%6.2f   pi->e,m,pi : %6.2f +-%6.2f " ) %
-      kaonIDEff[0] % kaonIDEff[1] % piIDEff[0] % piIDEff[1] 
+      kaonIDEff[0] % kaonIDEff[1] % piIDEff[0] % piIDEff[1]
            << "  |" << endmsg;
     info() << " % MisID eff |  K->e,m,pi : "
            << boost::format( "%6.2f +-%6.2f   pi->K,Pr,D : %6.2f +-%6.2f " ) %
-      kaonMisIDEff[0] % kaonMisIDEff[1] % piMisIDEff[0] % piMisIDEff[1] 
+      kaonMisIDEff[0] % kaonMisIDEff[1] % piMisIDEff[0] % piMisIDEff[1]
            << "  |" << endmsg;
     info() << " % ID rate   |  Events    : "
            << boost::format( "%6.2f +-%6.2f   Tracks     : %6.2f +-%6.2f " ) %
-      evPIDRate[0] % evPIDRate[1] % trPIDRate[0] % trPIDRate[1] 
+      evPIDRate[0] % evPIDRate[1] % trPIDRate[0] % trPIDRate[1]
            << "  |" << endmsg;
-    
+
     for ( const auto& RC : m_radCount )
     {
       const auto effR = ( m_nTracks[0]>0 ? 100.*((double)RC.second)/m_nTracks[0]    : 100.0 );
       const auto errR = ( m_nTracks[0]>0 ? std::sqrt(effR*(100.-effR)/m_nTracks[0]) : 100.0 );
       info() << "             |  -> With "
              << RC.first.radiators()
-             << boost::format( "   : %6.2f +-%6.2f" ) % effR % errR 
+             << boost::format( "   : %6.2f +-%6.2f" ) % effR % errR
              << "   |" << endmsg;
     }
-    
+
     info() << "-------------+---------------------------------------------------------------+------------"
            << endmsg;
-    
+
   }
   else
   {
     warning() << "NO ENTRIES -> PID table skipped ..." << endmsg;
   }
-  
+
   return Consumer::finalize();
 }
 
diff --git a/Rich/RichFutureRecMonitors/src/RichDetectorHits.cpp b/Rich/RichFutureRecMonitors/src/RichDetectorHits.cpp
index 1f6fe842f9cc81c1b0e6024f09fb13c3ffa44012..463eb4ea48392ff952b6d87957896b4b188d351d 100644
--- a/Rich/RichFutureRecMonitors/src/RichDetectorHits.cpp
+++ b/Rich/RichFutureRecMonitors/src/RichDetectorHits.cpp
@@ -22,13 +22,13 @@ StatusCode DetectorHits::prebookHistograms()
   StatusCode sc = StatusCode::SUCCESS;
   for ( const auto rich : Rich::detectors() )
   {
-    sc = sc && StatusCode{richHisto1D( Rich::HistogramID("nTotalPixsPerPD",rich),
-                                       "Average overall PD occupancy (nHits>0)",
-                                       0.5, 150.5, 150 ) != nullptr};
-    sc = sc && StatusCode{richHisto1D( Rich::HistogramID("nTotalPixs",rich),
-                                       "Overall occupancy (nHits>0)", 0, m_maxPixels, nBins1D() ) != nullptr};
-    sc = sc && StatusCode{richHisto1D( Rich::HistogramID("nActivePDs",rich),
-                                       "# Active PDs (nHits>0)", -0.5, 300.5, 301 ) != nullptr};
+    if ( sc ) sc = StatusCode{richHisto1D( Rich::HistogramID("nTotalPixsPerPD",rich),
+                                           "Average overall PD occupancy (nHits>0)",
+                                           0.5, 150.5, 150 ) != nullptr};
+    if ( sc ) sc = StatusCode{richHisto1D( Rich::HistogramID("nTotalPixs",rich),
+                                           "Overall occupancy (nHits>0)", 0, m_maxPixels, nBins1D() ) != nullptr};
+    if ( sc ) sc = StatusCode{richHisto1D( Rich::HistogramID("nActivePDs",rich),
+                                           "# Active PDs (nHits>0)", -0.5, 300.5, 301 ) != nullptr};
   }
 
   return sc;
diff --git a/Rich/RichFutureRecMonitors/src/RichPixelClusters.cpp b/Rich/RichFutureRecMonitors/src/RichPixelClusters.cpp
index f53976312d2deff13c7987cbcfd34ba3e5602efe..ba4fd5416d25fb9d67fa31874b9295da9d6a9795 100644
--- a/Rich/RichFutureRecMonitors/src/RichPixelClusters.cpp
+++ b/Rich/RichFutureRecMonitors/src/RichPixelClusters.cpp
@@ -22,8 +22,8 @@ StatusCode PixelClusters::prebookHistograms()
   StatusCode sc = StatusCode::SUCCESS;
   for ( const auto rich : Rich::detectors() )
   {
-    sc = sc && StatusCode{richHisto1D( Rich::HistogramID( "clusterSize", rich ),
-                                       "Pixel Cluster Sizes", -0.5, 100.5, 101 ) != nullptr};
+    if ( sc ) sc = StatusCode{richHisto1D( Rich::HistogramID( "clusterSize", rich ),
+                                           "Pixel Cluster Sizes", -0.5, 100.5, 101 ) != nullptr};
   }
   return sc;
 }
diff --git a/Rich/RichFutureRecMonitors/src/RichSIMDPhotonCherenkovAngles.cpp b/Rich/RichFutureRecMonitors/src/RichSIMDPhotonCherenkovAngles.cpp
index c140d96d77247607b4ee108018b1057a5a48f80d..114a69061c5bd088399fc5eb41dde452a8151484 100644
--- a/Rich/RichFutureRecMonitors/src/RichSIMDPhotonCherenkovAngles.cpp
+++ b/Rich/RichFutureRecMonitors/src/RichSIMDPhotonCherenkovAngles.cpp
@@ -21,7 +21,7 @@ SIMDPhotonCherenkovAngles( const std::string& name, ISvcLocator* pSvcLocator )
                 KeyValue{ "CherenkovPhotonLocation", SIMDCherenkovPhotonLocation::Default } } )
 {
   // print some stats on the final plots
-  setProperty ( "HistoPrint", true ); 
+  setProperty ( "HistoPrint", true );
 }
 
 //-----------------------------------------------------------------------------
@@ -32,11 +32,11 @@ StatusCode SIMDPhotonCherenkovAngles::initialize()
   if ( !sc ) return sc;
 
   // get tools
-  sc = sc && m_tkSel.retrieve();
+  sc = m_tkSel.retrieve();
 
   // RichDet
   m_RichSys = getDet<DeRichSystem>( DeRichLocations::RichSystem );
-  
+
   return sc;
 }
 
@@ -98,13 +98,13 @@ StatusCode SIMDPhotonCherenkovAngles::prebookHistograms()
 
     } // rad is active
   } // rad loop
- 
+
   return StatusCode::SUCCESS;
 }
 
 //-----------------------------------------------------------------------------
 
-void 
+void
 SIMDPhotonCherenkovAngles::operator()( const LHCb::Track::Selection& tracks,
                                        const Summary::Track::Vector& sumTracks,
                                        const Relations::PhotonToParents::Vector& photToSegPix,
@@ -137,7 +137,7 @@ SIMDPhotonCherenkovAngles::operator()( const LHCb::Track::Selection& tracks,
       // Radiator info
       const auto rad = seg.radiator();
       if ( !m_rads[rad] ) continue;
-      
+
       // Segment momentum
       const auto pTot = seg.bestMomentumMag();
 
@@ -168,16 +168,16 @@ SIMDPhotonCherenkovAngles::operator()( const LHCb::Track::Selection& tracks,
 
           // SmartID
           const auto id = phot.smartID()[i];
-          
+
           // Detctor side
           const auto side = id.panel();
-          
+
           // fill some plots
           richHisto1D(HID("thetaRec",rad))->fill(thetaRec);
           richHisto1D(HID("phiRec",rad))->fill(phiRec);
           richHisto1D(HID("ckResAll",rad))->fill(deltaTheta);
           richHisto1D(HID("ckResAllPerPanel",side,rad))->fill(deltaTheta);
-          
+
           // Per PD plots
           if ( UNLIKELY(m_pdResPlots[rad]) )
           {
diff --git a/Rich/RichFutureRecPhotonAlgorithms/src/RichCommonQuarticPhotonReco.cpp b/Rich/RichFutureRecPhotonAlgorithms/src/RichCommonQuarticPhotonReco.cpp
index 5d88935806e5d4edf55b2862fb4a9bf19d99a4bf..c260f15de5edb064e2dda0e46381561cf1bf3946 100644
--- a/Rich/RichFutureRecPhotonAlgorithms/src/RichCommonQuarticPhotonReco.cpp
+++ b/Rich/RichFutureRecPhotonAlgorithms/src/RichCommonQuarticPhotonReco.cpp
@@ -6,14 +6,14 @@ using namespace Rich::Future::Rec;
 
 //=============================================================================
 
-CommonQuarticPhotonReco::CommonQuarticPhotonReco( const std::string& name, 
+CommonQuarticPhotonReco::CommonQuarticPhotonReco( const std::string& name,
                                                   ISvcLocator* pSvcLocator )
   : BasePhotonReco( name, pSvcLocator )
 {
   // init
   m_rich.fill(nullptr);
   m_deBeam.fill(nullptr);
-  
+
   // Corrections for the intrinsic biases
   //                  Aerogel      Rich1Gas   Rich2Gas
   //m_ckBiasCorrs = { -0.000358914, -7.505e-5, -4.287e-5 }; // Run(1+2) HPD values
@@ -31,13 +31,13 @@ StatusCode CommonQuarticPhotonReco::initialize()
   // get the detector elements
   m_rich[Rich::Rich1] = getDet<DeRich>( DeRichLocations::Rich1 );
   m_rich[Rich::Rich2] = getDet<DeRich>( DeRichLocations::Rich2 );
-  if ( m_checkBeamPipe[Rich::Rich1Gas] || m_checkBeamPipe[Rich::Aerogel] ) 
+  if ( m_checkBeamPipe[Rich::Rich1Gas] || m_checkBeamPipe[Rich::Aerogel] )
   { m_deBeam[Rich::Rich1] = getDet<DeRichBeamPipe>( DeRichLocations::Rich1BeamPipe ); }
-  if ( m_checkBeamPipe[Rich::Rich2Gas] ) 
+  if ( m_checkBeamPipe[Rich::Rich2Gas] )
   { m_deBeam[Rich::Rich2] = getDet<DeRichBeamPipe>( DeRichLocations::Rich2BeamPipe ); }
 
   // load tools
-  sc = sc && m_mirrorSegFinder.retrieve();
+  sc = m_mirrorSegFinder.retrieve();
 
   // loop over radiators
   for ( const auto rad : Rich::radiators() )
@@ -69,7 +69,7 @@ StatusCode CommonQuarticPhotonReco::initialize()
     else { _ri_debug << "Will accept ambiguous " << rad << " photons" << endmsg; }
 
     if ( m_useAlignedMirrSegs[rad] )
-    {      _ri_debug << "Will use fully alligned mirror segments for " << rad << " reconstruction" 
+    {      _ri_debug << "Will use fully alligned mirror segments for " << rad << " reconstruction"
                      << endmsg;  }
     else { _ri_debug << "Will use nominal mirrors for " << rad << " reconstruction" << endmsg; }
 
@@ -77,10 +77,10 @@ StatusCode CommonQuarticPhotonReco::initialize()
     {      _ri_debug << "Will check for " << rad << " photons that hit the beam pipe" << endmsg; }
 
     if ( m_checkPrimMirrSegs[rad] )
-    {      _ri_debug << "Will check for full intersecton with mirror segments for " 
+    {      _ri_debug << "Will check for full intersecton with mirror segments for "
                      << rad << endmsg; }
 
-    _ri_debug << "Minimum active " << rad << " segment fraction = " << m_minActiveFrac[rad] 
+    _ri_debug << "Minimum active " << rad << " segment fraction = " << m_minActiveFrac[rad]
               << endmsg;
 
   }
diff --git a/Rich/RichFutureRecPixelAlgorithms/src/RichPixelClusterGlobalPositions.cpp b/Rich/RichFutureRecPixelAlgorithms/src/RichPixelClusterGlobalPositions.cpp
index 744642b27c3c9844a795e5bf8cb6016c9de43f5c..b83e23e186114185c9c10559f3ffefc18c1c43ea 100644
--- a/Rich/RichFutureRecPixelAlgorithms/src/RichPixelClusterGlobalPositions.cpp
+++ b/Rich/RichFutureRecPixelAlgorithms/src/RichPixelClusterGlobalPositions.cpp
@@ -11,7 +11,7 @@ using namespace Rich::Future::Rec;
 //-----------------------------------------------------------------------------
 
 PixelClusterGlobalPositions::
-PixelClusterGlobalPositions( const std::string& name, 
+PixelClusterGlobalPositions( const std::string& name,
                              ISvcLocator* pSvcLocator )
   : Transformer ( name, pSvcLocator,
                   { KeyValue{ "RichPixelClustersLocation", Rich::PDPixelClusterLocation::Default } },
@@ -29,14 +29,12 @@ StatusCode PixelClusterGlobalPositions::initialize()
   if ( !sc ) return sc;
 
   // load tools
-  sc = sc && m_idTool.retrieve();
-
-  return sc;
+  return m_idTool.retrieve();
 }
 
 //=============================================================================
 
-SpacePointVector 
+SpacePointVector
 PixelClusterGlobalPositions::operator()( const Rich::PDPixelCluster::Vector& clusters ) const
 {
   // the container to return
diff --git a/Rich/RichFutureRecPixelAlgorithms/src/RichPixelClusterLocalPositions.cpp b/Rich/RichFutureRecPixelAlgorithms/src/RichPixelClusterLocalPositions.cpp
index 376d8337f0a59d4ff1915ad8d9041dc8f057eab4..b70533eb37dbb05ce6e57d14ba8b353ffa514237 100644
--- a/Rich/RichFutureRecPixelAlgorithms/src/RichPixelClusterLocalPositions.cpp
+++ b/Rich/RichFutureRecPixelAlgorithms/src/RichPixelClusterLocalPositions.cpp
@@ -10,12 +10,12 @@ using namespace Rich::Future::Rec;
 // 2016-09-30 : Chris Jones
 //-----------------------------------------------------------------------------
 
-PixelClusterLocalPositions::PixelClusterLocalPositions( const std::string& name, 
+PixelClusterLocalPositions::PixelClusterLocalPositions( const std::string& name,
                                                         ISvcLocator* pSvcLocator )
   : Transformer ( name, pSvcLocator,
-                  { KeyValue{ "RichPixelGlobalPositionsLocation", 
+                  { KeyValue{ "RichPixelGlobalPositionsLocation",
                         SpacePointLocation::PixelsGlobal } },
-                  { KeyValue{ "RichPixelLocalPositionsLocation", 
+                  { KeyValue{ "RichPixelLocalPositionsLocation",
                         SpacePointLocation::PixelsLocal } } )
 {
   declareProperty( "SmartIDTool", m_idTool );
@@ -30,26 +30,24 @@ StatusCode PixelClusterLocalPositions::initialize()
   if ( !sc ) return sc;
 
   // load tools
-  sc = sc && m_idTool.retrieve();
-
-  return sc;
+  return m_idTool.retrieve();
 }
 
 //=============================================================================
 
-SpacePointVector 
+SpacePointVector
 PixelClusterLocalPositions::operator()( const SpacePointVector& gPoints ) const
 {
   // the container to return
   SpacePointVector lPoints;
   lPoints.reserve( gPoints.size() );
-  
+
   for ( const auto & gPos : gPoints )
-  { 
-    lPoints.emplace_back( m_idTool.get()->globalToPDPanel(gPos) ); 
+  {
+    lPoints.emplace_back( m_idTool.get()->globalToPDPanel(gPos) );
     _ri_debug << gPos << " -> " << lPoints.back() << endmsg;
   }
-  
+
   // return the final space points
   return lPoints;
 }
diff --git a/Rich/RichFutureRecTrackAlgorithms/src/RichDetailedTrSegMakerFromTracks.cpp b/Rich/RichFutureRecTrackAlgorithms/src/RichDetailedTrSegMakerFromTracks.cpp
index b41f452da2aae7400598dc11a24b77d08274a297..1b32fcc2b1a9a959c3e0ecee1033e147db7e668c 100644
--- a/Rich/RichFutureRecTrackAlgorithms/src/RichDetailedTrSegMakerFromTracks.cpp
+++ b/Rich/RichFutureRecTrackAlgorithms/src/RichDetailedTrSegMakerFromTracks.cpp
@@ -60,21 +60,21 @@ StatusCode DetailedTrSegMakerFromTracks::initialize()
 
   // load primary track extrapolator now if it is going to be used to perform
   // the state extrapolations   ( backup is loaded on-demand )
-  if ( !m_useStateProvider ) { sc = sc && m_trExt.retrieve(); }
+  if ( !m_useStateProvider ) { if ( sc ) sc = m_trExt.retrieve(); }
 
   // Load the state provider if it is to be used
-  if ( m_createMissingStates || m_useStateProvider ) { sc = sc && m_trStateP.retrieve(); }
+  if ( m_createMissingStates || m_useStateProvider ) { if ( sc ) sc = m_trStateP.retrieve(); }
 
   // load tools and services
   m_magFieldSvc = svc<IMagneticFieldSvc>("MagneticFieldSvc");
-  sc = sc && m_radTool.retrieve();
+  if ( sc ) sc = m_radTool.retrieve();
 
   // get Detector elements for RICH1 and RICH2
   m_rich[Rich::Rich1] = getDet<DeRich>( DeRichLocations::Rich1 );
   m_rich[Rich::Rich2] = getDet<DeRich>( DeRichLocations::Rich2 );
 
   // Radiators
-  if ( usedRads(Rich::Rich1Gas) ) 
+  if ( usedRads(Rich::Rich1Gas) )
   { m_radiators.push_back( getDet<DeRichRadiator>(DeRichLocations::Rich1Gas) ); }
   if ( usedRads(Rich::Rich2Gas) )
   { m_radiators.push_back( getDet<DeRichRadiator>(DeRichLocations::Rich2Gas) ); }
diff --git a/Rich/RichFutureRecTrackAlgorithms/src/RichEmittedPhotonYields.cpp b/Rich/RichFutureRecTrackAlgorithms/src/RichEmittedPhotonYields.cpp
index 27d7ae71f05fdba9614d2b07bcd22cbed0006850..72bbcc66b8bc37291a3989a6c3d91df1c6b969d0 100644
--- a/Rich/RichFutureRecTrackAlgorithms/src/RichEmittedPhotonYields.cpp
+++ b/Rich/RichFutureRecTrackAlgorithms/src/RichEmittedPhotonYields.cpp
@@ -29,14 +29,14 @@ StatusCode EmittedPhotonYields::initialize()
   m_Rich1DE = getDet<DeRich1>( DeRichLocations::Rich1 );
 
   // load tools
-  sc = sc && m_detParams.retrieve();
+  if ( sc ) sc = m_detParams.retrieve();
 
   // register for UMS updates
   //updMgrSvc()->registerCondition( this, m_Rich1DE, &SellmeirFunc::umsUpdate );
   // force first updates
   //sc = updMgrSvc()->update(this);
   // CRJ : UMS does not work because Rich1 has no conditions (yet)
-  sc = sc && umsUpdate();
+  if ( sc ) sc = umsUpdate();
 
   // return
   return sc;
@@ -51,7 +51,7 @@ EmittedPhotonYields::operator()( const LHCb::RichTrackSegment::Vector& segments
   OutData data;
   auto & yieldV   = std::get<PhotonYields::Vector>(data);
   auto & spectraV = std::get<PhotonSpectra::Vector>(data);
-  
+
   // reserve sizes
   yieldV.reserve  ( segments.size() );
   spectraV.reserve( segments.size() );
@@ -80,7 +80,7 @@ EmittedPhotonYields::operator()( const LHCb::RichTrackSegment::Vector& segments
 
     // energy bin size
     const auto enBinSize = spectra.binSize();
-    
+
     // Loop over (real) PID types. Below threshold excluded.
     for ( const auto id : activeParticlesNoBT() )
     {
@@ -91,30 +91,30 @@ EmittedPhotonYields::operator()( const LHCb::RichTrackSegment::Vector& segments
       const auto Esq         = momentum2 + m_particleMassSq[id];
       const auto invBetaSqA  = 37.0 * ( momentum2>0 ? Esq/momentum2 : 0 );
       const auto invGammaSqE = ( Esq>0 ? m_particleMassSq[id]/Esq : 0 ) * enBinSize;
-      
-      //_ri_verbo << std::setprecision(9) 
+
+      //_ri_verbo << std::setprecision(9)
       //          << id << " Esq " << Esq << " invBetaSqA " << invBetaSqA
       //          << " invGammaSqE " << invGammaSqE << endmsg;
-      
+
       // loop over the energy bins
       for ( unsigned int iEnBin = 0; iEnBin < spectra.energyBins(); ++iEnBin )
       {
-        
+
         // Compute number of photons
         auto nPhot = invBetaSqA * ( (m_paraWDiff[rad])[iEnBin] - invGammaSqE );
-        
+
         // bin signal
         const auto binSignal = length * ( nPhot > 0 ? nPhot : 0.0 );
-        //_ri_verbo << std::setprecision(9) 
-        //          << " bin " << iEnBin << " nPhot " << nPhot 
+        //_ri_verbo << std::setprecision(9)
+        //          << " bin " << iEnBin << " nPhot " << nPhot
         //          << " binSignal " << binSignal << endmsg;
-        
+
         // save in the spectra object
         (spectra.energyDist(id))[iEnBin] = binSignal;
-        
+
         // Add to the total signal
         signal += binSignal;
-	
+
       } // energy bins
 
       // save the yield for this hypo
@@ -122,7 +122,7 @@ EmittedPhotonYields::operator()( const LHCb::RichTrackSegment::Vector& segments
       yields.setData(id,signal);
 
     }
-    
+
   }
 
   return data;
@@ -160,11 +160,11 @@ StatusCode EmittedPhotonYields::umsUpdate()
     { m_Rich1DE->param<double>("SellAgelE1Param"),
       m_Rich1DE->param<double>("SellC4F10E1Param"),
       m_Rich1DE->param<double>("SellCF4E1Param") };
-  const RadiatorArray<double> selE2 = 
+  const RadiatorArray<double> selE2 =
     { m_Rich1DE->param<double>("SellAgelE2Param"),
       m_Rich1DE->param<double>("SellC4F10E2Param"),
       m_Rich1DE->param<double>("SellCF4E2Param") };
-  const RadiatorArray<double> molW  =   
+  const RadiatorArray<double> molW  =
     { 0,
       m_Rich1DE->param<double>("GasMolWeightC4F10Param"),
       m_Rich1DE->param<double>("GasMolWeightCF4Param") };
@@ -209,7 +209,7 @@ StatusCode EmittedPhotonYields::umsUpdate()
   // Cache the paraW diff calculation for each energy bin
 
   // lambda function for the paraW calculation
-  auto paraW = 
+  auto paraW =
     ( [&RXSPscale,&RXSMscale,&REP,&REM,&X]
       ( const Rich::RadiatorType rad, const double energy )
       {
@@ -225,10 +225,10 @@ StatusCode EmittedPhotonYields::umsUpdate()
   {
     // photon energies for this rad
     const auto & en = m_photEnergies[rad];
-    
+
     // temporary photon spectra object
     PhotonSpectra spectra( en.first, en.second );
-    
+
     // loop over the energy bins
     for ( unsigned int iEnBin = 0; iEnBin < spectra.energyBins(); ++iEnBin )
     {
@@ -237,7 +237,7 @@ StatusCode EmittedPhotonYields::umsUpdate()
       const auto topEn = spectra.binEnergyUpperEdge(iEnBin);
       (m_paraWDiff[rad])[iEnBin] = paraW(rad,topEn) - paraW(rad,botEn);
     }
-  } 
+  }
 
   return StatusCode::SUCCESS;
 }
diff --git a/Rich/RichFutureRecTrackAlgorithms/src/RichRayTraceCherenkovCones.cpp b/Rich/RichFutureRecTrackAlgorithms/src/RichRayTraceCherenkovCones.cpp
index affe10d1f76566e1c61a8e2bd8a43cb052d43d2e..d328d98055412f2d2bf80ec00fdf326afe41d78b 100644
--- a/Rich/RichFutureRecTrackAlgorithms/src/RichRayTraceCherenkovCones.cpp
+++ b/Rich/RichFutureRecTrackAlgorithms/src/RichRayTraceCherenkovCones.cpp
@@ -7,7 +7,7 @@ using namespace Rich::Future::Rec;
 
 //=============================================================================
 
-RayTraceCherenkovCones::RayTraceCherenkovCones( const std::string& name, 
+RayTraceCherenkovCones::RayTraceCherenkovCones( const std::string& name,
                                                 ISvcLocator* pSvcLocator )
   : Transformer ( name, pSvcLocator,
                   { KeyValue{ "TrackSegmentsLocation",       LHCb::RichTrackSegmentLocation::Default },
@@ -28,7 +28,8 @@ StatusCode RayTraceCherenkovCones::initialize()
   if ( !sc ) return sc;
 
   // load tools
-  sc = sc && m_rayTrace.retrieve() && m_idTool.retrieve();
+  if ( sc ) sc = m_rayTrace.retrieve();
+  if ( sc ) sc = m_idTool.retrieve();
 
   // loop over radiators
   for ( const auto rad : Rich::radiators() )
@@ -49,19 +50,19 @@ StatusCode RayTraceCherenkovCones::initialize()
     const auto incPhi = Gaudi::Units::twopi / static_cast<double>(m_nPoints[rad]);
     double ckPhi = 0.0;
     for ( unsigned int iPhot = 0; iPhot < m_nPoints[rad]; ++iPhot, ckPhi+=incPhi )
-    { 
+    {
       // Vc value
       ivc = iPhot % SIMDFP::Size;
       phiSIMD[ivc] = ckPhi;
       // If SIMD value is full, push to vector
-      if ( SIMDFP::Size-1 == ivc ) 
+      if ( SIMDFP::Size-1 == ivc )
       {
         m_cosSinPhiV[rad].emplace_back( phiSIMD );
         phiSIMD = SIMDFP::Zero();
       }
     }
     // bailout number
-    m_nBailout[rad] = static_cast<unsigned int> ( m_bailoutFrac[rad] * m_nPoints[rad] ); 
+    m_nBailout[rad] = static_cast<unsigned int> ( m_bailoutFrac[rad] * m_nPoints[rad] );
   }
 
   // the ray-tracing mode
@@ -80,9 +81,9 @@ StatusCode RayTraceCherenkovCones::initialize()
 
 //=============================================================================
 
-MassHypoRingsVector 
+MassHypoRingsVector
 RayTraceCherenkovCones::operator()( const LHCb::RichTrackSegment::Vector& segments,
-                                    const CherenkovAngles::Vector& ckAngles ) const 
+                                    const CherenkovAngles::Vector& ckAngles ) const
 {
   // The data to return
   MassHypoRingsVector ringsV;
@@ -115,7 +116,7 @@ RayTraceCherenkovCones::operator()( const LHCb::RichTrackSegment::Vector& segmen
     const auto & emissionPoint = segment.bestPoint();
 
     //_ri_vero << "segment " << emissionPoint << endmsg;
-     
+
      // Loop over PID types
     for ( const auto id : activeParticlesNoBT() )
     {
@@ -145,7 +146,7 @@ RayTraceCherenkovCones::operator()( const LHCb::RichTrackSegment::Vector& segmen
         // The vectorised ray tracing.
         // Move the directions as we do not care about them after.
         const auto results =
-          m_rayTrace.get()->traceToDetector( emissionPoint, std::move(simdVects), 
+          m_rayTrace.get()->traceToDetector( emissionPoint, std::move(simdVects),
                                              segment, m_traceModeRad[rad] );
 
         // loop over the results and fill
@@ -160,7 +161,7 @@ RayTraceCherenkovCones::operator()( const LHCb::RichTrackSegment::Vector& segmen
           // Count good photons
           nOK   += ( res.result >= goodRes ).count();
           // bailout check
-          if ( 0 == nOK && nPhot >= m_nBailout[rad] ) { break; }  
+          if ( 0 == nOK && nPhot >= m_nBailout[rad] ) { break; }
 
           // angles
           const auto & cosphi = std::get<1>(data);
@@ -171,9 +172,9 @@ RayTraceCherenkovCones::operator()( const LHCb::RichTrackSegment::Vector& segmen
           // Scalar loop
           for ( std::size_t i = 0; i < SIMDFP::Size; ++i )
           {
-            
+
             // Scalar hit point
-            const Gaudi::XYZPoint gP( gPSIMD.x()[i], gPSIMD.y()[i], gPSIMD.z()[i] ); 
+            const Gaudi::XYZPoint gP( gPSIMD.x()[i], gPSIMD.y()[i], gPSIMD.z()[i] );
 
             // Add a new point
             rings[id].emplace_back ( gP,
@@ -185,23 +186,23 @@ RayTraceCherenkovCones::operator()( const LHCb::RichTrackSegment::Vector& segmen
                                      res.photonDetector[i],
                                      cosphi.phi[i] );
 
-            //_ri_verbo << std::setprecision(4) 
+            //_ri_verbo << std::setprecision(4)
             //          << LHCb::RichTraceMode::RayTraceResult(res.result[i]) << " " << gP << endmsg;
             //_ri_verbo << rings[id].back() << endmsg;
 
           } // scalar loop
 
         } // results loop
-        
+
         // if no good hits empty the container
-        //if ( 0 == nOK ) { rings[id].clear(); } 
+        //if ( 0 == nOK ) { rings[id].clear(); }
 
       }
-      
+
     }
-    
+
   }
-  
+
   return ringsV;
 }
 
diff --git a/Rich/RichFutureRecTrackAlgorithms/src/RichRayTraceTrackGlobalPoints.cpp b/Rich/RichFutureRecTrackAlgorithms/src/RichRayTraceTrackGlobalPoints.cpp
index 1dbc4bdc4d66a9d4f232eb62eb224a363f5e17a8..29d2298f80412c5bb3dfb3b61e4d3ed3a9d21d1a 100644
--- a/Rich/RichFutureRecTrackAlgorithms/src/RichRayTraceTrackGlobalPoints.cpp
+++ b/Rich/RichFutureRecTrackAlgorithms/src/RichRayTraceTrackGlobalPoints.cpp
@@ -7,7 +7,7 @@ using namespace Rich::Future::Rec;
 
 //=============================================================================
 
-RayTraceTrackGlobalPoints::RayTraceTrackGlobalPoints( const std::string& name, 
+RayTraceTrackGlobalPoints::RayTraceTrackGlobalPoints( const std::string& name,
                                                       ISvcLocator* pSvcLocator )
   : Transformer ( name, pSvcLocator,
                   { KeyValue{ "TrackSegmentsLocation",     LHCb::RichTrackSegmentLocation::Default } },
@@ -30,7 +30,7 @@ StatusCode RayTraceTrackGlobalPoints::initialize()
   if ( !sc ) return sc;
 
   // load tools
-  sc = sc && m_rayTrace.retrieve();
+  if ( sc ) sc = m_rayTrace.retrieve();
 
   // track ray tracing
   _ri_debug << "Rich1Gas Track " << m_traceMode[Rich::Rich1Gas] << endmsg;
@@ -49,7 +49,7 @@ StatusCode RayTraceTrackGlobalPoints::initialize()
 //=============================================================================
 
 SegmentPanelSpacePoints::Vector
-RayTraceTrackGlobalPoints::operator()( const LHCb::RichTrackSegment::Vector& segments ) const 
+RayTraceTrackGlobalPoints::operator()( const LHCb::RichTrackSegment::Vector& segments ) const
 {
   // the global points to return
   SegmentPanelSpacePoints::Vector points;
@@ -65,11 +65,11 @@ RayTraceTrackGlobalPoints::operator()( const LHCb::RichTrackSegment::Vector& seg
     // rich and radiator
     const auto rich = trSeg.rich();
     const auto rad  = trSeg.radiator();
-    
+
     // best start point and direction
     const auto & trackDir = trSeg.bestMomentum();
     const auto & trackPtn = trSeg.bestPoint();
-    
+
     // ray trace the best point
     auto result = m_rayTrace.get()->traceToDetector( rich, trackPtn, trackDir, photon,
                                                      trSeg, m_traceMode[rad],
@@ -77,28 +77,28 @@ RayTraceTrackGlobalPoints::operator()( const LHCb::RichTrackSegment::Vector& seg
     const auto OK = m_traceMode[rad].traceWasOK(result);
     if ( OK )
     {
-      
+
       // save point and side for the best tracing
       const auto bestPoint = photon.detectionPoint();
       const auto bestSide  = photon.smartID().panel();
 
       // closest PD
       const auto closestPD = photon.smartID().pdID();
-      
+
       // Now do the forced left/right up/down tracings
-      
+
       // left/top
       result = m_rayTrace.get()->traceToDetector( rich, trackPtn, trackDir, photon,
                                                   trSeg, m_fTraceMode[rad],
                                                   Rich::left );
-      const auto lPos = ( m_fTraceMode[rad].traceWasOK(result) ? 
+      const auto lPos = ( m_fTraceMode[rad].traceWasOK(result) ?
                           photon.detectionPoint() : SpacePoint{0,0,0} );
-      
+
       // right/bottom
       result = m_rayTrace.get()->traceToDetector( rich, trackPtn, trackDir, photon,
                                                   trSeg, m_fTraceMode[rad],
                                                   Rich::right );
-      const auto rPos = ( m_fTraceMode[rad].traceWasOK(result) ? 
+      const auto rPos = ( m_fTraceMode[rad].traceWasOK(result) ?
                           photon.detectionPoint() : SpacePoint{0,0,0} );
 
       // save the data
diff --git a/Rich/RichFutureRecTrackAlgorithms/src/RichRayTraceTrackLocalPoints.cpp b/Rich/RichFutureRecTrackAlgorithms/src/RichRayTraceTrackLocalPoints.cpp
index aa156989508b3bd02aa2d1fa60dee6af4bb58279..c9220db18cb02da7e726ed98e0778edcfe709628 100644
--- a/Rich/RichFutureRecTrackAlgorithms/src/RichRayTraceTrackLocalPoints.cpp
+++ b/Rich/RichFutureRecTrackAlgorithms/src/RichRayTraceTrackLocalPoints.cpp
@@ -7,7 +7,7 @@ using namespace Rich::Future::Rec;
 
 //=============================================================================
 
-RayTraceTrackLocalPoints::RayTraceTrackLocalPoints( const std::string& name, 
+RayTraceTrackLocalPoints::RayTraceTrackLocalPoints( const std::string& name,
                                                       ISvcLocator* pSvcLocator )
   : Transformer ( name, pSvcLocator,
                   { KeyValue{ "TrackGlobalPointsLocation", SpacePointLocation::SegmentsGlobal } },
@@ -27,16 +27,13 @@ StatusCode RayTraceTrackLocalPoints::initialize()
   if ( !sc ) return sc;
 
   // load tools
-  sc = sc && m_idTool.retrieve();
-
-  // return
-  return sc;
+  return m_idTool.retrieve();
 }
 
 //=============================================================================
 
 SegmentPanelSpacePoints::Vector
-RayTraceTrackLocalPoints::operator()( const SegmentPanelSpacePoints::Vector& gPoints ) const 
+RayTraceTrackLocalPoints::operator()( const SegmentPanelSpacePoints::Vector& gPoints ) const
 {
   SegmentPanelSpacePoints::Vector lPoints;
   lPoints.reserve( gPoints.size() );
@@ -50,7 +47,7 @@ RayTraceTrackLocalPoints::operator()( const SegmentPanelSpacePoints::Vector& gPo
       lPoints.emplace_back( m_idTool.get()->globalToPDPanel( gPoint.point() ),
                             m_idTool.get()->globalToPDPanel( gPoint.point(Rich::left)  ),
                             m_idTool.get()->globalToPDPanel( gPoint.point(Rich::right) ),
-                            gPoint.bestSide(), gPoint.closestPD() ); 
+                            gPoint.bestSide(), gPoint.closestPD() );
     }
     else
     {
@@ -59,7 +56,7 @@ RayTraceTrackLocalPoints::operator()( const SegmentPanelSpacePoints::Vector& gPo
     }
     _ri_verbo << "Segment PD panel point (local) " << lPoints.back() << endmsg;
   }
-  
+
   return lPoints;
 }
 
diff --git a/Rich/RichFutureRecTrackAlgorithms/src/RichTrackCherenkovAngles.cpp b/Rich/RichFutureRecTrackAlgorithms/src/RichTrackCherenkovAngles.cpp
index d0a43be9c554158651a05063e2a158e888822eda..a94a2c21466af09b790b4a459950ba04385b9e40 100644
--- a/Rich/RichFutureRecTrackAlgorithms/src/RichTrackCherenkovAngles.cpp
+++ b/Rich/RichFutureRecTrackAlgorithms/src/RichTrackCherenkovAngles.cpp
@@ -15,10 +15,7 @@ StatusCode TrackCherenkovAnglesBase::initialize()
   if ( !sc ) return sc;
 
   // load tools
-  sc = sc && m_refIndex.retrieve();
-
-  // return
-  return sc;
+  return m_refIndex.retrieve();
 }
 
 //=============================================================================
@@ -58,35 +55,35 @@ TrackCherenkovAnglesBase::run( const LHCb::RichTrackSegment::Vector& segments,
       {
 
         //_ri_verbo << std::setprecision(9) << id << " yield = " << yields[id] << endmsg;
-      
+
         // compute track beta
         const auto beta = richPartProps()->beta( segment.bestMomentumMag(), id );
         if ( beta > 0 )
         {
-          
+
           // loop over energy bins
           for ( unsigned int iEnBin = 0; iEnBin < spectra.energyBins(); ++iEnBin )
           {
-            const auto refIn = m_refIndex.get()->refractiveIndex( segment.radIntersections(), 
+            const auto refIn = m_refIndex.get()->refractiveIndex( segment.radIntersections(),
                                                                   spectra.binEnergy(iEnBin) );
             const auto temp = beta * refIn;
             //_ri_verbo << std::setprecision(9)
             //          << " bin " << iEnBin << " " << beta << " " << refIn << endmsg;
-            if ( temp>1 ) 
+            if ( temp>1 )
             {
               const auto f  = Rich::Maths::fast_acos(1.0/temp);
               const auto en = (spectra.energyDist(id))[iEnBin];
               //_ri_verbo << std::setprecision(9) << "     " << " " << f << " " << en << endmsg;
               angle += ( en * f );
             }
-          }   
+          }
           // normalise the angle
           angle /= yields[id];
-          
+
         }
 
       }
- 
+
       // save the final angle for this hypo
       //_ri_verbo << std::setprecision(9) << id << " CK theta " << angle << endmsg;
       angles.setData(id,angle);
diff --git a/Rich/RichFutureRecTrackAlgorithms/src/RichTrackFunctionalCherenkovResolutions.cpp b/Rich/RichFutureRecTrackAlgorithms/src/RichTrackFunctionalCherenkovResolutions.cpp
index 52aeb3ad1b8706a2a36117d2f63cfc2367052ce7..80b36927c811e20b10895ab4d2dc2f52b7325dc7 100644
--- a/Rich/RichFutureRecTrackAlgorithms/src/RichTrackFunctionalCherenkovResolutions.cpp
+++ b/Rich/RichFutureRecTrackAlgorithms/src/RichTrackFunctionalCherenkovResolutions.cpp
@@ -15,7 +15,7 @@ TrackFunctionalCherenkovResolutions( const std::string& name,
                     KeyValue{ "SignalCherenkovAnglesLocation", CherenkovAnglesLocation::Signal },
                     KeyValue{ "MassHypothesisRingsLocation",   MassHypoRingsLocation::Emitted } },
                   { KeyValue{ "CherenkovResolutionsLocation", CherenkovResolutionsLocation::Default } } )
-{ 
+{
   declareProperty( "RefractiveIndexTool", m_refIndex  );
   declareProperty( "DetParametersTool",   m_detParams );
   // debug
@@ -31,7 +31,8 @@ StatusCode TrackFunctionalCherenkovResolutions::initialize()
   if ( !sc ) return sc;
 
   // get tools
-  sc = sc && m_refIndex.retrieve() && m_detParams.retrieve();
+  if ( sc ) sc = m_refIndex.retrieve();
+  if ( sc ) sc = m_detParams.retrieve();
 
   // services
   m_transSvc = svc<ITransportSvc>( "TransportSvc", true  );
@@ -41,7 +42,7 @@ StatusCode TrackFunctionalCherenkovResolutions::initialize()
 
   // Create accelerator cache for the transport service
   auto tsCache = m_transSvc->createCache();
-  
+
   // Fixed vector start/end points for each radiator
   const RadiatorArray< std::pair<Gaudi::XYZPoint,Gaudi::XYZPoint> > radVs
   {{
@@ -49,7 +50,7 @@ StatusCode TrackFunctionalCherenkovResolutions::initialize()
       { { 150, 150, 1500  }, { 150, 150, 1700  } }, // RICH1 gas
       { { 500, 500, 10000 }, { 500, 500, 11000 } }  // RICH2 gas
     }};
-  // Use the fixed vectors to compute from the TS the radiation length / mm 
+  // Use the fixed vectors to compute from the TS the radiation length / mm
   // in each RICH radiator medium
   for ( const auto rad : Rich::radiators() )
   {
@@ -60,7 +61,7 @@ StatusCode TrackFunctionalCherenkovResolutions::initialize()
                                                           tsCache, 0, altGeom() );
       const auto length = std::sqrt( ( radVs[rad].second - radVs[rad].first ) .mag2() );
       m_radLenPerUnitL[rad] = ( length > 0 ? effL/length : 0.0 );
-      _ri_debug << std::setprecision(9) 
+      _ri_debug << std::setprecision(9)
                 << rad << " radiation length / mm = " << m_radLenPerUnitL[rad] << endmsg;
     }
   }
@@ -75,7 +76,7 @@ CherenkovResolutions::Vector
 TrackFunctionalCherenkovResolutions::
 operator()( const LHCb::RichTrackSegment::Vector& segments,
             const CherenkovAngles::Vector& ckAngles,
-            const MassHypoRingsVector& massRings ) const 
+            const MassHypoRingsVector& massRings ) const
 {
   using namespace Gaudi::Units;
 
@@ -132,7 +133,7 @@ operator()( const LHCb::RichTrackSegment::Vector& segments,
         // Full TS treatment ...
         try { effL = m_transSvc->distanceInRadUnits_r( segment.entryPoint(),
                                                        segment.exitPoint(),
-                                                       tsCache, 0, altGeom() ); }  
+                                                       tsCache, 0, altGeom() ); }
         catch ( const TransportSvcException & excpt )
         {
           effL = 0;
@@ -149,19 +150,19 @@ operator()( const LHCb::RichTrackSegment::Vector& segments,
         //_ri_debug << std::setprecision(9) << " Scattering error = " << scattErr << endmsg;
         res2 += scattErr;
       }
-      
+
       //-------------------------------------------------------------------------------
       // track curvature in the radiator volume
       //-------------------------------------------------------------------------------
-      const auto curvErr = 
+      const auto curvErr =
         ( Rich::Aerogel == rad ? 0 :
           std::pow( Rich::Geom::AngleBetween( segment.entryMomentum(),
                                               segment.exitMomentum() ) * 0.25, 2 ) );
       //_ri_debug << std::setprecision(9) << " Curvature error = " << curvErr << endmsg;
       res2 += curvErr;
-        
+
       //-------------------------------------------------------------------------------
-      
+
       //-------------------------------------------------------------------------------
       // tracking direction errors
       //-------------------------------------------------------------------------------
@@ -175,11 +176,11 @@ operator()( const LHCb::RichTrackSegment::Vector& segments,
       {
         // start with the hypo independent part
         double hypo_res2 = res2;
-        
+
         //-------------------------------------------------------------------------------
         // RICH contributions (pixel, PSF errors etc...)
         // Uses the supplied reference contribution for the given pixel area, and scales
-        // according to the area for the associated PD  
+        // according to the area for the associated PD
         //-------------------------------------------------------------------------------
         auto pdErr = m_pdErr[rad] * m_pdErr[rad];
         // Are we using the full treatment to deal with PD size difference ?
@@ -206,20 +207,20 @@ operator()( const LHCb::RichTrackSegment::Vector& segments,
               }
             }
             // Scale PD errors by average pixel size using reference size
-            if ( totalInPD > 0 ) 
+            if ( totalInPD > 0 )
             {
               totalSize /= (double)totalInPD;
               pdErr *= totalSize / m_pdRefArea[rad];
             }
-          } 
+          }
         }
         //_ri_debug << std::setprecision(9) << " HPD error = " << pdErr << endmsg;
         hypo_res2 += pdErr;
-        
+
         // Expected CK theta
         if ( Rich::BelowThreshold != hypo && angles[hypo] > 1e-6 )
         {
- 
+
           // cache tan(cktheta)
           const auto tanCkExp = Rich::Maths::fast_tan(angles[hypo]);
           // 1 /  tan(cktheta)
@@ -266,9 +267,9 @@ operator()( const LHCb::RichTrackSegment::Vector& segments,
         res.setData( hypo, ckRes );
 
       } // hypo loop
-      
+
     }
-    
+
   }
 
   return resV;
diff --git a/Tf/TfTools/src/component/ResetHits.cpp b/Tf/TfTools/src/component/ResetHits.cpp
index 7ae25564e0b987919fb2b428ce426711981793f7..53bca3eb27fc7427214285ba360a1c133557dd38 100644
--- a/Tf/TfTools/src/component/ResetHits.cpp
+++ b/Tf/TfTools/src/component/ResetHits.cpp
@@ -21,12 +21,12 @@ ResetHits::ResetHits( const std::string& name,
     m_othitcreator   ( "Tf::OTHitCreator/OTHitCreator" ),
     m_ithitcreator   ( "Tf::STHitCreator<Tf::IT>/ITHitCreator" ),
     m_tthitcreator   ( "Tf::STHitCreator<Tf::TT>/TTHitCreator")
-{ 
-  declareProperty( "ResetVeloHits",       m_veloHits = true ); 
+{
+  declareProperty( "ResetVeloHits",       m_veloHits = true );
   declareProperty( "ResetTTHits",         m_TTHits   = true );
   declareProperty( "ResetOTHits",         m_OTHits   = true );
   declareProperty( "ResetITHits",         m_ITHits   = true );
-  
+
 }
 //=============================================================================
 // Destructor
@@ -43,12 +43,9 @@ StatusCode ResetHits::initialize() {
   if(msgLevel(MSG::DEBUG)) debug() << "==> Initialize" << endmsg;
 
   // load our hit creators
-    sc = ( m_othitcreator.retrieve() &&
-           m_ithitcreator.retrieve() &&
-	   m_tthitcreator.retrieve());
-    if ( sc.isFailure() ) return sc;
-  
-  return StatusCode::SUCCESS;
+  return StatusCode{m_othitcreator.retrieve() &&
+                    m_ithitcreator.retrieve() &&
+	            m_tthitcreator.retrieve()};
 }
 
 
@@ -58,12 +55,12 @@ StatusCode ResetHits::initialize() {
 StatusCode ResetHits::execute() {
 
   if (m_OTHits)
-   m_othitcreator->resetUsedFlagOfHits(); 
+   m_othitcreator->resetUsedFlagOfHits();
   if (m_ITHits)
    m_ithitcreator->resetUsedFlagOfHits();
   if (m_TTHits)
    m_tthitcreator->resetUsedFlagOfHits();
-  
+
   return StatusCode::SUCCESS;
 }
 
diff --git a/Tr/TrackExtrapolators/src/MaterialLocatorBase.cpp b/Tr/TrackExtrapolators/src/MaterialLocatorBase.cpp
index 6e9db90ad6c65aec95f1e436fcf8f44d68bdc29d..2d178fd310f9835f50aa0d2b5a27fa34cd4987ed 100644
--- a/Tr/TrackExtrapolators/src/MaterialLocatorBase.cpp
+++ b/Tr/TrackExtrapolators/src/MaterialLocatorBase.cpp
@@ -38,10 +38,11 @@ StatusCode MaterialLocatorBase::initialize()
   m_dedxtool       = tool<IStateCorrectionTool>( m_dedxtoolname, "GeneralDedxTool", this);
   m_scatteringTool = tool<IStateCorrectionTool>( m_msCorrectionToolName, "StateMSCorrectionTool", this );
 
-  sc = sc && m_tSvc.retrieve();
-  m_accelCache = m_tSvc->createCache();
+  if ( sc ) sc = m_tSvc.retrieve();
+  if ( sc ) m_accelCache = m_tSvc->createCache();
 
-  return sc && m_elecdedxtool.retrieve() ;
+  if ( sc ) sc = m_elecdedxtool.retrieve();
+  return sc;
 }
 
 size_t MaterialLocatorBase::intersect_r( const Gaudi::XYZPoint& p,
diff --git a/Tr/TrackMonitors/src/TrackVertexMonitor.cpp b/Tr/TrackMonitors/src/TrackVertexMonitor.cpp
index f37853f5db7c09dca47029628dd4d9cb4901fba8..0249c3072ae4afd3d4551d0337be9b5682e8f69e 100755
--- a/Tr/TrackMonitors/src/TrackVertexMonitor.cpp
+++ b/Tr/TrackMonitors/src/TrackVertexMonitor.cpp
@@ -175,7 +175,7 @@ StatusCode TrackVertexMonitor::initialize()
 //=============================================================================
 StatusCode TrackVertexMonitor::finalize()
 {
-  return m_vertexer.release() && GaudiHistoAlg::finalize() ;
+  return StatusCode{m_vertexer.release() && GaudiHistoAlg::finalize()};
 }
 
 namespace {
diff --git a/Tr/TrackTools/src/HltV0Upgrade.cpp b/Tr/TrackTools/src/HltV0Upgrade.cpp
index 564e2c8380e1639da6be9bd44909534db0adbcf1..db83adbda6d60573de36e36468fe761a3c305e40 100644
--- a/Tr/TrackTools/src/HltV0Upgrade.cpp
+++ b/Tr/TrackTools/src/HltV0Upgrade.cpp
@@ -54,7 +54,7 @@ StatusCode HltV0Upgrade::process( LHCb::TwoProngVertex& vertex ) const
   LHCb::Track* trackB = const_cast<LHCb::Track*>(vertex.trackB()) ;
 
   // fit the tracks if necessary
-  sc = fittrack(*trackA) && fittrack(*trackB) ;
+  sc = StatusCode{fittrack(*trackA) && fittrack(*trackB)};
 
   // only do the rest if both tracks fitted successfully
   if( sc.isSuccess() ) {