KuzminNaumov2016AxialFormFactorModel.cxx
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*
3  Copyright (c) 2003-2019, The GENIE Collaboration
4  For the full text of the license visit http://copyright.genie-mc.org
5  or see $GENIE/LICENSE
6 
7 
8  For the class documentation see the corresponding header file.
9 
10 */
11 //____________________________________________________________________________
12 
13 #include <TMath.h>
14 
19 
20 using namespace genie;
21 
22 //____________________________________________________________________________
24 AxialFormFactorModelI("genie::KuzminNaumov2016AxialFormFactorModel")
25 {
26 
27 }
28 //____________________________________________________________________________
30 AxialFormFactorModelI("genie::KuzminNaumov2016AxialFormFactorModel", config)
31 {
32 
33 }
34 //____________________________________________________________________________
36 {
37 
38 }
39 //____________________________________________________________________________
40 double KuzminNaumov2016AxialFormFactorModel::FA(const Interaction * interaction) const
41 {
42  const InitialState & init_state = interaction->InitState();
43  const Target & target = init_state.Tgt();
44 // get scattering parameters
45  const Kinematics & kine = interaction->Kine();
46  double q2 = kine.q2();
47 
48  double dn;
49  if (target.A()>2)
50  {
51  double E = init_state.ProbeE(kRfLab);
52  dn = TMath::Power(1.-q2/TMath::Power(fMa*(1+fE0/E), 2), 2);
53  }
54  else
55  dn = TMath::Power(1.-q2/fMa2, 2);
56  double fa = fFA0/dn;
57 
58  LOG("KuzminNaumov2016MA", pDEBUG) << "FA(q^2 = " << q2 << ") = " << fa;
59  return fa;
60 }
61 //____________________________________________________________________________
63 {
64  Algorithm::Configure(config);
65  this->LoadConfig();
66 }
67 //____________________________________________________________________________
69 {
70  Algorithm::Configure(param_set);
71  this->LoadConfig();
72 }
73 //____________________________________________________________________________
75 {
76  // axial mass
77  GetParam( "QEL-Ma", fMa ) ;
78  fMa2 = TMath::Power(fMa,2);
79 
80  // E0 for calculating running axial mass: Ma*(1+E0/Enu)
81  GetParam( "QEL-E0", fE0 ) ;
82 
83  // FA(q2 = 0)
84  GetParam( "QEL-FA0", fFA0 ) ;
85 
86 }
87 //____________________________________________________________________________
88 
const XML_Char * target
Definition: expat.h:268
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
int A(void) const
Definition: Target.h:71
Pure abstract base class. Defines the AxialFormFactorModelI interface to be implemented by LlewellynS...
Generated/set kinematical variables for an event.
Definition: Kinematics.h:40
Definition: config.py:1
double FA(const Interaction *interaction) const
Compute the axial form factor.
double fE0
E0 for calculating running axial mass: Ma*(1+E0/Enu)
Double_t q2[12][num]
Definition: f2_nu.C:137
Summary information for an interaction.
Definition: Interaction.h:56
double q2(bool selected=false) const
Definition: Kinematics.cxx:151
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
Float_t E
Definition: plot.C:20
const Kinematics & Kine(void) const
Definition: Interaction.h:71
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:41
virtual void Configure(const Registry &config)
Definition: Algorithm.cxx:70
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:66
const InitialState & InitState(void) const
Definition: Interaction.h:69
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const
const Target & Tgt(void) const
Definition: InitialState.h:67
double ProbeE(RefFrame_t rf) const
Initial State information.
Definition: InitialState.h:49
#define pDEBUG
Definition: Messenger.h:64
TFile fa("Li7.root")