ATLAS Offline Software
Loading...
Searching...
No Matches
CaloClusterLoader.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
4 This is a subclass of IConstituentsLoader. It is used to load CaloCluster
5 objects from the jet via a two-hop navigation:
6 jet -> constituentLinks -> FlowElement -> otherObjects() -> CaloCluster
7 and extract their features for the NN evaluation.
8*/
9
10#ifndef CALO_CLUSTER_LOADER_H
11#define CALO_CLUSTER_LOADER_H
12
13// local includes
16
17// EDM includes
18#include "xAODJet/JetFwd.h"
21
22// STL includes
23#include <string>
24#include <vector>
25#include <functional>
26
28
29 // Subclass for CaloCluster loader inherited from abstract IConstituentsLoader class
31 public:
32 CaloClusterLoader(const ConstituentsInputConfig& cfg, const FTagOptions& options);
33 Inputs getData(const xAOD::IParticle& jet) const override;
34 const FTagDataDependencyNames& getDependencies() const override;
35 const std::set<std::string>& getUsedRemap() const override;
36 const std::string& getName() const override;
37 const ConstituentsType& getType() const override;
38 protected:
39 // typedefs
41 typedef std::pair<std::string, double> NamedVar;
42 typedef std::pair<std::string, std::vector<double> > NamedSeq;
43 // CaloCluster typedefs
44 typedef std::vector<const xAOD::CaloCluster*> CaloClusters;
45 typedef std::function<double(const xAOD::CaloCluster*,
47
48 // usings for IParticle getter
51 using PartLinks = std::vector<ElementLink<IPC>>;
52
54
56
59 bool m_skipInvalidLinks{false};
60 };
61}
62
63#endif
std::pair< std::string, double > NamedVar
std::pair< std::string, std::vector< double > > NamedSeq
CaloClusters getCaloClustersFromJet(const xAOD::IParticle &jet) const
Inputs getData(const xAOD::IParticle &jet) const override
getter_utils::SeqGetter< xAOD::CaloCluster > m_seqGetter
const std::string & getName() const override
CaloClusterSortVar caloClusterSortVar(ConstituentsSortOrder)
const FTagDataDependencyNames & getDependencies() const override
std::function< double(const xAOD::CaloCluster *, const Jet &)> CaloClusterSortVar
std::vector< const xAOD::CaloCluster * > CaloClusters
CaloClusterLoader(const ConstituentsInputConfig &cfg, const FTagOptions &options)
const ConstituentsType & getType() const override
const std::set< std::string > & getUsedRemap() const override
std::vector< ElementLink< IPC > > PartLinks
Base class for elements of a container that can have aux data.
Definition AuxElement.h:484
Class providing the definition of the 4-vector interface.
This file contains "getter" functions used for accessing tagger inputs from the EDM.
std::pair< std::vector< float >, std::vector< int64_t > > Inputs
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.