ATLAS Offline Software
Classes | Public Member Functions | Public Attributes | List of all members
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 More...
 
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 More...
 
unsigned int netaTrigHits () const
 
unsigned int nmdtHitsPerMl (int ml) const
 access to number of MDT hits per ml (ml=1,2) More...
 
bool hasEndcap () const
 
bool hasMuon () const
 
bool hasId () const
 
std::string dump () const
 dump counts to string More...
 

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 More...
 
std::set< MuonFixedIdManipulator::StationIndexprecisionStationLayers
 set of precision layers on the track More...
 
std::set< MuonFixedIdManipulator::PhiStationIndexphiEtaStationLayers
 set of phi layers which also have eta hits on the track More...
 
std::set< MuonFixedIdManipulator::StationIndexgoodPrecisionStationLayers
 set of precision layers with (MDT: two multi layers, CSC: at least 2 eta and phi hits) on the track More...
 

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  }

◆ hasEndcap()

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

Definition at line 103 of file MuonCalibTrackSummary.h.

103 { return hasEndcapA || hasEndcapC; }

◆ 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  }

◆ 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.

◆ hasBarrelLayersWithRPC

bool MuonCalib::MuonCalibTrackSummary::hasBarrelLayersWithRPC {false}

Definition at line 80 of file MuonCalibTrackSummary.h.

◆ hasEndcapA

bool MuonCalib::MuonCalibTrackSummary::hasEndcapA {false}

Definition at line 75 of file MuonCalibTrackSummary.h.

◆ hasEndcapC

bool MuonCalib::MuonCalibTrackSummary::hasEndcapC {false}

Definition at line 76 of file MuonCalibTrackSummary.h.

◆ hasEndcapLayersWithTGC

bool MuonCalib::MuonCalibTrackSummary::hasEndcapLayersWithTGC {false}

Definition at line 79 of file MuonCalibTrackSummary.h.

◆ isTrack

bool MuonCalib::MuonCalibTrackSummary::isTrack {false}

Definition at line 82 of file MuonCalibTrackSummary.h.

◆ ncscEtaHits

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

Definition at line 73 of file MuonCalibTrackSummary.h.

◆ ncscPhiHits

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

Definition at line 72 of file MuonCalibTrackSummary.h.

◆ nhits

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

Definition at line 54 of file MuonCalibTrackSummary.h.

◆ nhitsLowerHemisphere

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

Definition at line 60 of file MuonCalibTrackSummary.h.

◆ nhitsUpperHemisphere

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

Definition at line 59 of file MuonCalibTrackSummary.h.

◆ nholes

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

Definition at line 62 of file MuonCalibTrackSummary.h.

◆ nmdtHits

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

Definition at line 66 of file MuonCalibTrackSummary.h.

◆ nmdtHitsBelowADCCut

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

Definition at line 67 of file MuonCalibTrackSummary.h.

◆ noutliers

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

Definition at line 63 of file MuonCalibTrackSummary.h.

◆ npixel

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

Definition at line 55 of file MuonCalibTrackSummary.h.

◆ npseudo

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

Definition at line 64 of file MuonCalibTrackSummary.h.

◆ nrpcEtaHits

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

Definition at line 69 of file MuonCalibTrackSummary.h.

◆ nrpcPhiHits

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

Definition at line 68 of file MuonCalibTrackSummary.h.

◆ nscatters

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

Definition at line 61 of file MuonCalibTrackSummary.h.

◆ nsct

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

Definition at line 56 of file MuonCalibTrackSummary.h.

◆ ntgcEtaHits

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

Definition at line 71 of file MuonCalibTrackSummary.h.

◆ ntgcPhiHits

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

Definition at line 70 of file MuonCalibTrackSummary.h.

◆ ntrtBarrel

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

Definition at line 57 of file MuonCalibTrackSummary.h.

◆ ntrtEndcap

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

Definition at line 58 of file MuonCalibTrackSummary.h.

◆ ntubeHits

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

Definition at line 65 of file MuonCalibTrackSummary.h.

◆ 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:
python.SystemOfUnits.second
int second
Definition: SystemOfUnits.py:120
MuonCalib::MuonCalibTrackSummary::phiStationLayers
std::set< MuonFixedIdManipulator::PhiStationIndex > phiStationLayers
set of phi layers on the track
Definition: MuonCalibTrackSummary.h:110
MuonCalib::MuonCalibTrackSummary::ntgcPhiHits
unsigned int ntgcPhiHits
Definition: MuonCalibTrackSummary.h:70
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
MuonCalib::MuonCalibTrackSummary::hasEndcapC
bool hasEndcapC
Definition: MuonCalibTrackSummary.h:76
MuonCalib::MuonCalibTrackSummary::ntrtEndcap
unsigned int ntrtEndcap
Definition: MuonCalibTrackSummary.h:58
MuonCalib::MuonCalibTrackSummary::hasId
bool hasId() const
Definition: MuonCalibTrackSummary.h:105
MuonCalib::MuonCalibTrackSummary::nmdtHits
unsigned int nmdtHits
Definition: MuonCalibTrackSummary.h:66
MuonCalib::MuonCalibTrackSummary::ntrtBarrel
unsigned int ntrtBarrel
Definition: MuonCalibTrackSummary.h:57
MuonCalib::MuonCalibTrackSummary::nrpcEtaHits
unsigned int nrpcEtaHits
Definition: MuonCalibTrackSummary.h:69
MuonCalib::MuonCalibTrackSummary::phiEtaStationLayers
std::set< MuonFixedIdManipulator::PhiStationIndex > phiEtaStationLayers
set of phi layers which also have eta hits on the track
Definition: MuonCalibTrackSummary.h:116
MuonCalib::MuonCalibTrackSummary::ncscEtaHits
unsigned int ncscEtaHits
Definition: MuonCalibTrackSummary.h:73
MuonCalib::MuonCalibTrackSummary::npixel
unsigned int npixel
Definition: MuonCalibTrackSummary.h:55
MuonCalib::MuonCalibTrackSummary::ntgcEtaHits
unsigned int ntgcEtaHits
Definition: MuonCalibTrackSummary.h:71
MuonCalib::MuonCalibTrackSummary::noutliers
unsigned int noutliers
Definition: MuonCalibTrackSummary.h:63
MuonCalib::MuonCalibTrackSummary::ntrt
unsigned int ntrt() const
Definition: MuonCalibTrackSummary.h:94
MuonCalib::MuonCalibTrackSummary::chamberHitSummary
std::vector< ChamberHitSummary > chamberHitSummary
Definition: MuonCalibTrackSummary.h:107
MuonCalib::MuonCalibTrackSummary::ncscPhiHits
unsigned int ncscPhiHits
Definition: MuonCalibTrackSummary.h:72
MuonCalib::MuonCalibTrackSummary::nrpcPhiHits
unsigned int nrpcPhiHits
Definition: MuonCalibTrackSummary.h:68
MuonCalib::MuonCalibTrackSummary::precisionStationLayers
std::set< MuonFixedIdManipulator::StationIndex > precisionStationLayers
set of precision layers on the track
Definition: MuonCalibTrackSummary.h:113
MuonCalib::MuonCalibTrackSummary::nsct
unsigned int nsct
Definition: MuonCalibTrackSummary.h:56
DeMoScan.first
bool first
Definition: DeMoScan.py:534
MuonCalib::MuonCalibTrackSummary::goodPrecisionStationLayers
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
Definition: MuonCalibTrackSummary.h:119
MuonCalib::MuonCalibTrackSummary::nscatters
unsigned int nscatters
Definition: MuonCalibTrackSummary.h:61
MuonCalib::MuonCalibTrackSummary::nhits
unsigned int nhits
Definition: MuonCalibTrackSummary.h:54
MuonCalib::MuonCalibTrackSummary::npseudo
unsigned int npseudo
Definition: MuonCalibTrackSummary.h:64
MuonCalib::MuonCalibTrackSummary::hasEndcapA
bool hasEndcapA
Definition: MuonCalibTrackSummary.h:75
MuonCalib::MuonCalibTrackSummary::hasMuon
bool hasMuon() const
Definition: MuonCalibTrackSummary.h:104
MuonCalib::MuonCalibTrackSummary::nholes
unsigned int nholes
Definition: MuonCalibTrackSummary.h:62