-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
138 lines (128 loc) · 7.51 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
Tips: use cvs commit -m "`sed -n -e '/2017.03.16/,$p' ChangeLog`" to commit.
2017.06.01 Xuefeng Ding <xuefeng.ding.physics@gmail.com>
Tag: BxGPUFitter_pre-release_v1r2 40c856af45d8b91d30fc8c74403f249822f1cdf9
Lots of update. Forgot to write the change log for a long time.
1) Major update: multivaraite implemented and binwise validated
2) pull term implemented
3) be7 sun temperature bug fixed. endpoint should be enlarged for be7_sun_T
4) add chi-square text output
5) MCpup species is added. The tail is killed as Simone did. The rate is
scaled. Without scaling it's around 10 Bq/100t, after scaling it's around 135
cpd/100t the same as the number in Simone's thesis
6) synthpup species is added.
7) MC external are allowed
8) the geometrical_correction_on is implemented, when it’s set to true, the
geo-corrected version of MC external pdf will be loaded
9) plot_file_name ooption is added, so you can also change the output canvas
root file and pdf file name
10) penalty is shwon on the graph now
11) the x axis is not m4charge now, it will be the name you set for the
fit_variable_MC
12) text output is implemented
13) contour and profile is implemented. profile seems to have some problems.
contour takes a lot of time. by default they are disabled
14) toyMC likelihood-based p-value is disabled by default, by can be reopened
with specifying calculate_p_value = true, the the likelhood and chi2 will be
spoiled.
15) bug fix: the exposure are saved now.
2017.03.07 Xuefeng Ding <xuefeng.ding.physics@gmail.com>
Tag: 20170304_cvs_commit 9280e93fe53146d27b8dbfaebf8968507fa57e82
1) Major upgrade of the GooFitter. Now it supports simutaneous fitting of several
periods, as well as North/South sphere. Also it's easy to specify with
quantify should be the same globally or same in N/S sphere or just between
Major/TFCtagged.
2) The git history is imported to the CVS repository, in this way we can keep
the CVS version new in an easy way.
3) The large un-used files from other examples are removed. This could cause
troubles when you do cvs update. If so, delete offline/GooFit folder and do
<cvs update>.
4) The current version is validated for the single period,
Major+Complementary, mach4 quenching, charge variable. The standard output is
in examples/spectralfit/archive/20170205_newsolarnewpp_data/20170205_newsolarnewpp_data.log
5) If you would like to run it, you need
1> A GPU card supporting nvcc
than 100 GFLOPS. You need to change
2> nvcc
3> c++11 supported host compiler
4> root
The calculation power measured in FLOPS determines the speed of the GPU. The
speed up compared with the CPU is approximatedly proportional to it. If it's 1
TFLOPS, the speed up is 200. The fitter converge in 7 seconds. If it's 100
GFLOPS, the speed up is 20. The fitter converge in 100 seconds. You can find
the calculation power of your GPU on
https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units
Usually if you use a laptop, the double precision power is negligible. You
need to comment out the line 78 of GlobalCudaDefines.hh
line 76 ->> //#define DOUBLES 1
We don't know whether or not the result got from the single precision is
biased or not. Yet for code developing it's good enough.
If you would like to contribute, please write to me and I will create an
account for you on the git server.
If you find any bugs please feel free to write to me.
2017.03.05 Xuefeng Ding <xuefeng.ding.physics@gmail.com>
Tag: 20170305_cvs_commit 978f826b0e904c9583ee8c056ae29ee800bb5325
The date in the previous ChangeLog is mysterously wrong.. sorry.
1) Implement the MC fitting. The logic controlling the type of the spectrum is
in examples/spectralfit/src/species.cc. Currently the logic concerning control
of using MC spectrum is creepy. The synthpup will be forced to use external
histogram as if using MC fitting.
The name of the spectrum is specified in BaseManager::to_MC_name. Because it's
easier to modify the code rather than modify the name of the histogram, I will
update this method later. Currently it's broken.
2) Some modification on the PlotManager.
2017.03.16 Xuefeng Ding <xuefeng.ding.physics@gmail.com>
Tag: 20170316_cvs_commit 570d2b5f2bfa0993621270d1c8493594358b99a7
1) Major upgrade: move from Makefile compiling to CMake compile. With CMake we
can utilize the functions written by the Nvidia company and do the separate
compiling easily: now you only add -GOOFIT_SEPARATE_COMP=ON to switch it on.
Such features is implemented by the official GooFit team and I just update our
package. Credits is devoted to them.
2) Npmt fitting (without darknoise) is validated by the bit-wise comparison
method, i.e. the likelihood and the expected number of events in each bin are
the same.
3) Two scripts are prepared for fast validation: NLLcheck.sh and Fitcheck.sh
just type ./NLLcheck.sh and ./Fitcheck.sh in examples/spectralfit you can
compare the result of the GooFitter and that from the official fitter.
4) Now CVS folders are not tracked by git any more, make it easy to update the
GooFit in the cvs.
2017.03.17 Xuefeng Ding <xuefeng.ding.physics@gmail.com>
Tag: 20170317_cvs_commit 73c1adee0c3ce4367e8ab8b089c80ac532aa66b4
1) dark noise convolution implemented and validted.
2) NLLcheck.sh and Fitcheck.sh provided for unit test
next step would be implementing the mask and the multivariate fit.
2017.03.18 Xuefeng Ding <xuefeng.ding.physics@gmail.com>
Tag: 20170318_cvs_commit 0475b6e74c619d5944ad103701e1facb177e80e9
1) The difference on the log(L) between the official fitter and the GPU-fitter
is reduced from 0.0003% to 1e-15. The difference originally comes from the
different way of skipping ultra-low energy events (<0.5 npmt_norm). This is
documented in the GPU report. The contribution of such points is below the
double precision. Now because of the dark noise convolution we need the
expected number of events at such low energy points, so it's important to keep
the two fitter in the same way. At the same time, we need to invetigate
whether or not the threshold of skipping points would affect the analytical
fitting.
2) Large files are removed to keep the GooFit light weighted. However they are
still in the git repository.
2017.03.19 Xuefeng Ding <xuefeneg.ding.physics@gmail.com>
Tag: 20170319_cvs_commit 90170864df9579d9dab0a2d2551e1bb9fd79f742
1) The mask is implemented and validated. When turing off the darknoise
convolution and turning on the mask, the difference between the GPU-fitter and
the official fitter is less than 1e-14, which is due to the double precision.
2) When turning of both the darknoise convolution and the mask, the two fitter
gives different result, because I disagree with the logic in the official
fitter. In the official fitter the mask is imposed first then it does the
convolution, which will smear out the mask. Although such smearing is not
strong, because the dark noise on the first bin is as large as 98%.
3) The implementation of the darknoise convolution and the mask in 3 days
proves that the GPU-fitter is well organized and easy to extend.
2017.03.25 Xuefeng Ding <xuefeng.ding.physics@gmail.com> \"Omer Penek <orpenek@gmail.com> Alina Vishneva <the2cherry2orchard@gmail.com>
Tag: 20170325_cvs_commit d95969a31821cc8965489859cc2519d2c56bbe6d
1) The penalty term added (\"Omer)
2) The new scaled poisson discussed in the analytical meeting in Milano added
(Alina)
3) A new class added which applies the mask first then the dark noise
4) The bug that in complementary fit "Po210_2" must be added is fixed.
convolution for the validation purpose
5) The fit is formal validated. see the report on 2017-03-24
6) An install script added.
7) The installation script for the AgostiniPlot also added.