updated doc (svn -> git). Some minor changes.

This commit is contained in:
2014-10-25 11:13:35 +02:00
parent d635eb33fd
commit 535b31f736
19 changed files with 2882 additions and 137 deletions

View File

@@ -182,7 +182,7 @@ double TSinSqDWaveGapIntegralCuhre::IntegrateFunc()
int TSinSqDWaveGapIntegralCuhre::Integrand(const int *ndim, const double x[],
const int *ncomp, double f[], void *userdata) // x = {E, phi}, fPar = {twokBT, DeltaD(T), Ec, phic, DeltaS(T)}
{
double deltasq(TMath::Power(fPar[1]*TMath::Cos(2.0*x[1]*fPar[3]) + fPar[4],2.0));
double deltasq(TMath::Power(fPar[1]*TMath::Cos(2.0*x[1]*fPar[3]) + fPar[4], 2.0));
f[0] = TMath::Power(TMath::Sin(x[1]*fPar[3]),2.0)/TMath::Power(TMath::CosH(TMath::Sqrt(x[0]*x[0]*fPar[2]*fPar[2]+deltasq)/fPar[0]),2.0);
return 0;
}

View File

@@ -3304,7 +3304,7 @@ int PNeXus::ReadFileIdf2()
{
cout << endl << ">> reading NeXus IDF Version 2 file ..." << endl;
// create first the necessary NXentry object for IDF Version 1
// create first the necessary NXentry object for IDF Version 2
fNxEntry2 = new PNeXusEntry2();
if (fNxEntry2 == 0) {
fErrorCode = PNEXUS_OBJECT_INVOK_ERROR;

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -0,0 +1,290 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="524.40942"
height="372.04724"
id="svg2"
version="1.1"
inkscape:version="0.47 r22583"
sodipodi:docname="musrfit.svg">
<defs
id="defs4">
<linearGradient
id="linearGradient3649">
<stop
style="stop-color:#c8c8c8;stop-opacity:1;"
offset="0"
id="stop3651" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3653" />
</linearGradient>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective10" />
<inkscape:perspective
id="perspective3010"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3834"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3865"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3896"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3927"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3958"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
id="perspective3665"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.1690794"
inkscape:cx="190.97634"
inkscape:cy="186.29563"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1030"
inkscape:window-x="-4"
inkscape:window-y="-3"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-680.31488)">
<rect
style="fill:#c8c864;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3647"
width="405.38635"
height="340.13422"
x="54.14386"
y="690.67322" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="143.41449"
y="951.34796"
id="text3016-4"><tspan
sodipodi:role="line"
id="tspan3018-6"
x="143.41449"
y="951.34796"
style="font-size:96px;font-weight:bold;fill:#ffffff;fill-opacity:1;font-family:CM Sans;-inkscape-font-specification:CM Sans Bold">FIT</tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
x="140.35832"
y="947.95404"
id="text3016"><tspan
sodipodi:role="line"
id="tspan3018"
x="140.35832"
y="947.95404"
style="font-size:96px;font-weight:bold;font-family:CM Sans;-inkscape-font-specification:CM Sans Bold">FIT</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 166.07351,789.68979 c 0,0 5.53059,-9.03661 30.91685,-16.64754 25.38626,-7.61093 48.7535,35.6733 48.7535,35.6733 13.04598,27.30078 14.82377,35.16392 28.53864,47.56438 16.57186,14.98364 34.1988,9.42906 60.6446,28.53864 20.09704,14.522 26.16042,35.6733 26.16042,35.6733"
id="path3020"
sodipodi:nodetypes="czcasc" />
<g
id="g3821"
transform="translate(34.411958,364.20129)">
<path
transform="matrix(0.80862041,0,0,0.80862041,24.230764,83.900652)"
d="m 161.71894,403.10822 c 0,8.53745 -6.92097,15.45842 -15.45843,15.45842 -8.53745,0 -15.45842,-6.92097 -15.45842,-15.45842 0,-8.53746 6.92097,-15.45843 15.45842,-15.45843 8.53746,0 15.45843,6.92097 15.45843,15.45843 z"
sodipodi:ry="15.458427"
sodipodi:rx="15.458427"
sodipodi:cy="403.10822"
sodipodi:cx="146.26051"
id="path3815"
style="fill:#ff0000;fill-opacity:1;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="arc" />
<path
id="path3817"
d="m 141.1961,374.75509 0,75.72405"
style="fill:none;stroke:#000000;stroke-width:0.00099861px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="path3819"
d="m 142.46542,383.0094 0,56.39595"
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:4.16823864px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
id="g3821-8"
transform="translate(69.411958,366.29912)">
<path
transform="matrix(0.80862041,0,0,0.80862041,24.230764,83.900652)"
d="m 161.71894,403.10822 c 0,8.53745 -6.92097,15.45842 -15.45843,15.45842 -8.53745,0 -15.45842,-6.92097 -15.45842,-15.45842 0,-8.53746 6.92097,-15.45843 15.45842,-15.45843 8.53746,0 15.45843,6.92097 15.45843,15.45843 z"
sodipodi:ry="15.458427"
sodipodi:rx="15.458427"
sodipodi:cy="403.10822"
sodipodi:cx="146.26051"
id="path3815-4"
style="fill:#ff0000;fill-opacity:1;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="arc" />
<path
id="path3817-6"
d="m 141.1961,374.75509 0,75.72405"
style="fill:none;stroke:#000000;stroke-width:0.00099861px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="path3819-5"
d="m 142.46542,383.0094 0,56.39595"
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:4.16823864px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
id="g3821-8-5"
transform="translate(104.41196,396.0705)">
<path
transform="matrix(0.80862041,0,0,0.80862041,24.230764,83.900652)"
d="m 161.71894,403.10822 c 0,8.53745 -6.92097,15.45842 -15.45843,15.45842 -8.53745,0 -15.45842,-6.92097 -15.45842,-15.45842 0,-8.53746 6.92097,-15.45843 15.45842,-15.45843 8.53746,0 15.45843,6.92097 15.45843,15.45843 z"
sodipodi:ry="15.458427"
sodipodi:rx="15.458427"
sodipodi:cy="403.10822"
sodipodi:cx="146.26051"
id="path3815-4-5"
style="fill:#ff0000;fill-opacity:1;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="arc" />
<path
id="path3817-6-0"
d="m 141.1961,374.75509 0,75.72405"
style="fill:none;stroke:#000000;stroke-width:0.00099861px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="path3819-5-9"
d="m 142.46542,383.0094 0,56.39595"
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:4.16823864px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
id="g3821-8-5-3"
transform="translate(139.41196,426.67611)">
<path
transform="matrix(0.80862041,0,0,0.80862041,24.230764,83.900652)"
d="m 161.71894,403.10822 c 0,8.53745 -6.92097,15.45842 -15.45843,15.45842 -8.53745,0 -15.45842,-6.92097 -15.45842,-15.45842 0,-8.53746 6.92097,-15.45843 15.45842,-15.45843 8.53746,0 15.45843,6.92097 15.45843,15.45843 z"
sodipodi:ry="15.458427"
sodipodi:rx="15.458427"
sodipodi:cy="403.10822"
sodipodi:cx="146.26051"
id="path3815-4-5-7"
style="fill:#ff0000;fill-opacity:1;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="arc" />
<path
id="path3817-6-0-8"
d="m 141.1961,374.75509 0,75.72405"
style="fill:none;stroke:#000000;stroke-width:0.00099861px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="path3819-5-9-3"
d="m 142.46542,383.0094 0,56.39595"
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:4.16823864px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
id="g3821-8-5-3-2"
transform="translate(174.41196,463.92211)">
<path
transform="matrix(0.80862041,0,0,0.80862041,24.230764,83.900652)"
d="m 161.71894,403.10822 c 0,8.53745 -6.92097,15.45842 -15.45843,15.45842 -8.53745,0 -15.45842,-6.92097 -15.45842,-15.45842 0,-8.53746 6.92097,-15.45843 15.45842,-15.45843 8.53746,0 15.45843,6.92097 15.45843,15.45843 z"
sodipodi:ry="15.458427"
sodipodi:rx="15.458427"
sodipodi:cy="403.10822"
sodipodi:cx="146.26051"
id="path3815-4-5-7-2"
style="fill:#ff0000;fill-opacity:1;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="arc" />
<path
id="path3817-6-0-8-2"
d="m 141.1961,374.75509 0,75.72405"
style="fill:none;stroke:#000000;stroke-width:0.00099861px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="path3819-5-9-3-8"
d="m 142.46542,383.0094 0,56.39595"
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:4.16823864px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
id="g3821-8-5-3-2-8"
transform="translate(209.41196,520.84722)">
<path
transform="matrix(0.80862041,0,0,0.80862041,24.230764,83.900652)"
d="m 161.71894,403.10822 c 0,8.53745 -6.92097,15.45842 -15.45843,15.45842 -8.53745,0 -15.45842,-6.92097 -15.45842,-15.45842 0,-8.53746 6.92097,-15.45843 15.45842,-15.45843 8.53746,0 15.45843,6.92097 15.45843,15.45843 z"
sodipodi:ry="15.458427"
sodipodi:rx="15.458427"
sodipodi:cy="403.10822"
sodipodi:cx="146.26051"
id="path3815-4-5-7-2-6"
style="fill:#ff0000;fill-opacity:1;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none"
sodipodi:type="arc" />
<path
id="path3817-6-0-8-2-5"
d="m 141.1961,374.75509 0,75.72405"
style="fill:none;stroke:#000000;stroke-width:0.00099861px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="path3819-5-9-3-8-4"
d="m 142.46542,383.0094 0,56.39595"
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:4.16823864px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -5,8 +5,6 @@
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
$Id$
***************************************************************************/
/***************************************************************************
@@ -51,8 +49,7 @@ void analyticFakeData(const TString type, UInt_t runNo)
fileName.Form("0%d.root", (Int_t)runNo);
// Double_t t0[8] = {3419.0, 3520.0, 3520.0, 3421.0, 3517.0, 3418.0, 3522.0, 3623.0}; // runNo: 1000 & 2000
Double_t t0[8] = {3519.0, 3420.0, 3520.0, 3621.0, 3417.0, 3518.0, 3422.0, 3423.0}; // runNo: 1001 & 2001
Double_t t0[16] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
if (!type.CompareTo("TLemRunHeader")) {
// feed run info header
@@ -70,7 +67,7 @@ void analyticFakeData(const TString type, UInt_t runNo)
header->SetImpEnergy(31.8);
header->SetSampleTemperature(0.2, 0.001);
header->SetSampleBField(-1.0, 0.1);
header->SetTimeResolution(0.1953125);
header->SetTimeResolution(0.025);
header->SetNChannels(66601);
header->SetNHist(8);
header->SetCuts("none");
@@ -86,15 +83,15 @@ void analyticFakeData(const TString type, UInt_t runNo)
// 1st write all the required RunInfo entries
header->Set("RunInfo/Generic Validator URL", "http://lmu.web.psi.ch/facilities/software/MusrRoot/validation/MusrRoot.xsd");
header->Set("RunInfo/Specific Validator URL", "http://lmu.web.psi.ch/facilities/software/MusrRoot/validation/MusrRootLEM.xsd");
header->Set("RunInfo/Specific Validator URL", "http://lmu.web.psi.ch/facilities/software/MusrRoot/validation/MusrRootHAL9500.xsd");
header->Set("RunInfo/Generator", "analyticFakeData");
header->Set("RunInfo/File Name", fileName);
tstr.Form("0%d - test", runNo);
header->Set("RunInfo/Run Title", tstr);
header->Set("RunInfo/Run Number", (Int_t)runNo);
header->Set("RunInfo/Start Time", "1970-01-01 00:00:00");
header->Set("RunInfo/Stop Time", "1970-01-01 00:00:00");
prop.Set("Run Duration", 0, "sec");
header->Set("RunInfo/Stop Time", "1970-01-01 00:00:02");
prop.Set("Run Duration", 2, "sec");
header->Set("RunInfo/Run Duration", prop);
header->Set("RunInfo/Laboratory", "PSI");
header->Set("RunInfo/Instrument", "virtual");
@@ -107,20 +104,20 @@ void analyticFakeData(const TString type, UInt_t runNo)
header->Set("RunInfo/Sample Name", "virtual");
prop.Set("Sample Temperature", 1.0, "mK");
header->Set("RunInfo/Sample Temperature", prop);
prop.Set("Sample Magnetic Field", 0.0, "G");
prop.Set("Sample Magnetic Field", 40.0, "T");
header->Set("RunInfo/Sample Magnetic Field", prop);
prop.Set("Sample Temperature", 1.0, "mK");
header->Set("RunInfo/No of Histos", 8);
prop.Set("Time Resolution", 0.1953125, "ns");
prop.Set("Time Resolution", 0.025, "ns");
header->Set("RunInfo/Time Resolution", prop);
vector<Int_t> ivec;
ivec.push_back(0);
ivec.push_back(20);
// ivec.push_back(20);
header->Set("RunInfo/RedGreen Offsets", ivec);
offset = 1;
// 2nd write all the required DetectorInfo entries
for (UInt_t i=0; i<8; i++) {
for (UInt_t i=0; i<16; i++) {
tstr.Form("DetectorInfo/Detector%03d/", i+offset);
label = tstr + TString("Name");
tstr1.Form("Detector%03d", (Int_t)(i+offset));
@@ -128,14 +125,15 @@ void analyticFakeData(const TString type, UInt_t runNo)
label = tstr + TString("Histo No");
header->Set(label, (Int_t)(i+offset));
label = tstr + TString("Histo Length");
header->Set(label, 66601);
header->Set(label, 426600);
label = tstr + TString("Time Zero Bin");
header->Set(label, t0[i]);
label = tstr + TString("First Good Bin");
header->Set(label, (Int_t)t0[i]);
label = tstr + TString("Last Good Bin");
header->Set(label, 66600);
header->Set(label, 426600);
}
/*
for (UInt_t i=0; i<8; i++) {
tstr.Form("DetectorInfo/Detector%03d/", 20+i+offset);
label = tstr + TString("Name");
@@ -152,7 +150,7 @@ void analyticFakeData(const TString type, UInt_t runNo)
label = tstr + TString("Last Good Bin");
header->Set(label, 66600);
}
*/
// 3rd write required SampleEnvironmentInfo entries
header->Set("SampleEnvironmentInfo/Cryo", "virtual");
@@ -160,45 +158,45 @@ void analyticFakeData(const TString type, UInt_t runNo)
header->Set("MagneticFieldEnvironmentInfo/Magnet Name", "virtual");
// 5th write required BeamlineInfo entries
header->Set("BeamlineInfo/Name", "muE4");
header->Set("BeamlineInfo/Name", "piE3");
}
// create histos
Double_t n0[8] = {13200.0, 13200.0, 13200.0, 13200.0, 13200.0, 13200.0, 13200.0, 13200.0};
Double_t bkg[8] = {264.0, 264.0, 264.0, 264.0, 264.0, 264.0, 264.0, 264.0};
Double_t n0[16] = {25.0, 24.8, 25.1, 25.0, 24.8, 24.9, 25.3, 25.0, 25.0, 24.8, 25.1, 25.0, 24.8, 24.9, 25.3, 25.0};
Double_t bkg[16] = {0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05};
const Double_t tau = 2197.019; // ns
// asymmetry related stuff
const Double_t timeResolution = 0.1953125; // ns
// Double_t a0[8] = {0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12};
Double_t a0[8] = {0.21, 0.22, 0.22, 0.24, 0.22, 0.21, 0.22, 0.23};
// Double_t a1[8] = {0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05};
Double_t a1[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
Double_t phase[8] = {5.0*TMath::Pi()/180.0, 50.0*TMath::Pi()/180.0, 95.0*TMath::Pi()/180.0, 140.0*TMath::Pi()/180.0,
185.0*TMath::Pi()/180.0, 230.0*TMath::Pi()/180.0, 275.0*TMath::Pi()/180.0, 320.0*TMath::Pi()/180.0,};
const Double_t timeResolution = 0.025; // ns
Double_t a0[16] = {0.25, 0.26, 0.25, 0.26, 0.25, 0.26, 0.25, 0.26, 0.25, 0.26, 0.25, 0.26, 0.25, 0.26, 0.25, 0.26};
// Double_t a1[8] = {0.06, 0.07, 0.06, 0.07, 0.06, 0.07, 0.06, 0.07};
Double_t phase[16] = {5.0*TMath::Pi()/180.0, 27.5*TMath::Pi()/180.0, 50.0*TMath::Pi()/180.0, 72.5*TMath::Pi()/180.0,
95.0*TMath::Pi()/180.0, 117.5*TMath::Pi()/180.0, 140.0*TMath::Pi()/180.0, 162.5*TMath::Pi()/180.0,
185.0*TMath::Pi()/180, 207.5*TMath::Pi()/180.0, 230.0*TMath::Pi()/180.0, 252.5*TMath::Pi()/180.0,
275*TMath::Pi()/180.0, 297.5*TMath::Pi()/180.0, 320.0*TMath::Pi()/180.0, 342.5*TMath::Pi()/180.0};
const Double_t gamma = 0.0000135538817; // gamma/(2pi)
Double_t bb0 = 200.0; // field in Gauss
Double_t bb1 = 400.0; // field in Gauss
Double_t rate0 = 0.10/1000.0; // in 1/ns
Double_t rate1 = 0.15/1000.0; // in 1/ns
Double_t bb0 = 40000.0; // field in Gauss
// Double_t bb1 = 40015.0; // field in Gauss
Double_t rate0 = 0.25/1000.0; // in 1/ns
// Double_t rate1 = 0.15/1000.0; // in 1/ns
// fake function parameters header info: only for test purposes
if (type.CompareTo("TLemRunHeader")) {
TDoubleVector dvec;
header->Set("FakeFct/Def", "N0 exp(-t/tau_mu) [1 + A exp(-t lambda) cos(gamma_mu B t + phi)] + bkg");
for (UInt_t i=0; i<8; i++)
header->Set("FakeFct/Def", "N0 exp(-t/tau_mu) [1 + A exp(-1/2 (t sigma)^2) cos(gamma_mu B t + phi)] + bkg");
for (UInt_t i=0; i<16; i++)
dvec.push_back(n0[i]);
header->Set("FakeFct/N0", dvec);
dvec.clear();
for (UInt_t i=0; i<8; i++)
for (UInt_t i=0; i<16; i++)
dvec.push_back(bkg[i]);
header->Set("FakeFct/bkg", dvec);
dvec.clear();
for (UInt_t i=0; i<8; i++)
for (UInt_t i=0; i<16; i++)
dvec.push_back(a0[i]);
header->Set("FakeFct/A", dvec);
dvec.clear();
for (UInt_t i=0; i<8; i++)
for (UInt_t i=0; i<16; i++)
dvec.push_back(phase[i]);
header->Set("FakeFct/phase", dvec);
prop.Set("B", bb0, "G");
@@ -209,38 +207,45 @@ void analyticFakeData(const TString type, UInt_t runNo)
TH1F *histo[16];
char str[128];
for (UInt_t i=0; i<8; i++) {
for (UInt_t i=0; i<16; i++) {
if (!type.CompareTo("TLemRunHeader"))
sprintf(str, "hDecay%02d", (Int_t)(i+offset));
else
sprintf(str, "hDecay%03d", (Int_t)(i+offset));
histo[i] = new TH1F(str, str, 66601, -0.5, 66600.5);
histo[i] = new TH1F(str, str, 426601, -0.5, 426600.5);
/*
if (!type.CompareTo("TLemRunHeader"))
sprintf(str, "hDecay%02d", (Int_t)(20+i+offset));
else
sprintf(str, "hDecay%03d", (Int_t)(20+i+offset));
histo[i+8] = new TH1F(str, str, 66601, -0.5, 66600.5);
histo[i+8] = new TH1F(str, str, 426601, -0.5, 426600.5);
*/
}
Double_t time;
Double_t dval, dval1;
for (UInt_t i=0; i<8; i++) {
for (UInt_t j=0; j<66600; j++) {
for (UInt_t i=0; i<16; i++) {
for (UInt_t j=0; j<426600; j++) {
if (j<t0[i]) {
histo[i]->SetBinContent(j+1, bkg[i]);
} else {
time = (Double_t)(j-t0[i])*timeResolution;
dval = (Double_t)n0[i]*TMath::Exp(-time/tau)*(1.0+a0[i]*TMath::Exp(-time*rate0)*TMath::Cos(TMath::TwoPi()*gamma*bb0*time+phase[i]))+(Double_t)bkg[i];
/*
dval = (Double_t)n0[i]*TMath::Exp(-time/tau)*(1.0+a0[i]*TMath::Exp(-time*rate0)*TMath::Cos(TMath::TwoPi()*gamma*bb0*time+phase[i])+
a1[i]*TMath::Exp(-time*rate1)*TMath::Cos(TMath::TwoPi()*gamma*bb1*time+phase[i]))+(Double_t)bkg[i];
*/
dval = (Double_t)n0[i]*TMath::Exp(-time/tau)*(1.0+a0[i]*TMath::Exp(-0.5*TMath::Power(time*rate0,2))*TMath::Cos(TMath::TwoPi()*gamma*bb0*time+phase[i]))+(Double_t)bkg[i];
histo[i]->SetBinContent(j+1, dval);
}
}
}
/*
// add a promp peak
Double_t ampl = 0.0;
Double_t promptLambda = 500.0/1000.0; // Lorentzain in 1/ns
if (ampl != 0.0) {
for (UInt_t i=0; i<8; i++) {
for (UInt_t j=1; j<66601; j++) {
for (UInt_t j=1; j<426601; j++) {
dval = histo[i]->GetBinContent(j);
dval1 = dval*0.9; // simulate a PPC
time = (Double_t)(j-t0[i])*timeResolution;
@@ -251,6 +256,7 @@ void analyticFakeData(const TString type, UInt_t runNo)
}
}
}
*/
// add Poisson noise
PAddPoissonNoise *addNoise = new PAddPoissonNoise();