14#ifndef IDTPM2_MUONTRAITS_H
15#define IDTPM2_MUONTRAITS_H
27 static constexpr xAOD::Muon::TrackParticleType
muontype() {
return xAOD::Muon::InnerDetectorTrackParticle; }
32 uint8_t n(0);
m.trackParticle(
muontype())->summaryValue(n,
type);
return n;
53 if (
m.trackParticle(
muontype())->
qOverP()==0 )
throw std::runtime_error(
"divide by 0 - track qOverP() is 0" );
54 return 1/
m.trackParticle(
muontype())->qOverP();
71 double sintheta = std::sin(th);
72 double costheta = std::cos(th);
75 double dpt2 = (p_*p_*sintheta)*(p_*p_*sintheta)*dqovp*dqovp + (p_*costheta)*(p_*costheta)*dth*dth - 2*(p_*p_*sintheta)*(p_*costheta)*
covthetaOvP(
m);
76 if ( dpt2>0 )
return std::sqrt( dpt2 );
Scalar theta() const
theta method
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Muon_v1 Muon
Reference the current persistent version:
SummaryType
Enumerates the different types of information stored in Summary.
@ numberOfInnermostPixelLayerSharedEndcapHits
number of Pixel 0th layer endcap hits shared by several tracks.
@ numberOfPixelHoles
number of pixel layers on track with absence of hits [unit8_t].
@ numberOfInnermostPixelLayerEndcapHits
these are the hits in the 0th pixel layer endcap [unit8_t].
@ numberOfInnermostPixelLayerSharedHits
number of Pixel 0th layer barrel hits shared by several tracks.
@ numberOfTRTHits
number of TRT hits [unit8_t].
@ numberOfNextToInnermostPixelLayerHits
these are the hits in the 1st pixel barrel layer
@ numberOfTRTHighThresholdHitsTotal
total number of TRT hits which pass the high threshold [unit8_t].
@ numberOfNextToInnermostPixelLayerEndcapHits
these are the hits in the 0.5th and 1st pixel layer endcap rings [unit8_t].
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
@ numberOfPixelSharedHits
number of Pixel all-layer hits shared by several tracks [unit8_t].
@ numberOfSCTSharedHits
number of SCT hits shared by several tracks [unit8_t].
@ numberOfSCTHoles
number of SCT holes [unit8_t].
raw track traits - use for the TrackParticle by default, specialise for anything else,...
static int nPixels(const T &)
static int nPixelHoles(const T &)
static int nSCT(const T &)
static float dqOverP(const T &)
static int nSCTHoles(const T &)
static float p(const T &)
static float qOverP(const T &)
static float dtheta(const T &)
static float covthetaOvP(const T &)
static int nPixelsBlayer(const xAOD::Muon &m)
static int nTRT(const xAOD::Muon &m)
static float ndof(const xAOD::Muon &m)
static int nPixelsBlayerEndcap(const xAOD::Muon &m)
static float qOverP(const xAOD::Muon &m)
static int nSi(const xAOD::Muon &m)
static float chi2(const xAOD::Muon &m)
static float m(const xAOD::Muon &m)
static float time(const xAOD::Muon &m)
static float d0(const xAOD::Muon &m)
static uint8_t summary_value(const xAOD::Muon &m, xAOD::SummaryType type)
do we instead really want the combined muon ???
static uint8_t hasValidTime(const xAOD::Muon &m)
not an integer ???
static float theta(const xAOD::Muon &m)
static int nPixelsInnerShared(const xAOD::Muon &m)
static float dd0(const xAOD::Muon &m)
static int nPixelsShared(const xAOD::Muon &m)
static constexpr xAOD::Muon::TrackParticleType muontype()
static float dpt(const xAOD::Muon &m)
static int nPixelsInner(const xAOD::Muon &m)
static float eta(const xAOD::Muon &m)
static float charge(const xAOD::Muon &m)
a covariance not an error
static float dqOverP(const xAOD::Muon &m)
static float deta(const xAOD::Muon &m)
static int nSCT(const xAOD::Muon &m)
static float dz0(const xAOD::Muon &m)
static int nPixelsInnerEndcap(const xAOD::Muon &m)
static float p(const xAOD::Muon &m)
static float z0(const xAOD::Muon &m)
static float phi(const xAOD::Muon &m)
static float dphi(const xAOD::Muon &m)
static float pt(const xAOD::Muon &m)
static int nPixelsInnerSharedEndcap(const xAOD::Muon &m)
static int nSCTShared(const xAOD::Muon &m)
static float covthetaOvP(const xAOD::Muon &m)
static float E(const xAOD::Muon &m)
static int nSiHoles(const xAOD::Muon &m)
static int nSCTHoles(const xAOD::Muon &m)
static float dtheta(const xAOD::Muon &m)
static void addChildren(const xAOD::Muon &m, std::vector< U > &v)
static int nTRTHi(const xAOD::Muon &m)
static float ET(const xAOD::Muon &m)
static int nPixels(const xAOD::Muon &m)
do we want to keep these ??
static int nPixelHoles(const xAOD::Muon &m)