Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
BAORadio
AnaPAON4
Commits
df765ff6
Commit
df765ff6
authored
Feb 20, 2019
by
Reza ANSARI
Browse files
Ajout option pour fixer les baselines ds le fit simultane des 6-cross-cor , Reza 20/02/2019
parent
080707b4
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
8 deletions
+20
-8
trkacxfit.cc
trkacxfit.cc
+14
-5
trkfit.cc
trkfit.cc
+5
-2
trkfit.h
trkfit.h
+1
-1
No files found.
trkacxfit.cc
View file @
df765ff6
...
...
@@ -88,7 +88,9 @@ static int prtlevel=0; // print level
static
string
default_input_path
;
static
vector
<
string
>
trksetfiles
;
// datacard files defining the track/data sets
// ---- fit simultane sur les 6 cross-correlations
static
bool
do_baselinefit
=
false
;
// if true , perform baseline fit
static
bool
fg_fixbaseline
=
false
;
// if true , do phases fit with fixed baselines
//--- End of list of global parameters
...
...
@@ -140,7 +142,7 @@ int main (int narg, char* arg[])
CxBaselineFitter
cxbfit
(
v_acxd
,
v_trk
);
string
cxbofile
=
"cxb6_"
+
outfilename
;
string
cxbckfile
=
"cxb6_"
+
checkfilename
;
cxbfit
.
dofit
(
cxbofile
);
cxbfit
.
dofit
(
cxbofile
,
fg_fixbaseline
);
cxbfit
.
saveExpectedCx
(
cxbckfile
);
}
Timer
tm
(
"trkacxfit"
);
...
...
@@ -178,7 +180,7 @@ int decode_args(int narg, char* arg[])
cout
<<
" trkacxfit : fit array geometry and
\n
"
<<
" Usage: trkacxfit [-options] track_Set_1 [track_Set_2] [track_Set_3 ...]
\n
"
<<
" options: -inp def_input_path -out OutFileName -ckf CheckFileName
\n
"
<<
" -do
blf
-ngb -D dish_diameter -prt PrintLevel
\n
"
<<
endl
;
<<
" -do
cx6f -fixb
-ngb -D dish_diameter -prt PrintLevel
\n
"
<<
endl
;
if
(
!
fglonghelp
)
{
cout
<<
" trkacxfit -h to get option description "
<<
endl
;
return
2
;
...
...
@@ -189,7 +191,8 @@ int decode_args(int narg, char* arg[])
<<
" -ckf CheckFileName : Output file (PPF) to save expected signals (def chktrkfit.ppf)
\n
"
<<
" Output file names are constructed from OutFileName and CheckFileName prepending
\n
"
<<
" ac_JJ_ or cx_JJ_ where JJ=1...n is the track_set number
\n
"
<<
" -doblf : Perform baseline determination (fit) - default NO
\n
"
<<
" -docx6f : Perform simultaneous fit over 6 cross-corr (baseline and phases determination) - default NO
\n
"
<<
" -fixb : perform the previous fit (docx6f) with fixed baselines - default NO
\n
"
<<
" -ngb : Use non gaussian beam profile (Bessel j1(angle) - default Gaussian beam)
\n
"
<<
" -D dish_diameter : define effective dish diameter (in meter D*eff , def=4.5)
\n
"
<<
" -prt PrintLevel: specify print level
\n
"
...
...
@@ -205,6 +208,8 @@ int decode_args(int narg, char* arg[])
prtlevel
=
0
;
D_dish
=
4.5
;
fggaussbeam
=
true
;
do_baselinefit
=
false
;
fg_fixbaseline
=
false
;
vector
<
string
>
lastargs
;
while
(
narg
>
1
)
{
...
...
@@ -216,9 +221,12 @@ int decode_args(int narg, char* arg[])
else
if
(
fbo
==
"-ngb"
)
{
// Use Non gaussian beam
fggaussbeam
=
false
;
arg
++
;
narg
--
;
lastargs
.
clear
();
}
else
if
(
fbo
==
"-do
bl
f"
)
{
//
Use Non gaussian beam
else
if
(
fbo
==
"-do
cx6
f"
)
{
//
Perform simultaneous fit over 6 cross-corr
do_baselinefit
=
true
;
arg
++
;
narg
--
;
lastargs
.
clear
();
}
else
if
(
fbo
==
"-fixb"
)
{
// Perform the previous docx6f fit with fixed baselines (phases only)
fg_fixbaseline
=
true
;
arg
++
;
narg
--
;
lastargs
.
clear
();
}
else
if
(
fbo
==
"-inp"
)
{
// output file name
if
(
narg
<
2
)
{
cout
<<
"trkacxfit/decode_args missing/bad argument, -h for help "
<<
endl
;
return
-
1
;
}
default_input_path
=
arg
[
2
];
arg
+=
2
;
narg
-=
2
;
lastargs
.
clear
();
...
...
@@ -246,7 +254,8 @@ int decode_args(int narg, char* arg[])
cout
<<
" ------------------- trkacxfit/run parameters:"
<<
endl
;
cout
<<
" Beam: D_dish (initial guess)="
<<
D_dish
<<
" GaussianBeam ? "
<<
(
fggaussbeam
?
"Yes"
:
"No"
)
<<
endl
;
cout
<<
" OutFileName= "
<<
outfilename
<<
" CheckFileName= "
<<
checkfilename
<<
endl
;
cout
<<
" Perform baseline fit ? "
<<
(
do_baselinefit
?
"Yes"
:
"No"
)
<<
endl
;
cout
<<
" Perform baseline fit ? "
<<
(
do_baselinefit
?
"Yes"
:
"No"
)
<<
(
fg_fixbaseline
?
" With FIXED baselines"
:
" (Phases & baselines)"
)
<<
endl
;
cout
<<
" --- TrackSetFiles: (NbFiles="
<<
lastargs
.
size
()
<<
" default directory: "
<<
default_input_path
<<
")"
<<
endl
;
trksetfiles
=
lastargs
;
for
(
size_t
i
=
0
;
i
<
trksetfiles
.
size
();
i
++
)
{
...
...
trkfit.cc
View file @
df765ff6
...
...
@@ -770,7 +770,7 @@ CxBaselineFitter::~CxBaselineFitter()
if
(
err_bestfitparam
)
delete
[]
err_bestfitparam
;
}
int
CxBaselineFitter
::
dofit
(
string
outfilename
)
int
CxBaselineFitter
::
dofit
(
string
outfilename
,
bool
fgfixbaseline
)
{
size_t
NB_ANTENNES
=
v_acxd
[
0
].
getNbAutoCor
();
// nombre d'antennes
size_t
NB_CXCORS
=
v_acxd
[
0
].
getNbCrossCor
();
...
...
@@ -827,7 +827,10 @@ int CxBaselineFitter::dofit(string outfilename)
mFit
.
SetParam
(
4
+
3
*
i
,
pname
,
0.
,
0.02
,
-
0.25
,
0.25
);
sprintf
(
pname
,
"BaselineShift_Z_%d"
,(
int
)(
i
+
2
));
mFit
.
SetParam
(
5
+
3
*
i
,
pname
,
0.
,
0.02
,
-
0.25
,
0.25
);
mFit
.
SetFix
(
3
+
3
*
i
);
mFit
.
SetFix
(
4
+
3
*
i
);
mFit
.
SetFix
(
5
+
3
*
i
);
if
(
fgfixbaseline
)
{
cout
<<
" ... fitting phases only, fixed baselines "
<<
endl
;
mFit
.
SetFix
(
3
+
3
*
i
);
mFit
.
SetFix
(
4
+
3
*
i
);
mFit
.
SetFix
(
5
+
3
*
i
);
}
}
cout
<<
" Performing the fit (tot_npoints_fit= "
<<
tot_npoints_fit
<<
" ?= (npoints2="
<<
npoints2
<<
") ..."
<<
endl
;
rcfit
=
mFit
.
Fit
();
xi2red
=-
99999.
;
...
...
trkfit.h
View file @
df765ff6
...
...
@@ -173,7 +173,7 @@ public:
CxBaselineFitter
(
vector
<
AcxDataSet
>
&
v_data
,
vector
<
TrackSet
>
&
v_tks
);
~
CxBaselineFitter
();
int
dofit
(
string
outfilename
);
int
dofit
(
string
outfilename
,
bool
fgfixbaseline
=
false
);
// if fgfixbaseline = true, fit phases only
int
saveExpectedCx
(
string
outcheckfilename
);
// outfilename PPF (or fits ?) file with the expected signals
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment