26int main(
int argc,
char **argv)
46 JParser<> zap(
"Auxiliary program to draw K40 fit function.");
54 catch(
const exception &error) {
55 FATAL(error.what() << endl);
59 const JModule module = getModule<JKM3NeT_t>(1001);
63 for (JModule::const_iterator i = module.begin(); i != module.end(); ++i) {
64 for (JModule::const_iterator j = module.begin(); j != i; ++j) {
66 if (getDot(i->getDirection(), j->getDirection()) > ct) {
67 ct = getDot(i->getDirection(), j->getDirection());
74 cout <<
"Cosine minimal angle between PMT axes " <<
FIXED(5,3) << ct << endl;
75 cout <<
"Default rate [Hz] " <<
FIXED(6,3) << JK40Parameters::getInstance().getValue(ct) <<
'/' <<
FIXED(6,3) << JK40Parameters::getInstance().getValue(+1.0) << endl;
76 cout <<
"Modified rate [Hz] " <<
FIXED(6,3) <<
K40 .getValue(ct) <<
'/' <<
FIXED(6,3) <<
K40 .getValue(+1.0) << endl;
81 const Double_t xmin = -0.5;
82 const Double_t xmax = nx - 0.5;
84 TH1D h0(
"h0", NULL, 5000, -1.0, +1.0);
85 TH1D h1(
"h1", NULL, nx, xmin, xmax);
87 for (Int_t i = 1; i <= h0.GetXaxis()->GetNbins(); ++i) {
89 const Double_t x = h0.GetBinCenter(i);
91 h0.SetBinContent(i,
K40.getValue(x));
94 for (Int_t i = 1; i <= h1.GetXaxis()->GetNbins(); ++i) {
96 const int index = h1.GetBinCenter(i);
98 const JCombinatorics_t::pair_type
pair = combinatorics.
getPair(index);
100 const double x = getDot(module[
pair.first].getDirection(), module[
pair.second].getDirection());
102 h1.SetBinContent(i,
K40.getValue(x));