Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Pawian
Manage
Activity
Members
Plan
Wiki
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Model registry
Analyze
Contributor 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
Show more breadcrumbs
PWA
Pawian
Commits
7d202d2f
Commit
7d202d2f
authored
13 years ago
by
Matthias Steinke
Browse files
Options
Downloads
Plain Diff
Merge branch 'master' of tau.ep1.rub.de:/var/www/git/Pawian
parents
94fc7503
d4c65528
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
Examples/JpsiGamEtaPiPiNew/XDecAmpBase.cc
+136
-0
136 additions, 0 deletions
Examples/JpsiGamEtaPiPiNew/XDecAmpBase.cc
Examples/JpsiGamEtaPiPiNew/XDecAmpBase.hh
+10
-0
10 additions, 0 deletions
Examples/JpsiGamEtaPiPiNew/XDecAmpBase.hh
with
146 additions
and
0 deletions
Examples/JpsiGamEtaPiPiNew/XDecAmpBase.cc
+
136
−
0
View file @
7d202d2f
...
...
@@ -16,6 +16,10 @@ XDecAmpBase::XDecAmpBase(const std::string& name, const std::vector<std::string>
,
_sigmaEtaHyp
(
false
)
,
_f980etaKey
(
name
+
"Tof980Eta"
)
,
_f980etaHyp
(
false
)
,
_a2_1320piKey
(
name
+
"Toa2_1320Pi"
)
,
_a2_1320piHyp
(
false
)
,
_f2_1270etaKey
(
name
+
"Tof2_1270Eta"
)
,
_f2_1270etaHyp
(
false
)
,
_massPi0
(
0.1349766
)
,
_massKplus
(
0.493677
)
,
_massK0
(
0.497614
)
...
...
@@ -47,7 +51,19 @@ complex<double> XDecAmpBase::XdecAmp(Spin lamX, EvtDataNew* theData, fitParamsNe
if
(
_f980etaHyp
){
result
+=
XToFEtaFlatteAmp
(
lamX
,
theData
,
theParamVal
);
}
if
(
_a2_1320piHyp
){
double
a2_1320Mass
=
theParamVal
.
Masses
[
"a2_1320"
];
double
a2_1320Width
=
theParamVal
.
Widths
[
"a2_1320"
];
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>
etaToA2_1320PiMag
=
theParamVal
.
Mags
[
_a2_1320piKey
];
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>
etaToA2_1320PiPhi
=
theParamVal
.
Phis
[
_a2_1320piKey
];
result
+=
XToAPiBWAmp
(
lamX
,
Spin
(
2
),
theData
,
etaToA2_1320PiMag
,
etaToA2_1320PiPhi
,
a2_1320Mass
,
a2_1320Width
);
}
if
(
_f2_1270etaHyp
){
double
f2Mass
=
theParamVal
.
Masses
[
"f2_1270"
];
double
f2Width
=
theParamVal
.
Widths
[
"f2_1270"
];
result
+=
XToEtaFAmp
(
lamX
,
2
,
theData
,
theParamVal
.
Mags
[
_f2_1270etaKey
],
theParamVal
.
Phis
[
_f2_1270etaKey
],
f2Mass
,
f2Width
);
}
return
result
;
}
...
...
@@ -175,6 +191,54 @@ complex<double> XDecAmpBase::XToEtaFAmp(Spin lamX, Spin jf, EvtDataNew* theData,
}
complex
<
double
>
XDecAmpBase
::
XToAPiBWAmp
(
Spin
lamX
,
Spin
jA
,
EvtDataNew
*
theData
,
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>&
etaToAPiMag
,
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>&
etaToAPiPhi
,
double
aMass
,
double
aWidth
){
complex
<
double
>
result
(
0.
,
0.
);
Vector4
<
double
>
p4EtaPiplus
(
theData
->
FourVecsDec
[
enumJpsiGamEtaPiPi4V
::
EtaPip_HeliPsi
].
E
(),
theData
->
FourVecsDec
[
enumJpsiGamEtaPiPi4V
::
EtaPip_HeliPsi
].
Px
(),
theData
->
FourVecsDec
[
enumJpsiGamEtaPiPi4V
::
EtaPip_HeliPsi
].
Py
(),
theData
->
FourVecsDec
[
enumJpsiGamEtaPiPi4V
::
EtaPip_HeliPsi
].
Pz
());
Vector4
<
double
>
p4EtaPiminus
(
theData
->
FourVecsDec
[
enumJpsiGamEtaPiPi4V
::
EtaPim_HeliPsi
].
E
(),
theData
->
FourVecsDec
[
enumJpsiGamEtaPiPi4V
::
EtaPim_HeliPsi
].
Px
(),
theData
->
FourVecsDec
[
enumJpsiGamEtaPiPi4V
::
EtaPim_HeliPsi
].
Py
(),
theData
->
FourVecsDec
[
enumJpsiGamEtaPiPi4V
::
EtaPim_HeliPsi
].
Pz
());
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>::
iterator
itXMag
;
for
(
itXMag
=
etaToAPiMag
.
begin
();
itXMag
!=
etaToAPiMag
.
end
();
++
itXMag
){
boost
::
shared_ptr
<
const
JPCLS
>
XState
=
itXMag
->
first
;
double
theXMag
=
itXMag
->
second
;
double
theXPhi
=
etaToAPiPhi
[
XState
];
complex
<
double
>
expiphiX
(
cos
(
theXPhi
),
sin
(
theXPhi
));
complex
<
double
>
amp
(
0.
,
0.
);
for
(
Spin
lamA
=
-
jA
;
lamA
<=
jA
;
lamA
++
){
if
(
fabs
(
lamA
)
>
_spinX
||
fabs
(
lamA
)
>
XState
->
S
)
continue
;
amp
+=
theXMag
*
expiphiX
*
sqrt
(
2.
*
XState
->
L
+
1.
)
*
sqrt
(
2.
*
jA
+
1.
)
*
(
conj
(
theData
->
WignerDsDec
[
enumJpsiGamEtaPiPiDfunc
::
XToAplusPiminus
][
_spinX
][
lamX
][
lamA
])
*
BreitWignerBlattW
(
p4EtaPiplus
,
_massPi0
,
_massEta
,
aMass
,
aWidth
,
jA
)
*
conj
(
theData
->
WignerDsDec
[
enumJpsiGamEtaPiPiDfunc
::
XToAplusPiminus
][
jA
][
lamA
][
0
])
+
conj
(
theData
->
WignerDsDec
[
enumJpsiGamEtaPiPiDfunc
::
XToAminusPiplus
][
_spinX
][
lamX
][
lamA
])
*
BreitWignerBlattW
(
p4EtaPiminus
,
_massPi0
,
_massEta
,
aMass
,
aWidth
,
jA
)
*
conj
(
theData
->
WignerDsDec
[
enumJpsiGamEtaPiPiDfunc
::
XToAminusPiplus
][
jA
][
lamA
][
0
])
);
}
result
+=
amp
;
}
return
result
;
}
void
XDecAmpBase
::
getDefaultParams
(
fitParamsNew
&
fitVal
,
fitParamsNew
&
fitErr
){
if
(
_a980piHyp
){
...
...
@@ -271,6 +335,67 @@ void XDecAmpBase::getDefaultParams(fitParamsNew& fitVal, fitParamsNew& fitErr){
fitVal
.
gFactors
[
"f0_980gKK"
]
=
1.2
;
fitErr
.
gFactors
[
"f0_980gKK"
]
=
0.2
;
}
if
(
_a2_1320piHyp
){
std
::
vector
<
boost
::
shared_ptr
<
const
JPCLS
>
>
a2PiStates
;
if
(
_spinX
==
0
)
a2PiStates
=
_theStatesPtr
->
EtaToa2PiStates
();
else
if
(
_spinX
==
1
)
a2PiStates
=
_theStatesPtr
->
F1Toa2PiStates
();
else
if
(
_spinX
==
2
)
a2PiStates
=
_theStatesPtr
->
Eta2Toa2PiStates
();
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>
currentMagValMap
;
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>
currentPhiValMap
;
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>
currentMagErrMap
;
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>
currentPhiErrMap
;
std
::
vector
<
boost
::
shared_ptr
<
const
JPCLS
>
>::
const_iterator
itLS
;
for
(
itLS
=
a2PiStates
.
begin
();
itLS
!=
a2PiStates
.
end
();
++
itLS
){
currentMagValMap
[
*
itLS
]
=
0.2
;
currentPhiValMap
[
*
itLS
]
=
0.
;
currentMagErrMap
[
*
itLS
]
=
0.8
;
currentPhiErrMap
[
*
itLS
]
=
0.3
;
}
fitVal
.
Mags
[
_a2_1320piKey
]
=
currentMagValMap
;
fitVal
.
Phis
[
_a2_1320piKey
]
=
currentPhiValMap
;
fitErr
.
Mags
[
_a2_1320piKey
]
=
currentMagErrMap
;
fitErr
.
Phis
[
_a2_1320piKey
]
=
currentPhiErrMap
;
fitVal
.
Masses
[
"a2_1320"
]
=
1.32
;
fitErr
.
Masses
[
"a2_1320"
]
=
0.02
;
fitVal
.
Widths
[
"a2_1320"
]
=
0.1
;
fitErr
.
Widths
[
"a2_1320"
]
=
0.02
;
}
if
(
_f2_1270etaHyp
){
std
::
vector
<
boost
::
shared_ptr
<
const
JPCLS
>
>
f2EtaStates
;
if
(
_spinX
==
0
)
f2EtaStates
=
_theStatesPtr
->
EtaTof2EtaStates
();
else
if
(
_spinX
==
1
)
f2EtaStates
=
_theStatesPtr
->
F1Tof2EtaStates
();
else
if
(
_spinX
==
2
)
f2EtaStates
=
_theStatesPtr
->
Eta2Tof2EtaStates
();
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>
currentMagValMap
;
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>
currentPhiValMap
;
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>
currentMagErrMap
;
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>
currentPhiErrMap
;
std
::
vector
<
boost
::
shared_ptr
<
const
JPCLS
>
>::
const_iterator
itLS
;
for
(
itLS
=
f2EtaStates
.
begin
();
itLS
!=
f2EtaStates
.
end
();
++
itLS
){
currentMagValMap
[
*
itLS
]
=
0.2
;
currentPhiValMap
[
*
itLS
]
=
0.
;
currentMagErrMap
[
*
itLS
]
=
0.8
;
currentPhiErrMap
[
*
itLS
]
=
0.3
;
}
fitVal
.
Mags
[
_f2_1270etaKey
]
=
currentMagValMap
;
fitVal
.
Phis
[
_f2_1270etaKey
]
=
currentPhiValMap
;
fitErr
.
Mags
[
_f2_1270etaKey
]
=
currentMagErrMap
;
fitErr
.
Phis
[
_f2_1270etaKey
]
=
currentPhiErrMap
;
fitVal
.
Masses
[
"f2_1270"
]
=
1.27
;
fitErr
.
Masses
[
"f2_1270"
]
=
0.02
;
fitVal
.
Widths
[
"f2_1270"
]
=
0.185
;
fitErr
.
Widths
[
"f2_1270"
]
=
0.02
;
}
}
void
XDecAmpBase
::
print
(
std
::
ostream
&
os
)
const
{
...
...
@@ -297,6 +422,17 @@ void XDecAmpBase::initialize(){
_f980etaHyp
=
true
;
}
else
if
(
it
->
compare
(
0
,
_a2_1320piKey
.
size
(),
_a2_1320piKey
)
==
0
){
Info
<<
"hypothesis
\t
"
<<
_a2_1320piKey
<<
"
\t
enabled"
<<
endmsg
;
_a2_1320piHyp
=
true
;
}
else
if
(
it
->
compare
(
0
,
_f2_1270etaKey
.
size
(),
_f2_1270etaKey
)
==
0
){
Info
<<
"hypothesis
\t
"
<<
_f2_1270etaKey
<<
"
\t
enabled"
<<
endmsg
;
_f2_1270etaHyp
=
true
;
}
}
}
This diff is collapsed.
Click to expand it.
Examples/JpsiGamEtaPiPiNew/XDecAmpBase.hh
+
10
−
0
View file @
7d202d2f
...
...
@@ -41,6 +41,11 @@ protected:
bool
_sigmaEtaHyp
;
const
std
::
string
_f980etaKey
;
bool
_f980etaHyp
;
const
std
::
string
_a2_1320piKey
;
bool
_a2_1320piHyp
;
const
std
::
string
_f2_1270etaKey
;
bool
_f2_1270etaHyp
;
const
double
_massPi0
;
const
double
_massKplus
;
const
double
_massK0
;
...
...
@@ -57,6 +62,11 @@ protected:
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>&
XToEtaFMag
,
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>&
XToEtaFPhi
,
double
fMass
,
double
fWidth
);
complex
<
double
>
XToAPiBWAmp
(
Spin
lamX
,
Spin
jA
,
EvtDataNew
*
theData
,
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>&
etaToAPiMag
,
std
::
map
<
boost
::
shared_ptr
<
const
JPCLS
>
,
double
,
pawian
::
Collection
::
SharedPtrLess
>&
etaToAPiPhi
,
double
aMass
,
double
aWidth
);
virtual
void
initialize
();
private:
...
...
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