Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
detector_benchmarks
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
EIC
benchmarks
detector_benchmarks
Commits
cb926e3d
Commit
cb926e3d
authored
7 months ago
by
shyam kumar
Browse files
Options
Downloads
Patches
Plain Diff
adding HitMap and Nhits vs Eta map
parent
19c9d187
No related branches found
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
benchmarks/tracking_performances/NhitsvsEta_ePIC.C
+241
-0
241 additions, 0 deletions
benchmarks/tracking_performances/NhitsvsEta_ePIC.C
benchmarks/tracking_performances/draw_hits.C
+313
-0
313 additions, 0 deletions
benchmarks/tracking_performances/draw_hits.C
with
554 additions
and
0 deletions
benchmarks/tracking_performances/NhitsvsEta_ePIC.C
0 → 100644
+
241
−
0
View file @
cb926e3d
// Code to draw average number of hits vs eta at the generated level
// Shyam Kumar; shyam055119@gmail.com; shyam.kumar@ba.infn.it
void
NhitsvsEta_ePIC
(
Double_t
mom
=
0
.
5
)
{
gStyle
->
SetPalette
(
1
);
gStyle
->
SetOptTitle
(
1
);
gStyle
->
SetTitleOffset
(.
85
,
"X"
);
gStyle
->
SetTitleOffset
(
1
.
0
,
"Y"
);
gStyle
->
SetTitleSize
(.
05
,
"X"
);
gStyle
->
SetTitleSize
(.
05
,
"Y"
);
gStyle
->
SetLabelSize
(.
04
,
"X"
);
gStyle
->
SetLabelSize
(.
04
,
"Y"
);
gStyle
->
SetHistLineWidth
(
2
);
gStyle
->
SetOptFit
(
1
);
gStyle
->
SetOptStat
(
0
);
// MC Track Properties
TFile
*
file
=
new
TFile
(
Form
(
"./sim%1.1f.edm4hep.root"
,
mom
));
// Tree with tracks and hits
TTreeReader
myReader
(
"events"
,
file
);
// name of tree and file
TTreeReaderArray
<
Float_t
>
charge
(
myReader
,
"MCParticles.charge"
);
TTreeReaderArray
<
Double_t
>
vx_mc
(
myReader
,
"MCParticles.vertex.x"
);
TTreeReaderArray
<
Double_t
>
vy_mc
(
myReader
,
"MCParticles.vertex.y"
);
TTreeReaderArray
<
Double_t
>
vz_mc
(
myReader
,
"MCParticles.vertex.z"
);
TTreeReaderArray
<
Float_t
>
px_mc
(
myReader
,
"MCParticles.momentum.x"
);
TTreeReaderArray
<
Float_t
>
py_mc
(
myReader
,
"MCParticles.momentum.y"
);
TTreeReaderArray
<
Float_t
>
pz_mc
(
myReader
,
"MCParticles.momentum.z"
);
TTreeReaderArray
<
Int_t
>
status
(
myReader
,
"MCParticles.generatorStatus"
);
TTreeReaderArray
<
Int_t
>
pdg
(
myReader
,
"MCParticles.PDG"
);
TTreeReaderArray
<
Double_t
>
*
vtx_si_x
,
*
vtx_si_y
,
*
vtx_si_z
;
TTreeReaderArray
<
Double_t
>
*
barrel_si_x
,
*
barrel_si_y
,
*
barrel_si_z
;
TTreeReaderArray
<
Double_t
>
*
disks_si_x
,
*
disks_si_y
,
*
disks_si_z
;
TTreeReaderArray
<
Double_t
>
*
endcap_etof_x
,
*
endcap_etof_y
,
*
endcap_etof_z
;
TTreeReaderArray
<
Double_t
>
*
barrel_mm_x
,
*
barrel_mm_y
,
*
barrel_mm_z
;
TTreeReaderArray
<
Double_t
>
*
barrel_tof_x
,
*
barrel_tof_y
,
*
barrel_tof_z
;
TTreeReaderArray
<
Double_t
>
*
out_mm_x
,
*
out_mm_y
,
*
out_mm_z
;
TTreeReaderArray
<
Double_t
>
*
endcap_fmm_x
,
*
endcap_fmm_y
,
*
endcap_fmm_z
;
TTreeReaderArray
<
Double_t
>
*
endcap_bmm_x
,
*
endcap_bmm_y
,
*
endcap_bmm_z
;
// check the quality flag for hits from primary tracks
TTreeReaderArray
<
Int_t
>
*
vtx_si_quality
,
*
barrel_si_quality
,
*
disks_si_quality
,
*
endcap_etof_quality
,
*
barrel_mm_quality
,
*
barrel_tof_quality
,
*
out_mm_quality
,
*
endcap_fmm_quality
,
*
endcap_bmm_quality
;
// Hits on detectors
// SVT IB
vtx_si_x
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"VertexBarrelHits.position.x"
);
vtx_si_y
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"VertexBarrelHits.position.y"
);
vtx_si_z
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"VertexBarrelHits.position.z"
);
vtx_si_quality
=
new
TTreeReaderArray
<
Int_t
>
(
myReader
,
"VertexBarrelHits.quality"
);
// SVT OB
barrel_si_x
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"SiBarrelHits.position.x"
);
barrel_si_y
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"SiBarrelHits.position.y"
);
barrel_si_z
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"SiBarrelHits.position.z"
);
barrel_si_quality
=
new
TTreeReaderArray
<
Int_t
>
(
myReader
,
"SiBarrelHits.quality"
);
// SVT Disks
disks_si_x
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"TrackerEndcapHits.position.x"
);
disks_si_y
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"TrackerEndcapHits.position.y"
);
disks_si_z
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"TrackerEndcapHits.position.z"
);
disks_si_quality
=
new
TTreeReaderArray
<
Int_t
>
(
myReader
,
"TrackerEndcapHits.quality"
);
// ETOF Hits
endcap_etof_x
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"TOFEndcapHits.position.x"
);
endcap_etof_y
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"TOFEndcapHits.position.y"
);
endcap_etof_z
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"TOFEndcapHits.position.z"
);
endcap_etof_quality
=
new
TTreeReaderArray
<
Int_t
>
(
myReader
,
"TOFEndcapHits.quality"
);
// Inner MPGD
barrel_mm_x
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"MPGDBarrelHits.position.x"
);
barrel_mm_y
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"MPGDBarrelHits.position.y"
);
barrel_mm_z
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"MPGDBarrelHits.position.z"
);
barrel_mm_quality
=
new
TTreeReaderArray
<
Int_t
>
(
myReader
,
"MPGDBarrelHits.quality"
);
// BarrelTOF
barrel_tof_x
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"TOFBarrelHits.position.x"
);
barrel_tof_y
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"TOFBarrelHits.position.y"
);
barrel_tof_z
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"TOFBarrelHits.position.z"
);
barrel_tof_quality
=
new
TTreeReaderArray
<
Int_t
>
(
myReader
,
"TOFBarrelHits.quality"
);
//Outer MPGD Hits
out_mm_x
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"OuterMPGDBarrelHits.position.x"
);
out_mm_y
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"OuterMPGDBarrelHits.position.y"
);
out_mm_z
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"OuterMPGDBarrelHits.position.z"
);
out_mm_quality
=
new
TTreeReaderArray
<
Int_t
>
(
myReader
,
"OuterMPGDBarrelHits.quality"
);
//Forward MPGD
endcap_fmm_x
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"ForwardMPGDEndcapHits.position.x"
);
endcap_fmm_y
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"ForwardMPGDEndcapHits.position.y"
);
endcap_fmm_z
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"ForwardMPGDEndcapHits.position.z"
);
endcap_fmm_quality
=
new
TTreeReaderArray
<
Int_t
>
(
myReader
,
"ForwardMPGDEndcapHits.quality"
);
//Backward MPGD
endcap_bmm_x
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"BackwardMPGDEndcapHits.position.x"
);
endcap_bmm_y
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"BackwardMPGDEndcapHits.position.y"
);
endcap_bmm_z
=
new
TTreeReaderArray
<
Double_t
>
(
myReader
,
"BackwardMPGDEndcapHits.position.z"
);
endcap_bmm_quality
=
new
TTreeReaderArray
<
Int_t
>
(
myReader
,
"BackwardMPGDEndcapHits.quality"
);
Double_t
etamc
=
0
.;
int
iEvent
=-
1
;
TCanvas
*
c1
=
new
TCanvas
(
"c1"
,
"coutput"
,
1400
,
1000
);
c1
->
SetMargin
(
0
.
10
,
0
.
05
,
0
.
1
,
0
.
07
);
c1
->
SetGridx
();
c1
->
SetGridy
();
TProfile
*
hits
=
new
TProfile
(
"hits"
,
"Nhits (#theta)"
,
70
,
-
3
.
5
,
3
.
5
);
hits
->
SetTitle
(
Form
(
"p = %1.1f GeV/c;#eta_{mc};Nhits"
,
mom
));
hits
->
GetXaxis
()
->
CenterTitle
();
hits
->
GetYaxis
()
->
CenterTitle
();
hits
->
SetMinimum
(
0
.);
std
::
vector
<
TVector3
>
hitPos
;
// The ePIC tracker
double
epsilon
=
1.0e-5
;
bool
debug
=
true
;
int
nhits_SVTIB
,
nhits_SVTOB
,
nhits_InMPGD
,
nhits_BTOF
,
nhits_OutMPGD
,
nhits_SVTDisks
,
nhits_FwdMPGDDisks
,
nhits_BwdMPGDDisks
,
nhits_ETOF
;
while
(
myReader
.
Next
())
{
hitPos
.
clear
();
iEvent
++
;
printf
(
"<--------------------Event No. %d--------------------->
\n
"
,
iEvent
);
// Generated primary track
if
(
charge
.
GetSize
()
>
1
)
continue
;
// skip event for larger than 1 tracks
Double_t
eta_Track
=
100
.;
// set it ouside from -3.5 to 3.5
Double_t
pmc
=
0
.;
for
(
int
j
=
0
;
j
<
charge
.
GetSize
();
++
j
){
if
(
status
[
j
]
!=
1
)
continue
;
pmc
=
sqrt
(
px_mc
[
j
]
*
px_mc
[
j
]
+
py_mc
[
j
]
*
py_mc
[
j
]
+
pz_mc
[
j
]
*
pz_mc
[
j
]);
Double_t
pzmc
=
pz_mc
[
j
];
Double_t
etamc
=
-
1
.
0
*
TMath
::
Log
(
TMath
::
Tan
((
TMath
::
ACos
(
pzmc
/
pmc
))
/
2
));
eta_Track
=
etamc
;
Double_t
particle
=
pdg
[
j
];
}
if
(
fabs
(
eta_Track
)
>
3
.
5
)
continue
;
//outside tracker acceptance
// Associated hits with the primary track of momentum (mom)
if
(
fabs
(
pmc
-
mom
)
>
epsilon
)
continue
;
// if (eta_Track<3.4) continue; // Debug for the hits in a given eta range
printf
(
"Eta of the generated track: %f, Momentum (GeV/c): %f
\n
"
,
eta_Track
,
pmc
);
// ePIC SVT IB Tracker
for
(
int
j
=
0
;
j
<
vtx_si_x
->
GetSize
();
++
j
){
Double_t
xhit
=
vtx_si_x
->
At
(
j
);
Double_t
yhit
=
vtx_si_y
->
At
(
j
);
Double_t
zhit
=
vtx_si_z
->
At
(
j
);
Int_t
quality
=
vtx_si_quality
->
At
(
j
);
if
(
quality
==
0
)
hitPos
.
push_back
(
TVector3
(
xhit
,
yhit
,
zhit
));
}
nhits_SVTIB
=
hitPos
.
size
();
hitPos
.
clear
();
if
(
debug
)
printf
(
"SVT IB Associated hits: %d
\n
"
,
nhits_SVTIB
);
// ePIC SVT OB Tracker
for
(
int
j
=
0
;
j
<
barrel_si_x
->
GetSize
();
++
j
){
Double_t
xhit
=
barrel_si_x
->
At
(
j
);
Double_t
yhit
=
barrel_si_y
->
At
(
j
);
Double_t
zhit
=
barrel_si_z
->
At
(
j
);
Int_t
quality
=
barrel_si_quality
->
At
(
j
);
if
(
quality
==
0
)
hitPos
.
push_back
(
TVector3
(
xhit
,
yhit
,
zhit
));
}
nhits_SVTOB
=
hitPos
.
size
();
hitPos
.
clear
();
if
(
debug
)
printf
(
"SVT OB Associated hits: %d
\n
"
,
nhits_SVTOB
);
// Inner MPGD Tracker
for
(
int
j
=
0
;
j
<
barrel_mm_x
->
GetSize
();
++
j
){
Double_t
xhit
=
barrel_mm_x
->
At
(
j
);
Double_t
yhit
=
barrel_mm_y
->
At
(
j
);
Double_t
zhit
=
barrel_mm_z
->
At
(
j
);
Int_t
quality
=
barrel_mm_quality
->
At
(
j
);
if
(
quality
==
0
)
hitPos
.
push_back
(
TVector3
(
xhit
,
yhit
,
zhit
));
}
nhits_InMPGD
=
hitPos
.
size
();
hitPos
.
clear
();
if
(
debug
)
printf
(
"Inner MPGD Associated hits: %d
\n
"
,
nhits_InMPGD
);
// Outer MPGD Tracker
for
(
int
j
=
0
;
j
<
out_mm_x
->
GetSize
();
++
j
){
Double_t
xhit
=
out_mm_x
->
At
(
j
);
Double_t
yhit
=
out_mm_y
->
At
(
j
);
Double_t
zhit
=
out_mm_z
->
At
(
j
);
Int_t
quality
=
out_mm_quality
->
At
(
j
);
if
(
quality
==
0
)
hitPos
.
push_back
(
TVector3
(
xhit
,
yhit
,
zhit
));
}
nhits_OutMPGD
=
hitPos
.
size
();
hitPos
.
clear
();
if
(
debug
)
printf
(
"Outer MPGD Associated hits: %d
\n
"
,
nhits_OutMPGD
);
// BTOF Tracker
for
(
int
j
=
0
;
j
<
barrel_tof_x
->
GetSize
();
++
j
){
Double_t
xhit
=
barrel_tof_x
->
At
(
j
);
Double_t
yhit
=
barrel_tof_y
->
At
(
j
);
Double_t
zhit
=
barrel_tof_z
->
At
(
j
);
Int_t
quality
=
barrel_tof_quality
->
At
(
j
);
if
(
quality
==
0
)
hitPos
.
push_back
(
TVector3
(
xhit
,
yhit
,
zhit
));
}
nhits_BTOF
=
hitPos
.
size
();
hitPos
.
clear
();
if
(
debug
)
printf
(
"BTOF Associated hits: %d
\n
"
,
nhits_BTOF
);
// ePIC SVT Disks Hits
for
(
int
j
=
0
;
j
<
disks_si_x
->
GetSize
();
++
j
){
Int_t
quality
=
disks_si_quality
->
At
(
j
);
Double_t
xhit
=
disks_si_x
->
At
(
j
);
Double_t
yhit
=
disks_si_y
->
At
(
j
);
Double_t
zhit
=
disks_si_z
->
At
(
j
);
if
(
quality
==
0
&&
zhit
>
0
)
hitPos
.
push_back
(
TVector3
(
xhit
,
yhit
,
zhit
));
else
if
(
quality
==
0
&&
zhit
<
0
)
hitPos
.
push_back
(
TVector3
(
xhit
,
yhit
,
zhit
));
}
nhits_SVTDisks
=
hitPos
.
size
();
hitPos
.
clear
();
if
(
debug
)
printf
(
"SVT Disks Associated hits: %d
\n
"
,
nhits_SVTDisks
);
// ETOF Tracker (Forward)
for
(
int
j
=
0
;
j
<
endcap_etof_x
->
GetSize
();
++
j
){
Double_t
xhit
=
endcap_etof_x
->
At
(
j
);
Double_t
yhit
=
endcap_etof_y
->
At
(
j
);
Double_t
zhit
=
endcap_etof_z
->
At
(
j
);
Int_t
quality
=
endcap_etof_quality
->
At
(
j
);
if
(
quality
==
0
)
hitPos
.
push_back
(
TVector3
(
xhit
,
yhit
,
zhit
));
}
nhits_ETOF
=
hitPos
.
size
();
hitPos
.
clear
();
if
(
debug
)
printf
(
"ETOF Associated hits: %d
\n
"
,
nhits_ETOF
);
// Forward MPGD
for
(
int
j
=
0
;
j
<
endcap_fmm_x
->
GetSize
();
++
j
){
Double_t
xhit
=
endcap_fmm_x
->
At
(
j
);
Double_t
yhit
=
endcap_fmm_y
->
At
(
j
);
Double_t
zhit
=
endcap_fmm_z
->
At
(
j
);
Int_t
quality
=
endcap_fmm_quality
->
At
(
j
);
if
(
quality
==
0
)
hitPos
.
push_back
(
TVector3
(
xhit
,
yhit
,
zhit
));
}
nhits_FwdMPGDDisks
=
hitPos
.
size
();
hitPos
.
clear
();
if
(
debug
)
printf
(
"Forward MPGD Associated hits: %d
\n
"
,
nhits_FwdMPGDDisks
);
// Backward MPGD
for
(
int
j
=
0
;
j
<
endcap_bmm_x
->
GetSize
();
++
j
){
Double_t
xhit
=
endcap_bmm_x
->
At
(
j
);
Double_t
yhit
=
endcap_bmm_y
->
At
(
j
);
Double_t
zhit
=
endcap_bmm_z
->
At
(
j
);
Int_t
quality
=
endcap_bmm_quality
->
At
(
j
);
if
(
quality
==
0
)
hitPos
.
push_back
(
TVector3
(
xhit
,
yhit
,
zhit
));
}
nhits_BwdMPGDDisks
=
hitPos
.
size
();
hitPos
.
clear
();
if
(
debug
)
printf
(
"Backward MPGD Associated hits: %d
\n
"
,
nhits_BwdMPGDDisks
);
int
nhits
=
nhits_SVTIB
+
nhits_SVTOB
+
nhits_InMPGD
+
nhits_BTOF
+
nhits_OutMPGD
+
nhits_SVTDisks
+
nhits_FwdMPGDDisks
+
nhits_BwdMPGDDisks
+
nhits_ETOF
;
if
(
nhits
>
0
)
hits
->
Fill
(
eta_Track
,
nhits
);
printf
(
"Total Associated hits: %d
\n
"
,
nhits
);
}
c1
->
cd
();
gPad
->
SetTicks
(
1
,
1
);
hits
->
SetLineWidth
(
2
);
hits
->
Draw
(
"hist"
);
c1
->
SaveAs
(
Form
(
"./Output/Nhitsvsmom%1.1f.png"
,
mom
));
c1
->
SaveAs
(
Form
(
"./Output/Nhitsvsmom%1.1f.root"
,
mom
));
}
This diff is collapsed.
Click to expand it.
benchmarks/tracking_performances/draw_hits.C
0 → 100644
+
313
−
0
View file @
cb926e3d
// Hits distribution of detectors
// Shyam Kumar:INFN Bari, shyam.kumar@ba.infn.it; shyam055119@gmail.com
#include
<TGraphErrors.h>
#include
<TF1.h>
#include
<TRandom.h>
#include
<TCanvas.h>
#include
<TLegend.h>
#include
<TMath.h>
void
draw_hits
(
double
mom
=
5
.
0
)
{
//==========Style of the plot============
gStyle
->
SetPalette
(
1
);
gStyle
->
SetOptTitle
(
1
);
gStyle
->
SetTitleOffset
(.
85
,
"X"
);
gStyle
->
SetTitleOffset
(.
85
,
"Y"
);
gStyle
->
SetTitleSize
(.
04
,
"X"
);
gStyle
->
SetTitleSize
(.
04
,
"Y"
);
gStyle
->
SetLabelSize
(.
04
,
"X"
);
gStyle
->
SetLabelSize
(.
04
,
"Y"
);
gStyle
->
SetHistLineWidth
(
2
);
gStyle
->
SetOptFit
(
1
);
gStyle
->
SetOptStat
(
0
);
//=======Reading the root file DD4HEP===========
TFile
*
f
=
TFile
::
Open
(
Form
(
"sim%1.1f.edm4hep.root"
,
mom
));
TTree
*
sim
=
(
TTree
*
)
f
->
Get
(
"events"
);
// Timer Start
TStopwatch
timer
;
timer
.
Start
();
TCanvas
*
c1
=
new
TCanvas
(
"c1"
,
"c1"
,
1200
,
1000
);
c1
->
SetMargin
(
0
.
09
,
0
.
03
,
0
.
1
,
0
.
06
);
// X-Y Hits
Int_t
nbins
=
320
;
Double_t
x
=
100
.,
y
=
100
.;
TH2D
*
hitsxy_vtx_si
=
new
TH2D
(
"hitsxy_vtx_si"
,
"hitsxy_vtx_si"
,
nbins
,
-
x
,
x
,
nbins
,
-
y
,
y
);
TH2D
*
hitsxy_barrel_si
=
new
TH2D
(
"hitsxy_barrel_si"
,
"hitsxy_barrel_si"
,
nbins
,
-
x
,
x
,
nbins
,
-
y
,
y
);
TH2D
*
hitsxy_barrel_mm_in
=
new
TH2D
(
"hitsxy_barrel_mm_in"
,
"hitsxy_barrel_mm_in"
,
nbins
,
-
x
,
x
,
nbins
,
-
y
,
y
);
TH2D
*
hitsxy_barrel_tof
=
new
TH2D
(
"hitsxy_barrel_tof"
,
"hitsxy_barrel_tof"
,
nbins
,
-
x
,
x
,
nbins
,
-
y
,
y
);
TH2D
*
hitsxy_barrel_mm_out
=
new
TH2D
(
"hitsxy_barrel_mm_out"
,
"hitsxy_barrel_mm_out"
,
nbins
,
-
x
,
x
,
nbins
,
-
y
,
y
);
TString
si_vtx_hitsXY
=
"VertexBarrelHits.position.y*0.1:VertexBarrelHits.position.x*0.1>>hitsxy_vtx_si"
;
TString
si_barrel_hitsXY
=
"SiBarrelHits.position.y*0.1:SiBarrelHits.position.x*0.1>>hitsxy_barrel_si"
;
TString
barrel_mpgd_in_hitsXY
=
"MPGDBarrelHits.position.y*0.1:MPGDBarrelHits.position.x*0.1>>hitsxy_barrel_mm_in"
;
TString
tof_barrel_hitsXY
=
"TOFBarrelHits.position.y*0.1:TOFBarrelHits.position.x*0.1>>hitsxy_barrel_tof"
;
TString
barrel_mpgd_out_hitsXY
=
"OuterMPGDBarrelHits.position.y*0.1:OuterMPGDBarrelHits.position.x*0.1>>hitsxy_barrel_mm_out"
;
sim
->
Draw
(
si_vtx_hitsXY
.
Data
(),
""
,
""
);
// Multiply by 0.1 for cm
sim
->
Draw
(
si_barrel_hitsXY
.
Data
(),
""
,
""
);
sim
->
Draw
(
barrel_mpgd_in_hitsXY
.
Data
(),
""
,
""
);
sim
->
Draw
(
tof_barrel_hitsXY
.
Data
(),
""
,
""
);
sim
->
Draw
(
barrel_mpgd_out_hitsXY
.
Data
(),
""
,
""
);
hitsxy_vtx_si
->
SetMarkerStyle
(
31
);
hitsxy_vtx_si
->
SetTitle
(
"Hit Points (XY)"
);
hitsxy_vtx_si
->
SetMarkerColor
(
kBlack
);
hitsxy_vtx_si
->
SetMarkerSize
(
0
.
1
);
hitsxy_vtx_si
->
SetLineColor
(
kBlack
);
hitsxy_vtx_si
->
GetXaxis
()
->
SetTitle
(
"X [cm]"
);
hitsxy_vtx_si
->
GetYaxis
()
->
SetTitle
(
"Y [cm]"
);
hitsxy_vtx_si
->
GetXaxis
()
->
CenterTitle
();
hitsxy_vtx_si
->
GetYaxis
()
->
CenterTitle
();
hitsxy_barrel_si
->
SetMarkerStyle
(
20
);
hitsxy_barrel_si
->
SetMarkerSize
(
0
.
1
);
hitsxy_barrel_si
->
SetMarkerColor
(
kMagenta
);
hitsxy_barrel_si
->
SetLineColor
(
kMagenta
);
hitsxy_barrel_mm_in
->
SetMarkerStyle
(
20
);
hitsxy_barrel_mm_in
->
SetMarkerSize
(
0
.
1
);
hitsxy_barrel_mm_in
->
SetMarkerColor
(
kBlue
);
hitsxy_barrel_mm_in
->
SetLineColor
(
kBlue
);
hitsxy_barrel_tof
->
SetMarkerStyle
(
20
);
hitsxy_barrel_tof
->
SetMarkerSize
(
0
.
1
);
hitsxy_barrel_tof
->
SetMarkerColor
(
kGreen
);
hitsxy_barrel_tof
->
SetLineColor
(
kGreen
);
hitsxy_barrel_mm_out
->
SetMarkerStyle
(
20
);
hitsxy_barrel_mm_out
->
SetMarkerSize
(
0
.
1
);
hitsxy_barrel_mm_out
->
SetMarkerColor
(
kBlue
-
7
);
hitsxy_barrel_mm_out
->
SetLineColor
(
kBlue
-
7
);
c1
->
cd
();
hitsxy_vtx_si
->
Draw
();
hitsxy_barrel_si
->
Draw
(
"same"
);
hitsxy_barrel_mm_in
->
Draw
(
"same"
);
hitsxy_barrel_tof
->
Draw
(
"same"
);
hitsxy_barrel_mm_out
->
Draw
(
"same"
);
TLegend
*
l
=
new
TLegend
(
0
.
65
,
0
.
85
,
0
.
90
,
1
.
0
);
l
->
SetTextSize
(
0
.
025
);
l
->
SetBorderSize
(
0
);
l
->
AddEntry
(
hitsxy_vtx_si
,
"VertexBarrelHits"
);
l
->
AddEntry
(
hitsxy_barrel_si
,
"SiBarrelHits"
);
l
->
AddEntry
(
hitsxy_barrel_mm_in
,
"MPGDBarrelHits"
);
l
->
AddEntry
(
hitsxy_barrel_tof
,
"TOFBarrelHits"
);
l
->
AddEntry
(
hitsxy_barrel_mm_out
,
"OuterMPGDBarrelHits"
);
l
->
Draw
();
c1
->
SaveAs
(
"hitsxy_dd4hep.png"
);
c1
->
SaveAs
(
"hitsxy_dd4hep.eps"
);
c1
->
SaveAs
(
"hitsxy_dd4hep.root"
);
TCanvas
*
c2
=
new
TCanvas
(
"c2"
,
"c2"
,
1200
,
1000
);
c2
->
SetMargin
(
0
.
09
,
0
.
03
,
0
.
1
,
0
.
06
);
// Y-Z Hits
Int_t
nbinsx
=
400
,
nbinsy
=
1800
.;
x
=
200
.;
y
=
90
.;
double
xmin
=
-
200
.;
TH2D
*
hitsrz_vtx_si
=
new
TH2D
(
"hitsrz_vtx_si"
,
"hitsrz_vtx_si"
,
nbinsx
,
xmin
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_barrel_si
=
new
TH2D
(
"hitsrz_barrel_si"
,
"hitsrz_barrel_si"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_barrel_mm_in
=
new
TH2D
(
"hitsrz_barrel_mm_in"
,
"hitsrz_barrel_mm_in"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_barrel_mm_out
=
new
TH2D
(
"hitsrz_barrel_mm_out"
,
"hitsrz_barrel_mm_out"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_barrel_tof
=
new
TH2D
(
"hitsrz_barrel_tof"
,
"hitsrz_barrel_tof"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_disks_si
=
new
TH2D
(
"hitsrz_disks_si"
,
"hitsrz_disks_si"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_endcap_tof
=
new
TH2D
(
"hitsrz_endcap_tof"
,
"hitsrz_endcap_tof"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_fwd_mpgd
=
new
TH2D
(
"hitsrz_fwd_mpgd"
,
"hitsrz_fwd_mpgd"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_bwd_mpgd
=
new
TH2D
(
"hitsrz_bwd_mpgd"
,
"hitsrz_bwd_mpgd"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_vtx_si_1
=
new
TH2D
(
"hitsrz_vtx_si_1"
,
"hitsrz_vtx_si_1"
,
nbinsx
,
xmin
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_barrel_si_1
=
new
TH2D
(
"hitsrz_barrel_si_1"
,
"hitsrz_barrel_si_1"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_barrel_mm_in_1
=
new
TH2D
(
"hitsrz_barrel_mm_in_1"
,
"hitsrz_barrel_mm_in_1"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_barrel_mm_out_1
=
new
TH2D
(
"hitsrz_barrel_mm_out_1"
,
"hitsrz_barrel_mm_out_1"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_barrel_tof_1
=
new
TH2D
(
"hitsrz_barrel_tof_1"
,
"hitsrz_barrel_tof_1"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_disks_si_1
=
new
TH2D
(
"hitsrz_disks_si_1"
,
"hitsrz_disks_si_1"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_endcap_tof_1
=
new
TH2D
(
"hitsrz_endcap_tof_1"
,
"hitsrz_endcap_tof_1"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_fwd_mpgd_1
=
new
TH2D
(
"hitsrz_fwd_mpgd_1"
,
"hitsrz_fwd_mpgd_1"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TH2D
*
hitsrz_bwd_mpgd_1
=
new
TH2D
(
"hitsrz_bwd_mpgd_1"
,
"hitsrz_bwd_mpgd_1"
,
nbinsx
,
-
x
,
x
,
nbinsy
,
-
y
,
y
);
TString
si_vtx_hitsrz_posR
=
"sqrt(VertexBarrelHits.position.x*VertexBarrelHits.position.x+VertexBarrelHits.position.y*VertexBarrelHits.position.y)*0.1:VertexBarrelHits.position.z*0.1>>hitsrz_vtx_si"
;
TString
si_barrel_hitsrz_posR
=
"sqrt(SiBarrelHits.position.x*SiBarrelHits.position.x+SiBarrelHits.position.y*SiBarrelHits.position.y)*0.1:SiBarrelHits.position.z*0.1>>hitsrz_barrel_si"
;
TString
barrel_mpgd_in_hitsrz_posR
=
"sqrt(MPGDBarrelHits.position.x*MPGDBarrelHits.position.x+MPGDBarrelHits.position.y*MPGDBarrelHits.position.y)*0.1:MPGDBarrelHits.position.z*0.1>>hitsrz_barrel_mm_in"
;
TString
tof_barrel_hitsrz_posR
=
"sqrt(TOFBarrelHits.position.x*TOFBarrelHits.position.x+TOFBarrelHits.position.y*TOFBarrelHits.position.y)*0.1:TOFBarrelHits.position.z*0.1>>hitsrz_barrel_tof"
;
TString
barrel_mpgd_out_hitsrz_posR
=
"sqrt(OuterMPGDBarrelHits.position.x*OuterMPGDBarrelHits.position.x+OuterMPGDBarrelHits.position.y*OuterMPGDBarrelHits.position.y)*0.1:OuterMPGDBarrelHits.position.z*0.1>>hitsrz_barrel_mm_out"
;
TString
disks_si_hitsrz_posR
=
"sqrt(TrackerEndcapHits.position.x*TrackerEndcapHits.position.x+TrackerEndcapHits.position.y*TrackerEndcapHits.position.y)*0.1:TrackerEndcapHits.position.z*0.1>>hitsrz_disks_si"
;
TString
endcap_tof_hitsrz_posR
=
"sqrt(TOFEndcapHits.position.x*TOFEndcapHits.position.x+TOFEndcapHits.position.y*TOFEndcapHits.position.y)*0.1:TOFEndcapHits.position.z*0.1>>hitsrz_endcap_tof"
;
TString
fwd_mpgd_hitsrz_posR
=
"sqrt(ForwardMPGDEndcapHits.position.x*ForwardMPGDEndcapHits.position.x+ForwardMPGDEndcapHits.position.y*ForwardMPGDEndcapHits.position.y)*0.1:ForwardMPGDEndcapHits.position.z*0.1>>hitsrz_fwd_mpgd"
;
TString
bwd_mpgd_hitsrz_posR
=
"sqrt(BackwardMPGDEndcapHits.position.x*BackwardMPGDEndcapHits.position.x+BackwardMPGDEndcapHits.position.y*BackwardMPGDEndcapHits.position.y)*0.1:BackwardMPGDEndcapHits.position.z*0.1>>hitsrz_bwd_mpgd"
;
sim
->
Draw
(
si_vtx_hitsrz_posR
.
Data
(),
"VertexBarrelHits.position.y>0"
,
""
);
// Multiply by 0.1 for cm
sim
->
Draw
(
si_barrel_hitsrz_posR
.
Data
(),
"SiBarrelHits.position.y>0"
,
""
);
sim
->
Draw
(
barrel_mpgd_in_hitsrz_posR
.
Data
(),
"MPGDBarrelHits.position.y>0"
,
""
);
sim
->
Draw
(
tof_barrel_hitsrz_posR
.
Data
(),
"TOFBarrelHits.position.y>0"
,
""
);
sim
->
Draw
(
disks_si_hitsrz_posR
.
Data
(),
"TrackerEndcapHits.position.y>0"
,
""
);
sim
->
Draw
(
endcap_tof_hitsrz_posR
.
Data
(),
"TOFEndcapHits.position.y>0"
,
""
);
sim
->
Draw
(
barrel_mpgd_out_hitsrz_posR
.
Data
(),
"OuterMPGDBarrelHits.position.y>0"
,
""
);
sim
->
Draw
(
fwd_mpgd_hitsrz_posR
.
Data
(),
"ForwardMPGDEndcapHits.position.y>0"
,
""
);
sim
->
Draw
(
bwd_mpgd_hitsrz_posR
.
Data
(),
"BackwardMPGDEndcapHits.position.y>0"
,
""
);
TString
si_vtx_hitsrz_negR
=
"-1.0*sqrt(VertexBarrelHits.position.x*VertexBarrelHits.position.x+VertexBarrelHits.position.y*VertexBarrelHits.position.y)*0.1:VertexBarrelHits.position.z*0.1>>hitsrz_vtx_si_1"
;
TString
si_barrel_hitsrz_negR
=
"-1.0*sqrt(SiBarrelHits.position.x*SiBarrelHits.position.x+SiBarrelHits.position.y*SiBarrelHits.position.y)*0.1:SiBarrelHits.position.z*0.1>>hitsrz_barrel_si_1"
;
TString
barrel_mpgd_in_hitsrz_negR
=
"-1.0*sqrt(MPGDBarrelHits.position.x*MPGDBarrelHits.position.x+MPGDBarrelHits.position.y*MPGDBarrelHits.position.y)*0.1:MPGDBarrelHits.position.z*0.1>>hitsrz_barrel_mm_in_1"
;
TString
tof_barrel_hitsrz_negR
=
"-1.0*sqrt(TOFBarrelHits.position.x*TOFBarrelHits.position.x+TOFBarrelHits.position.y*TOFBarrelHits.position.y)*0.1:TOFBarrelHits.position.z*0.1>>hitsrz_barrel_tof_1"
;
TString
barrel_mpgd_out_hitsrz_negR
=
"-1.0*sqrt(OuterMPGDBarrelHits.position.x*OuterMPGDBarrelHits.position.x+OuterMPGDBarrelHits.position.y*OuterMPGDBarrelHits.position.y)*0.1:OuterMPGDBarrelHits.position.z*0.1>>hitsrz_barrel_mm_out_1"
;
TString
disks_si_hitsrz_negR
=
"-1.0*sqrt(TrackerEndcapHits.position.x*TrackerEndcapHits.position.x+TrackerEndcapHits.position.y*TrackerEndcapHits.position.y)*0.1:TrackerEndcapHits.position.z*0.1>>hitsrz_disks_si_1"
;
TString
endcap_tof_hitsrz_negR
=
"-1.0*sqrt(TOFEndcapHits.position.x*TOFEndcapHits.position.x+TOFEndcapHits.position.y*TOFEndcapHits.position.y)*0.1:TOFEndcapHits.position.z*0.1>>hitsrz_endcap_tof_1"
;
TString
fwd_mpgd_hitsrz_negR
=
"-1.0*sqrt(ForwardMPGDEndcapHits.position.x*ForwardMPGDEndcapHits.position.x+ForwardMPGDEndcapHits.position.y*ForwardMPGDEndcapHits.position.y)*0.1:ForwardMPGDEndcapHits.position.z*0.1>>hitsrz_fwd_mpgd_1"
;
TString
bwd_mpgd_hitsrz_negR
=
"-1.0*sqrt(BackwardMPGDEndcapHits.position.x*BackwardMPGDEndcapHits.position.x+BackwardMPGDEndcapHits.position.y*BackwardMPGDEndcapHits.position.y)*0.1:BackwardMPGDEndcapHits.position.z*0.1>>hitsrz_bwd_mpgd_1"
;
sim
->
Draw
(
si_vtx_hitsrz_negR
.
Data
(),
"VertexBarrelHits.position.y<0"
,
""
);
// Multiply by 0.1 for cm
sim
->
Draw
(
si_barrel_hitsrz_negR
.
Data
(),
"SiBarrelHits.position.y<0"
,
""
);
sim
->
Draw
(
barrel_mpgd_in_hitsrz_negR
.
Data
(),
"MPGDBarrelHits.position.y<0"
,
""
);
sim
->
Draw
(
tof_barrel_hitsrz_negR
.
Data
(),
"TOFBarrelHits.position.y<0"
,
""
);
sim
->
Draw
(
disks_si_hitsrz_negR
.
Data
(),
"TrackerEndcapHits.position.y<0"
,
""
);
sim
->
Draw
(
endcap_tof_hitsrz_negR
.
Data
(),
"TOFEndcapHits.position.y<0"
,
""
);
sim
->
Draw
(
barrel_mpgd_out_hitsrz_negR
.
Data
(),
"OuterMPGDBarrelHits.position.y<0"
,
""
);
sim
->
Draw
(
fwd_mpgd_hitsrz_negR
.
Data
(),
"ForwardMPGDEndcapHits.position.y<0"
,
""
);
sim
->
Draw
(
bwd_mpgd_hitsrz_negR
.
Data
(),
"BackwardMPGDEndcapHits.position.y<0"
,
""
);
hitsrz_vtx_si
->
SetMarkerStyle
(
31
);
hitsrz_vtx_si
->
SetTitle
(
""
);
hitsrz_vtx_si
->
SetMarkerSize
(
0
.
1
);
hitsrz_vtx_si
->
SetLineColor
(
kBlack
);
hitsrz_vtx_si
->
SetMarkerColor
(
kBlack
);
hitsrz_vtx_si
->
GetXaxis
()
->
SetTitle
(
"Z [cm]"
);
hitsrz_vtx_si
->
GetYaxis
()
->
SetTitle
(
"R [cm]"
);
hitsrz_vtx_si
->
GetXaxis
()
->
CenterTitle
();
hitsrz_vtx_si
->
GetYaxis
()
->
CenterTitle
();
hitsrz_vtx_si_1
->
SetMarkerSize
(
0
.
1
);
hitsrz_vtx_si_1
->
SetLineColor
(
kBlack
);
hitsrz_vtx_si_1
->
SetMarkerColor
(
kBlack
);
hitsrz_barrel_si
->
SetMarkerStyle
(
20
);
hitsrz_barrel_si
->
SetMarkerSize
(
0
.
1
);
hitsrz_barrel_si
->
SetMarkerColor
(
kMagenta
);
hitsrz_barrel_si
->
SetLineColor
(
kMagenta
);
hitsrz_barrel_si_1
->
SetMarkerSize
(
0
.
1
);
hitsrz_barrel_si_1
->
SetLineColor
(
kMagenta
);
hitsrz_barrel_si_1
->
SetMarkerColor
(
kMagenta
);
hitsrz_barrel_mm_in
->
SetMarkerStyle
(
20
);
hitsrz_barrel_mm_in
->
SetMarkerSize
(
0
.
1
);
hitsrz_barrel_mm_in
->
SetLineColor
(
kBlue
);
hitsrz_barrel_mm_in
->
SetMarkerColor
(
kBlue
);
hitsrz_barrel_mm_in_1
->
SetMarkerSize
(
0
.
1
);
hitsrz_barrel_mm_in_1
->
SetLineColor
(
kBlue
);
hitsrz_barrel_mm_in_1
->
SetMarkerColor
(
kBlue
);
hitsrz_barrel_tof
->
SetMarkerStyle
(
20
);
hitsrz_barrel_tof
->
SetMarkerSize
(
0
.
1
);
hitsrz_barrel_tof
->
SetLineColor
(
kGreen
);
hitsrz_barrel_tof
->
SetMarkerColor
(
kGreen
);
hitsrz_barrel_tof_1
->
SetMarkerSize
(
0
.
1
);
hitsrz_barrel_tof_1
->
SetLineColor
(
kGreen
);
hitsrz_barrel_tof_1
->
SetMarkerColor
(
kGreen
);
hitsrz_barrel_mm_out
->
SetMarkerStyle
(
20
);
hitsrz_barrel_mm_out
->
SetMarkerSize
(
0
.
1
);
hitsrz_barrel_mm_out
->
SetMarkerColor
(
kBlue
-
7
);
hitsrz_barrel_mm_out
->
SetLineColor
(
kBlue
-
7
);
hitsrz_barrel_mm_out_1
->
SetMarkerSize
(
0
.
1
);
hitsrz_barrel_mm_out_1
->
SetLineColor
(
kBlue
-
7
);
hitsrz_barrel_mm_out_1
->
SetMarkerColor
(
kBlue
-
7
);
hitsrz_endcap_tof
->
SetMarkerStyle
(
20
);
hitsrz_endcap_tof
->
SetMarkerSize
(
0
.
1
);
hitsrz_endcap_tof
->
SetMarkerColor
(
kCyan
);
hitsrz_endcap_tof
->
SetLineColor
(
kCyan
);
hitsrz_endcap_tof_1
->
SetMarkerSize
(
0
.
1
);
hitsrz_endcap_tof_1
->
SetLineColor
(
kCyan
);
hitsrz_endcap_tof_1
->
SetMarkerColor
(
kCyan
);
hitsrz_disks_si
->
SetMarkerStyle
(
20
);
hitsrz_disks_si
->
SetMarkerSize
(
0
.
1
);
hitsrz_disks_si
->
SetMarkerColor
(
kRed
);
hitsrz_disks_si
->
SetLineColor
(
kRed
);
hitsrz_disks_si_1
->
SetMarkerSize
(
0
.
1
);
hitsrz_disks_si_1
->
SetLineColor
(
kRed
);
hitsrz_disks_si_1
->
SetMarkerColor
(
kRed
);
hitsrz_fwd_mpgd
->
SetMarkerSize
(
0
.
1
);
hitsrz_fwd_mpgd
->
SetLineColor
(
kRed
-
7
);
hitsrz_fwd_mpgd
->
SetMarkerColor
(
kRed
-
7
);
hitsrz_fwd_mpgd_1
->
SetMarkerSize
(
0
.
1
);
hitsrz_fwd_mpgd_1
->
SetLineColor
(
kRed
-
7
);
hitsrz_fwd_mpgd_1
->
SetMarkerColor
(
kRed
-
7
);
hitsrz_bwd_mpgd
->
SetMarkerSize
(
0
.
1
);
hitsrz_bwd_mpgd
->
SetLineColor
(
kOrange
);
hitsrz_bwd_mpgd
->
SetMarkerColor
(
kOrange
);
hitsrz_bwd_mpgd_1
->
SetMarkerSize
(
0
.
1
);
hitsrz_bwd_mpgd_1
->
SetLineColor
(
kOrange
);
hitsrz_bwd_mpgd_1
->
SetMarkerColor
(
kOrange
);
c2
->
cd
();
hitsrz_vtx_si
->
Draw
(
""
);
hitsrz_vtx_si_1
->
Draw
(
"same"
);
hitsrz_barrel_si
->
Draw
(
"same"
);
hitsrz_barrel_si_1
->
Draw
(
"same"
);
hitsrz_barrel_mm_in
->
Draw
(
"same"
);
hitsrz_barrel_mm_in_1
->
Draw
(
"same"
);
hitsrz_barrel_tof
->
Draw
(
"same"
);
hitsrz_barrel_tof_1
->
Draw
(
"same"
);
hitsrz_barrel_mm_out
->
Draw
(
"same"
);
hitsrz_barrel_mm_out_1
->
Draw
(
"same"
);
hitsrz_endcap_tof
->
Draw
(
"same"
);
hitsrz_endcap_tof_1
->
Draw
(
"same"
);
hitsrz_disks_si
->
Draw
(
"same"
);
hitsrz_disks_si_1
->
Draw
(
"same"
);
hitsrz_fwd_mpgd
->
Draw
(
"same"
);
hitsrz_fwd_mpgd_1
->
Draw
(
"same"
);
hitsrz_bwd_mpgd
->
Draw
(
"same"
);
hitsrz_bwd_mpgd_1
->
Draw
(
"same"
);
TLegend
*
l1
=
new
TLegend
(
0
.
11
,
0
.
88
,
0
.
95
,
0
.
99
);
l1
->
SetNColumns
(
3
);
l1
->
SetTextSize
(
0
.
025
);
l1
->
SetBorderSize
(
0
);
l1
->
AddEntry
(
hitsrz_vtx_si
,
"VertexBarrelHits"
);
l1
->
AddEntry
(
hitsrz_barrel_si
,
"SiBarrelHits"
);
l1
->
AddEntry
(
hitsrz_barrel_mm_in
,
"MPGDBarrelHits"
);
l1
->
AddEntry
(
hitsrz_barrel_tof
,
"TOFBarrelHits"
);
l1
->
AddEntry
(
hitsrz_barrel_mm_out
,
"OuterMPGDBarrelHits"
);
l1
->
AddEntry
(
hitsrz_disks_si
,
"TrackerEndcapHits"
);
l1
->
AddEntry
(
hitsrz_endcap_tof
,
"TOFEndcapHits"
);
l1
->
AddEntry
(
hitsrz_fwd_mpgd
,
"ForwardMPGDEndcapHits"
);
l1
->
AddEntry
(
hitsrz_bwd_mpgd
,
"BackwardMPGDEndcapHits"
);
l1
->
Draw
();
c2
->
SaveAs
(
"hitsrz_dd4hep.png"
);
c2
->
SaveAs
(
"hitsrz_dd4hep.eps"
);
c2
->
SaveAs
(
"hitsrz_dd4hep.root"
);
// Timer Stop
timer
.
Stop
();
Double_t
realtime
=
timer
.
RealTime
();
Double_t
cputime
=
timer
.
CpuTime
();
printf
(
"RealTime=%f seconds, CpuTime=%f seconds
\n
"
,
realtime
,
cputime
);
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment