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;
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) {
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) {
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"); }
double getAngularAcceptance(const double x)
Angular acceptence of PMT.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
#define MAKE_CSTRING(A)
Make C-string.
Utility class to parse command line options.
Auxiliary class to manage set of compatible ROOT objects (e.g. histograms) using unique keys.
double getPhotocathodeArea()
Get photo-cathode area of PMT.
double getQE(const double R, const double mu)
Get QE for given ratio of hit probabilities and expectation value of the number of photo-electrons.
std::string getNamespace(const std::string &type_name)
Get name space, i.e. part before JEEP::TYPENAME_SEPARATOR.
void convertToPDF(TH1 &h1, const std::string &option="NW", const double factor=1.0)
Convert 1D histogram to PDF.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
static const JPhotocathodeArea2D getPhotocathodeArea2D
Function object for effective photo-cathode area of PMT.
double getPhotocathodeArea()
Get photo-cathode area of PMT.
double getQE(const double lambda)
Get quantum efficiency of KM3NeT PMT.
double getAngularAcceptance(const double x)
Get angular acceptance of PMT.
Auxiliary data structure for floating point format specification.