ATLAS Offline Software
Loading...
Searching...
No Matches
GlobalSim::JET1Jet Class Reference

#include <JET1Jet.h>

Inheritance diagram for GlobalSim::JET1Jet:

Public Types

using bitset_type
using BaseSpec

Public Member Functions

 DECLARE_FIELDS (flag_et_overflow, flag_error, flag_next_tob_same_et, flag_truncate, ring_four_tobs, ring_three_tobs, ring_two_tobs, ring_one_tobs, total_tobs, ring_four_ptt, ring_three_ptt, ring_two_ptt, ring_one_ptt, ring_zero_ptt)
 DECLARE_FIELDS (ptt, eta, phi)

Static Public Member Functions

static constexpr decltype(auto) field ()
static constexpr std::size_t numFields ()
static constexpr void forEachField (auto &&func)
static constexpr std::string json ()
static bitset_type packFields (const Fields &fields, const SG::AuxElement &obj)

Static Public Attributes

static const BitField< 32, 32, uint8_t, bool > flag_et_overflow {"flag_et_overflow","flags[0]", "flag description placeholder"}
 BitSpec for the output jets of the JET1 algorithm.
static const BitField< 33, 33, uint8_t, bool > flag_error {"flag_error","flags[1]", "flag description placeholder"}
static const BitField< 34, 34, uint8_t, bool > flag_next_tob_same_et {"flag_next_tob_same_et","flags[2]", "flag description placeholder"}
static const BitField< 35, 35, uint8_t, bool > flag_truncate {"flag_truncate","flags[3]", "flag description"}
static const BitField< 36, 38, uint8_t > ring_four_tobs {"ring_four_tobs","ring_four_tobs", "Number of TOBs in the fourth ring"}
static const BitField< 39, 43, uint8_t > ring_three_tobs {"ring_three_tobs","ring_three_tobs", "Number of TOBs in the third ring"}
static const BitField< 44, 48, uint8_t > ring_two_tobs {"ring_two_tobs","ring_two_tobs", "Number of TOBs in the second ring"}
static const BitField< 49, 52, uint8_t > ring_one_tobs {"ring_one_tobs","ring_one_tobs", "Number of TOBs in the first ring"}
static const BitField< 53, 58, uint8_t > total_tobs {"total_tobs","total_tobs", "Number of TOBs in the jet"}
static const BitField< 59, 70, uint16_t > ring_four_ptt {"ring_four_ptt","ring_four_ptt", "Energy in the fourth ring"}
static const BitField< 71, 85, uint16_t > ring_three_ptt {"ring_three_ptt","ring_three_ptt", "Energy in the third ring"}
static const BitField< 86, 100, uint16_t > ring_two_ptt {"ring_two_ptt","ring_two_ptt", "Energy in the second ring"}
static const BitField< 101, 115, uint16_t > ring_one_ptt {"ring_one_ptt","ring_one_ptt", "Energy in the first ring"}
static const BitField< 116, 127, uint16_t > ring_zero_ptt {"ring_zero_ptt","ring_zero_ptt", "Energy in the zeroth ring"}
static constexpr std::size_t width
static const BitField< 0, 12, float > ptt {{.name="ptt", .auxvar="et", .description="Transverse energy", .scale=0.1}}
 BitSpec "base class" for inputs to hypothesis algorithm.
static const SignedBitField< 13, 22, float > eta {{.name="eta", .auxvar="eta", .description="Eta coordinate", .scale=0.0125}}
static const BitField< 23, 31, float > phi {"phi", "phi", "Phi coordinate", nullptr, nullptr, M_PI / 256}

Static Protected Member Functions

static constexpr auto makeFields (Fields &... fields)
static constexpr auto allFields ()
static consteval bool validateFields ()

Static Private Member Functions

static consteval bool validateFieldList ()
static consteval bool validateField ()
static consteval bool checkOverlap ()

Detailed Description

Definition at line 14 of file JET1Jet.h.

Member Typedef Documentation

◆ BaseSpec

using GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::BaseSpec
inherited

Definition at line 504 of file BitSpec.h.

◆ bitset_type

using GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::bitset_type
inherited

Definition at line 502 of file BitSpec.h.

Member Function Documentation

◆ allFields()

constexpr auto GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::allFields ( )
inlinestaticconstexprprotectedinherited

Definition at line 549 of file BitSpec.h.

550 {
551 return std::tuple_cat(
554 );
555 }

◆ checkOverlap()

consteval bool GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::checkOverlap ( )
inlinestaticconstevalprivateinherited

Definition at line 629 of file BitSpec.h.

629 {
630 if (A::lo <= B::hi && B::lo <= A::hi) {
631 return true;
632 }
633 return false;
634 }

◆ DECLARE_FIELDS() [1/2]

GlobalSim::GenericTOB::DECLARE_FIELDS ( ptt ,
eta ,
phi  )
inherited

◆ DECLARE_FIELDS() [2/2]

◆ field()

constexpr decltype(auto) GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::field ( )
inlinestaticconstexprinherited

Definition at line 508 of file BitSpec.h.

508 {
510 }

◆ forEachField()

constexpr void GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::forEachField ( auto && func)
inlinestaticconstexprinherited

Definition at line 520 of file BitSpec.h.

520 {
521 std::apply([&](const auto *... field) { (func(*field), ...); }, Derived::allFields());
522 }

◆ json()

constexpr std::string GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::json ( )
inlinestaticconstexprinherited

Definition at line 525 of file BitSpec.h.

525 {
527 j["data_width"] = width;
528 j["fields"] = nlohmann::json::array();
529 forEachField([&](const auto &field) {
531 f["name"] = field.name();
532 f["description"] = field.description();
533 f["start"] = field.lo;
534 f["width"] = field.width;
535 j["fields"].push_back(f);
536 });
537 return j.dump(4);
538 }
static constexpr std::size_t width
Definition BitSpec.h:501
static constexpr void forEachField(auto &&func)
Definition BitSpec.h:520

◆ makeFields()

constexpr auto GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::makeFields ( Fields &... fields)
inlinestaticconstexprprotectedinherited

Definition at line 544 of file BitSpec.h.

544 {
545 return std::tuple{&fields...};
546 }

◆ numFields()

constexpr std::size_t GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::numFields ( )
inlinestaticconstexprinherited

Definition at line 515 of file BitSpec.h.

515 {
517 }

◆ packFields()

bitset_type GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::packFields ( const Fields & fields,
const SG::AuxElement & obj )
inlinestaticinherited

Definition at line 563 of file BitSpec.h.

563 {
565
567 [&](const auto *... field) {
568 (field->pack(result, obj), ...);
569 },
570 fields);
571
572 return result;
573 }

◆ validateField()

consteval bool GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::validateField ( )
inlinestaticconstevalprivateinherited

Definition at line 620 of file BitSpec.h.

620 {
621 return Field::lo <= Field::hi && Field::hi < N;
622 }

◆ validateFieldList()

consteval bool GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::validateFieldList ( )
inlinestaticconstevalprivateinherited

Definition at line 604 of file BitSpec.h.

605 {
606 if constexpr (sizeof...(Rest) == 0)
607 {
608 return validateField<First>();
609 }
610 else
611 {
612 return validateField<First>() &&
613 (validateField<Rest>() && ...) &&
614 ((!checkOverlap<First, Rest>()) && ...) &&
616 }
617 }

◆ validateFields()

consteval bool GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::validateFields ( )
inlinestaticconstevalprotectedinherited

Definition at line 587 of file BitSpec.h.

588 {
589 return std::apply(
590 []<typename... FieldPtrs>(FieldPtrs... field) {
591 return validateFieldList<
592 std::remove_cvref_t<decltype(*field)>...
593 >();
594 },
596 }

Member Data Documentation

◆ eta

const SignedBitField<13, 22, float> GlobalSim::GenericTOB::eta {{.name="eta", .auxvar="eta", .description="Eta coordinate", .scale=0.0125}}
inlinestaticinherited

Definition at line 18 of file Global/GlobalSimulation/GlobalSimulation/GenericTOB.h.

18{{.name="eta", .auxvar="eta", .description="Eta coordinate", .scale=0.0125}};

◆ flag_error

const BitField<33, 33, uint8_t, bool> GlobalSim::JET1Jet::flag_error {"flag_error","flags[1]", "flag description placeholder"}
inlinestatic

Definition at line 20 of file JET1Jet.h.

20{"flag_error","flags[1]", "flag description placeholder"};

◆ flag_et_overflow

const BitField<32, 32, uint8_t, bool> GlobalSim::JET1Jet::flag_et_overflow {"flag_et_overflow","flags[0]", "flag description placeholder"}
inlinestatic

BitSpec for the output jets of the JET1 algorithm.

"Inherits" from GenericTOB

Definition at line 19 of file JET1Jet.h.

19{"flag_et_overflow","flags[0]", "flag description placeholder"};

◆ flag_next_tob_same_et

const BitField<34, 34, uint8_t, bool> GlobalSim::JET1Jet::flag_next_tob_same_et {"flag_next_tob_same_et","flags[2]", "flag description placeholder"}
inlinestatic

Definition at line 21 of file JET1Jet.h.

21{"flag_next_tob_same_et","flags[2]", "flag description placeholder"};

◆ flag_truncate

const BitField<35, 35, uint8_t, bool> GlobalSim::JET1Jet::flag_truncate {"flag_truncate","flags[3]", "flag description"}
inlinestatic

Definition at line 22 of file JET1Jet.h.

22{"flag_truncate","flags[3]", "flag description"};

◆ phi

const BitField<23, 31, float> GlobalSim::GenericTOB::phi {"phi", "phi", "Phi coordinate", nullptr, nullptr, M_PI / 256}
inlinestaticinherited

Definition at line 19 of file Global/GlobalSimulation/GlobalSimulation/GenericTOB.h.

19{"phi", "phi", "Phi coordinate", nullptr, nullptr, M_PI / 256};
#define M_PI

◆ ptt

const BitField<0, 12, float> GlobalSim::GenericTOB::ptt {{.name="ptt", .auxvar="et", .description="Transverse energy", .scale=0.1}}
inlinestaticinherited

BitSpec "base class" for inputs to hypothesis algorithm.

Definition at line 17 of file Global/GlobalSimulation/GlobalSimulation/GenericTOB.h.

17{{.name="ptt", .auxvar="et", .description="Transverse energy", .scale=0.1/*GeV*/}};

◆ ring_four_ptt

const BitField<59, 70, uint16_t> GlobalSim::JET1Jet::ring_four_ptt {"ring_four_ptt","ring_four_ptt", "Energy in the fourth ring"}
inlinestatic

Definition at line 28 of file JET1Jet.h.

28{"ring_four_ptt","ring_four_ptt", "Energy in the fourth ring"};

◆ ring_four_tobs

const BitField<36, 38, uint8_t> GlobalSim::JET1Jet::ring_four_tobs {"ring_four_tobs","ring_four_tobs", "Number of TOBs in the fourth ring"}
inlinestatic

Definition at line 23 of file JET1Jet.h.

23{"ring_four_tobs","ring_four_tobs", "Number of TOBs in the fourth ring"};

◆ ring_one_ptt

const BitField<101, 115, uint16_t> GlobalSim::JET1Jet::ring_one_ptt {"ring_one_ptt","ring_one_ptt", "Energy in the first ring"}
inlinestatic

Definition at line 31 of file JET1Jet.h.

31{"ring_one_ptt","ring_one_ptt", "Energy in the first ring"};

◆ ring_one_tobs

const BitField<49, 52, uint8_t> GlobalSim::JET1Jet::ring_one_tobs {"ring_one_tobs","ring_one_tobs", "Number of TOBs in the first ring"}
inlinestatic

Definition at line 26 of file JET1Jet.h.

26{"ring_one_tobs","ring_one_tobs", "Number of TOBs in the first ring"};

◆ ring_three_ptt

const BitField<71, 85, uint16_t> GlobalSim::JET1Jet::ring_three_ptt {"ring_three_ptt","ring_three_ptt", "Energy in the third ring"}
inlinestatic

Definition at line 29 of file JET1Jet.h.

29{"ring_three_ptt","ring_three_ptt", "Energy in the third ring"};

◆ ring_three_tobs

const BitField<39, 43, uint8_t> GlobalSim::JET1Jet::ring_three_tobs {"ring_three_tobs","ring_three_tobs", "Number of TOBs in the third ring"}
inlinestatic

Definition at line 24 of file JET1Jet.h.

24{"ring_three_tobs","ring_three_tobs", "Number of TOBs in the third ring"};

◆ ring_two_ptt

const BitField<86, 100, uint16_t> GlobalSim::JET1Jet::ring_two_ptt {"ring_two_ptt","ring_two_ptt", "Energy in the second ring"}
inlinestatic

Definition at line 30 of file JET1Jet.h.

30{"ring_two_ptt","ring_two_ptt", "Energy in the second ring"};

◆ ring_two_tobs

const BitField<44, 48, uint8_t> GlobalSim::JET1Jet::ring_two_tobs {"ring_two_tobs","ring_two_tobs", "Number of TOBs in the second ring"}
inlinestatic

Definition at line 25 of file JET1Jet.h.

25{"ring_two_tobs","ring_two_tobs", "Number of TOBs in the second ring"};

◆ ring_zero_ptt

const BitField<116, 127, uint16_t> GlobalSim::JET1Jet::ring_zero_ptt {"ring_zero_ptt","ring_zero_ptt", "Energy in the zeroth ring"}
inlinestatic

Definition at line 32 of file JET1Jet.h.

32{"ring_zero_ptt","ring_zero_ptt", "Energy in the zeroth ring"};

◆ total_tobs

const BitField<53, 58, uint8_t> GlobalSim::JET1Jet::total_tobs {"total_tobs","total_tobs", "Number of TOBs in the jet"}
inlinestatic

Definition at line 27 of file JET1Jet.h.

27{"total_tobs","total_tobs", "Number of TOBs in the jet"};

◆ width

std::size_t GlobalSim::BitSpec< JET1Jet, N, GenericTOB >::width
staticconstexprinherited

Definition at line 501 of file BitSpec.h.


The documentation for this class was generated from the following file: