Skip to content

Commit e8784ea

Browse files
authored
Merge pull request #36 from vlvovch/devel
Added scaled moments and Pearson correlation coefficients into the correlations dialog
2 parents efeac1e + 70fe41e commit e8784ea

File tree

3 files changed

+77
-15
lines changed

3 files changed

+77
-15
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
66

7+
## [Version 1.3.3]
8+
9+
Date: 2022-05-03
10+
11+
GUI: Added scaled moments and Pearson correlation coefficients into the correlations dialog
712

813
## [Version 1.3.2]
914

@@ -193,6 +198,8 @@ Date: 2018-08-02
193198

194199
**The first public version of Thermal-FIST**
195200

201+
[Version 1.3.3]: https://github.com/vlvovch/Thermal-FIST/compare/v1.3.2...v1.3.3
202+
196203
[Version 1.3.2]: https://github.com/vlvovch/Thermal-FIST/compare/v1.3.1...v1.3.2
197204

198205
[Version 1.3.1]: https://github.com/vlvovch/Thermal-FIST/compare/v1.3...v1.3.1

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ project (ThermalFIST)
88
# The version number.
99
set (ThermalFIST_VERSION_MAJOR 1)
1010
set (ThermalFIST_VERSION_MINOR 3)
11-
set (ThermalFIST_VERSION_DEVEL 2)
11+
set (ThermalFIST_VERSION_DEVEL 3)
1212

1313
# configure a header file to pass some of the CMake settings
1414
# to the source code

src/gui/QtThermalFIST/correlationsdialog.cpp

Lines changed: 69 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ CorrelationsDialog::CorrelationsDialog(QWidget* parent, ThermalModelBase* mod) :
5252
comboQuantity = new QComboBox();
5353
comboQuantity->addItem(tr("Susceptibility"));
5454
comboQuantity->addItem(tr("Moment"));
55+
comboQuantity->addItem(tr("Scaled moment"));
56+
comboQuantity->addItem(tr("Pearson correlation"));
5557
comboQuantity->addItem(tr("Delta[N1,N2]"));
5658
comboQuantity->addItem(tr("Sigma[N1,N2]"));
5759
comboQuantity->setCurrentIndex(0);
@@ -149,11 +151,27 @@ void CorrelationsDialog::recalculate()
149151
tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(corr)));
150152
else if (comboQuantity->currentIndex() == 1)
151153
tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(corr * model->Volume() * pow(model->Parameters().T, 3) * pow(xMath::GeVtoifm(), 3))));
154+
//else if (comboQuantity->currentIndex() == 2) {
155+
// double val = corr * model->Volume() * pow(model->Parameters().T, 3) * pow(xMath::GeVtoifm(), 3);
156+
// double yld1 = model->GetYield(pdg1, Feeddown::Primordial);
157+
// double yld2 = model->GetYield(pdg2, Feeddown::Primordial);
158+
// if (comboFeeddown->currentIndex() == 1) {
159+
// yld1 = model->GetYield(pdg1, Feeddown::StabilityFlag);
160+
// yld2 = model->GetYield(pdg2, Feeddown::StabilityFlag);
161+
// }
162+
// tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(val / sqrt(yld1 * yld2))));
163+
//}
164+
//else if (comboQuantity->currentIndex() == 3) {
165+
// double val = corr;
166+
// double var1 = model->TwoParticleSusceptibilityPrimordialByPdg(pdg1, pdg1);
167+
// double var2 = model->TwoParticleSusceptibilityPrimordialByPdg(pdg2, pdg2);
168+
// if (comboFeeddown->currentIndex() == 1) {
169+
// var1 = model->TwoParticleSusceptibilityFinalByPdg(pdg1, pdg1);
170+
// var2 = model->TwoParticleSusceptibilityFinalByPdg(pdg2, pdg2);
171+
// }
172+
// tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(val / sqrt(var1 * var2))));
173+
//}
152174
else {
153-
if (pdg1 == pdg2) {
154-
tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(0.)));
155-
continue;
156-
}
157175

158176
double N1 = 0., N2 = 0.;
159177
double wn1 = 0., wn2 = 0.;
@@ -209,17 +227,36 @@ void CorrelationsDialog::recalculate()
209227

210228
corr *= model->Volume() * pow(model->Parameters().T, 3) * pow(xMath::GeVtoifm(), 3);
211229

212-
// Delta
230+
// Scaled moment
213231
if (comboQuantity->currentIndex() == 2) {
214-
double DeltaN1N2 = (N1 * wn2 - N2 * wn1) / (N2 - N1);
215-
tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(DeltaN1N2)));
216-
continue;
232+
if (pdg1 == pdg2) {
233+
qDebug() << pdg1 << " " << corr << " " << N1 << " " << N2 << endl;
234+
}
235+
tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(corr / sqrt(N1 * N2))));
236+
}
237+
// Pearson
238+
else if (comboQuantity->currentIndex() == 3) {
239+
double var1 = wn1 * N1, var2 = wn2 * N2;
240+
tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(corr / sqrt(var1 * var2))));
217241
}
218-
// Sigma
219242
else {
220-
double SigmaN1N2 = (N1 * wn2 + N2 * wn1 - 2. * corr) / (N2 + N1);
221-
tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(SigmaN1N2)));
222-
continue;
243+
if (pdg1 == pdg2) {
244+
tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(0.)));
245+
continue;
246+
}
247+
248+
// Delta
249+
if (comboQuantity->currentIndex() == 4) {
250+
double DeltaN1N2 = (N1 * wn2 - N2 * wn1) / (N2 - N1);
251+
tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(DeltaN1N2)));
252+
continue;
253+
}
254+
// Sigma
255+
else {
256+
double SigmaN1N2 = (N1 * wn2 + N2 * wn1 - 2. * corr) / (N2 + N1);
257+
tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(SigmaN1N2)));
258+
continue;
259+
}
223260
}
224261
}
225262
}
@@ -264,8 +301,17 @@ void CorrelationsDialog::recalculate()
264301
double wn1 = model->Susc((ConservedCharge::Name)i, (ConservedCharge::Name)i) * model->Volume() * pow(model->Parameters().T, 3) * pow(xMath::GeVtoifm(), 3) / N1;
265302
double wn2 = model->Susc((ConservedCharge::Name)j, (ConservedCharge::Name)j) * model->Volume() * pow(model->Parameters().T, 3) * pow(xMath::GeVtoifm(), 3) / N2;
266303
double corr = model->Susc((ConservedCharge::Name)i, (ConservedCharge::Name)j) * model->Volume() * pow(model->Parameters().T, 3) * pow(xMath::GeVtoifm(), 3);
267-
// Delta
304+
// Scaled moment
268305
if (comboQuantity->currentIndex() == 2) {
306+
tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(corr / sqrt(N1 * N2))));
307+
}
308+
// Pearson
309+
else if (comboQuantity->currentIndex() == 3) {
310+
double var1 = wn1 * N1, var2 = wn2 * N2;
311+
tableCorr->setItem(i, j, new QTableWidgetItem(QString::number(corr / sqrt(var1 * var2))));
312+
}
313+
// Delta
314+
if (comboQuantity->currentIndex() == 4) {
269315
double DeltaN1N2 = (N1 * wn2 - N2 * wn1) / (N2 - N1);
270316
tableCorr->setItem(i1, i2, new QTableWidgetItem(QString::number(DeltaN1N2)));
271317
}
@@ -386,8 +432,17 @@ void CorrelationsDialog::recalculate()
386432

387433
corr *= model->Volume() * pow(model->Parameters().T, 3) * pow(xMath::GeVtoifm(), 3);
388434

389-
// Delta
435+
// Scaled moment
390436
if (comboQuantity->currentIndex() == 2) {
437+
tableCorr->setItem(i, i2, new QTableWidgetItem(QString::number(corr / sqrt(N1 * N2))));
438+
}
439+
// Pearson
440+
else if (comboQuantity->currentIndex() == 3) {
441+
double var1 = wn1 * N1, var2 = wn2 * N2;
442+
tableCorr->setItem(i, i2, new QTableWidgetItem(QString::number(corr / sqrt(var1 * var2))));
443+
}
444+
// Delta
445+
if (comboQuantity->currentIndex() == 4) {
391446
double DeltaN1N2 = (N1 * wn2 - N2 * wn1) / (N2 - N1);
392447
tableCorr->setItem(i, i2, new QTableWidgetItem(QString::number(DeltaN1N2)));
393448
}

0 commit comments

Comments
 (0)