28 int 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;
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"); }
Properties of Antares PMT and deep-sea water.
double getAngularAcceptance(const double x)
Angular acceptence of PMT.
Dynamic ROOT object management.
General purpose messaging.
int main(int argc, char **argv)
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
I/O formatting auxiliaries.
#define MAKE_CSTRING(A)
Make C-string.
Jpp environment information.
Properties of KM3NeT PMT and deep-sea water.
Properties of KM3NeT PMT and deep-sea water.
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.