ATLAS Offline Software
Loading...
Searching...
No Matches
IDHitPlots.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
6
9
10namespace Trk {
11 void
13 nBLayerHits = nullptr;
14 nPixelHits = nullptr;
15 nPixelHoles = nullptr;
16 nSCTHits = nullptr;
17 nSCTHoles = nullptr;
18 nTRTHits = nullptr;
19 nTRTHighThresholdHits = nullptr;
20
21 nBLayerOutliers = nullptr;
22 nBLayerSharedHits = nullptr;
23 nBLayerSplitHits = nullptr;
24 nPixelOutliers = nullptr;
25 nPixelContribLayers = nullptr;
26 nPixelSharedHits = nullptr;
27 nPixelSplitHits = nullptr;
28 nPixelGangedHits = nullptr;
29 nSCTOutliers = nullptr;
30 nSCTDoubleHoles = nullptr;
31 nSCTSharedHits = nullptr;
32 nTRTOutliers = nullptr;
35 }
36
37 void
39 nBLayerHits = Book1D("HitContent_NBlayerHits", "Number of B-Layer clusters;Number of Clusters;Entries", 5, -0.5,
40 4.5, false);
41 nPixelHits = Book1D("HitContent_NPixelHits", "Number of Pixel clusters;Number of Clusters", 10, -0.5, 9.5, false);
42 nPixelHoles = Book1D("HitContent_NPixelHoles", "Number of Pixel holes;Number of Holes", 10, -0.5, 9.5, false);
43 nSCTHits = Book1D("HitContent_NSCTHits", "Number of SCT clusters;Number of Clusters.", 21, -0.5, 20.5, false);
44 nSCTHoles = Book1D("HitContent_NSCTHoles", "Number of SCT holes;Number of Holes", 21, -0.5, 20.5, false);
45 nTRTHits = Book1D("HitContent_NTRTHits", "Number of TRT clusters;Number of Hits", 51, -0.5, 50.5, false);
46 nTRTHighThresholdHits = Book1D("HitContent_NTRTHighThresholdHits",
47 "Number of TRT high threshold Hits;Number of Hits", 51, -0.5, 50.5, false);
48
49 // debug plots
50 if (m_iDetailLevel >= 100) {
51 nBLayerOutliers = Book1D("HitContent_NBlayerOutliers", "Number of B-layer outliers;Number of Outliers;Entries", 5,
52 -0.5, 4.5, false);
53 ;
54 nBLayerSharedHits = Book1D("HitContent_NBlayerSharedHits",
55 "Number of shared B-layer clusters;Number of Shared Clusters", 5, -0.5, 4.5, false);
56 nBLayerSplitHits = Book1D("HitContent_NBlayerSplitHits",
57 "Number of split B-layer clusters;Number of Split Clusters", 4, -0.5, 2.5, false);
58 nPixelOutliers = Book1D("HitContent_NPixelOutliers", "Number of Pixel outliers;Number of Outliers", 10, -0.5, 9.5,
59 false);
60 nPixelContribLayers = Book1D("HitContent_NPixelContribLayers",
61 "Number of contributed Pixel layers;Number of Layers", 5, -0.5, 4.5, false);
62 nPixelSharedHits = Book1D("HitContent_NPixelSharedHits",
63 "Number of shared Pixel clusters;Number of Shared Clusters", 10, -0.5, 9.5, false);
64 nPixelSplitHits = Book1D("HitContent_NPixelSplitHits", "Number of split Pixel clusters; Number of Split Clusters",
65 5, -0.5, 4.5, false);
66 nPixelGangedHits = Book1D("HitContent_NPixelGangedHits", "Number of ganged Pixel clusters;Number of Clusters", 10,
67 -0.5, 9.5, false);
68 nPixelGangedHitsFlaggedFakes = Book1D("HitContent_NPixelGangedHitsFlaggedFakes",
69 "Number of ganged flagged fake Pixel clusters;Number of Clusters", 10, -0.5,
70 9.5, false);
71 nSCTOutliers = Book1D("HitContent_NSCTOutliers", "Number of SCT Outliers;Number of Outliers", 21, -0.5, 20.5,
72 false);
73 nSCTDoubleHoles = Book1D("HitContent_NSCTDoubleHoles", "Number of SCT double holes;Number of Double Holes", 21,
74 -0.5, 20.5, false);
75 nSCTSharedHits = Book1D("HitContent_NSCTSharedHits", "Number of shared SCT clusters;Number of Shared Clusters",
76 21, -0.5, 20.5, false);
77 nTRTOutliers = Book1D("HitContent_NTRTOutliers", "Number of TRT outliers;Number of Outliers", 51, -0.5, 50.5,
78 false);
79 nTRTHighThresholdOutliers = Book1D("HitContent_NTRTHighThresholdOutliers",
80 "Number of TRT High Threshold outliers;Number of Outliers", 51, -0.5, 50.5,
81 false);
82 }
83 }
84
85 void
87 uint8_t iBLayerHits(0), iPixHits(0), iSctHits(0), iTrtHits(0);
88 uint8_t iPixHoles(0), iSCTHoles(0), iTrtHTHits(0);
89
91 nBLayerHits->Fill(iBLayerHits);
92 }
93 if (trk.summaryValue(iPixHits, xAOD::numberOfPixelHits)) {
94 nPixelHits->Fill(iPixHits);
95 }
96 if (trk.summaryValue(iSctHits, xAOD::numberOfSCTHits)) {
97 nSCTHits->Fill(iSctHits);
98 }
99 if (trk.summaryValue(iTrtHits, xAOD::numberOfTRTHits)) {
100 nTRTHits->Fill(iTrtHits);
101 }
102 if (trk.summaryValue(iPixHoles, xAOD::numberOfPixelHoles)) {
103 nPixelHoles->Fill(iPixHoles);
104 }
105 if (trk.summaryValue(iSCTHoles, xAOD::numberOfSCTHoles)) {
106 nSCTHoles->Fill(iSCTHoles);
107 }
109 nTRTHighThresholdHits->Fill(iTrtHTHits);
110 }
111
112 // expert plots
113 if (m_iDetailLevel >= 100) {
114 uint8_t iBLayerOutliers(0), iBLayerShared(0), iBLayerSplit(0);
115 uint8_t iPixelOutliers(0), iPixelContribLayers(0), iPixelShared(0), iPixelSplit(0), iPixelGanged(0),
116 iPixelGangedFakes(0);
117 uint8_t iSCTOutliers(0), iSCTDoubleHoles(0), iSCTShared(0);
118 uint8_t iTRTOutliers(0), iTRTHTOutliers(0);
120 nBLayerOutliers->Fill(iBLayerOutliers);
121 }
123 nBLayerSharedHits->Fill(iBLayerShared);
124 }
126 nBLayerSplitHits->Fill(iBLayerSplit);
127 }
128 if (trk.summaryValue(iPixelOutliers, xAOD::numberOfPixelOutliers)) {
129 nPixelOutliers->Fill(iPixelOutliers);
130 }
131 if (trk.summaryValue(iPixelContribLayers, xAOD::numberOfContribPixelLayers)) {
132 nPixelContribLayers->Fill(iPixelContribLayers);
133 }
134 if (trk.summaryValue(iPixelShared, xAOD::numberOfPixelSharedHits)) {
135 nPixelSharedHits->Fill(iPixelShared);
136 }
137 if (trk.summaryValue(iPixelSplit, xAOD::numberOfPixelSplitHits)) {
138 nPixelSplitHits->Fill(iPixelSplit);
139 }
140 if (trk.summaryValue(iPixelGanged, xAOD::numberOfGangedPixels)) {
141 nPixelGangedHits->Fill(iPixelGanged);
142 }
143 if (trk.summaryValue(iPixelGangedFakes, xAOD::numberOfGangedFlaggedFakes)) {
144 nPixelGangedHitsFlaggedFakes->Fill(iPixelGangedFakes);
145 }
146 if (trk.summaryValue(iSCTOutliers, xAOD::numberOfSCTOutliers)) {
147 nSCTOutliers->Fill(iSCTOutliers);
148 }
149 if (trk.summaryValue(iSCTDoubleHoles, xAOD::numberOfSCTDoubleHoles)) {
150 nSCTDoubleHoles->Fill(iSCTDoubleHoles);
151 }
152 if (trk.summaryValue(iSCTShared, xAOD::numberOfSCTSharedHits)) {
153 nSCTSharedHits->Fill(iSCTShared);
154 }
155 if (trk.summaryValue(iTRTOutliers, xAOD::numberOfTRTOutliers)) {
156 nTRTOutliers->Fill(iTRTOutliers);
157 }
158 if (trk.summaryValue(iTRTHTOutliers, xAOD::numberOfTRTHighThresholdOutliers)) {
159 nTRTHighThresholdOutliers->Fill(iTRTHTOutliers);
160 }
161 }
162 }
163}
TH1D * Book1D(const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
Definition PlotBase.cxx:94
int m_iDetailLevel
Definition PlotBase.h:101
void fill(const xAOD::TrackParticle &trk)
TH1 * nPixelOutliers
Definition IDHitPlots.h:34
TH1 * nPixelGangedHits
Definition IDHitPlots.h:38
TH1 * nTRTHighThresholdHits
Definition IDHitPlots.h:26
TH1 * nPixelGangedHitsFlaggedFakes
Definition IDHitPlots.h:44
TH1 * nSCTSharedHits
Definition IDHitPlots.h:41
TH1 * nBLayerOutliers
Definition IDHitPlots.h:31
TH1 * nBLayerSplitHits
Definition IDHitPlots.h:33
TH1 * nPixelSplitHits
Definition IDHitPlots.h:37
void initializePlots()
TH1 * nTRTHighThresholdOutliers
Definition IDHitPlots.h:43
TH1 * nSCTDoubleHoles
Definition IDHitPlots.h:40
TH1 * nPixelSharedHits
Definition IDHitPlots.h:36
TH1 * nBLayerSharedHits
Definition IDHitPlots.h:32
TH1 * nPixelContribLayers
Definition IDHitPlots.h:35
bool summaryValue(uint8_t &value, const SummaryType &information) const
Accessor for TrackSummary values.
Ensure that the ATLAS eigen extensions are properly loaded.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
@ numberOfGangedPixels
number of pixels which have a ganged ambiguity [unit8_t].
@ numberOfPixelHoles
number of pixel layers on track with absence of hits [unit8_t].
@ numberOfContribPixelLayers
number of contributing layers of the pixel detector [unit8_t].
@ numberOfTRTHighThresholdOutliers
number of TRT high threshold outliers (only xenon counted) [unit8_t].
@ numberOfPixelSplitHits
number of Pixel all-layer hits split by cluster splitting [unit8_t].
@ numberOfInnermostPixelLayerSharedHits
number of Pixel 0th layer barrel hits shared by several tracks.
@ numberOfPixelOutliers
these are the pixel outliers, including the b-layer [unit8_t].
@ numberOfTRTHits
number of TRT hits [unit8_t].
@ numberOfInnermostPixelLayerSplitHits
number of Pixel 0th layer barrel hits split by cluster splitting
@ numberOfGangedFlaggedFakes
number of Ganged Pixels flagged as fakes [unit8_t].
@ numberOfInnermostPixelLayerOutliers
number of 0th layer barrel outliers
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ numberOfSCTDoubleHoles
number of Holes in both sides of a SCT module [unit8_t].
@ numberOfSCTOutliers
number of SCT outliers [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].
@ numberOfTRTHighThresholdHits
number of TRT hits which pass the high threshold (only xenon counted) [unit8_t].
@ numberOfTRTOutliers
number of TRT outliers [unit8_t].
@ numberOfSCTHoles
number of SCT holes [unit8_t].