Loading [MathJax]/jax/input/TeX/config.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
CandidateSummary.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #pragma once
6 
7 #include <algorithm>
8 #include <optional>
9 
12 
13 class TrigMuonEFTrack;
14 class MuonFeature;
15 
16 namespace Muon {
17  class MuonSegment;
18 }
19 namespace Trk {
20  class TrackSurfaceIntersection;
21  class Track;
22 } // namespace Trk
23 
24 namespace MuGirlNS {
25  class Intersection;
26 
28 
29  inline std::string hitTechnologyName(StauHitTechnology eTech) {
30  switch (eTech) {
31  case RPC_STAU_HIT: return "RPC";
32  case RPCETA_STAU_HIT: return "RPCETA";
33  case MDTT_STAU_HIT: return "MDTT";
34  case CALO_STAU_HIT: return "CALO";
35  case CSC_STAU_HIT: return "CSC";
36  default: return std::string();
37  }
38  }
39 
40  struct StauHit {
42  double mToF{-1.};
43  double x{0.};
44  double y{0.};
45  double z{0.};
46  Identifier id{};
47  double e{-1.};
48  double error{-1.};
49  double shift{0.};
50  bool measuresEta{false};
51  double propagationTime{0.};
52 
53  StauHit() = default;
54  StauHit(StauHitTechnology tech, double tof, double ix, double iy, double iz, Identifier iid, double ie, double er = -1.,
55  double sh = 0., bool isEta = false, double propTime = 0.):
56  eTech(tech),
57  mToF(tof),
58  x(ix),
59  y(iy),
60  z(iz),
61  id(iid),
62  e(ie),
63  error(er),
64  shift(sh),
65  measuresEta(isEta),
66  propagationTime(propTime) {}
67  };
68 
69  // conditional decoration of SlowMuon container with MDT ADC counts and drift radii
70  // enabled by flag MuonCombined.addMDTExtrasMuGirlLowBeta
71  struct StauMDTHitExtra {
72  int adc{-1};
73  float rdrift{-1.};
74 
75  StauMDTHitExtra() = default;
76  StauMDTHitExtra(int iadc, float irdrift):
77  adc(iadc),
78  rdrift(irdrift) {}
79  };
80 
81  using StauHits = std::vector<StauHit>;
82  using StauMDTHitExtras = std::vector<StauMDTHitExtra>;
83 
84  struct StauExtras {
85  double ann{0.};
86  double betaAll{0.};
87  double betaAllt{0.};
88  unsigned int numRpcHitsInSeg{0};
89  unsigned int numCaloCells{0};
90 
91  double rpcBetaAvg{0.};
92  double rpcBetaRms{0.};
93  double rpcBetaChi2{0.};
94  unsigned int rpcBetaDof{0};
95  double mdtBetaAvg{0.};
96  double mdtBetaRms{0.};
97  double mdtBetaChi2{0.};
98  unsigned int mdtBetaDof{0};
99  double caloBetaAvg{0.};
100  double caloBetaRms{0.};
101  double caloBetaChi2{0.};
102  int caloBetaDof{0};
104  std::optional<StauMDTHitExtras> extraMDTHitInfo;
105 
106 
107  void addHits(StauHits stauHits) { std::copy(stauHits.begin(), stauHits.end(), std::back_inserter(hits)); }
108  void addMDTHitExtras(StauMDTHitExtras stauMDTHitExtras) { std::copy(stauMDTHitExtras.begin(), stauMDTHitExtras.end(), std::back_inserter(*extraMDTHitInfo)); }
109  };
110 
111 } // namespace MuGirlNS
MuGirlNS::StauExtras::rpcBetaAvg
double rpcBetaAvg
Definition: CandidateSummary.h:91
MuGirlNS::StauExtras::addHits
void addHits(StauHits stauHits)
Definition: CandidateSummary.h:107
MuGirlNS::StauExtras::caloBetaDof
int caloBetaDof
Definition: CandidateSummary.h:102
MuGirlNS::StauHit::propagationTime
double propagationTime
Definition: CandidateSummary.h:51
MuGirlNS::StauExtras::mdtBetaAvg
double mdtBetaAvg
Definition: CandidateSummary.h:95
MuGirlNS::StauExtras::betaAll
double betaAll
Definition: CandidateSummary.h:86
MuGirlNS::StauHitTechnology
StauHitTechnology
Definition: CandidateSummary.h:27
MuGirlNS::StauExtras::numCaloCells
unsigned int numCaloCells
Definition: CandidateSummary.h:89
MuGirlNS::StauExtras::mdtBetaDof
unsigned int mdtBetaDof
Definition: CandidateSummary.h:98
TrigMuonEFTrack
Definition: TrigMuonEFTrack.h:27
MuGirlNS::StauMDTHitExtra::rdrift
float rdrift
Definition: CandidateSummary.h:73
MuGirlNS::StauHit::y
double y
Definition: CandidateSummary.h:44
MuGirlNS::StauExtras::mdtBetaRms
double mdtBetaRms
Definition: CandidateSummary.h:96
MuGirlNS::StauHit::x
double x
Definition: CandidateSummary.h:43
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition: TrackSystemController.h:45
xAOD::MuonSegment
MuonSegment_v1 MuonSegment
Reference the current persistent version:
Definition: Event/xAOD/xAODMuon/xAODMuon/MuonSegment.h:13
MuGirlNS::StauExtras::rpcBetaChi2
double rpcBetaChi2
Definition: CandidateSummary.h:93
MuGirlNS::MDTT_STAU_HIT
@ MDTT_STAU_HIT
Definition: CandidateSummary.h:27
MuGirlNS::StauMDTHitExtra
Definition: CandidateSummary.h:71
PlotCalibFromCool.ie
ie
Definition: PlotCalibFromCool.py:420
MuGirlNS::StauHit::e
double e
Definition: CandidateSummary.h:47
MuGirlNS::StauMDTHitExtras
std::vector< StauMDTHitExtra > StauMDTHitExtras
Definition: CandidateSummary.h:82
MuGirlNS::StauExtras::caloBetaAvg
double caloBetaAvg
Definition: CandidateSummary.h:99
MuGirlNS::StauExtras::ann
double ann
Definition: CandidateSummary.h:85
GeoPrimitives.h
MuGirlNS::StauHit::shift
double shift
Definition: CandidateSummary.h:49
MuGirlNS::RPCETA_STAU_HIT
@ RPCETA_STAU_HIT
Definition: CandidateSummary.h:27
MuGirlNS::RPC_STAU_HIT
@ RPC_STAU_HIT
Definition: CandidateSummary.h:27
MuGirlNS::StauExtras::hits
StauHits hits
Definition: CandidateSummary.h:103
MuGirlNS::StauHit::eTech
StauHitTechnology eTech
Definition: CandidateSummary.h:41
MuGirlNS::StauExtras::rpcBetaDof
unsigned int rpcBetaDof
Definition: CandidateSummary.h:94
MuGirlNS::StauExtras::mdtBetaChi2
double mdtBetaChi2
Definition: CandidateSummary.h:97
RCU::Shell
Definition: ShellExec.cxx:28
MuGirlNS::StauExtras::numRpcHitsInSeg
unsigned int numRpcHitsInSeg
Definition: CandidateSummary.h:88
MuGirlNS::StauMDTHitExtra::StauMDTHitExtra
StauMDTHitExtra()=default
MuGirlNS
Definition: CandidateSummary.h:24
MuGirlNS::StauHit
Definition: CandidateSummary.h:40
MuGirlNS::StauHit::id
Identifier id
Definition: CandidateSummary.h:46
MuGirlNS::StauMDTHitExtra::adc
int adc
Definition: CandidateSummary.h:72
MuGirlNS::StauHit::mToF
double mToF
Definition: CandidateSummary.h:42
MuGirlNS::StauExtras::betaAllt
double betaAllt
Definition: CandidateSummary.h:87
MuGirlNS::StauExtras::caloBetaRms
double caloBetaRms
Definition: CandidateSummary.h:100
MuonFeature
Definition: MuonFeature.h:21
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
MuGirlNS::StauHit::z
double z
Definition: CandidateSummary.h:45
MuGirlNS::StauMDTHitExtra::StauMDTHitExtra
StauMDTHitExtra(int iadc, float irdrift)
Definition: CandidateSummary.h:76
MuGirlNS::StauExtras::extraMDTHitInfo
std::optional< StauMDTHitExtras > extraMDTHitInfo
Definition: CandidateSummary.h:104
TrackParticle.h
MuGirlNS::StauHit::StauHit
StauHit(StauHitTechnology tech, double tof, double ix, double iy, double iz, Identifier iid, double ie, double er=-1., double sh=0., bool isEta=false, double propTime=0.)
Definition: CandidateSummary.h:54
MuGirlNS::CSC_STAU_HIT
@ CSC_STAU_HIT
Definition: CandidateSummary.h:27
MuGirlNS::StauHit::measuresEta
bool measuresEta
Definition: CandidateSummary.h:50
MuGirlNS::hitTechnologyName
std::string hitTechnologyName(StauHitTechnology eTech)
Definition: CandidateSummary.h:29
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
MuGirlNS::StauExtras::rpcBetaRms
double rpcBetaRms
Definition: CandidateSummary.h:92
calibdata.copy
bool copy
Definition: calibdata.py:27
MuGirlNS::StauExtras
Definition: CandidateSummary.h:84
MuGirlNS::StauHit::StauHit
StauHit()=default
MuGirlNS::StauExtras::addMDTHitExtras
void addMDTHitExtras(StauMDTHitExtras stauMDTHitExtras)
Definition: CandidateSummary.h:108
error
Definition: IImpactPoint3dEstimator.h:70
MuGirlNS::StauHits
std::vector< StauHit > StauHits
Definition: CandidateSummary.h:81
MuGirlNS::CALO_STAU_HIT
@ CALO_STAU_HIT
Definition: CandidateSummary.h:27
MuGirlNS::StauExtras::caloBetaChi2
double caloBetaChi2
Definition: CandidateSummary.h:101
Identifier
Definition: IdentifierFieldParser.cxx:14