GENIEGenerator
Loading...
Searching...
No Matches
KovalenkoQELCharmPXSec.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::KovalenkoQELCharmPXSec
5
6\brief Computes the QEL Charm Production Differential Cross Section
7 using \b Kovalenko's duality model approach.
8 It models the differential cross sections for: \n
9 \li v + n \rightarrow mu- + Lambda_{c}^{+} (2285)
10 \li v + n \rightarrow mu- + Sigma_{c}^{+} (2455)
11 \li v + p \rightarrow mu- + Sigma_{c}^{++} (2455)
12 Is a concrete implementation of the XSecAlgorithmI interface.
13
14\ref S.G.Kovalenko, Sov.J.Nucl.Phys.52:934 (1990)
15
16 Rather than using Kovalenko's expression for the ZR scaling factor,
17 I apply an ad-hoc scaling factor maintaining the relative strength
18 of the QELC channels but lowering their sum to be consistent with
19 recent NOMAD measurement. The default value of M0 has been changed
20 from 0.1 to sqrt(0.1) as in M.Bischofberger's (ETHZ)PhD thesis
21 (DISS.ETH NO 16034). For more details see GENIE-PUB/2007/006.
22
23\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
24 University of Liverpool
25
26\created June 10, 2004
27
28\cpright Copyright (c) 2003-2025, The GENIE Collaboration
29 For the full text of the license visit http://copyright.genie-mc.org
30*/
31//____________________________________________________________________________
32
33#ifndef _KOVALENKO_QEL_CHARM_PARTIAL_XSEC_H_
34#define _KOVALENKO_QEL_CHARM_PARTIAL_XSEC_H_
35
36#include <Math/IFunction.h>
37
39//#include "Numerical/GSFunc.h"
40
41namespace genie {
42
43class PDF;
44class PDFModelI;
45class IntegratorI;
46class XSecIntegratorI;
47
49
50public:
52 KovalenkoQELCharmPXSec(string config);
54
55 // XSecAlgorithmI interface implementation
56 double XSec (const Interaction * i, KinePhaseSpace_t k) const;
57 double Integral (const Interaction * i) const;
58 bool ValidProcess (const Interaction * i) const;
59 bool ValidKinematics (const Interaction * i) const;
60
61 // Override the Algorithm::Configure methods to load configuration
62 // data to private data members
63 void Configure (const Registry & config);
64 void Configure (string param_set);
65
66private:
67 void LoadConfig (void);
68
69 double ZR (const Interaction * interaction) const;
70 double DR (const Interaction * interaction) const;
71 double MRes (const Interaction * interaction) const;
72 double ResDM (const Interaction * interaction) const;
73 double xiBar (double Q2, double Mnuc, double v) const;
74
76/// const IntegratorI * fIntegrator;
78
79 double fMo;
80 double fScLambdaP;
81 double fScSigmaP;
82 double fScSigmaPP;
85};
86
87} // genie namespace
88
89//____________________________________________________________________________
90/*!
91\class genie::utils::gsl::wrap::KovQELCharmIntegrand
92
93\brief Auxiliary scalar function for the internal integration in Kovalenko
94 QEL charm production cross section algorithm
95
96\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
97 University of Liverpool
98
99\created February 20, 2006
100*/
101//____________________________________________________________________________
102
103namespace genie {
104 namespace utils {
105 namespace gsl {
106 namespace wrap {
107
108 class KovQELCharmIntegrand : public ROOT::Math::IBaseFunctionOneDim
109 {
110 public:
111 KovQELCharmIntegrand(PDF * pdf, double Q2, int nucleon_pdgc);
113 // ROOT::Math::IBaseFunctionOneDim interface
114 unsigned int NDim (void) const;
115 double DoEval (double xin) const;
116 ROOT::Math::IBaseFunctionOneDim * Clone (void) const;
117 private:
119 double fQ2;
120 int fPdgC;
121 };
122
123 } // wrap namespace
124 } // gsl namespace
125 } // utils namespace
126} // genie namespace
127
128#endif // _KOVALENKO_QEL_CHARM_PARTIAL_XSEC_H_
Summary information for an interaction.
Definition Interaction.h:56
const XSecIntegratorI * fXSecIntegrator
const IntegratorI * fIntegrator;
bool ValidKinematics(const Interaction *i) const
Is the input kinematical point a physically allowed one?
double ZR(const Interaction *interaction) const
double DR(const Interaction *interaction) const
double Integral(const Interaction *i) const
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
double xiBar(double Q2, double Mnuc, double v) const
double MRes(const Interaction *interaction) const
double ResDM(const Interaction *interaction) const
void Configure(const Registry &config)
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
Pure abstract base class. Defines the PDFModelI interface to be implemented by wrapper classes to exi...
Definition PDFModelI.h:28
A class to store PDFs.
Definition PDF.h:37
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
Cross Section Integrator Interface.
KovQELCharmIntegrand(PDF *pdf, double Q2, int nucleon_pdgc)
ROOT::Math::IBaseFunctionOneDim * Clone(void) const
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EKinePhaseSpace KinePhaseSpace_t