44 using namespace genie;
85 0.0150, 0.0450, 0.0800, 0.1250, 0.1750, 0.2250,
86 0.2750, 0.3500, 0.4500, 0.5500, 0.6500, 0.7500
89 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 2.0,
90 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0,
91 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0,
92 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 42.0,
93 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0, 40.0, 41.0, 52.0,
94 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 62.0
109 TTree * dissf_nt =
new TTree(
"dissf_nt",
"DIS SF");
120 dissf_nt->Branch(
"nu", &brNu,
"nu/I");
121 dissf_nt->Branch(
"nuc", &brNuc,
"nuc/I");
122 dissf_nt->Branch(
"tgt", &brTgt,
"tgt/I");
123 dissf_nt->Branch(
"x", &brXbj,
"x/D");
124 dissf_nt->Branch(
"Q2", &brQ2,
"Q2/D");
125 dissf_nt->Branch(
"F1", &brF1,
"F1/D");
126 dissf_nt->Branch(
"F2", &brF2,
"F2/D");
127 dissf_nt->Branch(
"F3", &brF3,
"F3/D");
128 dissf_nt->Branch(
"F4", &brF4,
"F4/D");
129 dissf_nt->Branch(
"F5", &brF5,
"F5/D");
133 for(
int inuc=0; inuc<kNNuc; inuc++) {
134 for(
int itgt=0; itgt<kNTgt; itgt++) {
138 target[itgt],hit_nucleon[inuc],neutrino[
inu]);
142 for(
int ix=0; ix<kNX; ix++) {
143 for(
int iq=0; iq<kNQ2; iq++) {
153 brNu = neutrino[
inu];
154 brNuc = hit_nucleon[inuc];
155 brTgt = target[itgt];
173 TFile
f(
"./dissf.root",
"recreate");
206 for(
int inuc=0; inuc<kNNuc; inuc++) {
207 for(
int itgt=0; itgt<kNTgt; itgt++) {
211 target[itgt],hit_nucleon[inuc],neutrino[
inu]);
216 LOG(
"test",
pNOTICE) <<
"*** Vertical SF slice for: ";
241 LOG(
"test",
pINFO) <<
"Reading DIS SF algorithm name";
244 LOG(
"test",
pINFO) <<
"No DIS SF algorithm was specified";
251 LOG(
"test",
pINFO) <<
"Reading DIS SF algorithm config name";
254 LOG(
"test",
pINFO) <<
"No DIS SF algorithm config was specified";
261 LOG(
"test",
pINFO) <<
"Reading testDISSF mode";
264 LOG(
"test",
pINFO) <<
"No testDISSF was specified. Using default";
275 <<
"No Bjorken x was specified for vertical slice";
284 <<
"No momentum transfer Q2 was specified for vertical slice";
294 <<
"\n\n" <<
"Syntax:" <<
"\n" 295 <<
" testDISSF -a model -c config [-m mode] [-x x] [-q Q2]\n";
void SetModel(const DISStructureFuncModelI *model)
Attach an algorithm.
Pure Abstract Base Class. Defines the DISStructureFuncModelI interface to be implemented by any algor...
double ArgAsDouble(char opt)
double F2(void) const
Get the computed structure function F2.
string ArgAsString(char opt)
THE MAIN GENIE PROJECT NAMESPACE
void msg(const char *fmt,...)
double Q2(const Interaction *const i)
void SetQ2(double Q2, bool selected=false)
Kinematics * KinePtr(void) const
Generated/set kinematical variables for an event.
double F4(void) const
Get the computed structure function F4.
Summary information for an interaction.
double F1(void) const
Get the computed structure function F1.
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
int main(int argc, char **argv)
void GetCommandLineArgs(int argc, char **argv)
static Messenger * Instance(void)
const Algorithm * GetAlgorithm(const AlgId &algid)
double F5(void) const
Get the computed structure function F5.
A more convenient interface to the log4cpp Message Service.
void BuildStdNtuple(void)
void Setx(double x, bool selected=false)
A class holding Deep Inelastic Scattering (DIS) Form Factors (invariant structure funstions) ...
double F3(void) const
Get the computed structure function F3.
static AlgFactory * Instance()
void SetPriorityLevel(const char *stream, log4cpp::Priority::Value p)
static Interaction * DISCC(int tgt, int nuc, int probe, double E=0)
void Calculate(const Interaction *interaction)
Calculate the S/F's for the input interaction using the attached algorithm.
Command line argument parser.
The GENIE Algorithm Factory.
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...
bool OptionExists(char opt)
was option set?