#include #include #include #include "TROOT.h" #include "TFile.h" #include "TH1D.h" #include "JDetector/JPMTParameters.hh" #include "JDetector/JPMTAnalogueSignalProcessor.hh" #include "Jeep/JPrint.hh" #include "Jeep/JParser.hh" #include "Jeep/JMessage.hh" /** * \file * * Example program to histogram time-over-threshold probability distributions. * \author mdejong */ int main(int argc, char **argv) { using namespace std; using namespace JPP; string outputFile; JPMTParameters parameters; double NPE; int debug; try { JProperties properties = parameters.getProperties(); JParser<> zap("Example program to histogram time-over-threshold probability distributions."); zap['o'] = make_field(outputFile) = "time-over-threshold.root"; zap['P'] = make_field(properties) = JPARSER::initialised(); zap['N'] = make_field(NPE); zap['d'] = make_field(debug) = 0; zap(argc, argv); } catch(const exception &error) { FATAL(error.what() << endl); } const JPMTAnalogueSignalProcessor cpu(parameters); TFile out(outputFile.c_str(), "recreate"); const double xmin = 0.5; const double xmax = 255.5; const int nx = (int) ((xmax - xmin) / 1.0); TH1D h0("h0", NULL, nx, xmin, xmax); for (int i = 1; i <= h0.GetNbinsX(); ++i) { const double x = h0.GetBinCenter(i); const double y = getTimeOverThresholdProbability(cpu, x, NPE); h0.SetBinContent(i, y); } out.Write(); out.Close(); }