28int main(
int argc,
char **argv)
38 JParser<> zap(
"Auxiliary program to plot QE and angular acceptance of PMT.");
46 catch(
const exception &error) {
47 FATAL(error.what() << endl);
50 using namespace NAMESPACE;
54 TH1D h0(
MAKE_CSTRING(
"QE[" << getNamespace() <<
"]"), NULL, 340, 280.0, 900.0);
55 TH1D h1(
MAKE_CSTRING(
"PMT[" << getNamespace() <<
"]"), NULL, 1000, -1.0, +1.0);
57 typedef JManager<double, TH1D> JManager_t;
59 JManager_t qe ((TH1D*) h0.Clone(
"QE[%]"),
'%',
JFormat_t(3, 1, ios::fixed));
60 JManager_t pmt((TH1D*) h1.Clone(
"PMT[%]"),
'%',
JFormat_t(4, 0, ios::fixed));
62 for (
int i = 1; i <= h0.GetNbinsX(); ++i) {
64 const double y = h0.GetBinCenter (i);
66 h0.SetBinContent(i, getQE(y));
68 for (
double x = -1.0; x <= +1.0; x += 0.1) {
69 if (KM3NET::getAngularAcceptance(x) > 0.0) {
78 for (
int i = 1; i <= h1.GetNbinsX(); ++i) {
80 const double x = h1.GetBinCenter (i);
81 const double dx = h1.GetBinWidth (i);
87 for (
double y = 340; y <= 640; y += 20.0) {
88 if (KM3NET::getQE(y) > 0.0) {
94 NOTICE(getNamespace() <<
" PMT average photo-cathode area " <<
FIXED(5,2) << W <<
" [cm^2]" << endl);
98 convertToPDF(h0,
"NW");
99 convertToPDF(h1,
"NW");
101 for (JManager_t::iterator i = qe .begin(); i != qe .end(); ++i) { convertToPDF(*i->second,
"NW"); }
102 for (JManager_t::iterator i = pmt.begin(); i != pmt.end(); ++i) { convertToPDF(*i->second,
"NW"); }