|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef XAODMISSINGET_VERSIONS_MISSINGETBASE_H
8 #define XAODMISSINGET_VERSIONS_MISSINGETBASE_H
11 #define EXTRACT_PX( _T_, _V_, _P_ ) \
12 _T_ _V_(_P_.p4().Px())
14 #define EXTRACT_PY( _T_, _V_, _P_ ) \
15 _T_ _V_(_P_.p4().Py())
17 #define EXTRACT_SCALED_PX( _T_, _V_, _P_, _S_ ) \
18 _T_ _V_(_P_.p4().Px()*_S_)
20 #define EXTRACT_SCALED_PY( _T_, _V_, _P_, _S_ ) \
21 _T_ _V_(_P_.p4().Py()*_S_)
48 static constexpr
double precision = 0.00001;
50 static constexpr
size_t invalidIndex = size_t(-1);
51 static constexpr
size_t unknownIndex = size_t(-1);
53 static const constexpr
double wpxDefault = 1.0;
54 static constexpr
double wpyDefault = 1.0;
55 static constexpr
double wetDefault = 1.0;
56 static constexpr
double wpxError = 0.0;
57 static constexpr
double wpyError = 0.0;
58 static constexpr
double wetError = 0.0;
60 static const constexpr
double cpxDefault = 0.0;
61 static constexpr
double cpyDefault = 0.0;
62 static constexpr
double cpzDefault = 0.0;
63 static constexpr
double ceDefault = 0.0;
64 static constexpr
double sumptDefault = 0.0;
65 static constexpr
double cpxError = -9999999;
66 static constexpr
double cpyError = -9999999;
67 static constexpr
double cpzError = -9999999;
68 static constexpr
double ceError = -9999999;
69 static constexpr
double sumptError = -9999999;
74 static const std::string invalidString =
"INVALID";
75 static const std::string unknownString =
"UNKNOWN";
76 static const std::string emptyString =
"EMPTY";
77 static const std::string nullString =
"NULL";
86 static double precision() {
return Constants::precision; }
87 static double wpxDefault() {
return Constants::wpxDefault; }
88 static double wpyDefault() {
return Constants::wpyDefault; }
89 static double wetDefault() {
return Constants::wetDefault; }
90 static double wpxError() {
return Constants::wpxError; }
91 static double wpyError() {
return Constants::wpyError; }
92 static double wetError() {
return Constants::wetError; }
93 static double cpxDefault() {
return Constants::cpxDefault; }
94 static double cpyDefault() {
return Constants::cpyDefault; }
95 static double cpzDefault() {
return Constants::cpzDefault; }
96 static double ceDefault() {
return Constants::ceDefault; }
98 static double cpxError() {
return Constants::cpxError; }
99 static double cpyError() {
return Constants::cpyError; }
100 static double cpzError() {
return Constants::cpzError; }
101 static double ceError() {
return Constants::ceError; }
125 static double divide(
double x,
double y) {
return y != 0. ?
x/
y : 0.; }
134 static const std::string&
invalidString() {
return Constants::invalidString; }
135 static const std::string&
unknownString() {
return Constants::unknownString; }
136 static const std::string&
emptyString() {
return Constants::emptyString; }
137 static const std::string&
nullString() {
return Constants::nullString; }
381 template <
class E,
class F>
431 {
return std::get<0>(
l0) == std::get<0>(
l1) && std::get<1>(
l0) == std::get<1>(
l1); }
437 {
return std::get<0>(
l0) == std::get<0>(
l1) ? std::get<1>(
l0) >= std::get<1>(
l1) : std::get<0>(
l0) > std::get<0>(
l1); }
440 {
return std::get<0>(
l0) == std::get<0>(
l1) ? std::get<1>(
l0) <= std::get<1>(
l1) : std::get<0>(
l0) < std::get<0>(
l1); }
443 {
return std::get<0>(
l0) == std::get<0>(
l1) ? std::get<1>(
l0) > std::get<1>(
l1) : std::get<0>(
l0) > std::get<0>(
l1); }
446 {
return std::get<0>(
l0) == std::get<0>(
l1) ? std::get<1>(
l0) < std::get<1>(
l1) : std::get<0>(
l0) < std::get<0>(
l1); }
static const std::string & nullString()
Access NULL string indicator.
static double cpyDefault()
Access default constituent vector .
static bool hasPattern(E bits, F mask)
Generic check for given pattern.
static Types::bitmask_t muon(Region reg=Region::FullAcceptance)
Standard MET term from reconstructed muons.
@ UnknownType
Indicator for an unknown MET term source.
@ TruthMuons
Indicator for muons from MC truth (muons from the interaction)
std::vector< Identifier > ID
static double divide(double x, double y)
Failsafe division.
@ NonInt
Indicator for MET from non-interacting particles generated in the collision.
@ UnknownTruth
Unknown truth type indicator.
Basic data class defines behavior for all Jet objects The Jet class is the principal data class for...
static bool hasCategory(Types::bitmask_t bits, Category cat)
Check if bit pattern includes a given category.
@ Total
Indicator for the total reconstructed MET (sum of MET terms from reconstruction and MC truth particle...
bool operator<=(MissingETBase::Types::indexedlink_t l0, MissingETBase::Types::indexedlink_t l1)
static bool isMuonTerm(Types::bitmask_t bits, Region reg=Region::FullAcceptance)
static bool isTruthNonInt(Types::bitmask_t bits)
static Types::bitmask_t electron(Region reg=Region::FullAcceptance)
Standard MET term from reconstructed electrons.
@ IntOut
Indicator for MET contributions from particles outside of the acceptance of the detector (typically ...
static double ceError()
Access error return value for constituent vector .
static bool isTotalTerm(Types::bitmask_t bits, Region reg=Region::FullAcceptance)
static bool isTauTerm(Types::bitmask_t bits, Region reg=Region::FullAcceptance)
static Types::bitmask_t track(Region reg=Region::FullAcceptance)
Bit mask for MET term from Track signal objects.
General namespace for MET EDM software.
static Types::bitmask_t caloLCTopo(Region reg=Region::FullAcceptance)
Bit pattern indicating a LCTopo MET term.
@ Central
Indicator for MET contribution from the central region.
static bool isPhotonTerm(Types::bitmask_t bits, Region reg=Region::FullAcceptance)
static double cpxError()
Access error return value for constituent vector .
@ LCTopo
Indicator for MET contribution from TopoClusters with LCW calibration applied.
static size_t invalidIndex()
Access invalid index indicator.
static double cpxDefault()
Access default constituent vector .
static double sumptError()
Access error return value for constituent vector sumpt.
uint64_t bitmask_t
Type for status word bit mask.
This class provides conversion from CSC RDO data to CSC Digits.
@ EMTopo
Indicator for MET contribution from TopoClusters with EM (basic signal) calibration applied.
static bool isTrackTerm(Types::bitmask_t bits, Region reg=Region::FullAcceptance)
static Types::bitmask_t truthMuons(Region reg=Region::FullAcceptance)
Standard bit pattern indicating the true muon contribution to MET truth.
std::tuple< WrapType< TYPES >... > Types
A simple tuple of multiple types.
static bool isJetTerm(Types::bitmask_t bits, Region reg=Region::FullAcceptance)
@ Electron
Indicator for the MET term from reconstructed or MC truth electrons.
@ Muon
Indicator for the MET term from reconstructed or MC truth muons.
Class describing an photon
static Types::bitmask_t idTrack(Region reg=Region::FullAcceptance)
Bit pattern indicating a ID Track MET term.
@ SoftEvent
Indicator for the MET term from reconstructed soft event signals (tracks, clusters) or MC truth parti...
static double ceDefault()
Access default constituent vector .
static Types::bitmask_t truthInt(Region reg=Region::FullAcceptance)
Standard bit pattern indicating effective true MET.
static double wpxError()
Access error return value for kinematic weight .
@ Endcap
Indicator for MET contribution from the endcap region.
static double cpzError()
Access error return value for constituent vector .
static Types::bitmask_t signal(Signal sig=(Signal::LCTopo|Signal::Track), Region reg=Region::FullAcceptance)
Bit mask for MET term from any (or mixed) signal objects.
@ UnknownSignal
Unknown signal contribution.
@ ID
Indicator for MET terms reconstructed from inner detector (ID) tracks alone.
@ Int
Indicator for MET from interacting particles within the nominal acceptance of the detector.
static Types::bitmask_t jet(Region reg=Region::FullAcceptance)
Standard MET term from reconstructed jets.
@ Jet
Indicator for the MET term from reconstructed or MC truth particle jets.
static double sumptDefault()
Access default constituent vector sumpt.
static Types::bitmask_t caloEMTopo(Region reg=Region::FullAcceptance)
Bit pattern indicating a EMTopo MET term.
@ Refined
Indicator for genuine reconstructed MET terms.
static Types::bitmask_t unknown()
std::vector< bitmask_t > bitmask_vector_t
Type for vector of status word bit masks.
@ Calo
Indicator for MET terms reconstructed from calorimeter signals alone.
@ UnknownRegion
Indicator for unknown region (same as full acceptance contribution)
static Types::bitmask_t clusterLC(Region reg=Region::FullAcceptance)
Bit mask for MET term from LCTopo (locally calibrated calorimeter cell clusters) signal objects.
bool operator>(MissingETBase::Types::indexedlink_t l0, MissingETBase::Types::indexedlink_t l1)
static bool isTruthIntOut(Types::bitmask_t bits)
Category
Source category tag.
Helpers for treating a class enum as a bitmask.
@ Photon
Indicator for the MET term from reconstructed or MC truth electrons.
static double cpzDefault()
Access default constituent vector .
Signal
Signal contribution types.
static size_t unknownIndex()
Access unknown index indicator.
static double wpxDefault()
Access default kinematic weight .
static Types::indexedlink_t invalidLink()
Access invaalid link tag.
static bool hasType(Types::bitmask_t bits, Type type)
std::tuple< size_t, size_t > indexedlink_t
Type for links defined as index pairs.
@ UnknownCategory
Indicator for an unknown category.
static Types::bitmask_t tau(Region reg=Region::FullAcceptance)
Standard MET term from reconstructed tau leptons.
static const std::string & invalidString()
Access invalid string indicator.
static const std::string & emptyString()
Access empty string indicator.
static bool isEqual(double x, double y)
Test of equality.
static double cpyError()
Access error return value for constituent vector .
static double wetError()
Access error return value for kinematic weight .
bool operator==(MissingETBase::Types::indexedlink_t l0, MissingETBase::Types::indexedlink_t l1)
TruthType
Truth type indicators.
@ Track
Indicator for MET contribution from reconstructed charged particle tracks.
static bool hasTruthType(Types::bitmask_t bits, TruthType type)
static Types::bitmask_t truthNonInt()
Standard bit pattern indicating genuine true MET.
@ Forward
Indicator for MET contribution from the forward region.
static Types::bitmask_t truthIntOut()
Standard bit pattern indicating a true MET contribution from particles outside of the detector accep...
@ FullAcceptance
Indicator for full detector acceptance contribution.
Class describing an electron.
static Types::bitmask_t clusterEM(Region reg=Region::FullAcceptance)
Bit mask for MET term from EMTopo signal objects.
bool operator!=(MissingETBase::Types::indexedlink_t l0, MissingETBase::Types::indexedlink_t l1)
static Types::bitmask_t photon(Region reg=Region::FullAcceptance)
Standard MET term from reconstructed photons.
bool operator>=(MissingETBase::Types::indexedlink_t l0, MissingETBase::Types::indexedlink_t l1)
static Types::bitmask_t total(Region reg=Region::FullAcceptance)
Standard full reconstructed MET.
static double wetDefault()
Access default kinematic weight .
static bool isTruthInt(Types::bitmask_t bits, Region reg=Region::FullAcceptance)
static bool isTruthMuons(Types::bitmask_t bits, Region reg=Region::FullAcceptance)
static bool isElectronTerm(Types::bitmask_t bits, Region reg=Region::FullAcceptance)
static bool isSoftTerm(Types::bitmask_t bits, Region reg=Region::FullAcceptance)
static double precision()
Access precision of numerical distance measure for equality.
static Types::bitmask_t softEvent(Region reg=Region::FullAcceptance)
Standard MET term from reconstructed soft event.
static Types::bitmask_t cluster(Region reg=Region::FullAcceptance)
Bit mask for MET term from any cluster signal objects.
static const std::string & unknownString()
Access unknown string indicator.
String constants, tags, and handling.
bool operator<(MissingETBase::Types::indexedlink_t l0, MissingETBase::Types::indexedlink_t l1)
static double wpyError()
Access error return value for kinematic weight .
Numerical constants and operations.
static bool hasSignal(Types::bitmask_t bits, Signal sig)
static double wpyDefault()
Access default kinematic weight .
@ Tau
Indicator for the MET term from reconstructed or MC truth tau leptons.