Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
DD4hep
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
cepc
externals
mirroring
DD4hep
Commits
c837b83e
Commit
c837b83e
authored
2 years ago
by
Andre Sailer
Browse files
Options
Downloads
Patches
Plain Diff
OpticalTracker (RICH) test: fix unit conversion
Always use Geant4 units, as written out by ddsim root I/O
parent
ef9d2170
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
examples/OpticalTracker/scripts/test_energy_deposition.C
+6
-8
6 additions, 8 deletions
examples/OpticalTracker/scripts/test_energy_deposition.C
with
6 additions
and
8 deletions
examples/OpticalTracker/scripts/test_energy_deposition.C
+
6
−
8
View file @
c837b83e
#include
"CLHEP/Units/SystemOfUnits.h"
void
test_energy_deposition
(
TString
sim_file_name
=
"sim.root"
)
{
void
test_energy_deposition
(
TString
sim_file_name
=
"sim.root"
)
{
// test requirements
// test requirements
const
Double_t
min_edep
=
2
*
CLHEP
::
eV
;
const
Double_t
min_edep
=
2
/*eV*/
;
const
Double_t
max_edep
=
5
*
CLHEP
::
eV
;
const
Double_t
max_edep
=
5
/*eV*/
;
// get average energy deposition
// get average energy deposition
auto
sim_file
=
new
TFile
(
sim_file_name
);
auto
sim_file
=
new
TFile
(
sim_file_name
);
auto
t
=
(
TTree
*
)
sim_file
->
Get
(
"EVENT"
);
auto
t
=
(
TTree
*
)
sim_file
->
Get
(
"EVENT"
);
auto
h
=
new
TH1D
(
"h"
,
"energy deposition"
,
100
,
-
1
,
20
);
auto
h
=
new
TH1D
(
"h"
,
"energy deposition"
,
100
,
-
1
,
20
);
t
->
Project
(
"h"
,
"PFRICHHits.energyDeposit"
);
t
->
Project
(
"h"
,
"PFRICHHits.energyDeposit"
);
auto
ave_edep
=
h
->
GetMean
()
;
auto
ave_edep
=
h
->
GetMean
()
*
1e6
;
// convert from MeV to eV
// check if the average energy deposition is within expected range
// check if the average energy deposition is within expected range
bool
pass_test
=
ave_edep
>
min_edep
&&
ave_edep
<
max_edep
;
bool
pass_test
=
ave_edep
>
min_edep
&&
ave_edep
<
max_edep
;
std
::
cout
<<
"TEST: "
<<
(
pass_test
?
"passed"
:
"failed"
)
std
::
cout
<<
"TEST: "
<<
(
pass_test
?
"passed"
:
"failed"
)
<<
" with average energy deposition = "
<<
ave_edep
/
CLHEP
::
eV
<<
" eV"
<<
" with average energy deposition = "
<<
ave_edep
<<
" eV"
<<
" (expected in range ("
<<
min_edep
/
CLHEP
::
eV
<<
","
<<
max_edep
/
CLHEP
::
eV
<<
") eV)"
<<
" (expected in range ("
<<
min_edep
<<
","
<<
max_edep
<<
") eV)"
<<
std
::
endl
;
<<
std
::
endl
;
}
}
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