ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCalib::MuonCalibTrackSummary Class Reference

#include <MuonCalibTrackSummary.h>

Collaboration diagram for MuonCalib::MuonCalibTrackSummary:

Classes

struct  ChamberHitSummary

Public Member Functions

unsigned int nmdtCh () const
 access to number of chambers per technology on the track
unsigned int nrpcCh (bool phi) const
unsigned int ntgcCh (bool phi) const
unsigned int ncscCh (bool phi) const
unsigned int nrpcEtaPhiCh () const
unsigned int ntgcEtaPhiCh () const
unsigned int ncscEtaPhiCh () const
unsigned int ntrt () const
unsigned int nphiTrigHits () const
 access to number of eta/phi trigger hits
unsigned int netaTrigHits () const
unsigned int nmdtHitsPerMl (int ml) const
 access to number of MDT hits per ml (ml=1,2)
bool hasEndcap () const
bool hasMuon () const
bool hasId () const
std::string dump () const
 dump counts to string

Public Attributes

unsigned int nhits {0}
unsigned int npixel {0}
unsigned int nsct {0}
unsigned int ntrtBarrel {0}
unsigned int ntrtEndcap {0}
unsigned int nhitsUpperHemisphere {0}
unsigned int nhitsLowerHemisphere {0}
unsigned int nscatters {0}
unsigned int nholes {0}
unsigned int noutliers {0}
unsigned int npseudo {0}
unsigned int ntubeHits {0}
unsigned int nmdtHits {0}
unsigned int nmdtHitsBelowADCCut {0}
unsigned int nrpcPhiHits {0}
unsigned int nrpcEtaHits {0}
unsigned int ntgcPhiHits {0}
unsigned int ntgcEtaHits {0}
unsigned int ncscPhiHits {0}
unsigned int ncscEtaHits {0}
bool hasEndcapA {false}
bool hasEndcapC {false}
bool hasBarrel {false}
bool hasEndcapLayersWithTGC {false}
bool hasBarrelLayersWithRPC {false}
bool isTrack {false}
std::vector< ChamberHitSummarychamberHitSummary
std::set< MuonFixedIdManipulator::PhiStationIndexphiStationLayers
 set of phi layers on the track
std::set< MuonFixedIdManipulator::StationIndexprecisionStationLayers
 set of precision layers on the track
std::set< MuonFixedIdManipulator::PhiStationIndexphiEtaStationLayers
 set of phi layers which also have eta hits on the track
std::set< MuonFixedIdManipulator::StationIndexgoodPrecisionStationLayers
 set of precision layers with (MDT: two multi layers, CSC: at least 2 eta and phi hits) on the track

Detailed Description

Definition at line 17 of file MuonCalibTrackSummary.h.

Member Function Documentation

◆ dump()

std::string MuonCalib::MuonCalibTrackSummary::dump ( ) const

dump counts to string

Definition at line 14 of file MuonCalibTrackSummary.cxx.

14 {
15 MuonFixedIdPrinter printer{};
16
17 std::ostringstream sout;
18 if (hasId()) {
19 sout << " Pixel: " << npixel << " SCT " << nsct << " TRT barrel " << ntrtBarrel << " TRT endcap " << ntrtEndcap;
20 if (hasMuon()) sout << std::endl;
21 }
22
23 if (hasMuon()) {
24 sout << " Layers: eta " << precisionStationLayers.size() << " good " << goodPrecisionStationLayers.size() << " phi "
25 << phiStationLayers.size() << " eta confirmed " << phiEtaStationLayers.size() << std::endl
26 << " Hits: eta " << nmdtHits + ncscEtaHits << " phi " << nrpcPhiHits + ntgcPhiHits + ncscPhiHits << " eta trig "
27 << nrpcEtaHits + ntgcEtaHits << " holes " << nholes << " outliers " << noutliers << " pseudo " << npseudo
28 << " scatters " << nscatters << std::endl;
29 }
30
31 sout.setf(std::ios::left);
32 std::vector<ChamberHitSummary>::const_iterator chit = chamberHitSummary.begin();
33 std::vector<ChamberHitSummary>::const_iterator chit_end = chamberHitSummary.end();
34 std::vector<ChamberHitSummary>::const_iterator chit_last = chit_end - 1;
35 for (; chit != chit_end; ++chit) {
36 const MuonFixedId& chId = chit->chId;
37 bool isMdt = chit->isMdt();
38
39 sout << " " << std::setw(35) << printer.chamberIdentifier(chId);
40
41 const ChamberHitSummary::Projection& first = chit->etaProjection();
42 const ChamberHitSummary::Projection& second = chit->phiProjection();
43
44 std::string firstString = isMdt ? "ml1 " : "eta ";
45 std::string secondString = isMdt ? "ml2 " : "phi ";
46
47 sout << " Hits: " << firstString << std::setw(3) << first.nhits << " " << secondString << std::setw(3) << second.nhits;
48
49 if (first.nholes || second.nholes) {
50 sout << " Holes: ";
51 if (first.nholes != 0) sout << firstString << std::setw(3) << first.nholes;
52 if (second.nholes != 0) {
53 if (first.nholes != 0) sout << " ";
54 sout << secondString << std::setw(3) << second.nholes;
55 }
56 }
57 if (first.noutliers || second.noutliers) {
58 sout << " Outliers: ";
59 if (first.noutliers != 0) sout << firstString << std::setw(3) << first.noutliers << " ";
60 if (second.noutliers != 0) {
61 if (first.noutliers != 0) sout << " ";
62 sout << secondString << std::setw(3) << second.noutliers;
63 }
64 }
65
66 if (first.ndeltas || second.ndeltas) {
67 sout << " Deltas: ";
68 if (first.ndeltas != 0) sout << firstString << std::setw(3) << first.ndeltas << " ";
69 if (second.ndeltas != 0) {
70 if (first.ndeltas != 0) sout << " ";
71 sout << secondString << std::setw(3) << second.ndeltas;
72 }
73 }
74
75 if (chit != chit_last) sout << std::endl;
76 }
77
78 return sout.str();
79 }
std::set< MuonFixedIdManipulator::PhiStationIndex > phiStationLayers
set of phi layers on the track
std::set< MuonFixedIdManipulator::StationIndex > precisionStationLayers
set of precision layers on the track
std::set< MuonFixedIdManipulator::StationIndex > goodPrecisionStationLayers
set of precision layers with (MDT: two multi layers, CSC: at least 2 eta and phi hits) on the track
std::vector< ChamberHitSummary > chamberHitSummary
std::set< MuonFixedIdManipulator::PhiStationIndex > phiEtaStationLayers
set of phi layers which also have eta hits on the track
bool first
Definition DeMoScan.py:534

◆ hasEndcap()

bool MuonCalib::MuonCalibTrackSummary::hasEndcap ( ) const
inline

◆ hasId()

bool MuonCalib::MuonCalibTrackSummary::hasId ( ) const
inline

Definition at line 105 of file MuonCalibTrackSummary.h.

105{ return npixel + nsct + ntrt() > 0; }

◆ hasMuon()

bool MuonCalib::MuonCalibTrackSummary::hasMuon ( ) const
inline

Definition at line 104 of file MuonCalibTrackSummary.h.

◆ ncscCh()

unsigned int MuonCalib::MuonCalibTrackSummary::ncscCh ( bool phi) const

Definition at line 136 of file MuonCalibTrackSummary.cxx.

136 {
137 unsigned int nCh = 0;
138 std::vector<ChamberHitSummary>::const_iterator chit = chamberHitSummary.begin();
139 std::vector<ChamberHitSummary>::const_iterator chit_end = chamberHitSummary.end();
140 for (; chit != chit_end; ++chit) {
141 if (chit->chId.is_csc()) {
142 if (phi && chit->nphiHits() > 0)
143 ++nCh;
144 else if (!phi && chit->netaHits() > 0)
145 ++nCh;
146 }
147 }
148 return nCh;
149 }
Scalar phi() const
phi method

◆ ncscEtaPhiCh()

unsigned int MuonCalib::MuonCalibTrackSummary::ncscEtaPhiCh ( ) const

Definition at line 175 of file MuonCalibTrackSummary.cxx.

175 {
176 unsigned int nCh = 0;
177 std::vector<ChamberHitSummary>::const_iterator chit = chamberHitSummary.begin();
178 std::vector<ChamberHitSummary>::const_iterator chit_end = chamberHitSummary.end();
179 for (; chit != chit_end; ++chit) {
180 if (chit->chId.is_csc()) {
181 if (chit->nphiHits() > 0 && chit->netaHits() > 0) ++nCh;
182 }
183 }
184 return nCh;
185 }

◆ netaTrigHits()

unsigned int MuonCalib::MuonCalibTrackSummary::netaTrigHits ( ) const
inline

Definition at line 98 of file MuonCalibTrackSummary.h.

98{ return nrpcEtaHits + ntgcEtaHits; }

◆ nmdtCh()

unsigned int MuonCalib::MuonCalibTrackSummary::nmdtCh ( ) const

access to number of chambers per technology on the track

Definition at line 96 of file MuonCalibTrackSummary.cxx.

96 {
97 unsigned int nCh = 0;
98 std::vector<ChamberHitSummary>::const_iterator chit = chamberHitSummary.begin();
99 std::vector<ChamberHitSummary>::const_iterator chit_end = chamberHitSummary.end();
100 for (; chit != chit_end; ++chit) {
101 if (chit->chId.is_mdt()) ++nCh;
102 }
103 return nCh;
104 }

◆ nmdtHitsPerMl()

unsigned int MuonCalib::MuonCalibTrackSummary::nmdtHitsPerMl ( int ml) const

access to number of MDT hits per ml (ml=1,2)

Definition at line 81 of file MuonCalibTrackSummary.cxx.

81 {
82 unsigned int nhits = 0;
83 std::vector<ChamberHitSummary>::const_iterator chit = chamberHitSummary.begin();
84 std::vector<ChamberHitSummary>::const_iterator chit_end = chamberHitSummary.end();
85 for (; chit != chit_end; ++chit) {
86 if (chit->chId.is_mdt()) {
87 if (ml == 1)
88 nhits += chit->nMdtHitsMl1();
89 else
90 nhits += chit->nMdtHitsMl2();
91 }
92 }
93 return nhits;
94 }

◆ nphiTrigHits()

unsigned int MuonCalib::MuonCalibTrackSummary::nphiTrigHits ( ) const
inline

access to number of eta/phi trigger hits

Definition at line 97 of file MuonCalibTrackSummary.h.

97{ return nrpcPhiHits + ntgcPhiHits; }

◆ nrpcCh()

unsigned int MuonCalib::MuonCalibTrackSummary::nrpcCh ( bool phi) const

Definition at line 106 of file MuonCalibTrackSummary.cxx.

106 {
107 unsigned int nCh = 0;
108 std::vector<ChamberHitSummary>::const_iterator chit = chamberHitSummary.begin();
109 std::vector<ChamberHitSummary>::const_iterator chit_end = chamberHitSummary.end();
110 for (; chit != chit_end; ++chit) {
111 if (chit->chId.is_rpc()) {
112 if (phi && chit->nphiHits() > 0)
113 ++nCh;
114 else if (!phi && chit->netaHits() > 0)
115 ++nCh;
116 }
117 }
118 return nCh;
119 }

◆ nrpcEtaPhiCh()

unsigned int MuonCalib::MuonCalibTrackSummary::nrpcEtaPhiCh ( ) const

Definition at line 151 of file MuonCalibTrackSummary.cxx.

151 {
152 unsigned int nCh = 0;
153 std::vector<ChamberHitSummary>::const_iterator chit = chamberHitSummary.begin();
154 std::vector<ChamberHitSummary>::const_iterator chit_end = chamberHitSummary.end();
155 for (; chit != chit_end; ++chit) {
156 if (chit->chId.is_rpc()) {
157 if (chit->nphiHits() > 0 && chit->netaHits() > 0) ++nCh;
158 }
159 }
160 return nCh;
161 }

◆ ntgcCh()

unsigned int MuonCalib::MuonCalibTrackSummary::ntgcCh ( bool phi) const

Definition at line 121 of file MuonCalibTrackSummary.cxx.

121 {
122 unsigned int nCh = 0;
123 std::vector<ChamberHitSummary>::const_iterator chit = chamberHitSummary.begin();
124 std::vector<ChamberHitSummary>::const_iterator chit_end = chamberHitSummary.end();
125 for (; chit != chit_end; ++chit) {
126 if (chit->chId.is_tgc()) {
127 if (phi && chit->nphiHits() > 0)
128 ++nCh;
129 else if (!phi && chit->netaHits() > 0)
130 ++nCh;
131 }
132 }
133 return nCh;
134 }

◆ ntgcEtaPhiCh()

unsigned int MuonCalib::MuonCalibTrackSummary::ntgcEtaPhiCh ( ) const

Definition at line 163 of file MuonCalibTrackSummary.cxx.

163 {
164 unsigned int nCh = 0;
165 std::vector<ChamberHitSummary>::const_iterator chit = chamberHitSummary.begin();
166 std::vector<ChamberHitSummary>::const_iterator chit_end = chamberHitSummary.end();
167 for (; chit != chit_end; ++chit) {
168 if (chit->chId.is_tgc()) {
169 if (chit->nphiHits() > 0 && chit->netaHits() > 0) ++nCh;
170 }
171 }
172 return nCh;
173 }

◆ ntrt()

unsigned int MuonCalib::MuonCalibTrackSummary::ntrt ( ) const
inline

Definition at line 94 of file MuonCalibTrackSummary.h.

94{ return ntrtBarrel + ntrtEndcap; }

Member Data Documentation

◆ chamberHitSummary

std::vector<ChamberHitSummary> MuonCalib::MuonCalibTrackSummary::chamberHitSummary

Definition at line 107 of file MuonCalibTrackSummary.h.

◆ goodPrecisionStationLayers

std::set<MuonFixedIdManipulator::StationIndex> MuonCalib::MuonCalibTrackSummary::goodPrecisionStationLayers

set of precision layers with (MDT: two multi layers, CSC: at least 2 eta and phi hits) on the track

Definition at line 119 of file MuonCalibTrackSummary.h.

◆ hasBarrel

bool MuonCalib::MuonCalibTrackSummary::hasBarrel {false}

Definition at line 77 of file MuonCalibTrackSummary.h.

77{false};

◆ hasBarrelLayersWithRPC

bool MuonCalib::MuonCalibTrackSummary::hasBarrelLayersWithRPC {false}

Definition at line 80 of file MuonCalibTrackSummary.h.

80{false};

◆ hasEndcapA

bool MuonCalib::MuonCalibTrackSummary::hasEndcapA {false}

Definition at line 75 of file MuonCalibTrackSummary.h.

75{false};

◆ hasEndcapC

bool MuonCalib::MuonCalibTrackSummary::hasEndcapC {false}

Definition at line 76 of file MuonCalibTrackSummary.h.

76{false};

◆ hasEndcapLayersWithTGC

bool MuonCalib::MuonCalibTrackSummary::hasEndcapLayersWithTGC {false}

Definition at line 79 of file MuonCalibTrackSummary.h.

79{false};

◆ isTrack

bool MuonCalib::MuonCalibTrackSummary::isTrack {false}

Definition at line 82 of file MuonCalibTrackSummary.h.

82{false};

◆ ncscEtaHits

unsigned int MuonCalib::MuonCalibTrackSummary::ncscEtaHits {0}

Definition at line 73 of file MuonCalibTrackSummary.h.

73{0};

◆ ncscPhiHits

unsigned int MuonCalib::MuonCalibTrackSummary::ncscPhiHits {0}

Definition at line 72 of file MuonCalibTrackSummary.h.

72{0};

◆ nhits

unsigned int MuonCalib::MuonCalibTrackSummary::nhits {0}

Definition at line 54 of file MuonCalibTrackSummary.h.

54{0};

◆ nhitsLowerHemisphere

unsigned int MuonCalib::MuonCalibTrackSummary::nhitsLowerHemisphere {0}

Definition at line 60 of file MuonCalibTrackSummary.h.

60{0};

◆ nhitsUpperHemisphere

unsigned int MuonCalib::MuonCalibTrackSummary::nhitsUpperHemisphere {0}

Definition at line 59 of file MuonCalibTrackSummary.h.

59{0};

◆ nholes

unsigned int MuonCalib::MuonCalibTrackSummary::nholes {0}

Definition at line 62 of file MuonCalibTrackSummary.h.

62{0};

◆ nmdtHits

unsigned int MuonCalib::MuonCalibTrackSummary::nmdtHits {0}

Definition at line 66 of file MuonCalibTrackSummary.h.

66{0};

◆ nmdtHitsBelowADCCut

unsigned int MuonCalib::MuonCalibTrackSummary::nmdtHitsBelowADCCut {0}

Definition at line 67 of file MuonCalibTrackSummary.h.

67{0};

◆ noutliers

unsigned int MuonCalib::MuonCalibTrackSummary::noutliers {0}

Definition at line 63 of file MuonCalibTrackSummary.h.

63{0};

◆ npixel

unsigned int MuonCalib::MuonCalibTrackSummary::npixel {0}

Definition at line 55 of file MuonCalibTrackSummary.h.

55{0};

◆ npseudo

unsigned int MuonCalib::MuonCalibTrackSummary::npseudo {0}

Definition at line 64 of file MuonCalibTrackSummary.h.

64{0};

◆ nrpcEtaHits

unsigned int MuonCalib::MuonCalibTrackSummary::nrpcEtaHits {0}

Definition at line 69 of file MuonCalibTrackSummary.h.

69{0};

◆ nrpcPhiHits

unsigned int MuonCalib::MuonCalibTrackSummary::nrpcPhiHits {0}

Definition at line 68 of file MuonCalibTrackSummary.h.

68{0};

◆ nscatters

unsigned int MuonCalib::MuonCalibTrackSummary::nscatters {0}

Definition at line 61 of file MuonCalibTrackSummary.h.

61{0};

◆ nsct

unsigned int MuonCalib::MuonCalibTrackSummary::nsct {0}

Definition at line 56 of file MuonCalibTrackSummary.h.

56{0};

◆ ntgcEtaHits

unsigned int MuonCalib::MuonCalibTrackSummary::ntgcEtaHits {0}

Definition at line 71 of file MuonCalibTrackSummary.h.

71{0};

◆ ntgcPhiHits

unsigned int MuonCalib::MuonCalibTrackSummary::ntgcPhiHits {0}

Definition at line 70 of file MuonCalibTrackSummary.h.

70{0};

◆ ntrtBarrel

unsigned int MuonCalib::MuonCalibTrackSummary::ntrtBarrel {0}

Definition at line 57 of file MuonCalibTrackSummary.h.

57{0};

◆ ntrtEndcap

unsigned int MuonCalib::MuonCalibTrackSummary::ntrtEndcap {0}

Definition at line 58 of file MuonCalibTrackSummary.h.

58{0};

◆ ntubeHits

unsigned int MuonCalib::MuonCalibTrackSummary::ntubeHits {0}

Definition at line 65 of file MuonCalibTrackSummary.h.

65{0};

◆ phiEtaStationLayers

std::set<MuonFixedIdManipulator::PhiStationIndex> MuonCalib::MuonCalibTrackSummary::phiEtaStationLayers

set of phi layers which also have eta hits on the track

Definition at line 116 of file MuonCalibTrackSummary.h.

◆ phiStationLayers

std::set<MuonFixedIdManipulator::PhiStationIndex> MuonCalib::MuonCalibTrackSummary::phiStationLayers

set of phi layers on the track

Definition at line 110 of file MuonCalibTrackSummary.h.

◆ precisionStationLayers

std::set<MuonFixedIdManipulator::StationIndex> MuonCalib::MuonCalibTrackSummary::precisionStationLayers

set of precision layers on the track

Definition at line 113 of file MuonCalibTrackSummary.h.


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