ATLAS Offline Software
Loading...
Searching...
No Matches
ChainNameParser::LegInfo Struct Reference

Struct containing information on each leg of a chain. More...

#include <ChainNameParser.h>

Collaboration diagram for ChainNameParser::LegInfo:

Public Member Functions

std::string legName () const
 The name of the leg.
xAODType::ObjectType type () const
 The type of xAOD IParticle produced by this signature if relevant.

Public Attributes

std::size_t multiplicity {}
 The multiplicity of the leg (number of objects returned by the leg)
std::string signature {}
 The HLT signature responsible for creating the object.
int threshold {-1}
 The threshold on the object.
std::vector< std::string > legParts
 All the parts of the leg.

Detailed Description

Struct containing information on each leg of a chain.

Definition at line 16 of file ChainNameParser.h.

Member Function Documentation

◆ legName()

std::string ChainNameParser::LegInfo::legName ( ) const

The name of the leg.

Definition at line 37 of file ChainNameParser.cxx.

38 {
39 std::string result;
40 if (multiplicity != 1)
41 result += std::to_string(multiplicity);
43 if (threshold != -1)
44 result += std::to_string(threshold);
45 if (legParts.size())
46 result += "_" + join(legParts, "_");
47 return result;
48 }
std::string join(const std::vector< std::string > &v, const char c=',')
std::size_t multiplicity
The multiplicity of the leg (number of objects returned by the leg)
std::vector< std::string > legParts
All the parts of the leg.
int threshold
The threshold on the object.
std::string signature
The HLT signature responsible for creating the object.

◆ type()

xAODType::ObjectType ChainNameParser::LegInfo::type ( ) const

The type of xAOD IParticle produced by this signature if relevant.

Definition at line 50 of file ChainNameParser.cxx.

51 {
52 if (signature == "e")
53 {
54 if (std::find(legParts.begin(), legParts.end(), "etcut") != legParts.end())
56 else
57 return xAODType::Electron;
58 }
59 else if (signature == "g")
60 {
61 if (std::find(legParts.begin(), legParts.end(), "etcut") != legParts.end())
63 else
64 return xAODType::Photon;
65 }
66 else if (signature == "j" or signature == "dispjet")
67 return xAODType::Jet;
68 else if (signature == "mu")
69 return xAODType::Muon;
70 else if (signature == "tau")
71 return xAODType::Tau;
72 else if (signature == "isotrk")
74 else
75 return xAODType::Other;
76 }
@ TrackParticle
The object is a charged track particle.
Definition ObjectType.h:43
@ Jet
The object is a jet.
Definition ObjectType.h:40
@ Photon
The object is a photon.
Definition ObjectType.h:47
@ Other
An object not falling into any of the other categories.
Definition ObjectType.h:34
@ CaloCluster
The object is a calorimeter cluster.
Definition ObjectType.h:39
@ Muon
The object is a muon.
Definition ObjectType.h:48
@ Electron
The object is an electron.
Definition ObjectType.h:46
@ Tau
The object is a tau (jet)
Definition ObjectType.h:49

Member Data Documentation

◆ legParts

std::vector<std::string> ChainNameParser::LegInfo::legParts

All the parts of the leg.

Definition at line 29 of file ChainNameParser.h.

◆ multiplicity

std::size_t ChainNameParser::LegInfo::multiplicity {}

The multiplicity of the leg (number of objects returned by the leg)

Definition at line 23 of file ChainNameParser.h.

23{};

◆ signature

std::string ChainNameParser::LegInfo::signature {}

The HLT signature responsible for creating the object.

Definition at line 25 of file ChainNameParser.h.

25{};

◆ threshold

int ChainNameParser::LegInfo::threshold {-1}

The threshold on the object.

Definition at line 27 of file ChainNameParser.h.

27{-1};

The documentation for this struct was generated from the following files: