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() ) {