Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
nptool
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Admin message
Gitlab has been updated. More info
here
and
there
.
Show more breadcrumbs
np
nptool
Commits
ba668fe7
Commit
ba668fe7
authored
2 years ago
by
Pierre Morfouace
Browse files
Options
Downloads
Patches
Plain Diff
Updating sofia project
parent
06800331
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Pipeline
#220379
passed
2 years ago
Stage: build-NPLib
Stage: build-NPSimulation
Stage: test
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
Projects/Sofia/Analysis.cxx
+5
-3
5 additions, 3 deletions
Projects/Sofia/Analysis.cxx
Projects/s455/Analysis.cxx
+19
-12
19 additions, 12 deletions
Projects/s455/Analysis.cxx
with
24 additions
and
15 deletions
Projects/Sofia/Analysis.cxx
+
5
−
3
View file @
ba668fe7
...
@@ -90,7 +90,7 @@ void Analysis::FFAnalysis(){
...
@@ -90,7 +90,7 @@ void Analysis::FFAnalysis(){
for
(
int
i
=
0
;
i
<
mult
;
i
++
){
for
(
int
i
=
0
;
i
<
mult
;
i
++
){
double
Time
=
ran
.
Gaus
(
InteractionCoordinates
->
GetTime
(
i
)
-
BeamTimeOffset
,
0.02
);
double
Time
=
ran
.
Gaus
(
InteractionCoordinates
->
GetTime
(
i
)
-
BeamTimeOffset
,
0.02
);
m_XE
.
push_back
(
ran
.
Gaus
(
InteractionCoordinates
->
GetDetectedPositionX
(
i
),
1
));
m_XE
.
push_back
(
ran
.
Gaus
(
InteractionCoordinates
->
GetDetectedPositionX
(
i
),
1
));
m_YE
.
push_back
(
ran
.
Gaus
(
InteractionCoordinates
->
GetDetectedPositionY
(
i
),
0
));
m_YE
.
push_back
(
ran
.
Gaus
(
InteractionCoordinates
->
GetDetectedPositionY
(
i
),
1
));
m_ZE
.
push_back
(
ran
.
Gaus
(
InteractionCoordinates
->
GetDetectedPositionZ
(
i
),
1
));
m_ZE
.
push_back
(
ran
.
Gaus
(
InteractionCoordinates
->
GetDetectedPositionZ
(
i
),
1
));
TVector3
vE
=
TVector3
(
m_XE
[
i
],
m_YE
[
i
],
m_ZE
[
i
]);
TVector3
vE
=
TVector3
(
m_XE
[
i
],
m_YE
[
i
],
m_ZE
[
i
]);
//TVector3 vE = TVector3(m_XE[i],0,m_ZE[i]);
//TVector3 vE = TVector3(m_XE[i],0,m_ZE[i]);
...
@@ -99,10 +99,12 @@ void Analysis::FFAnalysis(){
...
@@ -99,10 +99,12 @@ void Analysis::FFAnalysis(){
int
Adet
=
InteractionCoordinates
->
GetA
(
i
);
int
Adet
=
InteractionCoordinates
->
GetA
(
i
);
//int Z = FissionConditions->GetFragmentZ(i);
//int Z = FissionConditions->GetFragmentZ(i);
int
Z
=
InteractionCoordinates
->
GetZ
(
i
);
int
Z
=
InteractionCoordinates
->
GetZ
(
i
);
double
ThetaIn
=
FissionConditions
->
GetFragmentTheta
(
i
);
double
dtheta
=
0.2e-3
*
180.
/
3.1415
;
// 0.2 mrad
double
dphi
=
10e-3
*
180.
/
3.1415
;
// 10 mrad
double
ThetaIn
=
ran
.
Gaus
(
FissionConditions
->
GetFragmentTheta
(
i
),
dtheta
);
//if(FissionConditions->GetFragmentMomentumX(i)<0)
//if(FissionConditions->GetFragmentMomentumX(i)<0)
//ThetaIn = -ThetaIn;
//ThetaIn = -ThetaIn;
double
Phi
=
FissionConditions
->
GetFragmentPhi
(
i
);
double
Phi
=
ran
.
Gaus
(
FissionConditions
->
GetFragmentPhi
(
i
)
,
dphi
)
;
double
Brho
=
FissionConditions
->
GetFragmentBrho
(
i
);
double
Brho
=
FissionConditions
->
GetFragmentBrho
(
i
);
TVector3
dir
=
TVector3
(
sin
(
ThetaIn
*
deg
)
*
cos
(
Phi
*
deg
),
sin
(
ThetaIn
*
deg
)
*
sin
(
Phi
*
deg
),
cos
(
ThetaIn
*
deg
));
TVector3
dir
=
TVector3
(
sin
(
ThetaIn
*
deg
)
*
cos
(
Phi
*
deg
),
sin
(
ThetaIn
*
deg
)
*
sin
(
Phi
*
deg
),
cos
(
ThetaIn
*
deg
));
...
...
This diff is collapsed.
Click to expand it.
Projects/s455/Analysis.cxx
+
19
−
12
View file @
ba668fe7
...
@@ -39,6 +39,7 @@ struct TofPair
...
@@ -39,6 +39,7 @@ struct TofPair
double
beta
=
-
1
;
double
beta
=
-
1
;
double
gamma
=
-
1
;
double
gamma
=
-
1
;
double
theta_in
=
-
10
;
double
theta_in
=
-
10
;
double
phi_in
=
-
10
;
double
theta_out
=
-
10
;
double
theta_out
=
-
10
;
double
psi
=
-
10
;
double
psi
=
-
10
;
int
plastic
=
-
1
;
int
plastic
=
-
1
;
...
@@ -118,17 +119,17 @@ void Analysis::Init(){
...
@@ -118,17 +119,17 @@ void Analysis::Init(){
m_GladField
=
new
GladFieldMap
();
m_GladField
=
new
GladFieldMap
();
m_GladField
->
SetCurrent
(
fGladCurrent
);
m_GladField
->
SetCurrent
(
fGladCurrent
);
//m_GladField->SetGladEntrance(0, 0.02*m, 2.774*m + 0.5405*m);
//m_GladField->SetGladEntrance(0, 0.02*m, 2.774*m + 0.5405*m);
m_GladField
->
SetGladEntrance
(
0
,
0
,
-
1.1135
*
m
);
m_GladField
->
SetGladEntrance
(
0
,
0
,
-
1113.5
*
mm
);
//m_GladField->SetGladTurningPoint(0, 0.02*m, 2.774*m + 0.5405*m + 1.1135*m);
m_GladField
->
SetGladTurningPoint
(
0
,
0
,
0
);
m_GladField
->
SetGladTurningPoint
(
0
,
0
,
0
);
m_GladField
->
SetGladTiltAngle
(
-
14.
*
deg
);
m_GladField
->
SetGladTiltAngle
(
-
14.
*
deg
);
m_GladField
->
LoadMap
(
"GladFieldMap_50mm.dat"
);
m_GladField
->
LoadMap
(
"GladFieldMap_50mm.dat"
);
m_GladField
->
SetBin
(
50
);
m_GladField
->
SetBin
(
50
);
m_GladField
->
SetTimeStep
(
0.8
);
m_GladField
->
SetTimeStep
(
0.8
);
m_GladField
->
SetCentralTheta
(
-
20.
*
deg
);
m_GladField
->
SetCentralTheta
(
-
20.
*
deg
);
double
Z_MWPC3
=
fDistanceGToMW3
;
// * cos(m_GladField->GetCentralTheta());
double
R_MWPC3
=
fDistanceGToMW3
;
double
X_MWPC3
=
(
Z_MWPC3
-
m_GladField
->
GetGladTurningPoint
().
Z
())
*
tan
(
m_GladField
->
GetCentralTheta
());
double
Z_MWPC3
=
R_MWPC3
*
cos
(
m_GladField
->
GetCentralTheta
());
double
X_MWPC3
=
R_MWPC3
*
sin
(
m_GladField
->
GetCentralTheta
());
m_GladField
->
Set_MWPC3_Position
(
X_MWPC3
,
0
,
Z_MWPC3
);
m_GladField
->
Set_MWPC3_Position
(
X_MWPC3
,
0
,
Z_MWPC3
);
}
}
...
@@ -620,8 +621,12 @@ void Analysis::FissionFragmentAnalysis(int which_cathode){
...
@@ -620,8 +621,12 @@ void Analysis::FissionFragmentAnalysis(int which_cathode){
double
ATToG
=
fDistanceStartToG
-
fDistancePlasticToCathode
[
which_cathode
-
1
];
double
ATToG
=
fDistanceStartToG
-
fDistancePlasticToCathode
[
which_cathode
-
1
];
double
ATToA
=
fDistanceStartToA
-
fDistancePlasticToCathode
[
which_cathode
-
1
];
double
GToTof
=
(
fDistanceGToMW3
+
fDistanceMW3ToToF
)
*
cos
(
20
*
deg
);
double
Zdistance
=
ATToG
+
GToTof
;
double
Theta0
=
20.
*
deg
;
//m_GladField->GetCentralTheta();
double
Theta0
=
20.
*
deg
;
//m_GladField->GetCentralTheta();
double
XA
=
0
;
double
XA
=
0
;
double
YA
=
0
;
double
ZA
=
fDistanceStartToA
-
fDistanceStartToG
;
double
ZA
=
fDistanceStartToA
-
fDistanceStartToG
;
double
ZG
=
m_GladField
->
GetGladTurningPoint
().
Z
();
double
ZG
=
m_GladField
->
GetGladTurningPoint
().
Z
();
double
ZMW3
=
m_GladField
->
Get_MWPC3_Position
().
Z
();
double
ZMW3
=
m_GladField
->
Get_MWPC3_Position
().
Z
();
...
@@ -640,10 +645,13 @@ void Analysis::FissionFragmentAnalysis(int which_cathode){
...
@@ -640,10 +645,13 @@ void Analysis::FissionFragmentAnalysis(int which_cathode){
double
MagB
=
m_GladField
->
GetB
()
/
1000
;
double
MagB
=
m_GladField
->
GetB
()
/
1000
;
for
(
int
i
=
0
;
i
<
2
;
i
++
){
for
(
int
i
=
0
;
i
<
2
;
i
++
){
XA
=
TofHit
[
i
].
DT
;
XA
=
TofHit
[
i
].
DT
;
if
(
XA
!=
-
1e6
&&
SofBeamID
->
GetBeta
()
>
0
){
YA
=
(
ATToA
/
Zdistance
)
*
TofHit
[
i
].
y
;
TofHit
[
i
].
phi_in
=
atan
(
TofHit
[
i
].
y
/
Zdistance
);
if
(
XA
!=
-
1e6
&&
SofBeamID
->
GetBeta
()
>
0
){
TVector3
vG
=
TVector3
(
0
,
0
,
ZG
);
TVector3
vG
=
TVector3
(
0
,
0
,
ZG
);
TVector3
vA
=
TVector3
(
XA
,
0
,
ZA
);
TVector3
vA
=
TVector3
(
XA
,
YA
,
ZA
);
// *** Extroplate to C position *** //
// *** Extroplate to C position *** //
XC
=
(
XA
+
(
ZG
-
ZA
)
*
tan
(
TofHit
[
i
].
theta_in
))
/
(
1
-
tan
(
Tilt
)
*
tan
(
TofHit
[
i
].
theta_in
));
XC
=
(
XA
+
(
ZG
-
ZA
)
*
tan
(
TofHit
[
i
].
theta_in
))
/
(
1
-
tan
(
Tilt
)
*
tan
(
TofHit
[
i
].
theta_in
));
ZC
=
ZG
+
XC
*
tan
(
Tilt
);
ZC
=
ZG
+
XC
*
tan
(
Tilt
);
...
@@ -652,15 +660,15 @@ void Analysis::FissionFragmentAnalysis(int which_cathode){
...
@@ -652,15 +660,15 @@ void Analysis::FissionFragmentAnalysis(int which_cathode){
TofHit
[
i
].
yc
=
(
ZC
/
8592.
)
*
TofHit
[
i
].
y
;
TofHit
[
i
].
yc
=
(
ZC
/
8592.
)
*
TofHit
[
i
].
y
;
TofHit
[
i
].
zc
=
ZC
;
TofHit
[
i
].
zc
=
ZC
;
int
ix
,
iy
;
/*
int ix, iy;
ix = (int)(TofHit[0].xc - m_GladField->GetXmin())/m_GladField->GetBin();
ix = (int)(TofHit[0].xc - m_GladField->GetXmin())/m_GladField->GetBin();
iy = (int)(TofHit[0].yc - m_GladField->GetYmin())/m_GladField->GetBin();
iy = (int)(TofHit[0].yc - m_GladField->GetYmin())/m_GladField->GetBin();
TofHit
[
i
].
Leff
=
m_GladField
->
GetLeff
(
ix
,
iy
);
TofHit[i].Leff = m_GladField->GetLeff(ix,iy);
*/
X3lab
=
TofHit
[
i
].
x3
*
cos
(
Theta0
)
+
XMW3
;
X3lab
=
TofHit
[
i
].
x3
*
cos
(
Theta0
)
+
XMW3
;
Z3lab
=
TofHit
[
i
].
x3
*
sin
(
Theta0
)
+
ZMW3
;
Z3lab
=
TofHit
[
i
].
x3
*
sin
(
Theta0
)
+
ZMW3
;
TVector3
vE
=
TVector3
(
X3lab
,
TofHit
[
i
].
y
,
Z3lab
);
TVector3
vE
=
TVector3
(
X3lab
,
TofHit
[
i
].
y
,
Z3lab
);
TVector3
dir
=
TVector3
(
sin
(
TofHit
[
i
].
theta_in
)
,
0
,
cos
(
TofHit
[
i
].
theta_in
));
TVector3
dir
=
TVector3
(
sin
(
TofHit
[
i
].
theta_in
)
*
cos
(
TofHit
[
i
].
phi_in
),
sin
(
TofHit
[
i
].
theta_in
)
*
sin
(
TofHit
[
i
].
phi_in
)
,
cos
(
TofHit
[
i
].
theta_in
));
TofHit
[
i
].
x3lab
=
X3lab
;
TofHit
[
i
].
x3lab
=
X3lab
;
TofHit
[
i
].
z3lab
=
Z3lab
;
TofHit
[
i
].
z3lab
=
Z3lab
;
TVector3
vOut
=
TVector3
(
X3lab
-
XC
,
0
,
Z3lab
-
ZC
);
TVector3
vOut
=
TVector3
(
X3lab
-
XC
,
0
,
Z3lab
-
ZC
);
...
@@ -671,6 +679,7 @@ void Analysis::FissionFragmentAnalysis(int which_cathode){
...
@@ -671,6 +679,7 @@ void Analysis::FissionFragmentAnalysis(int which_cathode){
//TofHit[i].Brho = MagB*TofHit[i].rho;
//TofHit[i].Brho = MagB*TofHit[i].rho;
TofHit
[
i
].
Brho
=
m_GladField
->
FindBrho
(
vA
,
dir
,
vE
);
TofHit
[
i
].
Brho
=
m_GladField
->
FindBrho
(
vA
,
dir
,
vE
);
// *** Extrapolate to B position *** //
// *** Extrapolate to B position *** //
double
ZI
=
ZG
-
TofHit
[
i
].
Leff
/
(
2
*
cos
(
Tilt
));
double
ZI
=
ZG
-
TofHit
[
i
].
Leff
/
(
2
*
cos
(
Tilt
));
XB
=
(
XA
+
(
ZI
-
ZA
)
*
tan
(
TofHit
[
i
].
theta_in
))
/
(
1
-
tan
(
Tilt
)
*
tan
(
TofHit
[
i
].
theta_in
));
XB
=
(
XA
+
(
ZI
-
ZA
)
*
tan
(
TofHit
[
i
].
theta_in
))
/
(
1
-
tan
(
Tilt
)
*
tan
(
TofHit
[
i
].
theta_in
));
...
@@ -757,8 +766,6 @@ void Analysis::FissionFragmentAnalysis(int which_cathode){
...
@@ -757,8 +766,6 @@ void Analysis::FissionFragmentAnalysis(int which_cathode){
TVector3
vCG
=
vG
-
vC
;
TVector3
vCG
=
vG
-
vC
;
TVector3
vCA
=
vA
-
vC
;
TVector3
vCA
=
vA
-
vC
;
//TofHit[i].deff1 = vCG.Angle(vCA)*180./TMath::Pi();
//TofHit[i].deff2 = vCG.Angle(vOut)*180./TMath::Pi();
TVector3
vBD
=
vD
-
vB
;
TVector3
vBD
=
vD
-
vB
;
double
vBD_angle
=
vZ
.
Angle
(
vBD
);
double
vBD_angle
=
vZ
.
Angle
(
vBD
);
...
...
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