Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • gpietrzy/Rec
  • nbehling/Rec
  • rrabadan/Rec
  • hyeung/Rec
  • smokhnen/Rec
  • padeken/Rec
  • peilian/Rec
  • lambda-hse/Rec
  • mstahl/Rec
  • kklimasz/Rec
  • mimazure/Rec
  • aszabels/Rec
  • wkrzemie/Rec
  • aalvesju/Rec
  • fkeizer/Rec
  • valassi/Rec
  • raaij/Rec
  • sstahl/Rec
  • jonrob/Rec
  • dcampora/Rec
  • graven/Rec
  • lhcb/Rec
22 results
Show changes
Commits on Source (122)
Showing
with 96 additions and 107 deletions
......@@ -32,3 +32,7 @@ check-formatting:
- apply-formatting.patch
when: on_failure
expire_in: 1 week
include:
- project: 'lhcb-rta/reference-update-bot'
file: 'templates/ref-bot-ci-trigger-template.yml'
......@@ -11,7 +11,7 @@
cmake_minimum_required(VERSION 3.15)
project(Rec VERSION 33.0
project(Rec VERSION 33.2
LANGUAGES CXX)
# Enable testing with CTest/CDash
......@@ -66,7 +66,6 @@ lhcb_add_subdirectories(
Phys/FunctorCore
Phys/SelAlgorithms
Rec/LoKiTrack
Rec/LoKiTrack_v2
Pr/PrAlgorithms
Pr/PrConverters
Pr/PrFitParams
......
......@@ -64,17 +64,17 @@ void CaloFutureEFlowAlg::operator()( const Input& digits, const LHCb::ODIN& evt
if ( msgLevel( MSG::DEBUG ) ) debug() << "Event: " << evt.eventNumber() << " Run: " << evt.runNumber() << endmsg;
const LHCb::ODIN::BXTypes bxtype = evt.bunchCrossingType();
const unsigned int tae = evt.timeAlignmentEventWindow();
const unsigned int tae = evt.timeAlignmentEventIndex();
const unsigned int trigger = evt.triggerType();
if ( msgLevel( MSG::DEBUG ) )
debug() << " TAE " << tae << " BXType " << bxtype << " trigger type " << trigger << endmsg;
if ( tae != 0 && m_ignoreTAE ) {
if ( msgLevel( MSG::DEBUG ) ) debug() << " TAE WINDOW SET TO " << tae << " WILL SKIP THE EVENT " << endmsg;
if ( msgLevel( MSG::DEBUG ) ) debug() << " TAE INDEX SET TO " << tae << " WILL SKIP THE EVENT " << endmsg;
return;
}
if ( bxtype != 3 && m_ignoreNonBeamCrossing ) {
if ( bxtype != LHCb::ODIN::BXTypes::BeamCrossing && m_ignoreNonBeamCrossing ) {
// 3 = BeamCrossing
if ( msgLevel( MSG::DEBUG ) ) debug() << " BEAM CROSSING TYPE IS " << bxtype << " WILL SKIP THE EVENT " << endmsg;
return;
......
......@@ -62,6 +62,7 @@ gaudi_add_module(CaloFuturePIDs
LHCb::CaloFutureUtils
LHCb::DetDescLib
LHCb::DigiEvent
LHCb::LHCbAlgsLib
LHCb::LHCbKernel
LHCb::LHCbMathLib
LHCb::LHCbTrackInterfaces
......
......@@ -16,7 +16,7 @@
#include "CaloFutureUtils/CaloFutureAlgUtils.h"
#include "Event/Track.h"
#include "Gaudi/Accumulators.h"
#include "GaudiAlg/Transformer.h"
#include "LHCbAlgs/Transformer.h"
#include "Relations/Relation1D.h"
#include "Relations/RelationWeighted2D.h"
......@@ -30,9 +30,9 @@
// ============================================================================
namespace LHCb::Calo {
template <typename TABLEI, typename TABLEO>
class Chi22ID : public Gaudi::Functional::Transformer<TABLEO( const LHCb::Track::Range&, const TABLEI& )> {
class Chi22ID : public Algorithm::Transformer<TABLEO( const LHCb::Track::Range&, const TABLEI& )> {
public:
using base_type = Gaudi::Functional::Transformer<TABLEO( const LHCb::Track::Range&, const TABLEI& )>;
using base_type = Algorithm::Transformer<TABLEO( const LHCb::Track::Range&, const TABLEI& )>;
using KeyValue = typename base_type::KeyValue;
using base_type::debug;
using base_type::msgLevel;
......
......@@ -91,7 +91,9 @@ namespace LHCb::Calo {
const TH2D* m_histo_ut = nullptr;
const TH2D* m_histo_vt = nullptr;
mutable Gaudi::Accumulators::StatCounter<> m_tableSize{this, "Table Size"};
mutable Gaudi::Accumulators::StatCounter<> m_tableSize{this, "Table Size"};
mutable Gaudi::Accumulators::MsgCounter<MSG::ERROR> m_invalid_track_type{this, "Invalid track type, return 0"};
mutable Gaudi::Accumulators::MsgCounter<MSG::ERROR> m_unspec_histo{this, "Histogram is not specified return 0"};
Gaudi::Property<bool> m_useCondDB{this, "UseCondDB", true,
"if true - use CondDB, otherwise get the DLLs via THS from a root file"};
......@@ -134,12 +136,12 @@ namespace LHCb::Calo {
vScale = m_vScale_tt;
break;
default:
Error( "Invalid track type, return 0" ).ignore();
++m_invalid_track_type;
return 0;
}
if ( 0 == histo ) {
Error( "Histogram is not specified return 0" ).ignore();
if ( !histo ) {
++m_unspec_histo;
return 0;
}
......
......@@ -10,19 +10,17 @@
\*****************************************************************************/
#pragma once
#include "ICaloFutureTrackIdEval.h"
#include "ToString.h"
#include "CaloFutureUtils/CaloFuture2Track.h"
#include "CaloFutureUtils/CaloFutureAlgUtils.h"
#include "DetDesc/DetectorElement.h"
#include "DetDesc/GenericConditionAccessorHolder.h"
#include "Event/CaloDigits_v2.h"
#include "Event/Track.h"
#include "Relations/Relation1D.h"
#include "Gaudi/Accumulators.h"
#include "GaudiAlg/Transformer.h"
#include "ICaloFutureTrackIdEval.h"
#include "LHCbAlgs/Transformer.h"
#include "Relations/Relation1D.h"
#include "ToString.h"
/**
* @author Vanya BELYAEV ibelyaev@physics.syr.edu
......@@ -33,9 +31,9 @@ namespace LHCb::Calo {
using Table = LHCb::Relation1D<LHCb::Track, float>;
using Filter = LHCb::Relation1D<LHCb::Track, bool>;
class Track2IDAlg : public Gaudi::Functional::Transformer<Table( LHCb::Track::Range const&, Filter const&,
Event::Calo::Digits const&, DetectorElement const& ),
DetDesc::usesConditions<DetectorElement>> {
class Track2IDAlg : public Algorithm::Transformer<Table( LHCb::Track::Range const&, Filter const&,
Event::Calo::Digits const&, DetectorElement const& ),
DetDesc::usesConditions<DetectorElement>> {
static_assert( std::is_base_of_v<LHCb::CaloFuture2Track::ITrAccTable, Filter>,
"Filter must inherit from ITrAccTable" );
......
......@@ -10,22 +10,19 @@
\*****************************************************************************/
#pragma once
#include "ToString.h"
#include "CaloFutureInterfaces/ICaloFutureTrackMatch.h"
#include "CaloFutureUtils/CaloFuture2Track.h"
#include "CaloFutureUtils/CaloFutureAlgUtils.h"
#include "DetDesc/DetectorElement.h"
#include "DetDesc/GenericConditionAccessorHolder.h"
#include "Event/CaloClusters_v2.h"
#include "Event/CaloHypos_v2.h"
#include "Event/Track.h"
#include "Gaudi/Accumulators.h"
#include "LHCbAlgs/Transformer.h"
#include "Relations/Relation1D.h"
#include "Relations/RelationWeighted2D.h"
#include "Gaudi/Accumulators.h"
#include "GaudiAlg/Transformer.h"
#include "ToString.h"
/**
* @author Vanya BELYAEV ibelyaev@physics.syr.edu
......@@ -37,14 +34,14 @@ namespace LHCb::Calo {
using BaseClass_t = LHCb::DetDesc::usesBaseAndConditions<FixTESPath<Gaudi::Algorithm>, DetectorElement>;
template <typename TABLE, typename CALOFUTURETYPES>
class TrackMatchAlg : public Gaudi::Functional::Transformer<TABLE( LHCb::Track::Range const&, CALOFUTURETYPES const&,
Filter const&, DetectorElement const& ),
BaseClass_t> {
class TrackMatchAlg : public Algorithm::Transformer<TABLE( LHCb::Track::Range const&, CALOFUTURETYPES const&,
Filter const&, DetectorElement const& ),
BaseClass_t> {
static_assert( std::is_base_of_v<LHCb::CaloFuture2Track::ITrAccTable, Filter>,
"Filter must inherit from ITrAccTable" );
public:
using base_type = Gaudi::Functional::Transformer<
using base_type = Algorithm::Transformer<
TABLE( LHCb::Track::Range const&, CALOFUTURETYPES const&, Filter const&, DetectorElement const& ), BaseClass_t>;
using KeyValue = typename base_type::KeyValue;
using base_type::debug;
......
......@@ -10,7 +10,6 @@
\*****************************************************************************/
// include files
#include "InCaloFutureAcceptanceAlg.h"
#include "DetDesc/IDetectorElement.h"
#include "Relations/Relation1D.h"
#include <type_traits>
......@@ -28,7 +27,8 @@ namespace LHCb::Calo {
// ============================================================================
InAcceptanceAlg::InAcceptanceAlg( const std::string& name, ISvcLocator* pSvc )
: Transformer( name, pSvc, KeyValue{"Inputs", ""}, KeyValue{"Output", ""} ) {
: Transformer( name, pSvc, {KeyValue{"Inputs", ""}, KeyValue{"StandardGeometryTop", "/dd/Structure/LHCb"}},
KeyValue{"Output", ""} ) {
updateHandleLocation( *this, "Inputs", CaloFutureAlgUtils::TrackLocations().front() );
}
......@@ -36,14 +36,10 @@ namespace LHCb::Calo {
// algorithm execution
// ============================================================================
Table InAcceptanceAlg::operator()( const Track::Range& tracks ) const {
// a trivial check
Assert( m_tool, "InAcceptance-tool is invalid!" );
Table InAcceptanceAlg::operator()( const Track::Range& tracks, const DetectorElement& lhcb ) const {
// Get the defaulf geometry FIXME, use functional algo
auto lhcb = getDet<IDetectorElement>( m_standardGeometry_address );
if ( !lhcb ) { throw GaudiException( "Could not load geometry", name(), StatusCode::FAILURE ); }
auto& geometry = *lhcb->geometry();
// Get the defaulf geometry
auto& geometry = *lhcb.geometry();
if ( tracks.empty() ) {
if ( msgLevel( MSG::DEBUG ) ) debug() << "No tracks retrieved from container" << endmsg;
......
......@@ -9,12 +9,13 @@
* or submit itself to any jurisdiction. *
\*****************************************************************************/
#pragma once
#include "CaloFutureUtils/CaloFuture2Track.h"
#include "CaloFutureUtils/CaloFutureAlgUtils.h"
#include "DetDesc/DetectorElement.h"
#include "DetDesc/GenericConditionAccessorHolder.h"
#include "Event/Track.h"
#include "Gaudi/Accumulators.h"
#include "GaudiAlg/Transformer.h"
#include "LHCbAlgs/Transformer.h"
#include "Relations/Relation1D.h"
#include "ToString.h"
#include "TrackInterfaces/IInAcceptance.h"
......@@ -30,7 +31,8 @@ namespace LHCb::Calo {
using Table = LHCb::Relation1D<LHCb::Track, bool>;
class InAcceptanceAlg : public Gaudi::Functional::Transformer<Table( const LHCb::Track::Range& )> {
class InAcceptanceAlg : public Algorithm::Transformer<Table( const LHCb::Track::Range&, const DetectorElement& ),
DetDesc::usesConditions<DetectorElement>> {
// check the proper convertability
static_assert( std::is_base_of_v<LHCb::CaloFuture2Track::ITrAccTable, Table>,
"Table must inherit from ITrAccTable" );
......@@ -39,18 +41,16 @@ namespace LHCb::Calo {
/// Standard constructor
InAcceptanceAlg( const std::string& name, ISvcLocator* pSvc );
/// algorithm execution
Table operator()( const LHCb::Track::Range& ) const override;
Table operator()( const LHCb::Track::Range&, const DetectorElement& ) const override;
protected:
const ToolHandle<IInAcceptance> m_tool{this, "Tool", "<NOT DEFINED>"};
Gaudi::Property<std::string> m_standardGeometry_address{this, "StandardGeometryTop", "/dd/Structure/LHCb"};
// counter
mutable Gaudi::Accumulators::StatCounter<> m_nTracks{this, "#total tracks"};
mutable Gaudi::Accumulators::StatCounter<> m_nAccept{this, "#tracks in acceptance"};
mutable Gaudi::Accumulators::StatCounter<> m_nLinks{this, "#links in table"};
protected:
Gaudi::Property<std::vector<int>> m_type{this, "AcceptedType", {}, "Accepted tracks types"};
};
} // namespace LHCb::Calo
......@@ -11,14 +11,13 @@
#include "CaloDet/DeCalorimeter.h"
#include "CaloFutureInterfaces/CaloFutureMatch2D.h"
#include "CaloFutureUtils/CaloFutureAlgUtils.h"
#include "DetDesc/ConditionAccessorHolder.h"
#include "Event/CaloClusters_v2.h"
#include "Event/CaloDigits_v2.h"
#include "Event/CaloHypos_v2.h"
#include "Event/StateParameters.h"
#include "Event/Track.h"
#include "Gaudi/Accumulators.h"
#include "GaudiAlg/Transformer.h"
#include "LHCbAlgs/Transformer.h"
#include "LHCbMath/GeomFun.h"
#include "LHCbMath/Line.h"
#include "Relations/Relation1D.h"
......@@ -134,7 +133,7 @@ namespace LHCb::Calo {
} // namespace
class SelectiveBremMatchAlg : public Gaudi::Functional::MultiTransformer<
class SelectiveBremMatchAlg : public Algorithm::MultiTransformer<
std::tuple<MatchTable, DeltaXTable, EnergyTable>(
DeCalorimeter const&, CaloObjects const&, Digits const&, Track::Range const&,
Filter const&, cellSizeCovariances const&, DetectorElement const& ),
......
......@@ -8,22 +8,25 @@
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\*****************************************************************************/
#include "CaloDet/DeCalorimeter.h"
#include "CaloFutureUtils/CaloFutureAlgUtils.h"
#include "DetDesc/ConditionAccessorHolder.h"
#include "Event/CaloClusters_v2.h"
#include "Event/CaloHypos_v2.h"
#include "Event/Track.h"
#include "Gaudi/Accumulators.h"
#include "GaudiAlg/GaudiTool.h"
#include "GaudiAlg/Transformer.h"
#include "GaudiKernel/GaudiException.h"
#include "Kernel/ILHCbMagnetSvc.h"
#include "LHCbAlgs/Transformer.h"
#include "Relations/Relation1D.h"
#include "Relations/RelationWeighted2D.h"
#include "SelectiveMatchUtils.h"
#ifdef USE_DD4HEP
# include <DD4hep/Grammar.h>
# include <DD4hep/GrammarUnparsed.h>
#endif
/** @class SelectiveElectronMatchAlg SelectiveElectronMatchAlg.h
*
* Matches tracks with local electron hypos in and around calo cell
......@@ -72,6 +75,7 @@ namespace LHCb::Calo {
std::array<double, 4> alphaNInn;
public:
electronXcorrections() = default; // needed by DD4hep even if unused !
electronXcorrections( Condition const& c )
: alphaPOut{toarray<double, 4>( c.paramAsDoubleVect( "alphaPOut" ) )}
, alphaNOut{toarray<double, 4>( c.paramAsDoubleVect( "alphaNOut" ) )}
......@@ -127,10 +131,10 @@ namespace LHCb::Calo {
// main class
class SelectiveElectronMatchAlg
: public Gaudi::Functional::Transformer<
TrackMatchTable( DeCalorimeter const&, CaloObjects const&, Track::Range const&, TrackMatchTable const&,
electronXcorrections const&, DetectorElement const& ),
DetDesc::usesConditions<DeCalorimeter, electronXcorrections, DetectorElement>> {
: public Algorithm::Transformer<TrackMatchTable( DeCalorimeter const&, CaloObjects const&, Track::Range const&,
TrackMatchTable const&, electronXcorrections const&,
DetectorElement const& ),
DetDesc::usesConditions<DeCalorimeter, electronXcorrections, DetectorElement>> {
public:
// standard constructor
SelectiveElectronMatchAlg( const std::string& name, ISvcLocator* pSvc );
......
......@@ -23,6 +23,11 @@
#include "TrackKernel/TrackFunctors.h"
#include <array>
#ifdef USE_DD4HEP
# include <DD4hep/Grammar.h>
# include <DD4hep/GrammarUnparsed.h>
#endif
/** @file
*
* Implementation file for helper functions and classes for
......@@ -44,6 +49,7 @@ namespace LHCb::Calo {
std::array<Match2D::Matrix, 3> m_covariances;
public:
cellSizeCovariances() = default; // needed by DD4hep even if unused !
// constructor
cellSizeCovariances( DeCalorimeter const& calo ) {
// get cell sizes
......
......@@ -8,15 +8,13 @@
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\*****************************************************************************/
#include "CaloDet/DeCalorimeter.h"
#include "CaloFutureInterfaces/CaloFutureMatch2D.h"
#include "CaloFutureUtils/CaloFutureAlgUtils.h"
#include "DetDesc/ConditionAccessorHolder.h"
#include "Event/CaloClusters_v2.h"
#include "Event/Track.h"
#include "Gaudi/Accumulators.h"
#include "GaudiAlg/Transformer.h"
#include "LHCbAlgs/Transformer.h"
#include "LHCbMath/GeomFun.h"
#include "LHCbMath/Line.h"
#include "Relations/Relation1D.h"
......@@ -53,10 +51,10 @@ namespace LHCb::Calo {
// main class
class SelectiveTrackMatchAlg
: public Gaudi::Functional::Transformer<
TrackMatchTable( DeCalorimeter const&, CaloObjects const&, Track::Range const&, Filter const&,
cellSizeCovariances const&, DetectorElement const& ),
DetDesc::usesConditions<DeCalorimeter, cellSizeCovariances, DetectorElement>> {
: public Algorithm::Transformer<TrackMatchTable( DeCalorimeter const&, CaloObjects const&, Track::Range const&,
Filter const&, cellSizeCovariances const&,
DetectorElement const& ),
DetDesc::usesConditions<DeCalorimeter, cellSizeCovariances, DetectorElement>> {
public:
// standard constructor
SelectiveTrackMatchAlg( const std::string& name, ISvcLocator* pSvc );
......
......@@ -48,6 +48,7 @@ gaudi_add_module(CaloFutureReco
LHCb::CaloKernel
LHCb::DetDescLib
LHCb::DigiEvent
LHCb::LHCbAlgsLib
LHCb::LHCbKernel
LHCb::LHCbMathLib
LHCb::LinkerEvent
......
......@@ -11,8 +11,8 @@
#include "CaloFutureUtils/CaloFutureAlgUtils.h"
#include "FutureSubClusterSelectorTool.h"
#include "Gaudi/Accumulators.h"
#include "GaudiAlg/Transformer.h"
#include "ICaloFutureClusterTool.h"
#include "LHCbAlgs/Transformer.h"
/** @class CaloFutureClusterCovarianceAlg CaloFutureClusterCovarianceAlg.h
*
......@@ -28,8 +28,7 @@
*/
namespace LHCb::Calo::Algorithms {
class ClusterCovariance
: public Gaudi::Functional::Transformer<Event::Calo::Clusters( const Event::Calo::Clusters& )> {
class ClusterCovariance : public Algorithm::Transformer<Event::Calo::Clusters( const Event::Calo::Clusters& )> {
public:
/** Standard constructor
......
......@@ -8,24 +8,20 @@
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
\*****************************************************************************/
// ============================================================================
// Include files
// ============================================================================
#include "CaloDet/DeCalorimeter.h"
#include "CaloFutureUtils/CaloFutureAlgUtils.h"
#include "CaloFutureUtils/CaloMomentum.h"
#include "DetDesc/ConditionAccessorHolder.h"
#include "Event/CaloClusters_v2.h"
#include "Event/CaloDataFunctor.h"
#include "Event/CaloHypos_v2.h"
#include "Event/CellID.h"
#include "FutureSubClusterSelectorTool.h"
#include "GaudiAlg/Transformer.h"
#include "GaudiKernel/SystemOfUnits.h"
#include "ICaloFutureClusterTool.h"
#include "ICaloFutureHypoTool.h"
#include "ICaloFutureShowerOverlapTool.h"
#include "Kernel/CaloCellID.h"
#include "LHCbAlgs/Transformer.h"
#include <algorithm>
#include <cmath>
#include <numeric>
......@@ -64,9 +60,9 @@ namespace LHCb::Calo::Algorithm {
using namespace LHCb::Event::Calo;
class MergedPi0
: public Gaudi::Functional::MultiTransformer<std::tuple<Hypotheses, Clusters>(
const Clusters&, const DeCalorimeter&, DetectorElement const& ),
LHCb::DetDesc::usesConditions<DeCalorimeter, DetectorElement>> {
: public LHCb::Algorithm::MultiTransformer<std::tuple<Hypotheses, Clusters>(
const Clusters&, const DeCalorimeter&, DetectorElement const& ),
LHCb::DetDesc::usesConditions<DeCalorimeter, DetectorElement>> {
public:
MergedPi0( const std::string& name, ISvcLocator* svcloc );
......
......@@ -10,13 +10,12 @@
\*****************************************************************************/
#include "CaloDet/DeCalorimeter.h"
#include "CaloFutureUtils/CaloFutureAlgUtils.h"
#include "DetDesc/ConditionAccessorHolder.h"
#include "Event/CaloClusters_v2.h"
#include "Event/CaloDataFunctor.h"
#include "Event/CellID.h"
#include "FutureSubClusterSelectorTool.h"
#include "GaudiAlg/Transformer.h"
#include "ICaloFutureShowerOverlapTool.h"
#include "LHCbAlgs/Transformer.h"
#include <vector>
/** @class CaloFutureShowerOverlap CaloFutureShowerOverlap.h
......@@ -42,9 +41,9 @@ namespace {
namespace LHCb::Calo {
class ShowerOverlap final
: public Gaudi::Functional::Transformer<Event::Calo::Clusters( Event::Calo::Clusters const&, DeCalorimeter const&,
DetectorElement const& ),
DetDesc::usesConditions<DeCalorimeter, DetectorElement>> {
: public Algorithm::Transformer<Event::Calo::Clusters( Event::Calo::Clusters const&, DeCalorimeter const&,
DetectorElement const& ),
DetDesc::usesConditions<DeCalorimeter, DetectorElement>> {
public:
/// Standard constructor
......
......@@ -24,11 +24,10 @@
#include "CaloFutureUtils/CaloFutureAlgUtils.h"
#include "CaloFutureUtils/CaloFutureDataFunctor.h"
#include "CaloFutureUtils/CaloMomentum.h"
#include "DetDesc/ConditionAccessorHolder.h"
#include "Event/CaloHypos_v2.h"
#include "Gaudi/Accumulators.h"
#include "GaudiAlg/Transformer.h"
#include "ICaloFutureHypoTool.h"
#include "LHCbAlgs/Transformer.h"
#include "Relations/RelationWeighted2D.h"
#include <string>
......@@ -106,10 +105,10 @@ namespace LHCb::Calo::Algorithm {
} // namespace
class ClassifyPhotonElectron
: public Gaudi::Functional::MultiTransformer<std::tuple<Hypotheses, Hypotheses>(
DeCalorimeter const&, Clusters const&, TrackMatchTable const&,
DetectorElement const& ),
DetDesc::usesConditions<DeCalorimeter, DetectorElement>> {
: public LHCb::Algorithm::MultiTransformer<std::tuple<Hypotheses, Hypotheses>(
DeCalorimeter const&, Clusters const&, TrackMatchTable const&,
DetectorElement const& ),
DetDesc::usesConditions<DeCalorimeter, DetectorElement>> {
public:
ClassifyPhotonElectron( const std::string& name, ISvcLocator* pSvc );
......
......@@ -14,7 +14,7 @@
#include "Event/CaloHypo.h"
#include "Event/CaloHypos_v2.h"
#include "Event/MCParticle.h"
#include "GaudiAlg/Transformer.h"
#include "LHCbAlgs/Transformer.h"
#include "Linker/LinkerWithKey.h"
#include "Relations/Relation2D.h"
#include "Relations/RelationWeighted1D.h"
......@@ -126,7 +126,7 @@ namespace LHCb::Converters::Calo {
template <Policy policy, typename KeyedContainer, typename Id = LHCb::Calo::Functor::CellID_t>
auto makeIndex( KeyedContainer const& container, Id id = {} ) {
auto index = std::array<typename KeyedContainer::contained_type const*, LHCb::Calo::Index::max()>{};
auto index = std::vector<typename KeyedContainer::contained_type const*>( LHCb::Calo::Index::max() );
for ( const auto* c : container ) {
if ( !c ) continue;
auto cellid = id( *c );
......@@ -318,13 +318,11 @@ namespace LHCb::Converters::Calo {
return ret;
}
using BaseClass_t = Gaudi::Functional::Traits::BaseClass_t<FixTESPath<Gaudi::Algorithm>>;
} // namespace
namespace Cluster::v1 {
using Result = std::tuple<LHCb::CaloCluster::Container, LHCb::CaloDigits>;
struct fromV2 : Gaudi::Functional::MultiTransformer<Result( const LHCb::Event::Calo::Clusters& ), BaseClass_t> {
struct fromV2 : Algorithm::MultiTransformer<Result( const LHCb::Event::Calo::Clusters& )> {
fromV2( const std::string& name, ISvcLocator* pSvcLocator )
: MultiTransformer{name,
pSvcLocator,
......@@ -348,9 +346,8 @@ namespace LHCb::Converters::Calo {
using Table = LHCb::Relation2D<LHCb::CaloHypo, LHCb::CaloCellID>;
using Result = std::tuple<LHCb::CaloHypo::Container, Table>;
struct fromV2
: Gaudi::Functional::MultiTransformer<
Result( const LHCb::Event::Calo::Hypotheses&, const LHCb::CaloCluster::Container& ), BaseClass_t> {
struct fromV2 : Algorithm::MultiTransformer<Result( const LHCb::Event::Calo::Hypotheses&,
const LHCb::CaloCluster::Container& )> {
fromV2( const std::string& name, ISvcLocator* pSvcLocator )
: MultiTransformer{name,
pSvcLocator,
......@@ -377,10 +374,9 @@ namespace LHCb::Converters::Calo {
namespace MergedPi0 {
using Result = std::tuple<LHCb::CaloHypo::Container, LHCb::CaloHypo::Container, Table>;
struct fromV2 : Gaudi::Functional::MultiTransformer<Result( const LHCb::Event::Calo::Hypotheses&,
const LHCb::CaloCluster::Container&,
const LHCb::CaloCluster::Container& ),
BaseClass_t> {
struct fromV2 : Algorithm::MultiTransformer<Result( const LHCb::Event::Calo::Hypotheses&,
const LHCb::CaloCluster::Container&,
const LHCb::CaloCluster::Container& )> {
fromV2( const std::string& name, ISvcLocator* pSvcLocator )
: MultiTransformer{
name,
......@@ -425,9 +421,7 @@ namespace LHCb::Converters::Calo {
using OutputTable = LHCb::RelationWeighted2D<LHCb::CaloCluster, LHCb::Track, float>;
using InputTable = LHCb::RelationWeighted2D<LHCb::CaloCellID, LHCb::Track, float>;
struct fromV2
: Gaudi::Functional::Transformer<OutputTable( InputTable const&, LHCb::CaloCluster::Container const& ),
BaseClass_t> {
struct fromV2 : Algorithm::Transformer<OutputTable( InputTable const&, LHCb::CaloCluster::Container const& )> {
fromV2( const std::string& name, ISvcLocator* pSvcLocator )
: Transformer{name,
pSvcLocator,
......@@ -459,8 +453,7 @@ namespace LHCb::Converters::Calo {
using OutputTable = LHCb::RelationWeighted2D<LHCb::CaloHypo, LHCb::Track, float>;
using InputTable = LHCb::RelationWeighted2D<LHCb::CaloCellID, LHCb::Track, float>;
struct fromV2 : Gaudi::Functional::Transformer<OutputTable( InputTable const&, LHCb::CaloHypo::Container const& ),
BaseClass_t> {
struct fromV2 : Algorithm::Transformer<OutputTable( InputTable const&, LHCb::CaloHypo::Container const& )> {
fromV2( const std::string& name, ISvcLocator* pSvcLocator )
: Transformer{name,
pSvcLocator,
......@@ -490,10 +483,8 @@ namespace LHCb::Converters::Calo {
using Old2NewHypo = Hypo::v1::Table;
using InputTable = LHCb::RelationWeighted1D<LHCb::CaloCellID, LHCb::MCParticle, float>;
struct fromV2 : Gaudi::Functional::MultiTransformer<std::tuple<OutputTable, OutputLinks>(
LHCb::CaloHypo::Container const&, Old2NewHypo const&,
InputTable const& ),
BaseClass_t> {
struct fromV2 : Algorithm::MultiTransformer<std::tuple<OutputTable, OutputLinks>(
LHCb::CaloHypo::Container const&, Old2NewHypo const&, InputTable const& )> {
fromV2( const std::string& name, ISvcLocator* pSvcLocator )
: MultiTransformer{name,
pSvcLocator,
......