ATLAS Offline Software
Loading...
Searching...
No Matches
TrackTraits< xAOD::TauJet > Struct Reference

This is coming from the TauJet, which is not so clean a class - the "tau" candidate does not even have a z0, or d0 value - any combination of tracks that has a 4-vector, can have a z0 and a d0 value, the TauJet class is somewhat messy and difficult to actually use like an actual "particle", so we aren't really going to bother. More...

#include <TauJetTraits.h>

Inheritance diagram for TrackTraits< xAOD::TauJet >:
Collaboration diagram for TrackTraits< xAOD::TauJet >:

Static Public Member Functions

static float eta (const xAOD::TauJet &t)
static float phi (const xAOD::TauJet &t)
static float pt (const xAOD::TauJet &t)
 is tau pt signed ?
static float theta (const xAOD::TauJet &t)
static float qOverP (const xAOD::TauJet &t)
static float E (const xAOD::TauJet &t)
static float ET (const xAOD::TauJet &t)
static float m (const xAOD::TauJet &t)
static float p (const xAOD::TauJet &t)
static float charge (const xAOD::TauJet &t)
template<typename U>
static void addChildren (const xAOD::TauJet &t, std::vector< U > &v)
 talk about insanity ,...
static float pt (const xAOD::TauJet &t)
static float eta (const xAOD::TauJet &t)
static float theta (const xAOD::TauJet &)
static float phi (const xAOD::TauJet &t)
static float z0 (const xAOD::TauJet &)
static float d0 (const xAOD::TauJet &)
static float qOverP (const xAOD::TauJet &)
static float p (const xAOD::TauJet &)
static float m (const xAOD::TauJet &)
static float E (const xAOD::TauJet &)
static float ET (const xAOD::TauJet &)
static float dphi (const xAOD::TauJet &)
static float dtheta (const xAOD::TauJet &)
static float dqOverP (const xAOD::TauJet &)
static float deta (const xAOD::TauJet &)
static float dz0 (const xAOD::TauJet &)
static float dd0 (const xAOD::TauJet &)
static float dpt (const xAOD::TauJet &)
static float covthetaOvP (const xAOD::TauJet &)
static unsigned author (const xAOD::TauJet &)
static float chi2 (const xAOD::TauJet &)
static float ndof (const xAOD::TauJet &)
static uint8_t hasValidTime (const xAOD::TauJet &)
static float time (const xAOD::TauJet &)
static int nPixels (const xAOD::TauJet &)
static int nPixelsShared (const xAOD::TauJet &)
static int nPixelHoles (const xAOD::TauJet &)
static int nPixelsInner (const xAOD::TauJet &)
static int nPixelsInnerEndcap (const xAOD::TauJet &)
static int nPixelsInnerShared (const xAOD::TauJet &)
static int nPixelsInnerSharedEndcap (const xAOD::TauJet &)
static int nPixelsBlayer (const xAOD::TauJet &)
static int nPixelsBlayerEndcap (const xAOD::TauJet &)
static int nSCT (const xAOD::TauJet &)
static int nSCTShared (const xAOD::TauJet &)
static int nSCTHoles (const xAOD::TauJet &)
static int nSi (const xAOD::TauJet &)
static int nSiHoles (const xAOD::TauJet &)
static int nTRT (const xAOD::TauJet &)
static int nTRTHi (const xAOD::TauJet &)
static void addChildren (const xAOD::TauJet &, std::vector< U > &)
 parent EDM functionality for classes with children - the class U, being used for the children has to be fully specified before trying to instantiate any instaces of the corresponding derived traits

Static Private Attributes

static const SG::ConstAccessor< xAOD::TauTrack_v1::TrackParticleLinks_t > m_trackAcc = {"trackLinks"}
 the TauTrack may not always have an valid ElementLink but the TauTrack code does not properly check whether the link is valid before dereferencing the said link, so we have to duplicate some TauJet internal functionality here, so we can make that required check ourselves ...

Detailed Description

This is coming from the TauJet, which is not so clean a class - the "tau" candidate does not even have a z0, or d0 value - any combination of tracks that has a 4-vector, can have a z0 and a d0 value, the TauJet class is somewhat messy and difficult to actually use like an actual "particle", so we aren't really going to bother.

Definition at line 30 of file TauJetTraits.h.

Member Function Documentation

◆ addChildren() [1/2]

void TrackTraitsBase< xAOD::TauJet >::addChildren ( const xAOD::TauJet & ,
std::vector< U > &  )
inlinestatic

parent EDM functionality for classes with children - the class U, being used for the children has to be fully specified before trying to instantiate any instaces of the corresponding derived traits

Definition at line 118 of file TrackTraits.h.

118{ }

◆ addChildren() [2/2]

template<typename U>
void TrackTraits< xAOD::TauJet >::addChildren ( const xAOD::TauJet & t,
std::vector< U > & v )
inlinestatic

talk about insanity ,...

the issue with the invalid links causing this to be necessary this has been reported, (ATLASRECTS-8445) so no point writing this error out here we know what to do about it

Definition at line 68 of file TauJetTraits.h.

68 {
69 auto tt = t.tracks();
70 for ( size_t i=0 ; i<tt.size() ; i++ ) {
71 const auto& links = m_trackAcc(*tt[i]);
72 if ( !links.empty() && links[0].isValid() ) v.emplace_back(tt[i]->track());
76 // else std::cerr << "duff TauTrack ElementLink for: " << tt[i] << std::endl;
77 }
78 }
static const SG::ConstAccessor< xAOD::TauTrack_v1::TrackParticleLinks_t > m_trackAcc
the TauTrack may not always have an valid ElementLink but the TauTrack code does not properly check w...

◆ author()

unsigned TrackTraitsBase< xAOD::TauJet >::author ( const xAOD::TauJet & )
inlinestatic

Definition at line 77 of file TrackTraits.h.

77{ return 0; }

◆ charge()

float TrackTraits< xAOD::TauJet >::charge ( const xAOD::TauJet & t)
inlinestatic

Definition at line 64 of file TauJetTraits.h.

64{ return t.charge(); }

◆ chi2()

float TrackTraitsBase< xAOD::TauJet >::chi2 ( const xAOD::TauJet & )
inlinestatic

Definition at line 79 of file TrackTraits.h.

79{ return 0; }

◆ covthetaOvP()

float TrackTraitsBase< xAOD::TauJet >::covthetaOvP ( const xAOD::TauJet & )
inlinestatic

Definition at line 75 of file TrackTraits.h.

75{ return 0; }

◆ d0()

float TrackTraitsBase< xAOD::TauJet >::d0 ( const xAOD::TauJet & )
inlinestatic

Definition at line 54 of file TrackTraits.h.

54{ return 0; }

◆ dd0()

float TrackTraitsBase< xAOD::TauJet >::dd0 ( const xAOD::TauJet & )
inlinestatic

Definition at line 71 of file TrackTraits.h.

71{ return 0; }

◆ deta()

float TrackTraitsBase< xAOD::TauJet >::deta ( const xAOD::TauJet & )
inlinestatic

Definition at line 68 of file TrackTraits.h.

68{ return 0; }

◆ dphi()

float TrackTraitsBase< xAOD::TauJet >::dphi ( const xAOD::TauJet & )
inlinestatic

Definition at line 64 of file TrackTraits.h.

64{ return 0; }

◆ dpt()

float TrackTraitsBase< xAOD::TauJet >::dpt ( const xAOD::TauJet & )
inlinestatic

Definition at line 73 of file TrackTraits.h.

73{ return 0; }

◆ dqOverP()

float TrackTraitsBase< xAOD::TauJet >::dqOverP ( const xAOD::TauJet & )
inlinestatic

Definition at line 66 of file TrackTraits.h.

66{ return 0; }

◆ dtheta()

float TrackTraitsBase< xAOD::TauJet >::dtheta ( const xAOD::TauJet & )
inlinestatic

Definition at line 65 of file TrackTraits.h.

65{ return 0; }

◆ dz0()

float TrackTraitsBase< xAOD::TauJet >::dz0 ( const xAOD::TauJet & )
inlinestatic

Definition at line 70 of file TrackTraits.h.

70{ return 0; }

◆ E() [1/2]

float TrackTraitsBase< xAOD::TauJet >::E ( const xAOD::TauJet & )
inlinestatic

Definition at line 61 of file TrackTraits.h.

61{ return 0; } // t.e(); }

◆ E() [2/2]

float TrackTraits< xAOD::TauJet >::E ( const xAOD::TauJet & t)
inlinestatic

Definition at line 52 of file TauJetTraits.h.

52{ return t.e(); }

◆ ET() [1/2]

float TrackTraitsBase< xAOD::TauJet >::ET ( const xAOD::TauJet & )
inlinestatic

Definition at line 62 of file TrackTraits.h.

62{ return 0; }

◆ ET() [2/2]

float TrackTraits< xAOD::TauJet >::ET ( const xAOD::TauJet & t)
inlinestatic

Definition at line 54 of file TauJetTraits.h.

54{ return t.e()*std::sin(theta(t)); }
Scalar theta() const
theta method

◆ eta() [1/2]

float TrackTraits< xAOD::TauJet >::eta ( const xAOD::TauJet & t)
inlinestatic

Definition at line 42 of file TauJetTraits.h.

42{ return t.eta(); }
static float eta(const T &t)
Definition TrackTraits.h:50

◆ eta() [2/2]

float TrackTraitsBase< xAOD::TauJet >::eta ( const xAOD::TauJet & t)
inlinestatic

Definition at line 50 of file TrackTraits.h.

50{ return t.eta(); }

◆ hasValidTime()

uint8_t TrackTraitsBase< xAOD::TauJet >::hasValidTime ( const xAOD::TauJet & )
inlinestatic

Definition at line 82 of file TrackTraits.h.

82{ return 0; }

◆ m() [1/2]

float TrackTraitsBase< xAOD::TauJet >::m ( const xAOD::TauJet & )
inlinestatic

Definition at line 58 of file TrackTraits.h.

58{ return 0; }

◆ m() [2/2]

float TrackTraits< xAOD::TauJet >::m ( const xAOD::TauJet & t)
inlinestatic

Definition at line 56 of file TauJetTraits.h.

56{ return t.m(); }
static float m(const T &)
Definition TrackTraits.h:58

◆ ndof()

float TrackTraitsBase< xAOD::TauJet >::ndof ( const xAOD::TauJet & )
inlinestatic

Definition at line 80 of file TrackTraits.h.

80{ return 0; }

◆ nPixelHoles()

int TrackTraitsBase< xAOD::TauJet >::nPixelHoles ( const xAOD::TauJet & )
inlinestatic

Definition at line 91 of file TrackTraits.h.

91{ return 0; }

◆ nPixels()

int TrackTraitsBase< xAOD::TauJet >::nPixels ( const xAOD::TauJet & )
inlinestatic

Definition at line 89 of file TrackTraits.h.

89{ return 0; }

◆ nPixelsBlayer()

int TrackTraitsBase< xAOD::TauJet >::nPixelsBlayer ( const xAOD::TauJet & )
inlinestatic

Definition at line 99 of file TrackTraits.h.

99{ return 0; }

◆ nPixelsBlayerEndcap()

int TrackTraitsBase< xAOD::TauJet >::nPixelsBlayerEndcap ( const xAOD::TauJet & )
inlinestatic

Definition at line 100 of file TrackTraits.h.

100{ return 0; }

◆ nPixelsInner()

int TrackTraitsBase< xAOD::TauJet >::nPixelsInner ( const xAOD::TauJet & )
inlinestatic

Definition at line 93 of file TrackTraits.h.

93{ return 0; }

◆ nPixelsInnerEndcap()

int TrackTraitsBase< xAOD::TauJet >::nPixelsInnerEndcap ( const xAOD::TauJet & )
inlinestatic

Definition at line 94 of file TrackTraits.h.

94{ return 0; }

◆ nPixelsInnerShared()

int TrackTraitsBase< xAOD::TauJet >::nPixelsInnerShared ( const xAOD::TauJet & )
inlinestatic

Definition at line 96 of file TrackTraits.h.

96{ return 0; }

◆ nPixelsInnerSharedEndcap()

int TrackTraitsBase< xAOD::TauJet >::nPixelsInnerSharedEndcap ( const xAOD::TauJet & )
inlinestatic

Definition at line 97 of file TrackTraits.h.

97{ return 0; }

◆ nPixelsShared()

int TrackTraitsBase< xAOD::TauJet >::nPixelsShared ( const xAOD::TauJet & )
inlinestatic

Definition at line 90 of file TrackTraits.h.

90{ return 0; }

◆ nSCT()

int TrackTraitsBase< xAOD::TauJet >::nSCT ( const xAOD::TauJet & )
inlinestatic

Definition at line 102 of file TrackTraits.h.

102{ return 0; }

◆ nSCTHoles()

int TrackTraitsBase< xAOD::TauJet >::nSCTHoles ( const xAOD::TauJet & )
inlinestatic

Definition at line 104 of file TrackTraits.h.

104{ return 0; }

◆ nSCTShared()

int TrackTraitsBase< xAOD::TauJet >::nSCTShared ( const xAOD::TauJet & )
inlinestatic

Definition at line 103 of file TrackTraits.h.

103{ return 0; }

◆ nSi()

int TrackTraitsBase< xAOD::TauJet >::nSi ( const xAOD::TauJet & )
inlinestatic

Definition at line 106 of file TrackTraits.h.

106{ return 0; }

◆ nSiHoles()

int TrackTraitsBase< xAOD::TauJet >::nSiHoles ( const xAOD::TauJet & )
inlinestatic

Definition at line 107 of file TrackTraits.h.

107{ return 0; }

◆ nTRT()

int TrackTraitsBase< xAOD::TauJet >::nTRT ( const xAOD::TauJet & )
inlinestatic

Definition at line 109 of file TrackTraits.h.

109{ return 0; }

◆ nTRTHi()

int TrackTraitsBase< xAOD::TauJet >::nTRTHi ( const xAOD::TauJet & )
inlinestatic

Definition at line 110 of file TrackTraits.h.

110{ return 0; }

◆ p() [1/2]

float TrackTraitsBase< xAOD::TauJet >::p ( const xAOD::TauJet & )
inlinestatic

Definition at line 56 of file TrackTraits.h.

56{ return 0; }

◆ p() [2/2]

float TrackTraits< xAOD::TauJet >::p ( const xAOD::TauJet & t)
inlinestatic

Definition at line 58 of file TauJetTraits.h.

58 {
59 double th = theta(t);
60 if ( th==0 ) throw std::runtime_error( "divide by 0 - tau theta is 0" );
61 return t.pt()/std::sin(th);
62 }
static float pt(const T &t)
Definition TrackTraits.h:49

◆ phi() [1/2]

float TrackTraits< xAOD::TauJet >::phi ( const xAOD::TauJet & t)
inlinestatic

Definition at line 43 of file TauJetTraits.h.

43{ return t.phi(); }
static float phi(const T &t)
Definition TrackTraits.h:52

◆ phi() [2/2]

float TrackTraitsBase< xAOD::TauJet >::phi ( const xAOD::TauJet & t)
inlinestatic

Definition at line 52 of file TrackTraits.h.

52{ return t.phi(); }

◆ pt() [1/2]

float TrackTraits< xAOD::TauJet >::pt ( const xAOD::TauJet & t)
inlinestatic

is tau pt signed ?

?? I wish we had a consistent convention we may need to force all pt to be signed

Definition at line 47 of file TauJetTraits.h.

47{ return t.pt(); }

◆ pt() [2/2]

float TrackTraitsBase< xAOD::TauJet >::pt ( const xAOD::TauJet & t)
inlinestatic

Definition at line 49 of file TrackTraits.h.

49{ return t.pt(); }

◆ qOverP() [1/2]

float TrackTraitsBase< xAOD::TauJet >::qOverP ( const xAOD::TauJet & )
inlinestatic

Definition at line 55 of file TrackTraits.h.

55{ return 0; }

◆ qOverP() [2/2]

float TrackTraits< xAOD::TauJet >::qOverP ( const xAOD::TauJet & t)
inlinestatic

Definition at line 50 of file TauJetTraits.h.

50{ return t.charge()*std::sin(theta(t))/std::fabs(t.pt()); }

◆ theta() [1/2]

float TrackTraitsBase< xAOD::TauJet >::theta ( const xAOD::TauJet & )
inlinestatic

Definition at line 51 of file TrackTraits.h.

51{ return 0; }

◆ theta() [2/2]

float TrackTraits< xAOD::TauJet >::theta ( const xAOD::TauJet & t)
inlinestatic

Definition at line 49 of file TauJetTraits.h.

49{ return 2*std::atan(std::exp(-t.eta())); }

◆ time()

float TrackTraitsBase< xAOD::TauJet >::time ( const xAOD::TauJet & )
inlinestatic

Definition at line 83 of file TrackTraits.h.

83{ return 0; }

◆ z0()

float TrackTraitsBase< xAOD::TauJet >::z0 ( const xAOD::TauJet & )
inlinestatic

Definition at line 53 of file TrackTraits.h.

53{ return 0; }

Member Data Documentation

◆ m_trackAcc

const SG::ConstAccessor<xAOD::TauTrack_v1::TrackParticleLinks_t> TrackTraits< xAOD::TauJet >::m_trackAcc = {"trackLinks"}
inlinestaticprivate

the TauTrack may not always have an valid ElementLink but the TauTrack code does not properly check whether the link is valid before dereferencing the said link, so we have to duplicate some TauJet internal functionality here, so we can make that required check ourselves ...

Definition at line 38 of file TauJetTraits.h.

38{"trackLinks"};

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