corrected data handling (see MUSR-58)

This commit is contained in:
nemu
2009-05-19 14:47:24 +00:00
parent 2a12a17881
commit 0b2e989141
8 changed files with 117 additions and 66 deletions

View File

@@ -83,7 +83,8 @@ void fakeDataSyntax()
int main(int argc, char *argv[])
{
const Double_t gamma_mu = TMath::TwoPi() * 0.1355; // in (rad/ns/T)
const Double_t tau_mu = 2197.147; // muon life time in ns
// muon life time in (us), see PRL99, 032001 (2007)
const Double_t tau_mu = 2197.019; // muon life time in ns
if ((argc != 4) && (argc !=6)) {
fakeDataSyntax();
@@ -285,10 +286,11 @@ int main(int argc, char *argv[])
for (UInt_t i=0; i<asym.size(); i++) { // loop over all histos
for (Int_t j=0; j<noOfChannels; j++) { // loop over time
for (UInt_t k=0; k<pB.size(); k++) { // loop over p(B)
if (j < t0[i])
if (j < t0[i]) {
dval += 0.0;
else
} else {
dval += pB[k]*TMath::Cos(gamma_mu*B[k]*timeResolution*(j-t0[i])+phase[i]);
}
}
ddata.push_back(asym[i]*dval);
dval = 0.0;
@@ -353,10 +355,10 @@ int main(int argc, char *argv[])
name += i;
title = "asym";
title += i;
hh = new TH1F(name.Data(), title.Data(), noOfChannels,
-timeResolution/2.0, (noOfChannels+0.5)*timeResolution);
hh = new TH1F(name.Data(), title.Data(), noOfChannels+1,
-timeResolution*0.5, (noOfChannels+0.5)*timeResolution);
for (Int_t j=0; j<noOfChannels; j++) {
hh->SetBinContent(j, asymmetry[i][j]);
hh->SetBinContent(j+1, asymmetry[i][j]);
}
hh->Draw("*H HIST");
@@ -380,10 +382,10 @@ int main(int argc, char *argv[])
name += i;
title = "histo";
title += i;
hh = new TH1F(name.Data(), title.Data(), noOfChannels,
-timeResolution/2.0, (noOfChannels+0.5)*timeResolution);
hh = new TH1F(name.Data(), title.Data(), noOfChannels+1,
-timeResolution*0.5, (noOfChannels+0.5)*timeResolution);
for (Int_t j=0; j<noOfChannels; j++) {
hh->SetBinContent(j, histo[i][j]);
hh->SetBinContent(j+1, histo[i][j]);
}
hh->Draw("*H HIST");
@@ -411,18 +413,18 @@ int main(int argc, char *argv[])
// create histos
name = "theoHisto";
name += i;
theoHisto = new TH1F(name.Data(), name.Data(), noOfChannels,
-timeResolution/2.0, (noOfChannels+0.5)*timeResolution);
theoHisto = new TH1F(name.Data(), name.Data(), noOfChannels+1,
-timeResolution*0.5, (noOfChannels+0.5)*timeResolution);
if (i < 10)
name = "hDecay0";
else
name = "hDecay";
name += i;
fakeHisto = new TH1F(name.Data(), name.Data(), noOfChannels,
-timeResolution/2.0, (noOfChannels+0.5)*timeResolution);
fakeHisto = new TH1F(name.Data(), name.Data(), noOfChannels+1,
-timeResolution*0.5, (noOfChannels+0.5)*timeResolution);
// fill theoHisto
for (Int_t j=0; j<noOfChannels; j++)
theoHisto->SetBinContent(j, histo[i][j]);
theoHisto->SetBinContent(j+1, histo[i][j]);
// fill fakeHisto
fakeHisto->FillRandom(theoHisto, (Int_t)theoHisto->Integral());

View File

@@ -82,7 +82,8 @@ void fakeDataNemuSyntax()
int main(int argc, char *argv[])
{
const Double_t gamma_mu = TMath::TwoPi() * 0.1355; // in (rad/ns/T)
const Double_t tau_mu = 2197.147; // muon life time in ns
// muon life time in (us), see PRL99, 032001 (2007)
const Double_t tau_mu = 2197.019; // muon life time in ns
if ((argc != 4) && (argc !=6)) {
fakeDataNemuSyntax();

View File

@@ -13,7 +13,7 @@ t0, 3300, 3300, 3300, 3300
asym, 0.24, 0.24, 0.24, 0.24
#------------------------------------------------------
# phases in (°)
phase, 10.0, 90.0, 170.0, 270.0
phase, 0.0, 90.0, 180.0, 270.0
#------------------------------------------------------
# N0's
N0, 1100, 1000, 1002, 990

View File

@@ -41,18 +41,18 @@ void skewedGaussian()
FILE *fp;
char fln[256];
const Double_t w = 0.8; // weight of the skewed Gaussian
const Double_t B0 = 142.0; // skewed Gaussian B0 (G)
const Double_t sm = 2.5; // skewed Gaussian sigma- (G)
const Double_t sp = 4.5; // skewed Gaussian sigma+ (G)
const Double_t w = 1.0; // weight of the skewed Gaussian
const Double_t B0 = 30.0; // skewed Gaussian B0 (G)
const Double_t sm = 2.0; // skewed Gaussian sigma- (G)
const Double_t sp = 2.0; // skewed Gaussian sigma+ (G)
const Double_t B0ext = 150.0; // external field Gaussian B0 (G)
const Double_t sext = 1.2; // external field Gaussian sigma (G)
const Double_t B0ext = 30.0; // external field Gaussian B0 (G)
const Double_t sext = 10; // external field Gaussian sigma (G)
sprintf(fln, "skewedGauss-B%0.2lf-sm%0.2lf-sp%0.2lf-w%0.1lf-Bext%0.2lf-sext%0.2lf.dat",
B0, sm, sp, w, B0ext, sext);
const Int_t noOfPoints = 2000;
const Int_t noOfPoints = 8000;
const Double_t res = 0.1;