47 using namespace genie;
58 #ifdef _G_REWEIGHT_CCQE_AXFF_DEBUG_ 105 if(!tweaked)
return 1.;
111 if(!is_qe || !is_cc)
return 1.;
116 int nupdg =
event.Probe()->Pdg();
134 double old_weight =
event.Weight();
135 double def_xsec =
event.DiffXSec();
146 double def_ratio = def_xsec ;
147 double zexp_ratio = zexp_xsec;
149 assert(def_ratio > 0.);
152 double weight = old_weight * (dial * zexp_ratio + (1-dial)*def_ratio) / def_ratio;
154 #ifdef _G_REWEIGHT_CCQE_AXFF_DEBUG_ 156 double Q2 = interaction->
Kine().
Q2(
true);
158 E,Q2,weight,def_integrated_xsec,zexp_integrated_xsec,def_xsec,zexp_xsec);
175 AlgId id0(
"genie::LwlynSmithQELCCPXSec",
"Default");
180 AlgId id1(
"genie::LwlynSmithQELCCPXSec",
"ZExp");
192 #ifdef _G_REWEIGHT_CCQE_AXFF_DEBUG_ 193 fTestFile =
new TFile(
"./ccqeaxil_reweight_test.root",
"recreate");
194 fTestNtp =
new TNtupleD(
"testntp",
"",
"E:Q2:wght:sig0:sig:dsig0:dsig");
Cross Section Calculation Interface.
bool IsWeakCC(void) const
double CalcWeight(const EventRecord &event)
calculate a weight for the input event using the current nuisance param values
#include "Numerical/GSFunc.h"
double Q2(const Interaction *const i)
Kinematics * KinePtr(void) const
double fFFTwkDial
tweaking dial (0: bba/default, +1: dipole)
virtual double XSec(const Interaction *i, KinePhaseSpace_t k=kPSfE) const =0
Compute the cross section for the input interaction.
void SetSystematic(GSyst_t syst, double val)
update the value for the specified nuisance param
bool IsQuasiElastic(void) const
XSecAlgorithmI * fXSecModel_dpl
CCQE model with dipole f/f (default)
tweak axial nucleon form factors (dipole -> z-expansion) - shape only effect of dsigma(CCQE)/dQ2 ...
Algorithm abstract base class.
bool fRewNumu
reweight nu_mu CC?
~GReWeightNuXSecCCQEaxial()
void Reset(void)
set all nuisance parameters to default values
bool IsCharmEvent(void) const
Summary information for an interaction.
void UseSelectedKinematics(void)
const Kinematics & Kine(void) const
XSecAlgorithmI * fXSecModel_zexp
CCQE model with z-expansion f/f ("maximally" tweaked)
static const double kASmallNum
An enumeration of systematic parameters.
void AdoptSubstructure(void)
Algorithm * AdoptAlgorithm(const AlgId &algid) const
void Reconfigure(void)
propagate updated nuisance parameter values to actual MC, etc
Generated Event Record. It is a GHepRecord object that can accept / be visited by EventRecordVisitorI...
Algorithm ID (algorithm name + configuration set name)
bool fRewNue
reweight nu_e CC?
static AlgFactory * Instance()
const UInt_t kIAssumeFreeNucleon
const XclsTag & ExclTag(void) const
const InitialState & InitState(void) const
bool fRewNuebar
reweight nu_e_bar CC?
const ProcessInfo & ProcInfo(void) const
bool fRewNumubar
reweight nu_mu_bar CC?
double Q2(bool selected=false) const
The GENIE Algorithm Factory.
bool IsHandled(GSyst_t syst)
does the current weight calculator handle the input nuisance param?
double ProbeE(RefFrame_t rf) const
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...
Event finding and building.
GReWeightNuXSecCCQEaxial()