From c61641efe30b9053b15edd92ad9cc4413e4a0c13 Mon Sep 17 00:00:00 2001 From: prokscha Date: Fri, 20 Jan 2017 11:56:12 +0100 Subject: [PATCH 1/3] Adopted PSimulateMuTransition to root6 --- .../Makefile.PSimulateMuTransition | 2 ++ .../PSimulateMuTransitionLinkDef.h | 3 +- src/tests/MuTransition/runMuSimulation.C | 33 ++++++++++++------- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/tests/MuTransition/Makefile.PSimulateMuTransition b/src/tests/MuTransition/Makefile.PSimulateMuTransition index f6e8fc0e..ef5a1fe8 100644 --- a/src/tests/MuTransition/Makefile.PSimulateMuTransition +++ b/src/tests/MuTransition/Makefile.PSimulateMuTransition @@ -97,4 +97,6 @@ install: all ifeq ($(OS),LINUX) cp -pv $(SHLIB) $(ROOTSYS)/lib cp -pv PSimulateMuTransition.h $(ROOTSYS)/include +# for root6 + cp -pv PSimulateMuTransitionDict_rdict.pcm $(ROOTSYS)/lib endif diff --git a/src/tests/MuTransition/PSimulateMuTransitionLinkDef.h b/src/tests/MuTransition/PSimulateMuTransitionLinkDef.h index 1538a7ee..0224031c 100644 --- a/src/tests/MuTransition/PSimulateMuTransitionLinkDef.h +++ b/src/tests/MuTransition/PSimulateMuTransitionLinkDef.h @@ -28,7 +28,8 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#ifdef __CINT__ +// changed for root6 +#ifdef __CLING__ #pragma link off all globals; #pragma link off all classes; diff --git a/src/tests/MuTransition/runMuSimulation.C b/src/tests/MuTransition/runMuSimulation.C index 80e0e589..bb2b3606 100644 --- a/src/tests/MuTransition/runMuSimulation.C +++ b/src/tests/MuTransition/runMuSimulation.C @@ -27,20 +27,28 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +// +// either do +// root> .L runMuSimulation.C +// root> runMuSimulation() +// +// or +// root> .x runMuSimulation.C +// + +#include "TMusrRunHeader.h" +#include "PSimulateMuTransition.h" -#include "/apps/cern/root-git/include/TMusrRunHeader.h" #define NDECAYHISTS 2 + void runMuSimulation() { - // load library - gSystem->Load("$ROOTSYS/lib/libPSimulateMuTransition"); +// load libraries during root startup, defined in rootlogon.C - // load TMusrRunHeader class if not already done during root startup - if (!TClass::GetDict("TMusrRunHeader")) { - gROOT->LoadMacro("$(ROOTSYS)/lib/libTMusrRunHeader.so"); - } - +// gSystem->Load("$ROOTSYS/lib/libPSimulateMuTransition"); +// gSystem->Load("$ROOTSYS/lib/libTMusrRunHeader.so"); + char titleStr[256]; TFolder *histosFolder; TFolder *decayAnaModule, *scAnaModule; @@ -57,7 +65,7 @@ void runMuSimulation() Double_t spinFlipRate = 0.01; //if spinFlipRate > 0.001 only spin-flip processes will be simulated Double_t capRate = 0.0001;//*sqrt(T/200.); //assume that capture rate varies as sqrt(T), capRate = sigma*v*p , v ~ sqrt(T) Double_t ionRate; //assume Arrhenius behaviour ionRate = preFac*exp(-EA/kT) - ionRate = 0.0001; //2.9e7 * exp(-EA/(0.08625*T)); // Ge: 2.9*10^7MHz "attempt" frequency; 1K = 0.08625 meV + ionRate = 0.1; //2.9e7 * exp(-EA/(0.08625*T)); // Ge: 2.9*10^7MHz "attempt" frequency; 1K = 0.08625 meV Double_t B = 106.5; //field in G Double_t Bvar = 0.; //field variance Double_t Freq12 = 40.433; //Mu freq of the 12 transition @@ -222,7 +230,10 @@ void runMuSimulation() gRunHeader->Write(); fout->Close(); cout << "Histograms written to " << histogramFileName.Data() << endl; - delete fout; - delete [] histo; +// delete fout; +// delete header; +// delete histo[0]; +// delete histo[1]; +// delete gRunHeader; } From d13c6565ca4e2b6e144af65b9714d72cfa49af03 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Mon, 6 Feb 2017 07:19:39 +0100 Subject: [PATCH 2/3] only show N0 estimate dialog in chisq if fittype fits. --- src/musredit_qt5/PSubTextEdit.cpp | 25 +++++++++++++++++++++++++ src/musredit_qt5/PSubTextEdit.h | 1 + src/musredit_qt5/PTextEdit.cpp | 5 +++-- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/musredit_qt5/PSubTextEdit.cpp b/src/musredit_qt5/PSubTextEdit.cpp index 0d0cd836..7c705d9d 100644 --- a/src/musredit_qt5/PSubTextEdit.cpp +++ b/src/musredit_qt5/PSubTextEdit.cpp @@ -62,6 +62,31 @@ PSubTextEdit::PSubTextEdit(PAdmin *admin, QWidget *parent) : { } +//---------------------------------------------------------------------------------------------------- +/** + * @brief PSubTextEdit::getFitType + * @return + */ +int PSubTextEdit::getFitType() +{ + QString str = toPlainText(); + int idx = str.indexOf("fittype"); + if (idx == -1) + return -1; + + bool ok; + for (int i=idx+7; iStarts the msr-title input dialog window. diff --git a/src/musredit_qt5/PSubTextEdit.h b/src/musredit_qt5/PSubTextEdit.h index cf8ca495..0c774f50 100644 --- a/src/musredit_qt5/PSubTextEdit.h +++ b/src/musredit_qt5/PSubTextEdit.h @@ -46,6 +46,7 @@ class PSubTextEdit : public QPlainTextEdit public: PSubTextEdit(PAdmin *admin = 0, QWidget *parent = 0); virtual ~PSubTextEdit() {} + int getFitType(); public slots: void insertTitle(); diff --git a/src/musredit_qt5/PTextEdit.cpp b/src/musredit_qt5/PTextEdit.cpp index 22c7b8ec..e94651e5 100644 --- a/src/musredit_qt5/PTextEdit.cpp +++ b/src/musredit_qt5/PTextEdit.cpp @@ -1727,7 +1727,8 @@ void PTextEdit::musrCalcChisq() return; int result = 0; - if (fAdmin->getEstimateN0Flag()) + int fittype = currentEditor()->getFitType(); + if (fAdmin->getEstimateN0Flag() && ((fittype==0) || (fittype==4))) result = QMessageBox::question(this, "Estimate N0 active", "Do you wish a chisq/mlh evaluation with an automatic N0 estimate?"); @@ -1748,7 +1749,7 @@ void PTextEdit::musrCalcChisq() cmd.append(str); cmd.append(QFileInfo(*fFilenames.find( currentEditor())).fileName() ); cmd.append("--chisq-only"); - if (fAdmin->getEstimateN0Flag() && (result == QMessageBox::Yes)) + if (fAdmin->getEstimateN0Flag() && (result == QMessageBox::Yes) && ((fittype==0) || (fittype==4))) cmd.append("--estimateN0"); PFitOutputHandler fitOutputHandler(QFileInfo(*fFilenames.find( currentEditor() )).absolutePath(), cmd); fitOutputHandler.setModal(true); From 3a112cd391fbad4c9a2a07ccf1993de1c72b576c Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Mon, 6 Feb 2017 09:19:19 +0100 Subject: [PATCH 3/3] only show N0 estimate dialog in chisq if fittype fits. --- src/musredit/PSubTextEdit.cpp | 25 +++++++++++++++++++++++++ src/musredit/PSubTextEdit.h | 1 + src/musredit/PTextEdit.cpp | 5 +++-- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/musredit/PSubTextEdit.cpp b/src/musredit/PSubTextEdit.cpp index 5c47c10e..47cbd57c 100644 --- a/src/musredit/PSubTextEdit.cpp +++ b/src/musredit/PSubTextEdit.cpp @@ -62,6 +62,31 @@ PSubTextEdit::PSubTextEdit(PAdmin *admin, QWidget *parent) : { } +//---------------------------------------------------------------------------------------------------- +/** + * @brief PSubTextEdit::getFitType + * @return + */ +int PSubTextEdit::getFitType() +{ + QString str = toPlainText(); + int idx = str.indexOf("fittype"); + if (idx == -1) + return -1; + + bool ok; + for (int i=idx+7; iStarts the msr-title input dialog window. diff --git a/src/musredit/PSubTextEdit.h b/src/musredit/PSubTextEdit.h index cf8ca495..0c774f50 100644 --- a/src/musredit/PSubTextEdit.h +++ b/src/musredit/PSubTextEdit.h @@ -46,6 +46,7 @@ class PSubTextEdit : public QPlainTextEdit public: PSubTextEdit(PAdmin *admin = 0, QWidget *parent = 0); virtual ~PSubTextEdit() {} + int getFitType(); public slots: void insertTitle(); diff --git a/src/musredit/PTextEdit.cpp b/src/musredit/PTextEdit.cpp index 7d3e8db8..bcebc6a1 100644 --- a/src/musredit/PTextEdit.cpp +++ b/src/musredit/PTextEdit.cpp @@ -1700,7 +1700,8 @@ void PTextEdit::musrCalcChisq() return; int result = 0; - if (fAdmin->getEstimateN0Flag()) + int fittype = currentEditor()->getFitType(); + if (fAdmin->getEstimateN0Flag() && ((fittype==0) || (fittype==4))) result = QMessageBox::question(this, "Estimate N0 active", "Do you wish a chisq/mlh evaluation with an automatic N0 estimate?", QMessageBox::Yes, QMessageBox::No); @@ -1722,7 +1723,7 @@ void PTextEdit::musrCalcChisq() cmd.append(str); cmd.append(QFileInfo(*fFilenames.find( currentEditor())).fileName() ); cmd.append("--chisq-only"); - if (fAdmin->getEstimateN0Flag() && (result == QMessageBox::Yes)) + if (fAdmin->getEstimateN0Flag() && (result == QMessageBox::Yes) && ((fittype==0) || (fittype==4))) cmd.append("--estimateN0"); PFitOutputHandler fitOutputHandler(QFileInfo(*fFilenames.find( currentEditor() )).absolutePath(), cmd); fitOutputHandler.setModal(true);