ATLAS Offline Software
VisualizationHelpers.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef MUONR4_MUONVISUALIZATIONHELPERS_H
5 #define MUONR4_MUONVISUALIZATIONHELPERS_H
6 
7 
10 #include <memory>
11 #include <vector>
13 
14 
15 #include "TEllipse.h"
16 #include "TBox.h"
17 #include "TLatex.h"
18 #include "TLine.h"
19 #include "TArrow.h"
20 
21 namespace MuonValR4 {
23  constexpr int hollowFilling = 0;
24  constexpr int fullFilling = 1001;
25  constexpr int hatchedFilling = 3344;
26 
28  constexpr int objViewEta = Acts::toUnderlying(MuonR4::SegmentFit::AxisDefs::etaCov);
29  constexpr int objViewPhi = Acts::toUnderlying(MuonR4::SegmentFit::AxisDefs::phiCov);
30 
31 
32  std::vector<std::unique_ptr<TObject>> clone(const std::vector<std::unique_ptr<TObject>>& cloneMe);
40  std::unique_ptr<TEllipse> drawDriftCircle(const Amg::Vector3D& center,
41  const double radius,
42  const int color = kViolet,
43  const int fillStyle = hollowFilling);
44 
45 
53  std::unique_ptr<TBox> drawBox(const Amg::Vector3D& boxCenter,
54  const double boxWidth,
55  const double boxHeight,
56  const int color = kGreen +2,
57  const int fillStyle = hollowFilling,
58  const int view = objViewEta);
67  std::unique_ptr<TBox> drawBox(const double x1,
68  const double y1,
69  const double x2,
70  const double y2,
71  const int color = kGreen +2,
72  const int fillStyle = hollowFilling);
80  std::unique_ptr<TLine> drawLine(const MuonR4::SegmentFit::Parameters& pars,
81  const double lowEnd, const double highEnd,
82  const int color = kRed +1,
83  const int lineStyle = kDashed,
84  const int view = objViewEta);
85 
86  std::unique_ptr<TArrow> drawArrow(const Amg::Vector3D& start,
87  const Amg::Vector3D& dir,
88  const int color = kRed +1,
89  const int lineStyle = kDashed,
90  const int view = objViewEta);
96  std::unique_ptr<TLatex> drawLabel(const std::string& text,
97  const double xPos,
98  const double yPos,
99  const unsigned int fontSize = 18);
104  std::unique_ptr<TLatex> drawAtlasLabel(const double xPos,
105  const double yPos,
106  const std::string& status = "Internal");
112  std::unique_ptr<TLatex> drawLumiSqrtS(const double xPos,
113  const double yPos,
114  const std::string_view sqrtS="14",
115  const std::string_view lumi = "");
116 }
117 #endif
MuonValR4::fullFilling
constexpr int fullFilling
Definition: VisualizationHelpers.h:24
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
MuonValR4::drawLine
std::unique_ptr< TLine > drawLine(const MuonR4::SegmentFit::Parameters &pars, const double lowEnd, const double highEnd, const int color=kRed+1, const int lineStyle=kDashed, const int view=objViewEta)
Draws a line from the segment fit parameters.
Definition: VisualizationHelpers.cxx:67
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:215
color
Definition: jFexInputByteStreamTool.cxx:25
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:13
plotBeamSpotCompare.x2
x2
Definition: plotBeamSpotCompare.py:217
MuonValR4::drawBox
std::unique_ptr< TBox > drawBox(const Amg::Vector3D &boxCenter, const double boxWidth, const double boxHeight, const int color=kGreen+2, const int fillStyle=hollowFilling, const int view=objViewEta)
Creates a box for drawing, e.g strip measurements.
Definition: VisualizationHelpers.cxx:49
MuonR4::SpacePoint::CovIdx::etaCov
@ etaCov
MuonValR4::drawLabel
std::unique_ptr< TLatex > drawLabel(const std::string &text, const double xPos, const double yPos, const unsigned int fontSize=18)
Create a TLatex label,.
Definition: VisualizationHelpers.cxx:40
MuonValR4::clone
std::vector< std::unique_ptr< TObject > > clone(const std::vector< std::unique_ptr< TObject >> &cloneMe)
Definition: VisualizationHelpers.cxx:13
makeTRTBarrelCans.y1
tuple y1
Definition: makeTRTBarrelCans.py:15
GeoPrimitives.h
makeTRTBarrelCans.y2
tuple y2
Definition: makeTRTBarrelCans.py:18
MuonR4::SegmentFit::Parameters
Acts::Experimental::CompositeSpacePointLineFitter::ParamVec_t Parameters
Definition: MuonHoughDefs.h:46
MuonValR4::objViewPhi
constexpr int objViewPhi
Definition: VisualizationHelpers.h:29
beamspotman.dir
string dir
Definition: beamspotman.py:619
MuonValR4
Lightweight algorithm to read xAOD MDT sim hits and (fast-digitised) drift circles from SG and fill a...
Definition: IPatternVisualizationTool.h:23
MuonValR4::objViewEta
constexpr int objViewEta
ObjectView.
Definition: VisualizationHelpers.h:28
MuonR4::SpacePoint::CovIdx::phiCov
@ phiCov
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
lumiFormat.lumi
lumi
Definition: lumiFormat.py:106
MuonValR4::drawArrow
std::unique_ptr< TArrow > drawArrow(const Amg::Vector3D &start, const Amg::Vector3D &dir, const int color=kRed+1, const int lineStyle=kDashed, const int view=objViewEta)
Definition: VisualizationHelpers.cxx:30
SegmentFitterEventData.h
MuonValR4::hollowFilling
constexpr int hollowFilling
Filling codes for hollow / fullFilling / hatched filling.
Definition: VisualizationHelpers.h:23
makeTransCanvas.text
text
Definition: makeTransCanvas.py:11
MuonValR4::drawDriftCircle
std::unique_ptr< TEllipse > drawDriftCircle(const Amg::Vector3D &center, const double radius, const int color=kViolet, const int fillStyle=hollowFilling)
Create a TEllipse for drawing a drift circle.
Definition: VisualizationHelpers.cxx:20
MuonValR4::drawAtlasLabel
std::unique_ptr< TLatex > drawAtlasLabel(const double xPos, const double yPos, const std::string &status="Internal")
Create a ATLAS label.
Definition: VisualizationHelpers.cxx:80
merge.status
status
Definition: merge.py:16
MuonValR4::drawLumiSqrtS
std::unique_ptr< TLatex > drawLumiSqrtS(const double xPos, const double yPos, const std::string_view sqrtS="14", const std::string_view lumi="")
Create a luminosity sqrtS label.
Definition: VisualizationHelpers.cxx:84
MuonValR4::hatchedFilling
constexpr int hatchedFilling
Definition: VisualizationHelpers.h:25
drawFromPickle.view
view
Definition: drawFromPickle.py:294