WIP: Functional ProtoParticle maker
Moves the ProtoParticleMaker to a functional framework.
Related to Moore branch "lohenry-TTracks".
Edited by Louis Henry
Merge request reports
Activity
58 59 /// Locations in TES of input Tracks 60 std::vector<std::string> m_tracksPath; 61 60 /// Data handles 61 DataObjectReadHandle<LHCb::Tracks> m_tracks{this, "Inputs", LHCb::TrackLocation::Default}; 62 DataObjectWriteHandle<LHCb::ProtoParticles> m_protos{this, "Output", LHCb::ProtoParticleLocation::Charged}; 63 /// Track selector tool 64 ToolHandle<ITrackSelector> m_trSel{this, "TrackSelector", "LoKi::Hybrid::TrackSelector"}; 62 65 /// Track selector type 63 66 std::string m_trSelType; 64 67 65 /// Track selector tool 66 ITrackSelector* m_trSel = nullptr; 67 68 68 /// Append new ProtoParticles 95 84 setFilterPassed( false ); 96 for ( const auto& loc : m_tracksPath ) { 85 for ( const auto& loc : tracks ) { 97 86 // Load the Track objects (mandatory - should be there for each event) 98 const auto* tracks = getIfExists<LHCb::Tracks>( loc ); 99 if ( !tracks ) { 100 Warning( "No Tracks at '" + loc + "'", StatusCode::SUCCESS ).ignore(); 101 continue; 102 } 87 // const auto* tracks = getIfExists<LHCb::Tracks>( loc ); 88 // if ( !tracks ) { 89 // Warning( "No Tracks at '" + loc + "'", StatusCode::SUCCESS ).ignore(); 90 // continue; 91 // } 103 92 104 93 setFilterPassed( true ); 122 111 // Make a proto-particle 123 112 auto* proto = new LHCb::ProtoParticle(); 124 113 125 if ( m_tracksPath.size() == 1 && !m_append ) { 114 if ( tracks.size() == 1 && !m_append ) { 126 115 // Insert into container, with same key as Track 127 protos->insert( proto, tk->key() ); 53 50 54 ChargedProtoParticleMaker( const std::string& name, ISvcLocator* pSvcLocator ); 51 55 52 56 StatusCode initialize() override; ///< Algorithm initialization 53 StatusCode execute() override; ///< Algorithm execution 57 LHCb::ProtoParticles operator()(const LHCb::Tracks& tracks) const; ///< Algorithm execution 54 58 55 59 private: // data 56 /// Location of the ProtoParticles in the TES 57 std::string m_protoPath{""}; 58 59 /// Locations in TES of input Tracks 60 std::vector<std::string> m_tracksPath; 61 60 /// Data handles 61 DataObjectReadHandle<LHCb::Tracks> m_tracks{this, "Inputs", LHCb::TrackLocation::Default}; Thanks @lohenry ! My comments above were on the commit, that's why I can't resolve them. It looks like they are all addressed now.
- Resolved by Christopher Rob Jones
- Resolved by Christopher Rob Jones
- Resolved by Christopher Rob Jones
assigned to @apearce
unassigned @apearce
- Resolved by Louis Henry
- Resolved by Louis Henry
added lhcb-gaudi-head label
- [2019-11-22 00:09] Validation started with lhcb-gaudi-head#2460
- [2019-11-23 00:12] Validation started with lhcb-gaudi-head#2461
Edited by Software for LHCb
Please register or sign in to reply