Public Member Functions | Private Member Functions | Private Attributes | List of all members
genie::rew::GReWeightNuXSecNC Class Reference

Tweak NC level in a gross way (scale by a given factor). More detailed rew. functions also exist for specific NC sources. RES NC cross section rew. is also handled by GReWeightNuXSecNCRES. DIS NC cross section rew. is also handled by GReWeightNuXSecDIS. More...

#include <GReWeightNuXSecNC.h>

Inheritance diagram for genie::rew::GReWeightNuXSecNC:
genie::rew::GReWeightI

Public Member Functions

 GReWeightNuXSecNC ()
 
 ~GReWeightNuXSecNC ()
 
bool IsHandled (GSyst_t syst)
 does the current weight calculator handle the input nuisance param? More...
 
void SetSystematic (GSyst_t syst, double val)
 update the value for the specified nuisance param More...
 
void Reset (void)
 set all nuisance parameters to default values More...
 
void Reconfigure (void)
 propagate updated nuisance parameter values to actual MC, etc More...
 
double CalcWeight (const EventRecord &event)
 calculate a weight for the input event using the current nuisance param values More...
 
void RewNue (bool tf)
 
void RewNuebar (bool tf)
 
void RewNumu (bool tf)
 
void RewNumubar (bool tf)
 
void RewQE (bool tf)
 
void RewRES (bool tf)
 
void RewDIS (bool tf)
 
- Public Member Functions inherited from genie::rew::GReWeightI
virtual ~GReWeightI ()
 

Private Member Functions

void Init (void)
 

Private Attributes

bool fRewNue
 reweight nu_e? More...
 
bool fRewNuebar
 reweight nu_e_bar? More...
 
bool fRewNumu
 reweight nu_mu? More...
 
bool fRewNumubar
 reweight nu_mu_bar? More...
 
bool fRewQE
 reweight NC elastic? More...
 
bool fRewRES
 reweight NC RES? More...
 
bool fRewDIS
 reweight NC DIS? More...
 
double fNCTwkDial
 tweaking dial More...
 

Additional Inherited Members

- Protected Member Functions inherited from genie::rew::GReWeightI
 GReWeightI ()
 

Detailed Description

Tweak NC level in a gross way (scale by a given factor). More detailed rew. functions also exist for specific NC sources. RES NC cross section rew. is also handled by GReWeightNuXSecNCRES. DIS NC cross section rew. is also handled by GReWeightNuXSecDIS.

Author
Costas Andreopoulos <costas.andreopoulos stfc.ac.uk> University of Liverpool & STFC Rutherford Appleton Lab

Jim Dobson <J.Dobson07 imperial.ac.uk> Imperial College London

May 25, 2010

Copyright (c) 2003-2017, GENIE Neutrino MC Generator Collaboration For the full text of the license visit http://copyright.genie-mc.org or see $GENIE/LICENSE

Definition at line 33 of file GReWeightNuXSecNC.h.

Constructor & Destructor Documentation

GReWeightNuXSecNC::GReWeightNuXSecNC ( )

Definition at line 39 of file GReWeightNuXSecNC.cxx.

40 {
41  this->Init();
42 }
GReWeightNuXSecNC::~GReWeightNuXSecNC ( )

Definition at line 44 of file GReWeightNuXSecNC.cxx.

45 {
46 
47 }

Member Function Documentation

double GReWeightNuXSecNC::CalcWeight ( const EventRecord event)
virtual

calculate a weight for the input event using the current nuisance param values

Implements genie::rew::GReWeightI.

Definition at line 86 of file GReWeightNuXSecNC.cxx.

87 {
88  bool tweaked = (TMath::Abs(fNCTwkDial) > controls::kASmallNum);
89  if(!tweaked) return 1.;
90 
91  Interaction * interaction = event.Summary();
92  bool is_nc = interaction->ProcInfo().IsWeakNC();
93  if(!is_nc) return 1.;
94 
95  bool is_qel = event.Summary()->ProcInfo().IsQuasiElastic();
96  if(is_qel && !fRewQE) return 1.;
97 
98  bool is_res = event.Summary()->ProcInfo().IsResonant();
99  if(is_res && !fRewRES) return 1.;
100 
101  bool is_dis = event.Summary()->ProcInfo().IsDeepInelastic();
102  if(is_dis && !fRewDIS) return 1.;
103 
104  int nupdg = interaction->InitState().ProbePdg();
105  if(nupdg==kPdgNuMu && !fRewNumu ) return 1.;
106  if(nupdg==kPdgAntiNuMu && !fRewNumubar) return 1.;
107  if(nupdg==kPdgNuE && !fRewNue ) return 1.;
108  if(nupdg==kPdgAntiNuE && !fRewNuebar ) return 1.;
109 
110  return fNCTwkDial;
111 }
const int kPdgNuE
Definition: PDGCodes.h:25
bool fRewDIS
reweight NC DIS?
const int kPdgAntiNuE
Definition: PDGCodes.h:26
bool fRewRES
reweight NC RES?
const int kPdgNuMu
Definition: PDGCodes.h:27
Summary information for an interaction.
Definition: Interaction.h:53
bool IsWeakNC(void) const
double fNCTwkDial
tweaking dial
bool fRewQE
reweight NC elastic?
int ProbePdg(void) const
Definition: InitialState.h:54
bool fRewNumu
reweight nu_mu?
static const double kASmallNum
Definition: Controls.h:40
const int kPdgAntiNuMu
Definition: PDGCodes.h:28
const InitialState & InitState(void) const
Definition: Interaction.h:66
const ProcessInfo & ProcInfo(void) const
Definition: Interaction.h:67
bool fRewNuebar
reweight nu_e_bar?
bool fRewNumubar
reweight nu_mu_bar?
void GReWeightNuXSecNC::Init ( void  )
private

Definition at line 113 of file GReWeightNuXSecNC.cxx.

114 {
115  fNCTwkDial = 0.;
116 
117  this->RewNue (true);
118  this->RewNuebar (true);
119  this->RewNumu (true);
120  this->RewNumubar (true);
121 
122  this->RewQE (true );
123  this->RewRES (false); // assume GReWeightNuXSecNCRES is going to be your 1st choice
124  this->RewDIS (false); // assume GReWeightNuXSecDIS is going to be your 1st choice
125 
126 }
double fNCTwkDial
tweaking dial
bool GReWeightNuXSecNC::IsHandled ( GSyst_t  syst)
virtual

does the current weight calculator handle the input nuisance param?

Implements genie::rew::GReWeightI.

Definition at line 49 of file GReWeightNuXSecNC.cxx.

50 {
51  switch(syst) {
52  case ( kXSecTwkDial_NC ) :
53  return true;
54  break;
55  default:
56  return false;
57  break;
58  }
59  return false;
60 }
void GReWeightNuXSecNC::Reconfigure ( void  )
virtual

propagate updated nuisance parameter values to actual MC, etc

Implements genie::rew::GReWeightI.

Definition at line 81 of file GReWeightNuXSecNC.cxx.

82 {
83  fNCTwkDial = TMath::Max(0., fNCTwkDial);
84 }
double fNCTwkDial
tweaking dial
void GReWeightNuXSecNC::Reset ( void  )
virtual

set all nuisance parameters to default values

Implements genie::rew::GReWeightI.

Definition at line 76 of file GReWeightNuXSecNC.cxx.

77 {
78  fNCTwkDial = 0.;
79 }
double fNCTwkDial
tweaking dial
void genie::rew::GReWeightNuXSecNC::RewDIS ( bool  tf)
inline

Definition at line 53 of file GReWeightNuXSecNC.h.

53 { fRewDIS = tf; }
bool fRewDIS
reweight NC DIS?
Definition: tf_graph.h:23
void genie::rew::GReWeightNuXSecNC::RewNue ( bool  tf)
inline

Definition at line 47 of file GReWeightNuXSecNC.h.

47 { fRewNue = tf; }
Definition: tf_graph.h:23
void genie::rew::GReWeightNuXSecNC::RewNuebar ( bool  tf)
inline

Definition at line 48 of file GReWeightNuXSecNC.h.

48 { fRewNuebar = tf; }
Definition: tf_graph.h:23
bool fRewNuebar
reweight nu_e_bar?
void genie::rew::GReWeightNuXSecNC::RewNumu ( bool  tf)
inline

Definition at line 49 of file GReWeightNuXSecNC.h.

49 { fRewNumu = tf; }
Definition: tf_graph.h:23
bool fRewNumu
reweight nu_mu?
void genie::rew::GReWeightNuXSecNC::RewNumubar ( bool  tf)
inline

Definition at line 50 of file GReWeightNuXSecNC.h.

50 { fRewNumubar = tf; }
Definition: tf_graph.h:23
bool fRewNumubar
reweight nu_mu_bar?
void genie::rew::GReWeightNuXSecNC::RewQE ( bool  tf)
inline

Definition at line 51 of file GReWeightNuXSecNC.h.

51 { fRewQE = tf; }
Definition: tf_graph.h:23
bool fRewQE
reweight NC elastic?
void genie::rew::GReWeightNuXSecNC::RewRES ( bool  tf)
inline

Definition at line 52 of file GReWeightNuXSecNC.h.

52 { fRewRES = tf; }
bool fRewRES
reweight NC RES?
Definition: tf_graph.h:23
void GReWeightNuXSecNC::SetSystematic ( GSyst_t  syst,
double  val 
)
virtual

update the value for the specified nuisance param

Implements genie::rew::GReWeightI.

Definition at line 62 of file GReWeightNuXSecNC.cxx.

63 {
64  if(!this->IsHandled(syst)) return;
65 
66  switch(syst) {
67  case ( kXSecTwkDial_NC ) :
68  fNCTwkDial = twk_dial;
69  break;
70  default:
71  return;
72  break;
73  }
74 }
bool IsHandled(GSyst_t syst)
does the current weight calculator handle the input nuisance param?
double fNCTwkDial
tweaking dial

Member Data Documentation

double genie::rew::GReWeightNuXSecNC::fNCTwkDial
private

tweaking dial

Definition at line 66 of file GReWeightNuXSecNC.h.

bool genie::rew::GReWeightNuXSecNC::fRewDIS
private

reweight NC DIS?

Definition at line 65 of file GReWeightNuXSecNC.h.

bool genie::rew::GReWeightNuXSecNC::fRewNue
private

reweight nu_e?

Definition at line 59 of file GReWeightNuXSecNC.h.

bool genie::rew::GReWeightNuXSecNC::fRewNuebar
private

reweight nu_e_bar?

Definition at line 60 of file GReWeightNuXSecNC.h.

bool genie::rew::GReWeightNuXSecNC::fRewNumu
private

reweight nu_mu?

Definition at line 61 of file GReWeightNuXSecNC.h.

bool genie::rew::GReWeightNuXSecNC::fRewNumubar
private

reweight nu_mu_bar?

Definition at line 62 of file GReWeightNuXSecNC.h.

bool genie::rew::GReWeightNuXSecNC::fRewQE
private

reweight NC elastic?

Definition at line 63 of file GReWeightNuXSecNC.h.

bool genie::rew::GReWeightNuXSecNC::fRewRES
private

reweight NC RES?

Definition at line 64 of file GReWeightNuXSecNC.h.


The documentation for this class was generated from the following files: