ATLAS Offline Software
Namespaces | Classes | Typedefs | Enumerations | Functions
FlavorTagDiscriminants Namespace Reference

This file contains "getter" functions used for accessing tagger inputs from the EDM. More...

Namespaces

 dataprep
 
 defaults
 
 detail
 
 getter_utils
 
 hbb_key
 
 internal
 
 str
 
 TruthDecoratorHelpers
 

Classes

class  BacklinkAlg
 
class  BTagAugmenterTool
 
class  BTagConditionalDecoratorAlg
 
class  BTagDecoratorAlg
 
class  BTaggingBuilderAlg
 
class  BTagMuonAugmenter
 
class  BTagMuonAugmenterTool
 
class  BTagTrackLinkCopyAlg
 
class  CAccDec
 
struct  ConstituentsInputConfig
 
class  CountIParticleAlg
 
class  CountTrackParticleAlg
 
class  DecoratorAlg
 
class  DL2
 
class  DL2HighLevel
 
struct  DL2Properties
 
class  DL2Tool
 
class  ElectronsLoader
 
class  FlowElementsLoader
 
class  FoldDecoratorAlg
 
struct  FTagDataDependencyNames
 
class  FTagGhostElectronAssociationAlg
 an algorithm for adding ghost electrons to jets More...
 
struct  FTagInputConfig
 
struct  FTagOptions
 
class  GNN
 
class  GNNAuxTaskDecoratorAlg
 
struct  GNNOptions
 
class  GNNTool
 
struct  GNNToolProperties
 
struct  HbbGraphConfig
 
class  HbbTag
 
struct  HbbTagConfig
 
struct  HbbTagProperties
 
class  HbbTagTool
 
class  HitDecoratorAlg
 
class  HitsLoader
 
class  IConstituentsLoader
 
class  INNSharingSvc
 
struct  InputVariableConfig
 
class  JetHitAssociationAlg
 
class  JetTagConditionalDecoratorAlg
 
class  JetTagDecoratorAlg
 
class  LinkCounterAlg
 
class  MultifoldGNN
 
class  MultifoldGNNTool
 
class  NNSharingSvc
 
class  PoorMansIpAugmenterAlg
 
class  SaltModelOutput
 
class  SoftElectronDecoratorAlg
 
class  SoftElectronTruthDecoratorAlg
 
class  TrackClassifier
 
class  TrackLeptonDecoratorAlg
 
class  TracksLoader
 
class  TrackTruthDecoratorAlg
 
class  TruthParticleDecoratorAlg
 
class  VRJetOverlapDecoratorTool
 

Typedefs

typedef SG::AuxElement AE
 
using Inputs = std::pair< std::vector< float >, std::vector< int64_t > >
 
using Tracks = std::vector< const xAOD::TrackParticle * >
 

Enumerations

enum  TrackLinkType { TrackLinkType::TRACK_PARTICLE, TrackLinkType::IPARTICLE }
 
enum  ConstituentsEDMType {
  ConstituentsEDMType::CHAR, ConstituentsEDMType::UCHAR, ConstituentsEDMType::INT, ConstituentsEDMType::FLOAT,
  ConstituentsEDMType::DOUBLE, ConstituentsEDMType::CUSTOM_GETTER
}
 
enum  ConstituentsSortOrder { ConstituentsSortOrder::ABS_D0_SIGNIFICANCE_DESCENDING, ConstituentsSortOrder::D0_SIGNIFICANCE_DESCENDING, ConstituentsSortOrder::PT_DESCENDING, ConstituentsSortOrder::ABS_D0_DESCENDING }
 
enum  ConstituentsSelection {
  ConstituentsSelection::ALL, ConstituentsSelection::IP3D_2018, ConstituentsSelection::DIPS_TIGHT_UPGRADE, ConstituentsSelection::DIPS_LOOSE_UPGRADE,
  ConstituentsSelection::DIPS_LOOSE_202102, ConstituentsSelection::LOOSE_202102_NOIP, ConstituentsSelection::R22_DEFAULT, ConstituentsSelection::R22_LOOSE
}
 
enum  ConstituentsType { ConstituentsType::FLOW_ELEMENT, ConstituentsType::TRACK, ConstituentsType::HIT, ConstituentsType::ELECTRON }
 
enum  EDMType {
  EDMType::CHAR, EDMType::UCHAR, EDMType::INT, EDMType::FLOAT,
  EDMType::DOUBLE, EDMType::CUSTOM_GETTER
}
 
enum  FlipTagConfig { FlipTagConfig::STANDARD, FlipTagConfig::NEGATIVE_IP_ONLY, FlipTagConfig::FLIP_SIGN, FlipTagConfig::SIMPLE_FLIP }
 
enum  SaltModelVersion { SaltModelVersion::UNKNOWN, SaltModelVersion::V0, SaltModelVersion::V1, SaltModelVersion::V2 }
 

Functions

TrackLinkType trackLinkTypeFromString (const std::string &)
 
ConstituentsInputConfig createConstituentsLoaderConfig (const std::string &name, const std::vector< std::string > &input_variables, FlipTagConfig flip_config)
 
ConstituentsInputConfig createElectronsLoaderConfig (std::pair< std::string, std::vector< std::string >> iparticle_names)
 
FlipTagConfig flipTagConfigFromString (const std::string &)
 
void propify (asg::AsgTool &tool, GNNToolProperties *props)
 
GNNOptions getOptions (const GNNToolProperties &)
 
HbbGraphConfig getHbbGraphConfig (const lwt::GraphConfig &cfg)
 
ConstituentsInputConfig createHitsLoaderConfig (std::pair< std::string, std::vector< std::string >> hits_names)
 
 NLOHMANN_JSON_SERIALIZE_ENUM (SaltModelVersion, { { SaltModelVersion::UNKNOWN, "" }, { SaltModelVersion::V0, "v0" }, { SaltModelVersion::V1, "v1" }, { SaltModelVersion::V2, "v2" }, }) class SaltModel final
 
ConstituentsInputConfig createTracksLoaderConfig (std::pair< std::string, std::vector< std::string >> trk_names, FlipTagConfig flip_config)
 
Tracks negativeIpOnly (BTagTrackIpAccessor &aug, const Tracks &tracks, const xAOD::Jet &j)
 
template<typename T >
std::size_t getHash (const T &obj)
 
size_t combine (size_t lhs, size_t rhs)
 

Detailed Description

This file contains "getter" functions used for accessing tagger inputs from the EDM.

In the most basic case, inputs can be directly retrieved from the EDM using accessors. In other cases, inputs require custom code called "custom getters" to produce the desired values.

Inputs to tagging algorithms are configured when the algorithm is initialised which means that the list of track and jet features that are used as inputs is not known at compile time. Instead we build an array of "getter" functions, each of which returns one feature for the tagger.

NOTE: This file is for experts only, don't expect support.

Typedef Documentation

◆ AE

Definition at line 36 of file BTagMuonAugmenter.h.

◆ Inputs

using FlavorTagDiscriminants::Inputs = typedef std::pair<std::vector<float>, std::vector<int64_t> >

◆ Tracks

Enumeration Type Documentation

◆ ConstituentsEDMType

Enumerator
CHAR 
UCHAR 
INT 
FLOAT 
DOUBLE 
CUSTOM_GETTER 

Definition at line 31 of file PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/ConstituentsLoader.h.

◆ ConstituentsSelection

Enumerator
ALL 
IP3D_2018 
DIPS_TIGHT_UPGRADE 
DIPS_LOOSE_UPGRADE 
DIPS_LOOSE_202102 
LOOSE_202102_NOIP 
R22_DEFAULT 
R22_LOOSE 

Definition at line 38 of file PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/ConstituentsLoader.h.

38  {
39  ALL,
40  IP3D_2018,
46  R22_LOOSE
47  };

◆ ConstituentsSortOrder

Enumerator
ABS_D0_SIGNIFICANCE_DESCENDING 
D0_SIGNIFICANCE_DESCENDING 
PT_DESCENDING 
ABS_D0_DESCENDING 

Definition at line 32 of file PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/ConstituentsLoader.h.

◆ ConstituentsType

Enumerator
FLOW_ELEMENT 
TRACK 
HIT 
ELECTRON 

Definition at line 48 of file PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/ConstituentsLoader.h.

48  {
50  TRACK,
51  HIT,
52  ELECTRON
53  };

◆ EDMType

Enumerator
CHAR 
UCHAR 
INT 
FLOAT 
DOUBLE 
CUSTOM_GETTER 

Definition at line 33 of file PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/DataPrepUtilities.h.

◆ FlipTagConfig

Enumerator
STANDARD 
NEGATIVE_IP_ONLY 
FLIP_SIGN 
SIMPLE_FLIP 

Definition at line 14 of file FlipTagEnums.h.

14  {
15  STANDARD, // use all tracks
16  NEGATIVE_IP_ONLY, // use only negative IP, flip sign
17  FLIP_SIGN, // just flip the sign of IP3D_signed_d0_significance, IP3D_signed_z0_significance, use all tracks
18  SIMPLE_FLIP, // flip the sign of d0, z0SinTheta, IP3D_signed_d0_significance, IP3D_signed_z0_significance, use all tracks
19  };

◆ SaltModelVersion

Enumerator
UNKNOWN 
V0 
V1 
V2 

Definition at line 30 of file FlavorTagDiscriminants/FlavorTagDiscriminants/SaltModel.h.

30 {UNKNOWN, V0, V1, V2};

◆ TrackLinkType

Enumerator
TRACK_PARTICLE 
IPARTICLE 

Definition at line 12 of file AssociationEnums.h.

12  {
14  IPARTICLE
15  };

Function Documentation

◆ combine()

size_t FlavorTagDiscriminants::combine ( size_t  lhs,
size_t  rhs 
)
inline

Definition at line 21 of file hash.h.

21  {
22  lhs ^= rhs + 0x517cc1b727220a95 + (lhs << 6) + (lhs >> 2);
23  return lhs;
24  }

◆ createConstituentsLoaderConfig()

ConstituentsInputConfig FlavorTagDiscriminants::createConstituentsLoaderConfig ( const std::string &  name,
const std::vector< std::string > &  input_variables,
FlipTagConfig  flip_config 
)

Definition at line 123 of file PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/ConstituentsLoader.cxx.

127  {
129  TypeRegexes electron_type_regexes {
130  // default electron variables
131  {"(deltaEta1|deltaPhiRescaled2|"
132  "ftag_energyOverP|Rhad|Rhad1|"
133  "Eratio|weta2|Rphi|Reta|wtots1|f1|f3|pt|eta|phi)"_r, ConstituentsEDMType::FLOAT},
134  // custom variables
135  {"(ftag_.*|ptfrac|ptrel|dr)"_r, ConstituentsEDMType::CUSTOM_GETTER},
136  // variables extracted from the corresponding track
137  {"(numberOf.*|d0.*|abs_eta|qOverP|eProbabilityHT)"_r, ConstituentsEDMType::CUSTOM_GETTER}
138  };
139  TypeRegexes hits_type_regexes {
140  // hits variables
141  // ConstituentsEDMType picked correspond to the first matching regex
142  {"(j|a|b)"_r, ConstituentsEDMType::CUSTOM_GETTER}
143  };
144  TypeRegexes flow_type_regexes {
145  // FlowElement variables
146  // ConstituentsEDMType picked correspond to the first matching regex
147  {"(pt|deta|dphi|dr|energy|isCharged)"_r, ConstituentsEDMType::CUSTOM_GETTER}
148  };
149  TypeRegexes trk_type_regexes {
150  // Some innermost / next-to-innermost hit variables had a different
151  // definition in 21p9, recomputed here with customGetter to reuse
152  // existing training
153  // ConstituentsEDMType picked correspond to the first matching regex
154  {"numberOf.*21p9"_r, ConstituentsEDMType::CUSTOM_GETTER},
155  {"numberOf.*"_r, ConstituentsEDMType::UCHAR},
156  {"btagIp_(d0|z0SinTheta)Uncertainty"_r, ConstituentsEDMType::FLOAT},
157  {"(numberDoF|chiSquared|qOverP|theta)"_r, ConstituentsEDMType::FLOAT},
158  {"(^.*[_])?(d|z)0.*"_r, ConstituentsEDMType::CUSTOM_GETTER},
159  {"(log_)?(ptfrac|dr|pt).*"_r, ConstituentsEDMType::CUSTOM_GETTER},
160  {"(deta|dphi)"_r, ConstituentsEDMType::CUSTOM_GETTER},
161  {"phi|theta|qOverP"_r, ConstituentsEDMType::FLOAT},
162  {"(phi|theta|qOverP)Uncertainty"_r, ConstituentsEDMType::CUSTOM_GETTER},
163  {"(leptonID|muon_quality)"_r, ConstituentsEDMType::CHAR},
164  {"(pT_wrtJet|pZ_wrtJet|EFrac_wrtJet).*"_r, ConstituentsEDMType::CUSTOM_GETTER},
165  {"muon_(qOverPratio|momentumBalanceSignificance|scatteringNeighbourSignificance)"_r, ConstituentsEDMType::FLOAT},
166  {"lifetimeSigned.*"_r, ConstituentsEDMType::CUSTOM_GETTER}
167  };
168  // We have a number of special naming conventions to sort and
169  // filter tracks. The track nodes should be named according to
170  //
171  // tracks_<selection>_<sort-order>
172  //
173  SortRegexes trk_sort_regexes {
174  {".*absSd0sort"_r, ConstituentsSortOrder::ABS_D0_SIGNIFICANCE_DESCENDING},
175  {".*sd0sort"_r, ConstituentsSortOrder::D0_SIGNIFICANCE_DESCENDING},
176  {".*ptsort"_r, ConstituentsSortOrder::PT_DESCENDING},
177  {".*absD0DescendingSort"_r, ConstituentsSortOrder::ABS_D0_DESCENDING},
178  };
179  SelRegexes trk_select_regexes {
180  {".*_ip3d_.*"_r, ConstituentsSelection::IP3D_2018},
181  {".*_dipsTightUpgrade_.*"_r, ConstituentsSelection::DIPS_TIGHT_UPGRADE},
182  {".*_dipsLooseUpgrade_.*"_r, ConstituentsSelection::DIPS_LOOSE_UPGRADE},
183  {".*_all_.*"_r, ConstituentsSelection::ALL},
184  {".*_dipsLoose202102_.*"_r, ConstituentsSelection::DIPS_LOOSE_202102},
185  {".*_loose202102NoIpCuts_.*"_r, ConstituentsSelection::LOOSE_202102_NOIP},
186  {".*_r22default_.*"_r, ConstituentsSelection::R22_DEFAULT},
187  {".*_r22loose_.*"_r, ConstituentsSelection::R22_LOOSE},
188  };
189 
190  // For now we have only one selection for electrons
191  SelRegexes electron_select_regexes {
192  {".*_r22default.*"_r, ConstituentsSelection::R22_DEFAULT}
193  };
194 
195  if (name.find("tracks") != std::string::npos){
196  std::regex flip_sequences;
197  if (flip_config == FlipTagConfig::FLIP_SIGN || flip_config == FlipTagConfig::NEGATIVE_IP_ONLY){
198  flip_sequences=std::regex(".*signed_[dz]0.*");
199  }
200  if (flip_config == FlipTagConfig::SIMPLE_FLIP){
201  flip_sequences=std::regex("(.*signed_[dz]0.*)|d0|z0SinTheta");
202  }
203  config = get_track_input_config(
204  name, input_variables,
205  trk_type_regexes, trk_sort_regexes, trk_select_regexes,
206  flip_sequences, flip_config);
208  config.output_name = "tracks";
209  }
210  else if (name.find("flows") != std::string::npos){
211  config = get_flow_input_config(
212  name, input_variables,
213  flow_type_regexes);
214  config.type = ConstituentsType::FLOW_ELEMENT;
215  config.output_name = "flows";
216  }
217  else if (name.find("hits") != std::string::npos){
219  name, input_variables,
220  hits_type_regexes);
221  config.type = ConstituentsType::HIT;
222  config.output_name = "hits";
223  }
224  else if (name.find("electrons") != std::string::npos){
226  name, input_variables,
227  electron_type_regexes,
228  electron_select_regexes);
229  config.type = ConstituentsType::ELECTRON;
230  config.output_name = "electrons";
231  }
232  else{
233  throw std::runtime_error(
234  "Unknown constituent type: " + name + ". Only tracks, flows, hits and electrons are supported."
235  );
236  }
237  return config;
238  }

◆ createElectronsLoaderConfig()

ConstituentsInputConfig FlavorTagDiscriminants::createElectronsLoaderConfig ( std::pair< std::string, std::vector< std::string >>  iparticle_names)

◆ createHitsLoaderConfig()

ConstituentsInputConfig FlavorTagDiscriminants::createHitsLoaderConfig ( std::pair< std::string, std::vector< std::string >>  hits_names)

◆ createTracksLoaderConfig()

ConstituentsInputConfig FlavorTagDiscriminants::createTracksLoaderConfig ( std::pair< std::string, std::vector< std::string >>  trk_names,
FlipTagConfig  flip_config 
)

◆ flipTagConfigFromString()

FlipTagConfig FlavorTagDiscriminants::flipTagConfigFromString ( const std::string &  name)

Definition at line 15 of file FlipTagEnums.cxx.

15  {
16  RETURN_CONFIG(STANDARD);
17  RETURN_CONFIG(NEGATIVE_IP_ONLY);
18  RETURN_CONFIG(FLIP_SIGN);
19  RETURN_CONFIG(SIMPLE_FLIP);
20  throw std::logic_error("b-tagging flip config '" + name + "' unknown");
21  }

◆ getHash()

template<typename T >
std::size_t FlavorTagDiscriminants::getHash ( const T &  obj)

Definition at line 13 of file hash.h.

13  {
14  return std::hash<T>{}(obj);
15  }

◆ getHbbGraphConfig()

HbbGraphConfig FlavorTagDiscriminants::getHbbGraphConfig ( const lwt::GraphConfig &  cfg)

Definition at line 29 of file HbbGraphConfig.cxx.

29  {
30  namespace hk = FlavorTagDiscriminants::hbb_key;
31  HbbGraphConfig k;
32  k.n_subjets = 0;
33  std::regex subjet_match(hk::subjet + "[0-9]+");
34  std::string first_match;
35  for (const auto& node: graph_cfg.inputs) {
36  for (const auto& var: node.variables) {
37  const std::string& name = var.name;
38  k.defaults[node.name][name] = node.defaults.at(name);
39  }
40  if (node.name == hk::fatjet) {
41  for (const auto& var: node.variables) {
42  k.fatjet.insert(var.name);
43  }
44  } else if (std::regex_match(node.name, subjet_match)) {
45  std::set<std::string> subjet_set;
46  for (const auto& var: node.variables) {
47  subjet_set.insert(var.name);
48  }
49  if (k.n_subjets == 0) {
50  k.subjet = subjet_set;
51  first_match = node.name;
52  } else if (k.subjet != subjet_set) {
53  std::string error = "mismatch in subjet keys: we expect the same"
54  " variables to be read from each subjet. ";
55  error.append("first subjet (" + first_match + ") "
56  + formatSet(k.subjet) + ", match "
57  + std::to_string(k.n_subjets)
58  + ", (" + node.name + ") " + formatSet(subjet_set));
59  throw std::runtime_error(error);
60  }
61  k.n_subjets++;
62  } else {
63  throw std::runtime_error("no way to match '" + node.name + "'");
64  }
65  }
66  return k;
67  }

◆ getOptions()

GNNOptions FlavorTagDiscriminants::getOptions ( const GNNToolProperties props)

Definition at line 24 of file GNNToolifiers.cxx.

24  {
25  GNNOptions opts;
26  if (props.flipTagConfig.size() > 0) {
27  opts.flip_config = flipTagConfigFromString(props.flipTagConfig);
28  }
29  opts.variable_remapping = props.variableRemapping;
30  if (props.trackLinkType.size() > 0) {
31  opts.track_link_type = trackLinkTypeFromString(props.trackLinkType);
32  }
33  opts.default_output_value = props.default_output_value;
34  {
35  const auto& d = props.default_output_values;
36  opts.default_output_values.insert(d.begin(), d.end());
37  }
38  opts.default_zero_tracks = props.default_zero_tracks;
39  return opts;
40  }

◆ negativeIpOnly()

Tracks FlavorTagDiscriminants::negativeIpOnly ( BTagTrackIpAccessor aug,
const Tracks tracks,
const xAOD::Jet j 
)

Definition at line 218 of file PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/TracksLoader.cxx.

219  {
220  Tracks filtered;
221  // we want to reverse the order of the tracks as part of the
222  // flipping
223  for (auto ti = tracks.crbegin(); ti != tracks.crend(); ti++) {
224  const xAOD::TrackParticle* tp = *ti;
225  double sip = aug.getSignedIp(*tp, j).ip3d_signed_d0_significance;
226  if (sip < 0) filtered.push_back(tp);
227  }
228  return filtered;
229  }

◆ NLOHMANN_JSON_SERIALIZE_ENUM()

FlavorTagDiscriminants::NLOHMANN_JSON_SERIALIZE_ENUM ( SaltModelVersion  ,
{ { SaltModelVersion::UNKNOWN, "" }, { SaltModelVersion::V0, "v0" }, { SaltModelVersion::V1, "v1" }, { SaltModelVersion::V2, "v2" }, }   
)
final

Definition at line 32 of file FlavorTagDiscriminants/FlavorTagDiscriminants/SaltModel.h.

32  {
34  { SaltModelVersion::V0, "v0" },
35  { SaltModelVersion::V1, "v1" },
36  { SaltModelVersion::V2, "v2" },
37  })
38 
39  //
40  // Utility class that loads the onnx model from the given path
41  // and runs inference based on the user given inputs
42 
43  class SaltModel final{
44 
45  public:
46  using OutputConfig = std::vector<SaltModelOutput>;
47 
48  SaltModel(const std::string& path_to_onnx);
49 
50  void initialize();
51 
52  struct InferenceOutput {
53  std::map<std::string, float> singleFloat;
54  std::map<std::string, std::vector<char>> vecChar;
55  std::map<std::string, std::vector<float>> vecFloat;
56  };
57 
58  InferenceOutput runInference(std::map<std::string, Inputs>& gnn_inputs) const;
59 
60  const lwt::GraphConfig getLwtConfig() const;
61  const nlohmann::json& getMetadata() const;
62  const OutputConfig& getOutputConfig() const;
63  SaltModelVersion getSaltModelVersion() const;
64  const std::string& getModelName() const;
65 
66  private:
67  const nlohmann::json loadMetadata(const std::string& key) const;
68  const std::string determineModelName() const;
69 
70  nlohmann::json m_metadata;
71  std::string m_path_to_onnx;
72 
73  std::unique_ptr< Ort::Session > m_session;
74  std::unique_ptr< Ort::Env > m_env;
75 
76  size_t m_num_inputs;
77  size_t m_num_outputs;
78  std::string m_model_name;
79  std::vector<std::string> m_input_node_names;
80  OutputConfig m_output_nodes;
81 
82  SaltModelVersion m_onnx_model_version = SaltModelVersion::UNKNOWN;
83 
84  }; // Class SaltModel

◆ propify()

void FlavorTagDiscriminants::propify ( asg::AsgTool tool,
GNNToolProperties props 
)

Definition at line 12 of file GNNToolifiers.cxx.

12  {
13  t.declareProperty("flipTagConfig", props->flipTagConfig,
14  "flip configuration used for calibration");
15  t.declareProperty("variableRemapping", props->variableRemapping,
16  "user-defined mapping to rename the vars stored in the NN");
17  t.declareProperty("trackLinkType", props->trackLinkType,
18  "access tracks as IParticleContainer or as TrackParticleContainer");
19  t.declareProperty("defaultOutputValue", props->default_output_value);
20  t.declareProperty("defaultOutputValues", props->default_output_values);
21  t.declareProperty("defaultZeroTracks", props->default_zero_tracks);
22  }

◆ trackLinkTypeFromString()

TrackLinkType FlavorTagDiscriminants::trackLinkTypeFromString ( const std::string &  name)

Definition at line 15 of file AssociationEnums.cxx.

15  {
16  RETURN_CONFIG(TRACK_PARTICLE);
17  RETURN_CONFIG(IPARTICLE);
18  throw std::logic_error("DL2 association scheme '" + name + "' unknown");
19  }
FlavorTagDiscriminants::FlipTagConfig::SIMPLE_FLIP
@ SIMPLE_FLIP
python.StoreID.UNKNOWN
int UNKNOWN
Definition: StoreID.py:16
InDetGNNHardScatterSelection::getter_utils::Tracks
std::vector< const xAOD::TrackParticle * > Tracks
Definition: InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/InDetGNNHardScatterSelection/CustomGetterUtils.h:49
beamspotnt.var
var
Definition: bin/beamspotnt.py:1394
FlavorTagDiscriminants::ConstituentsSelection::IP3D_2018
@ IP3D_2018
FlavorTagDiscriminants::hbb_key::subjet
const std::string subjet
Definition: HbbConstants.h:18
FlavorTagDiscriminants::ConstituentsInputConfig
Definition: PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/ConstituentsLoader.h:61
json
nlohmann::json json
Definition: HistogramDef.cxx:9
H5Utils::Compression::STANDARD
@ STANDARD
hist_file_dump.d
d
Definition: hist_file_dump.py:143
initialize
void initialize()
Definition: run_EoverP.cxx:894
python.base_data.config
config
Definition: base_data.py:21
FlavorTagDiscriminants::FlipTagConfig::NEGATIVE_IP_ONLY
@ NEGATIVE_IP_ONLY
ParticleTest.tp
tp
Definition: ParticleTest.py:25
ALL
@ ALL
Definition: sTGCenumeration.h:14
InDetGNNHardScatterSelection::ConstituentsEDMType::CHAR
@ CHAR
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
FlavorTagDiscriminants::SaltModelVersion
SaltModelVersion
Definition: FlavorTagDiscriminants/FlavorTagDiscriminants/SaltModel.h:30
python.HanMetadata.getMetadata
def getMetadata(f, key)
Definition: HanMetadata.py:12
FlavorTagDiscriminants::SaltModelVersion::V0
@ V0
EMAmbiguityType::ELECTRON
@ ELECTRON
Definition: EMAmbiguityToolDefs.h:11
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
FlavorTagDiscriminants::SaltModelVersion::V1
@ V1
RETURN_CONFIG
#define RETURN_CONFIG(cfg)
Definition: FlipTagEnums.cxx:12
PrepareReferenceFile.regex
regex
Definition: PrepareReferenceFile.py:43
SaltModel
Definition: JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/SaltModel.h:14
InDetGNNHardScatterSelection::ConstituentsEDMType::UCHAR
@ UCHAR
FlavorTagDiscriminants::ConstituentsSortOrder::ABS_D0_SIGNIFICANCE_DESCENDING
@ ABS_D0_SIGNIFICANCE_DESCENDING
InDetGNNHardScatterSelection::ConstituentsEDMType::INT
@ INT
FlavorTagDiscriminants::ConstituentsSelection::DIPS_TIGHT_UPGRADE
@ DIPS_TIGHT_UPGRADE
FlavorTagDiscriminants::trackLinkTypeFromString
TrackLinkType trackLinkTypeFromString(const std::string &)
Definition: AssociationEnums.cxx:15
FlavorTagDiscriminants::FlipTagConfig::FLIP_SIGN
@ FLIP_SIGN
get_hits_input_config
ConstituentsInputConfig get_hits_input_config(const std::string &name, const std::vector< std::string > &input_variables, const TypeRegexes &type_regexes)
Definition: PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/ConstituentsLoader.cxx:80
get_electron_input_config
ConstituentsInputConfig get_electron_input_config(const std::string &name, const std::vector< std::string > &input_variables, const TypeRegexes &type_regexes, const SelRegexes &select_regexes)
Definition: PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/ConstituentsLoader.cxx:97
FlavorTagDiscriminants::flipTagConfigFromString
FlipTagConfig flipTagConfigFromString(const std::string &)
Definition: FlipTagEnums.cxx:15
FlavorTagDiscriminants::ConstituentsType::FLOW_ELEMENT
@ FLOW_ELEMENT
InDetGNNHardScatterSelection::ConstituentsEDMType::FLOAT
@ FLOAT
InDetGNNHardScatterSelection::ConstituentsEDMType::CUSTOM_GETTER
@ CUSTOM_GETTER
FlavorTagDiscriminants::ConstituentsSortOrder::ABS_D0_DESCENDING
@ ABS_D0_DESCENDING
FlavorTagDiscriminants::ConstituentsSelection::DIPS_LOOSE_UPGRADE
@ DIPS_LOOSE_UPGRADE
InDetGNNHardScatterSelection::ConstituentsEDMType::DOUBLE
@ DOUBLE
FlavorTagDiscriminants::hbb_key
Definition: HbbConstants.h:14
node::name
void name(const std::string &n)
Definition: node.h:37
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
FlavorTagDiscriminants::SaltModelVersion::V2
@ V2
FlavorTagDiscriminants::ConstituentsSelection::R22_DEFAULT
@ R22_DEFAULT
InDetGNNHardScatterSelection::ConstituentsType::IPARTICLE
@ IPARTICLE
FlavorTagDiscriminants::ConstituentsSelection::R22_LOOSE
@ R22_LOOSE
InDetGNNHardScatterSelection::ConstituentsSortOrder::PT_DESCENDING
@ PT_DESCENDING
FlavorTagDiscriminants::hbb_key::fatjet
const std::string fatjet
Definition: HbbConstants.h:19
FlavorTagDiscriminants::ConstituentsSelection::DIPS_LOOSE_202102
@ DIPS_LOOSE_202102
FlavorTagDiscriminants::ConstituentsType::HIT
@ HIT
TRACK
xAOD::TrackParticle TRACK
Definition: D3PDMaker/TileD3PDMaker/src/ITrackTools.h:86
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
athena.opts
opts
Definition: athena.py:88
RETURN_CONFIG
#define RETURN_CONFIG(cfg)
Definition: AssociationEnums.cxx:12
python.PyAthena.obj
obj
Definition: PyAthena.py:132
BTagSignedIP::ip3d_signed_d0_significance
double ip3d_signed_d0_significance
Definition: BTagTrackIpAccessor.h:23
error
Definition: IImpactPoint3dEstimator.h:70
FlavorTagDiscriminants::ConstituentsSelection::LOOSE_202102_NOIP
@ LOOSE_202102_NOIP
node
Definition: node.h:21
fitman.k
k
Definition: fitman.py:528
FlavorTagDiscriminants::ConstituentsSortOrder::D0_SIGNIFICANCE_DESCENDING
@ D0_SIGNIFICANCE_DESCENDING
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
FlavorTagDiscriminants::TrackLinkType::TRACK_PARTICLE
@ TRACK_PARTICLE
BTagTrackIpAccessor::getSignedIp
BTagSignedIP getSignedIp(const xAOD::TrackParticle &track, const xAOD::Jet &jet) const
Definition: BTagTrackIpAccessor.cxx:54