Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
11 using namespace SegmentFit;
14 const int fillStyle) {
15 auto ellipse = std::make_unique<TEllipse>(center.y(), center.z(),
radius);
16 ellipse->SetLineColor(
color);
17 ellipse->SetFillStyle(fillStyle);
18 ellipse->SetLineWidth(1);
19 ellipse->SetFillColorAlpha(
color, 0.2);
23 const int color,
const int lineStyle,
const int view){
27 arrow->SetLineColor(
color);
28 arrow->SetLineWidth(2);
29 arrow->SetLineStyle(lineStyle);
33 const double xPos,
const double yPos,
34 const unsigned int fontSize) {
35 auto tl = std::make_unique<TLatex>(xPos, yPos,
text.c_str());
38 tl->SetTextSize(fontSize);
42 const double boxWidth,
const double boxHeight,
43 const int color,
const int fillStyle,
45 return drawBox(boxCenter[
view] - 0.5*boxWidth, boxCenter.z() - 0.5*boxHeight,
46 boxCenter[
view] + 0.5*boxWidth, boxCenter.z() + 0.5*boxHeight,
49 std::unique_ptr<TBox>
drawBox(
const double x1,
const double y1,
50 const double x2,
const double y2,
51 const int color,
const int fillStyle) {
52 auto box = std::make_unique<TBox>(
x1,
y1,
x2,
y2);
53 box->SetFillColor(
color);
54 box->SetLineColor(
color);
55 box->SetFillStyle(fillStyle);
56 box->SetFillColorAlpha(
color, 0.8);
60 const double lowEnd,
const double highEnd,
61 const int color,
const int lineStyle,
64 const double x1 = (
pos + Amg::intersect<3>(
pos,
dir,Amg::Vector3D::UnitZ(), lowEnd).value_or(0.)*
dir)[
view];
65 const double x2 = (
pos + Amg::intersect<3>(
pos,
dir,Amg::Vector3D::UnitZ(), highEnd).value_or(0.)*
dir)[
view];
66 auto seedLine = std::make_unique<TLine>(
x1, lowEnd,
x2, highEnd);
67 seedLine->SetLineColor(
color);
68 seedLine->SetLineWidth(2);
69 seedLine->SetLineStyle(lineStyle);
73 const std::string&
status) {
78 const std::string_view sqrtS,
79 const std::string_view
lumi) {
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.
AmgVector(toInt(ParamDefs::nPars)) Parameters
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.
std::pair< Amg::Vector3D, Amg::Vector3D > makeLine(const Parameters &pars)
Returns the parsed parameters into an Eigen line parametrization.
std::unique_ptr< TLatex > drawLabel(const std::string &text, const double xPos, const double yPos, const unsigned int fontSize=18)
Create a TLatex label,.
Lightweight algorithm to read xAOD MDT sim hits and (fast-digitised) drift circles from SG and fill a...
Eigen::Matrix< double, 3, 1 > Vector3D
This header ties the generic definitions in this package.
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)
std::unique_ptr< TEllipse > drawDriftCircle(const Amg::Vector3D ¢er, const double radius, const int color=kViolet, const int fillStyle=hollowFilling)
Create a TEllipse for drawing a drift circle.
std::unique_ptr< TLatex > drawAtlasLabel(const double xPos, const double yPos, const std::string &status="Internal")
Create a ATLAS label.
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.