Merged muonspin/musrfit/root6 into master
This commit is contained in:
commit
ddfb845755
@ -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; i<str.length(); i++) {
|
||||
if (str[i] != ' ') {
|
||||
idx = QString(str[i]).toInt(&ok);
|
||||
if (!ok)
|
||||
idx = -1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return idx;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>Starts the msr-title input dialog window.
|
||||
|
@ -46,6 +46,7 @@ class PSubTextEdit : public QPlainTextEdit
|
||||
public:
|
||||
PSubTextEdit(PAdmin *admin = 0, QWidget *parent = 0);
|
||||
virtual ~PSubTextEdit() {}
|
||||
int getFitType();
|
||||
|
||||
public slots:
|
||||
void insertTitle();
|
||||
|
@ -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);
|
||||
|
@ -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; i<str.length(); i++) {
|
||||
if (str[i] != ' ') {
|
||||
idx = QString(str[i]).toInt(&ok);
|
||||
if (!ok)
|
||||
idx = -1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return idx;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>Starts the msr-title input dialog window.
|
||||
|
@ -46,6 +46,7 @@ class PSubTextEdit : public QPlainTextEdit
|
||||
public:
|
||||
PSubTextEdit(PAdmin *admin = 0, QWidget *parent = 0);
|
||||
virtual ~PSubTextEdit() {}
|
||||
int getFitType();
|
||||
|
||||
public slots:
|
||||
void insertTitle();
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user