ATLAS Offline Software
NNJvtBinning.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef JETMOMENTTOOLS_NNJVTBINNING_H
5 #define JETMOMENTTOOLS_NNJVTBINNING_H
6 
13 #include <vector>
14 #include <istream>
15 #include <string>
16 
17 namespace xAOD {
18  class IParticle;
19 }
20 
21 namespace JetPileupTag {
23  struct NNJvtBinning {
24  std::vector<float> ptEdges;
25  std::vector<float> etaEdges;
26 
27  static NNJvtBinning fromJSON(std::istream &is);
28  std::string toJSON() const;
37  bool operator()(float pt, float eta, std::size_t &ptBin, std::size_t &etaBin) const;
45  bool
46  operator()(const xAOD::IParticle &particle, std::size_t &ptBin, std::size_t &etaBin) const;
47  };
48 
50  struct NNJvtCutMap {
52  std::vector<std::vector<float>> cutMap;
53 
54  static NNJvtCutMap fromJSON(std::istream &is);
55  std::string toJSON() const;
62  float operator()(float pt, float eta) const;
68  float operator()(const xAOD::IParticle &particle) const;
76  float operator()(std::size_t ptBin, std::size_t etaBin) const;
77  };
78 } // namespace JetPileupTag
79 
80 #endif //> !JETMOMENTTOOLS_NNJVTBINNING_H
JetPileupTag::NNJvtBinning::operator()
bool operator()(float pt, float eta, std::size_t &ptBin, std::size_t &etaBin) const
Get the correct bin for the provided pt/eta values.
Definition: NNJvtBinning.cxx:67
JetPileupTag::NNJvtCutMap::toJSON
std::string toJSON() const
Definition: NNJvtBinning.cxx:96
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
JetPileupTag::NNJvtCutMap
The NNJvt cut maps.
Definition: NNJvtBinning.h:50
JetPileupTag::NNJvtBinning
Helper struct to hold the bin edges for the NN Jvt cut maps.
Definition: NNJvtBinning.h:23
test_pyathena.pt
pt
Definition: test_pyathena.py:11
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
JetPileupTag::NNJvtBinning::etaEdges
std::vector< float > etaEdges
Definition: NNJvtBinning.h:25
JetPileupTag
Definition: JetVertexNNTagger.h:39
JetPileupTag::NNJvtCutMap::fromJSON
static NNJvtCutMap fromJSON(std::istream &is)
Definition: NNJvtBinning.cxx:90
JetPileupTag::NNJvtBinning::toJSON
std::string toJSON() const
Definition: NNJvtBinning.cxx:62
xAOD::etaBin
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap etaBin
Definition: L2StandAloneMuon_v1.cxx:148
JetPileupTag::NNJvtCutMap::edges
NNJvtBinning edges
Definition: NNJvtBinning.h:51
JetPileupTag::NNJvtCutMap::operator()
float operator()(float pt, float eta) const
Get the correct cut value for the provided pt/eta.
Definition: NNJvtBinning.cxx:100
JetPileupTag::NNJvtBinning::ptEdges
std::vector< float > ptEdges
Definition: NNJvtBinning.h:24
JetPileupTag::NNJvtCutMap::cutMap
std::vector< std::vector< float > > cutMap
Definition: NNJvtBinning.h:52
JetPileupTag::NNJvtBinning::fromJSON
static NNJvtBinning fromJSON(std::istream &is)
Definition: NNJvtBinning.cxx:56
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43