ATLAS Offline Software
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 
10 namespace 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;
33  nTRTHighThresholdOutliers = 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  }
108  if (trk.summaryValue(iTrtHTHits, xAOD::numberOfTRTHighThresholdHits)) {
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);
119  if (trk.summaryValue(iBLayerOutliers, xAOD::numberOfInnermostPixelLayerOutliers)) {
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 }
xAOD::numberOfPixelHoles
@ numberOfPixelHoles
number of pixel layers on track with absence of hits [unit8_t].
Definition: TrackingPrimitives.h:261
PlotBase::m_iDetailLevel
int m_iDetailLevel
Definition: PlotBase.h:100
xAOD::numberOfInnermostPixelLayerSplitHits
@ numberOfInnermostPixelLayerSplitHits
number of Pixel 0th layer barrel hits split by cluster splitting
Definition: TrackingPrimitives.h:240
PlotBase::Book1D
TH1F * 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:88
xAOD::numberOfSCTSharedHits
@ numberOfSCTSharedHits
number of SCT hits shared by several tracks [unit8_t].
Definition: TrackingPrimitives.h:272
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
Trk::IDHitPlots::nPixelSharedHits
TH1 * nPixelSharedHits
Definition: IDHitPlots.h:36
Trk::IDHitPlots::nTRTHighThresholdHits
TH1 * nTRTHighThresholdHits
Definition: IDHitPlots.h:26
Trk::IDHitPlots::nPixelSplitHits
TH1 * nPixelSplitHits
Definition: IDHitPlots.h:37
xAOD::numberOfGangedPixels
@ numberOfGangedPixels
number of pixels which have a ganged ambiguity [unit8_t].
Definition: TrackingPrimitives.h:264
xAOD::numberOfGangedFlaggedFakes
@ numberOfGangedFlaggedFakes
number of Ganged Pixels flagged as fakes [unit8_t].
Definition: TrackingPrimitives.h:265
xAOD::TrackParticle_v1::summaryValue
bool summaryValue(uint8_t &value, const SummaryType &information) const
Accessor for TrackSummary values.
Definition: TrackParticle_v1.cxx:736
Trk::IDHitPlots::nSCTDoubleHoles
TH1 * nSCTDoubleHoles
Definition: IDHitPlots.h:40
xAOD::numberOfPixelHits
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
Definition: TrackingPrimitives.h:259
xAOD::numberOfTRTHits
@ numberOfTRTHits
number of TRT hits [unit8_t].
Definition: TrackingPrimitives.h:275
Trk::IDHitPlots::nPixelHoles
TH1 * nPixelHoles
Definition: IDHitPlots.h:22
Trk::IDHitPlots::nPixelHits
TH1 * nPixelHits
Definition: IDHitPlots.h:21
Trk::IDHitPlots::initializePlots
void initializePlots()
Definition: IDHitPlots.cxx:38
xAOD::numberOfTRTHighThresholdHits
@ numberOfTRTHighThresholdHits
number of TRT hits which pass the high threshold (only xenon counted) [unit8_t].
Definition: TrackingPrimitives.h:278
Trk::IDHitPlots::nSCTSharedHits
TH1 * nSCTSharedHits
Definition: IDHitPlots.h:41
xAOD::numberOfInnermostPixelLayerOutliers
@ numberOfInnermostPixelLayerOutliers
number of 0th layer barrel outliers
Definition: TrackingPrimitives.h:238
Trk::IDHitPlots::nPixelOutliers
TH1 * nPixelOutliers
Definition: IDHitPlots.h:34
xAOD::numberOfTRTHighThresholdOutliers
@ numberOfTRTHighThresholdOutliers
number of TRT high threshold outliers (only xenon counted) [unit8_t].
Definition: TrackingPrimitives.h:281
xAOD::numberOfPixelSharedHits
@ numberOfPixelSharedHits
number of Pixel all-layer hits shared by several tracks [unit8_t].
Definition: TrackingPrimitives.h:262
Trk::IDHitPlots::nTRTHighThresholdOutliers
TH1 * nTRTHighThresholdOutliers
Definition: IDHitPlots.h:43
Trk::IDHitPlots::nBLayerSharedHits
TH1 * nBLayerSharedHits
Definition: IDHitPlots.h:32
Trk::IDHitPlots::nSCTHits
TH1 * nSCTHits
Definition: IDHitPlots.h:23
xAOD::numberOfPixelOutliers
@ numberOfPixelOutliers
these are the pixel outliers, including the b-layer [unit8_t].
Definition: TrackingPrimitives.h:260
xAOD::numberOfPixelSplitHits
@ numberOfPixelSplitHits
number of Pixel all-layer hits split by cluster splitting [unit8_t].
Definition: TrackingPrimitives.h:263
xAOD::numberOfSCTHoles
@ numberOfSCTHoles
number of SCT holes [unit8_t].
Definition: TrackingPrimitives.h:270
TH1::Fill
int Fill(double)
Definition: rootspy.cxx:285
Trk::IDHitPlots::nBLayerOutliers
TH1 * nBLayerOutliers
Definition: IDHitPlots.h:31
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::IDHitPlots::nSCTHoles
TH1 * nSCTHoles
Definition: IDHitPlots.h:24
IDHitPlots.h
Trk::IDHitPlots::nPixelGangedHits
TH1 * nPixelGangedHits
Definition: IDHitPlots.h:38
Trk::IDHitPlots::nPixelContribLayers
TH1 * nPixelContribLayers
Definition: IDHitPlots.h:35
Trk::IDHitPlots::nTRTOutliers
TH1 * nTRTOutliers
Definition: IDHitPlots.h:42
Trk::IDHitPlots::init
void init()
Definition: IDHitPlots.cxx:12
xAOD::numberOfTRTOutliers
@ numberOfTRTOutliers
number of TRT outliers [unit8_t].
Definition: TrackingPrimitives.h:276
TrackParticle.h
Trk::IDHitPlots::fill
void fill(const xAOD::TrackParticle &trk)
Definition: IDHitPlots.cxx:86
xAOD::numberOfSCTOutliers
@ numberOfSCTOutliers
number of SCT outliers [unit8_t].
Definition: TrackingPrimitives.h:269
Trk::IDHitPlots::nTRTHits
TH1 * nTRTHits
Definition: IDHitPlots.h:25
xAOD::numberOfInnermostPixelLayerSharedHits
@ numberOfInnermostPixelLayerSharedHits
number of Pixel 0th layer barrel hits shared by several tracks.
Definition: TrackingPrimitives.h:239
xAOD::numberOfContribPixelLayers
@ numberOfContribPixelLayers
number of contributing layers of the pixel detector [unit8_t].
Definition: TrackingPrimitives.h:230
xAOD::numberOfSCTHits
@ numberOfSCTHits
number of hits in SCT [unit8_t].
Definition: TrackingPrimitives.h:268
Trk::IDHitPlots::nBLayerHits
TH1 * nBLayerHits
Definition: IDHitPlots.h:20
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
xAOD::numberOfSCTDoubleHoles
@ numberOfSCTDoubleHoles
number of Holes in both sides of a SCT module [unit8_t].
Definition: TrackingPrimitives.h:271
Trk::IDHitPlots::nSCTOutliers
TH1 * nSCTOutliers
Definition: IDHitPlots.h:39
Trk::IDHitPlots::nPixelGangedHitsFlaggedFakes
TH1 * nPixelGangedHitsFlaggedFakes
Definition: IDHitPlots.h:44
TrackParticleContainer.h
xAOD::numberOfInnermostPixelLayerHits
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
Definition: TrackingPrimitives.h:237
Trk::IDHitPlots::nBLayerSplitHits
TH1 * nBLayerSplitHits
Definition: IDHitPlots.h:33