25 int main(
int argc,
char **argv)
37 JParser<> zap(
"Example application to display DIS of muon.");
46 catch(
const exception &error) {
47 FATAL(error.what() << endl);
50 gRandom->SetSeed(seed);
56 TH1D h0(
"sigma", NULL, 1000, -1.0, 9.0);
69 for (
int i = 1; i <= h0.GetNbinsX(); ++i) {
71 const double x = h0.GetBinCenter(i);
72 const double E =
pow(10.0,
x);
75 h0.SetBinContent(i,
y * 1.0e+30);
78 for (
const auto& setup : setups) {
80 const double E = setup.first;
86 for (
int i = 1; i <= ha->GetNbinsX(); ++i) {
88 const double x = ha->GetBinCenter(i);
89 const double v =
pow(10.0,
x);
93 if (numberOfEvents == 0) {
94 y *= setup.second / dis.
getP(E, dis.
getV(E));
97 ha->SetBinContent(i,
y);
100 if (numberOfEvents != 0) {
102 for (
int i = 0; i != numberOfEvents; ++i) {
104 const double Es = dis.
getE(E);
105 const double v = Es/E;
110 for (
int i = 1; i <= h1->GetNbinsX(); ++i) {
112 const double y = h1->GetBinContent(i);
113 const double z = h1->GetBinError (i);
115 const double xmin = h1->GetXaxis()->GetBinLowEdge(i);
116 const double xmax = h1->GetXaxis()->GetBinUpEdge (i);
120 h1->SetBinContent(i,
y /
w);
121 h1->SetBinError (i, z /
w);
125 for (
int i = 1; i <= hb->GetNbinsX(); ++i) {
127 const double x = hb->GetBinCenter(i);
128 const double v =
pow(10.0,
x);
131 hb->SetBinContent(i,
y);
138 out << h0 << HA << H1 << HB;
int main(int argc, char **argv)
Example application to display DIS of muon.
Deep-inelastic muon-nucleon scattering.
Dynamic ROOT object management.
General purpose messaging.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Utility class to parse command line options.
Deep-inelastic muon-nucleon scattering.
double getCrossSection(const double E) const
Get cross section.
double getP(const double E, const double v) const
Get probability of given energy fraction.
double getThetaRMS(const double E, const double v) const
Get RMS of scattering angle.
double getV(const double E) const
Get breakpoint.
double getE(const double E) const
Get shower energy.
Auxiliary class to manage set of compatible ROOT objects (e.g. histograms) using unique keys.
void Write(TDirectory &out, const bool wm=false)
Write objects to file.
T pow(const T &x, const double y)
Power .
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).