MaCh3 DUNE 1.0.0
Reference Guide
Loading...
Searching...
No Matches
StructsDUNE.h File Reference
#include <iostream>
#include "TVector3.h"
#include "TLorentzVector.h"
Include dependency graph for StructsDUNE.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  dunemc_base
 

Enumerations

enum  MaCh3_Mode {
  kMaCh3_CCQE = 0 , kMaCh3_CC_Single_Kaon = 1 , kMaCh3_CC_DIS = 2 , kMaCh3_CC_RES = 3 ,
  kMaCh3_CC_COH = 4 , kMaCh3_CC_Diffractive = 5 , kMaCh3_CC_Nue_EL = 6 , kMaCh3_CC_IMD = 7 ,
  kMaCh3_CC_AMnuGamma = 8 , kMaCh3_CC_MEC = 9 , kMaCh3_CC_COHEL = 10 , kMaCh3_CC_IBD = 11 ,
  kMaCh3_CC_GlashowRES = 12 , kMaCh3_CC_IMDAnnihalation = 13 , kMaCh3_NCQE = 14 , kMaCh3_NC_DIS = 15 ,
  kMaCh3_NC_RES = 16 , kMaCh3_NC_COH = 17 , kMaCh3_NC_Diffractive = 18 , kMaCh3_NC_Nue_EL = 19 ,
  kMaCh3_NC_IMD = 20 , kMaCh3_NC_AMnuGamma = 21 , kMaCh3_NC_MEC = 22 , kMaCh3_NC_COHEL = 23 ,
  kMaCh3_NC_IBD = 24 , kMaCh3_NC_GlashowRES = 25 , kMaCh3_NC_IMDAnnihalation = 26 , kMaCh3_nModes
}
 
enum  SIMB_Mode {
  kUnknownInteraction = -1 , kQE = 0 , kRes = 1 , kDIS = 2 ,
  kCoh = 3 , kCohElastic = 4 , kElectronScattering = 5 , kIMDAnnihilation = 6 ,
  kInverseBetaDecay = 7 , kGlashowResonance = 8 , kAMNuGamma = 9 , kMEC = 10 ,
  kDiffractive = 11 , kEM = 12 , kWeakMix = 13 , kSIMB_nModes
}
 
enum  GENIE_Mode {
  gUnknownInteraction = -1 , gQE = 1 , gSingleKaon = 2 , gDIS = 3 ,
  gRes = 4 , gCoh = 5 , gDiffractive = 6 , gElectronScattering = 7 ,
  gIMD = 8 , gAMNuGamma = 9 , gMEC = 10 , gCohElastic = 11 ,
  gInverseBetaDecay = 12 , gGlashowResonance = 13 , gIMDAnnihilation = 14 , gGENIE_nModes
}
 
enum  MaCh3_Spline_Modes {
  kMaCh3_Spline_CCQE = 0 , kMaCh3_Spline_CC_Single_Kaon = 1 , kMaCh3_Spline_CC_DIS = 2 , kMaCh3_Spline_CC_RES = 3 ,
  kMaCh3_Spline_CC_COH = 4 , kMaCh3_Spline_CC_Diffractive = 5 , kMaCh3_Spline_CC_Nue_EL = 6 , kMaCh3_Spline_CC_IMD = 7 ,
  kMaCh3_Spline_CC_AMnuGamma = 8 , kMaCh3_Spline_CC_MEC = 9 , kMaCh3_Spline_CC_COHEL = 10 , kMaCh3_Spline_CC_IBD = 11 ,
  kMaCh3_Spline_CC_GlashowRES = 12 , kMaCh3_Spline_CC_IMDAnnihalation = 13 , kMaCh3_Spline_NCQE = 14 , kMaCh3_Spline_NC_DIS = 15 ,
  kMaCh3_Spline_NC_RES = 16 , kMaCh3_Spline_NC_COH = 17 , kMaCh3_Spline_NC_Diffractive = 18 , kMaCh3_Spline_NC_Nue_EL = 19 ,
  kMaCh3_Spline_NC_IMD = 20 , kMaCh3_Spline_NC_AMnuGamma = 21 , kMaCh3_Spline_NC_MEC = 22 , kMaCh3_Spline_NC_COHEL = 23 ,
  kMaCh3_Spline_NC_IBD = 24 , kMaCh3_Spline_NC_GlashowRES = 25 , kMaCh3_Spline_NC_IMDAnnihalation = 26 , kMaCh3_Spline_nModes
}
 

Functions

void TotalEScaleND (const double *par, double *erec, double erecHad, double erecLep, bool NotCCnumu)
 
void TotalEScaleSqrtND (const double *par, double *erec, double erecHad, double erecLep, double sqrtErecHad, double sqrtErecLep, bool NotCCnumu)
 
void TotalEScaleInvSqrtND (const double *par, double *erec, double erecHad, double erecLep, double invSqrtErecHad, double invSqrtErecLep, bool NotCCnumu)
 
void HadEScaleND (const double *par, double *erec, double sumEhad)
 
void HadEScaleSqrtND (const double *par, double *erec, double sumEhad, double sqrtSumEhad)
 
void HadEScaleInvSqrtND (const double *par, double *erec, double sumEhad, double invSqrtSumEhad)
 
void MuEScaleND (const double *par, double *erec, double erecLep, bool CCnumu)
 
void MuEScaleSqrtND (const double *par, double *erec, double erecLep, double sqrtErecLep, bool CCnumu)
 
void MuEScaleInvSqrtND (const double *par, double *erec, double erecLep, double invSqrtErecLep, bool CCnumu)
 
void NEScaleND (const double *par, double *erec, double eRecoN)
 
void NEScaleSqrtND (const double *par, double *erec, double eRecoN, double sqrteRecoN)
 
void NEScaleInvSqrtND (const double *par, double *erec, double eRecoN, double invSqrteRecoN)
 
void EMEScaleND (const double *par, double *erec, double eRecoPi0, double erecLep, bool CCnue)
 
void EMEScaleSqrtND (const double *par, double *erec, double eRecoPi0, double erecLep, double sqrtErecLep, double sqrteRecoPi0, bool CCnue)
 
void EMEScaleInvSqrtND (const double *par, double *erec, double eRecoPi0, double erecLep, double invSqrtErecLep, double invSqrteRecoPi0, bool CCnue)
 
void HadResND (const double *par, double *erec, double eRecoP, double eRecoPip, double eRecoPim, double eP, double ePip, double ePim)
 
void MuResND (const double *par, double *erec, double erecLep, double LepE, bool CCnumu)
 
void NResND (const double *par, double *erec, double eRecoN, double eN)
 
void EMResND (const double *par, double *erec, double eRecoPi0, double ePi0, double erecLep, double LepE, bool CCnue)
 
void TotalEScaleFD (const double *par, double *erec, double erecHad, double erecLep, bool NotCCnumu)
 
void TotalEScaleSqrtFD (const double *par, double *erec, double erecHad, double erecLep, double sqrtErecHad, double sqrtErecLep, bool NotCCnumu)
 
void TotalEScaleInvSqrtFD (const double *par, double *erec, double erecHad, double erecLep, double invSqrtErecHad, double invSqrtErecLep, bool NotCCnumu)
 
void HadEScaleFD (const double *par, double *erec, double sumEhad)
 
void HadEScaleSqrtFD (const double *par, double *erec, double sumEhad, double sqrtSumEhad)
 
void HadEScaleInvSqrtFD (const double *par, double *erec, double sumEhad, double invSqrtSumEhad)
 
void MuEScaleFD (const double *par, double *erec, double erecLep, bool CCnumu)
 
void MuEScaleSqrtFD (const double *par, double *erec, double erecLep, double sqrtErecLep, bool CCnumu)
 
void MuEScaleInvSqrtFD (const double *par, double *erec, double erecLep, double invSqrtErecLep, bool CCnumu)
 
void NEScaleFD (const double *par, double *erec, double eRecoN)
 
void NEScaleSqrtFD (const double *par, double *erec, double eRecoN, double sqrteRecoN)
 
void NEScaleInvSqrtFD (const double *par, double *erec, double eRecoN, double invSqrteRecoN)
 
void EMEScaleFD (const double *par, double *erec, double eRecoPi0, double erecLep, bool CCnue)
 
void EMEScaleSqrtFD (const double *par, double *erec, double eRecoPi0, double erecLep, double sqrtErecLep, double sqrteRecoPi0, bool CCnue)
 
void EMEScaleInvSqrtFD (const double *par, double *erec, double eRecoPi0, double erecLep, double invSqrtErecLep, double invSqrteRecoPi0, bool CCnue)
 
void HadResFD (const double *par, double *erec, double eRecoP, double eRecoPip, double eRecoPim, double eP, double ePip, double ePim)
 
void MuResFD (const double *par, double *erec, double erecLep, double LepE, bool CCnumu)
 
void NResFD (const double *par, double *erec, double eRecoN, double eN)
 
void EMResFD (const double *par, double *erec, double eRecoPi0, double ePi0, double erecLep, double LepE, bool CCnue)
 
void CVNNumuFD (const double *par, double *cvnnumu)
 
void CVNNueFD (const double *par, double *cvnnue)
 
int SIMBMode_ToMaCh3Mode (int SIMB_mode, int isCC)
 
int GENIEMode_ToMaCh3Mode (int GENIE_mode, int isCC)
 
std::string MaCh3mode_ToDUNEString (MaCh3_Mode i)
 
int MaCh3Mode_to_SplineMode (int iMode)
 

Enumeration Type Documentation

◆ GENIE_Mode

enum GENIE_Mode
Enumerator
gUnknownInteraction 
gQE 
gSingleKaon 
gDIS 
gRes 
gCoh 
gDiffractive 
gElectronScattering 
gIMD 
gAMNuGamma 
gMEC 
gCohElastic 
gInverseBetaDecay 
gGlashowResonance 
gIMDAnnihilation 
gGENIE_nModes 

Definition at line 724 of file StructsDUNE.h.

724 {
725 // ***************************
726
727 // Unknown
729 // QE
730 gQE = 1,
731 // Single Kaon
732 gSingleKaon = 2,
733 // DIS
734 gDIS = 3,
735 // RES
736 gRes = 4,
737 // Coherent
738 gCoh = 5,
739 // Diffractive
740 gDiffractive = 6,
741 // Nu-e Elastic
743 // Inverse Muon Decay
744 gIMD = 8,
745 // Atmospheric Muon Nu Gamma
746 gAMNuGamma = 9,
747 // MEC aka 2p2h
748 gMEC = 10,
749 // Coherent Elastic
750 gCohElastic = 11,
751 // Inverse Beta Decay
752 gInverseBetaDecay = 12,
753 // Glasgow Resonance
755 // Inverse Muon Decay Annihliation
756 gIMDAnnihilation = 14,
757 // Just keep a counter of the number of modes
759};
@ gDIS
@ gMEC
@ gDiffractive
@ gGlashowResonance
@ gElectronScattering
@ gCohElastic
@ gUnknownInteraction
@ gSingleKaon
@ gIMD
@ gAMNuGamma
@ gCoh
@ gRes
@ gGENIE_nModes
@ gIMDAnnihilation
@ gQE
@ gInverseBetaDecay

◆ MaCh3_Mode

enum MaCh3_Mode
Enumerator
kMaCh3_CCQE 
kMaCh3_CC_Single_Kaon 
kMaCh3_CC_DIS 
kMaCh3_CC_RES 
kMaCh3_CC_COH 
kMaCh3_CC_Diffractive 
kMaCh3_CC_Nue_EL 
kMaCh3_CC_IMD 
kMaCh3_CC_AMnuGamma 
kMaCh3_CC_MEC 
kMaCh3_CC_COHEL 
kMaCh3_CC_IBD 
kMaCh3_CC_GlashowRES 
kMaCh3_CC_IMDAnnihalation 
kMaCh3_NCQE 
kMaCh3_NC_DIS 
kMaCh3_NC_RES 
kMaCh3_NC_COH 
kMaCh3_NC_Diffractive 
kMaCh3_NC_Nue_EL 
kMaCh3_NC_IMD 
kMaCh3_NC_AMnuGamma 
kMaCh3_NC_MEC 
kMaCh3_NC_COHEL 
kMaCh3_NC_IBD 
kMaCh3_NC_GlashowRES 
kMaCh3_NC_IMDAnnihalation 
kMaCh3_nModes 

Definition at line 617 of file StructsDUNE.h.

617 {
618 // ***************************
619
620 // CCQE
621 kMaCh3_CCQE = 0,
622 // 1 Kaon
624 // CC DIS
625 kMaCh3_CC_DIS = 2,
626 // CC RES
627 kMaCh3_CC_RES = 3,
628 // CC COH
629 kMaCh3_CC_COH = 4,
630 // CC Diffractive
632 // CC Electron EL
634 // CC Inverse Muon Decay
635 kMaCh3_CC_IMD = 7,
636 // CC Atmospheric Neutrino Gamma
638 // CC MEC (aka 2p2h)
639 kMaCh3_CC_MEC = 9,
640 // CC Coherent Elastic
641 kMaCh3_CC_COHEL = 10,
642 // CC Inverse Beta Decay
643 kMaCh3_CC_IBD = 11,
644 // CC GlashowRES
646 // CC IMD Annihilation
648
649 // NCQE
650 kMaCh3_NCQE = 14,
651 // NC DIS
652 kMaCh3_NC_DIS = 15,
653 // NC RES
654 kMaCh3_NC_RES = 16,
655 // NC COH
656 kMaCh3_NC_COH = 17,
657 // CC Diffractive
659 // NC Electron EL
660 kMaCh3_NC_Nue_EL = 19,
661 // NC Inverse Muon Decay
662 kMaCh3_NC_IMD = 20,
663 // NC Atmospheric Neutrino Gamma
665 // NC MEC (aka 2p2h)
666 kMaCh3_NC_MEC = 22,
667 // NC Coherent Elastic
668 kMaCh3_NC_COHEL = 23,
669 // NC Inverse Beta Decay
670 kMaCh3_NC_IBD = 24,
671 // NC GlashowRES
673 // NC IMD Annihilation
675
676 // Keep a counter of the number of MaCh3 modes we have
678};
@ kMaCh3_CC_Nue_EL
@ kMaCh3_CCQE
@ kMaCh3_NC_GlashowRES
@ kMaCh3_CC_GlashowRES
@ kMaCh3_CC_IMD
@ kMaCh3_NC_COHEL
@ kMaCh3_CC_IBD
@ kMaCh3_CC_Diffractive
@ kMaCh3_NCQE
@ kMaCh3_NC_Diffractive
@ kMaCh3_CC_IMDAnnihalation
@ kMaCh3_CC_DIS
@ kMaCh3_NC_AMnuGamma
@ kMaCh3_NC_IBD
@ kMaCh3_CC_AMnuGamma
@ kMaCh3_nModes
@ kMaCh3_NC_MEC
@ kMaCh3_CC_MEC
@ kMaCh3_NC_IMDAnnihalation
@ kMaCh3_CC_RES
@ kMaCh3_NC_Nue_EL
@ kMaCh3_CC_COHEL
@ kMaCh3_CC_COH
@ kMaCh3_NC_IMD
@ kMaCh3_NC_DIS
@ kMaCh3_NC_RES
@ kMaCh3_NC_COH
@ kMaCh3_CC_Single_Kaon

◆ MaCh3_Spline_Modes

Enumerator
kMaCh3_Spline_CCQE 
kMaCh3_Spline_CC_Single_Kaon 
kMaCh3_Spline_CC_DIS 
kMaCh3_Spline_CC_RES 
kMaCh3_Spline_CC_COH 
kMaCh3_Spline_CC_Diffractive 
kMaCh3_Spline_CC_Nue_EL 
kMaCh3_Spline_CC_IMD 
kMaCh3_Spline_CC_AMnuGamma 
kMaCh3_Spline_CC_MEC 
kMaCh3_Spline_CC_COHEL 
kMaCh3_Spline_CC_IBD 
kMaCh3_Spline_CC_GlashowRES 
kMaCh3_Spline_CC_IMDAnnihalation 
kMaCh3_Spline_NCQE 
kMaCh3_Spline_NC_DIS 
kMaCh3_Spline_NC_RES 
kMaCh3_Spline_NC_COH 
kMaCh3_Spline_NC_Diffractive 
kMaCh3_Spline_NC_Nue_EL 
kMaCh3_Spline_NC_IMD 
kMaCh3_Spline_NC_AMnuGamma 
kMaCh3_Spline_NC_MEC 
kMaCh3_Spline_NC_COHEL 
kMaCh3_Spline_NC_IBD 
kMaCh3_Spline_NC_GlashowRES 
kMaCh3_Spline_NC_IMDAnnihalation 
kMaCh3_Spline_nModes 

Definition at line 1138 of file StructsDUNE.h.

1138 {
1139
1140 // ***************************
1141 // CCQE
1143 // 1 Kaon
1145 // CC DIS
1147 // CC RES
1149 // CC COH
1151 // CC Diffractive
1153 // CC Electron EL
1155 // CC Inverse Muon Decay
1157 // CC Atmospheric Neutrino Gamma
1159 // CC MEC (aka 2p2h)
1161 // CC Coherent Elastic
1163 // CC Inverse Beta Decay
1165 // CC GlashowRES
1167 // CC IMD Annihilation
1169
1170 // NCQE
1171 kMaCh3_Spline_NCQE = 14,
1172 // NC DIS
1174 // NC RES
1176 // NC COH
1178 // CC Diffractive
1180 // NC Electron EL
1182 // NC Inverse Muon Decay
1184 // NC Atmospheric Neutrino Gamma
1186 // NC MEC (aka 2p2h)
1188 // NC Coherent Elastic
1190 // NC Inverse Beta Decay
1192 // NC GlashowRES
1194 // NC IMD Annihilation
1196
1197 // Keep a counter of the number of MaCh3 modes we have
1199
1200};
@ kMaCh3_Spline_NCQE
@ kMaCh3_Spline_nModes
@ kMaCh3_Spline_CC_IMDAnnihalation
@ kMaCh3_Spline_CC_COH
@ kMaCh3_Spline_CC_RES
@ kMaCh3_Spline_CC_IMD
@ kMaCh3_Spline_CC_DIS
@ kMaCh3_Spline_NC_IBD
@ kMaCh3_Spline_NC_AMnuGamma
@ kMaCh3_Spline_NC_MEC
@ kMaCh3_Spline_CC_Diffractive
@ kMaCh3_Spline_NC_DIS
@ kMaCh3_Spline_NC_RES
@ kMaCh3_Spline_NC_GlashowRES
@ kMaCh3_Spline_NC_IMD
@ kMaCh3_Spline_CC_IBD
@ kMaCh3_Spline_NC_Nue_EL
@ kMaCh3_Spline_CC_Nue_EL
@ kMaCh3_Spline_CC_GlashowRES
@ kMaCh3_Spline_CC_AMnuGamma
@ kMaCh3_Spline_CC_Single_Kaon
@ kMaCh3_Spline_NC_Diffractive
@ kMaCh3_Spline_CC_MEC
@ kMaCh3_Spline_NC_IMDAnnihalation
@ kMaCh3_Spline_NC_COH
@ kMaCh3_Spline_CCQE
@ kMaCh3_Spline_NC_COHEL
@ kMaCh3_Spline_CC_COHEL

◆ SIMB_Mode

enum SIMB_Mode
Enumerator
kUnknownInteraction 
kQE 
kRes 
kDIS 
kCoh 
kCohElastic 
kElectronScattering 
kIMDAnnihilation 
kInverseBetaDecay 
kGlashowResonance 
kAMNuGamma 
kMEC 
kDiffractive 
kEM 
kWeakMix 
kSIMB_nModes 

Definition at line 684 of file StructsDUNE.h.

684 {
685 // ***************************
686
687 // Unknown
689 // QE
690 kQE = 0,
691 // Resonant
692 kRes = 1,
693 // DIS
694 kDIS = 2,
695 // Coherent
696 kCoh = 3,
697 // Coherent Elastic
698 kCohElastic = 4,
699 // Electron Scattering
701 // Inverse Muon Decay Annihliation
703 // Inverse Beta Decay
705 // Glasgow Resonance
707 // Atmospheric Muon Nu Gamma
708 kAMNuGamma = 9,
709 // MEC aka 2p2h
710 kMEC = 10,
711 // Diffractive
712 kDiffractive = 11,
713 //
714 kEM = 12,
715 //
716 kWeakMix = 13,
717 // Just keep a counter of the number of modes
719};
@ kDiffractive
@ kGlashowResonance
@ kCoh
@ kIMDAnnihilation
@ kInverseBetaDecay
@ kSIMB_nModes
@ kElectronScattering
@ kWeakMix
@ kAMNuGamma
@ kMEC
@ kRes
@ kUnknownInteraction
@ kDIS
@ kEM
@ kQE
@ kCohElastic

Function Documentation

◆ CVNNueFD()

void CVNNueFD ( const double * par,
double * cvnnue )
inline

Definition at line 608 of file StructsDUNE.h.

608 {
609
610 (*cvnnue) += (*par);
611
612}

◆ CVNNumuFD()

void CVNNumuFD ( const double * par,
double * cvnnumu )
inline

Definition at line 601 of file StructsDUNE.h.

601 {
602
603 (*cvnnumu) += (*par);
604
605}

◆ EMEScaleFD()

void EMEScaleFD ( const double * par,
double * erec,
double eRecoPi0,
double erecLep,
bool CCnue )
inline

Definition at line 500 of file StructsDUNE.h.

500 {
501
502 (*erec) += (*par) * eRecoPi0;
503
504 //if true CC nue AND reco nue event
505 if (CCnue)
506 {
507 (*erec) += (*par) * erecLep;
508 }
509
510}

◆ EMEScaleInvSqrtFD()

void EMEScaleInvSqrtFD ( const double * par,
double * erec,
double eRecoPi0,
double erecLep,
double invSqrtErecLep,
double invSqrteRecoPi0,
bool CCnue )
inline

Definition at line 526 of file StructsDUNE.h.

526 {
527
528 (*erec) += (*par) * invSqrteRecoPi0 * eRecoPi0;
529
530 //if true CC nue AND reco nue event
531 if (CCnue)
532 {
533 (*erec) += (*par) * invSqrtErecLep * erecLep;
534 }
535
536}

◆ EMEScaleInvSqrtND()

void EMEScaleInvSqrtND ( const double * par,
double * erec,
double eRecoPi0,
double erecLep,
double invSqrtErecLep,
double invSqrteRecoPi0,
bool CCnue )
inline

Definition at line 276 of file StructsDUNE.h.

276 {
277
278 (*erec) += (*par) * invSqrteRecoPi0 * eRecoPi0;
279
280 //if true CC nue AND reco nue event
281 if (CCnue)
282 {
283 (*erec) += (*par) * invSqrtErecLep * erecLep;
284 }
285
286}

◆ EMEScaleND()

void EMEScaleND ( const double * par,
double * erec,
double eRecoPi0,
double erecLep,
bool CCnue )
inline

Definition at line 250 of file StructsDUNE.h.

250 {
251
252 (*erec) += (*par) * eRecoPi0;
253
254 //if true CC nue AND reco nue event
255 if (CCnue)
256 {
257 (*erec) += (*par) * erecLep;
258 }
259
260}

◆ EMEScaleSqrtFD()

void EMEScaleSqrtFD ( const double * par,
double * erec,
double eRecoPi0,
double erecLep,
double sqrtErecLep,
double sqrteRecoPi0,
bool CCnue )
inline

Definition at line 513 of file StructsDUNE.h.

513 {
514
515 (*erec) += (*par) * sqrteRecoPi0 * eRecoPi0;
516
517 //if true CC nue AND reco nue event
518 if (CCnue)
519 {
520 (*erec) += (*par) * sqrtErecLep * erecLep;
521 }
522
523}

◆ EMEScaleSqrtND()

void EMEScaleSqrtND ( const double * par,
double * erec,
double eRecoPi0,
double erecLep,
double sqrtErecLep,
double sqrteRecoPi0,
bool CCnue )
inline

Definition at line 263 of file StructsDUNE.h.

263 {
264
265 (*erec) += (*par) * sqrteRecoPi0 * eRecoPi0;
266
267 //if true CC nue AND reco nue event
268 if (CCnue)
269 {
270 (*erec) += (*par) * sqrtErecLep * erecLep;
271 }
272
273}

◆ EMResFD()

void EMResFD ( const double * par,
double * erec,
double eRecoPi0,
double ePi0,
double erecLep,
double LepE,
bool CCnue )
inline

Definition at line 584 of file StructsDUNE.h.

584 {
585
586 (*erec) += (*par) * (ePi0 - eRecoPi0);
587
588 //if true CC nue AND reco nue event
589 if (CCnue)
590 {
591 (*erec) += (*par) * (LepE - erecLep);
592 }
593
594}

◆ EMResND()

void EMResND ( const double * par,
double * erec,
double eRecoPi0,
double ePi0,
double erecLep,
double LepE,
bool CCnue )
inline

Definition at line 334 of file StructsDUNE.h.

334 {
335
336 (*erec) += (*par) * (ePi0 - eRecoPi0);
337
338 //if true CC nue AND reco nue event
339 if (CCnue)
340 {
341 (*erec) += (*par) * (LepE - erecLep);
342 }
343
344}

◆ GENIEMode_ToMaCh3Mode()

int GENIEMode_ToMaCh3Mode ( int GENIE_mode,
int isCC )
inline

Definition at line 896 of file StructsDUNE.h.

896 {
897 // **********************
898
899 int ReturnMode = kMaCh3_nModes;
900
901 if (isCC == 1) {
902 switch (GENIE_mode) {
903 //Unknown
905 ReturnMode = kMaCh3_nModes;
906 break;
907 //QE
908 case gQE:
909 ReturnMode = kMaCh3_CCQE; // CC QE in MaCh3 DUNE
910 break;
911 // DIS
912 case gDIS:
913 ReturnMode = kMaCh3_CC_DIS; //CC DIS in MaCh3 DUNE
914 break;
915 // RES
916 case gRes:
917 ReturnMode = kMaCh3_CC_RES; // CC RES in MaCh3 DUNE
918 break;
919 // Coherent
920 case gCoh:
921 ReturnMode = kMaCh3_CC_COH; // CC Coh in MaCh3 DUNE
922 break;
923 // Diffractive
924 case gDiffractive:
925 ReturnMode = kMaCh3_CC_Diffractive; // CC multi-pi in MaCh3
926 break;
927 // Nue Elastic
929 ReturnMode = kMaCh3_CC_Nue_EL; // CC Nue scattering in MaCh3 DUNE
930 break;
931 // Atmospheric Mu Gamma
932 case gAMNuGamma:
933 ReturnMode = kMaCh3_CC_AMnuGamma; // CC Am Nu Mu in MaCh3 DUNE
934 break;
935 // MEC
936 case gMEC:
937 ReturnMode = kMaCh3_CC_MEC; // CC MEC in MaCh3 DUNE
938 break;
939 // Coherent Elastic
940 case gCohElastic:
941 ReturnMode = kMaCh3_CC_COHEL; // CC Coherent Elastic in MaCh3 DUNE
942 break;
943 // Inverse Beta Decay
945 ReturnMode = kMaCh3_CC_IBD; // CC Inverse Beta Decay in MaCh3 DUNE
946 break;
947 // Glashow Resonance
949 ReturnMode = kMaCh3_CC_GlashowRES; // NC 1 gamma
950 break;
951 // IMD Annihilation
952 case gIMDAnnihilation:
953 ReturnMode = kMaCh3_CC_IMDAnnihalation; // NC other in MaCh3
954 break;
955 case gIMD:
956 ReturnMode = kMaCh3_CC_IMDAnnihalation; // Stick Inverse Muon Decay into above
957 break;
958 case gSingleKaon:
959 ReturnMode = kMaCh3_CC_IMDAnnihalation; // Stick Single Kaon into above
960 break;
961 default:
962 ReturnMode = kMaCh3_nModes; // Something else in MaCh3 (sand?)
963 break;
964 }
965
966 }
967
968
969 if (isCC == 0) {
970 switch (GENIE_mode) {
971 //Unknown
973 ReturnMode = kMaCh3_nModes;
974 break;
975 //QE
976 case gQE:
977 ReturnMode = kMaCh3_NCQE; // NC QE in MaCh3 DUNE
978 break;
979 // DIS
980 case gDIS:
981 ReturnMode = kMaCh3_NC_DIS; // NC DIS in MaCh3 DUNE
982 break;
983 // RES
984 case gRes:
985 ReturnMode = kMaCh3_NC_RES; // NC RES in MaCh3 DUNE
986 break;
987 // Coherent
988 case gCoh:
989 ReturnMode = kMaCh3_NC_COH; // NC Coh in MaCh3 DUNE
990 break;
991 // Diffractive
992 case gDiffractive:
993 ReturnMode = kMaCh3_NC_Diffractive; // CC multi-pi in MaCh3
994 break;
995 // Nue Elastic
997 ReturnMode = kMaCh3_NC_Nue_EL; // NC Nue scattering in MaCh3 DUNE
998 break;
999 // Atmospheric Mu Gamma
1000 case gAMNuGamma:
1001 ReturnMode = kMaCh3_NC_AMnuGamma; // NC Am Nu Mu in MaCh3 DUNE
1002 break;
1003 // MEC
1004 case gMEC:
1005 ReturnMode = kMaCh3_NC_MEC; // NC MEC in MaCh3 DUNE
1006 break;
1007 // Coherent Elastic
1008 case gCohElastic:
1009 ReturnMode = kMaCh3_NC_COHEL; // NC Coherent Elastic in MaCh3 DUNE
1010 break;
1011 // Inverse Beta Decay
1012 case gInverseBetaDecay:
1013 ReturnMode = kMaCh3_NC_IBD; // Inverse Beta Decay in MaCh3 DUNE
1014 break;
1015 // Glashow Resonance
1016 case gGlashowResonance:
1017 ReturnMode = kMaCh3_NC_GlashowRES;
1018 break;
1019 // IMD Annihilation
1020 case gIMDAnnihilation:
1021 ReturnMode = kMaCh3_NC_IMDAnnihalation;
1022 break;
1023 case gIMD:
1024 ReturnMode = kMaCh3_NC_IMDAnnihalation;
1025 break;
1026 case gSingleKaon:
1027 ReturnMode = kMaCh3_NC_IMDAnnihalation;
1028 break;
1029 default:
1030 ReturnMode = kMaCh3_nModes; // Something else in MaCh3 (sand?)
1031 break;
1032 }
1033
1034 }
1035
1036 return ReturnMode;
1037};

◆ HadEScaleFD()

void HadEScaleFD ( const double * par,
double * erec,
double sumEhad )
inline

Definition at line 406 of file StructsDUNE.h.

406 {
407
408 // Protons + Positive Pions + Negative Pions
409 (*erec) += (*par) * sumEhad;
410
411}

◆ HadEScaleInvSqrtFD()

void HadEScaleInvSqrtFD ( const double * par,
double * erec,
double sumEhad,
double invSqrtSumEhad )
inline

Definition at line 422 of file StructsDUNE.h.

422 {
423
424 // Protons + Positive Pions + Negative Pions
425 (*erec) += (*par) * invSqrtSumEhad * sumEhad;
426
427}

◆ HadEScaleInvSqrtND()

void HadEScaleInvSqrtND ( const double * par,
double * erec,
double sumEhad,
double invSqrtSumEhad )
inline

Definition at line 172 of file StructsDUNE.h.

172 {
173
174 // Protons + Positive Pions + Negative Pions
175 (*erec) += (*par) * invSqrtSumEhad * sumEhad;
176
177}

◆ HadEScaleND()

void HadEScaleND ( const double * par,
double * erec,
double sumEhad )
inline

Definition at line 156 of file StructsDUNE.h.

156 {
157
158 // Protons + Positive Pions + Negative Pions
159 (*erec) += (*par) * sumEhad;
160
161}

◆ HadEScaleSqrtFD()

void HadEScaleSqrtFD ( const double * par,
double * erec,
double sumEhad,
double sqrtSumEhad )
inline

Definition at line 414 of file StructsDUNE.h.

414 {
415
416 // Protons + Positive Pions + Negative Pions
417 (*erec) += (*par) * sqrtSumEhad * sumEhad;
418
419}

◆ HadEScaleSqrtND()

void HadEScaleSqrtND ( const double * par,
double * erec,
double sumEhad,
double sqrtSumEhad )
inline

Definition at line 164 of file StructsDUNE.h.

164 {
165
166 // Protons + Positive Pions + Negative Pions
167 (*erec) += (*par) * sqrtSumEhad * sumEhad;
168
169}

◆ HadResFD()

void HadResFD ( const double * par,
double * erec,
double eRecoP,
double eRecoPip,
double eRecoPim,
double eP,
double ePip,
double ePim )
inline

Definition at line 545 of file StructsDUNE.h.

545 {
546
547 // Reco Sum: Protons + Positive Pions + Negative Pions
548 double recoSum = eRecoP + eRecoPip + eRecoPim;
549
550 // True Sum: Protons + Positive Pions + Negative Pions
551 double trueSum = eP + ePip + ePim;
552
553 (*erec) += (*par) * (trueSum - recoSum);
554
555}

◆ HadResND()

void HadResND ( const double * par,
double * erec,
double eRecoP,
double eRecoPip,
double eRecoPim,
double eP,
double ePip,
double ePim )
inline

Definition at line 295 of file StructsDUNE.h.

295 {
296
297 // Reco Sum: Protons + Positive Pions + Negative Pions
298 double recoSum = eRecoP + eRecoPip + eRecoPim;
299
300 // True Sum: Protons + Positive Pions + Negative Pions
301 double trueSum = eP + ePip + ePim;
302
303 (*erec) += (*par) * (trueSum - recoSum);
304
305}

◆ MaCh3Mode_to_SplineMode()

int MaCh3Mode_to_SplineMode ( int iMode)
inline

Definition at line 1202 of file StructsDUNE.h.

1202 {
1203 //No grouping of modes in MaCh3
1204 return iMode;
1205}

◆ MaCh3mode_ToDUNEString()

std::string MaCh3mode_ToDUNEString ( MaCh3_Mode i)
inline

Definition at line 1041 of file StructsDUNE.h.

1041 {
1042 // *******************************
1043 std::string name;
1044
1045 switch(i) {
1046 case kMaCh3_CCQE:
1047 name = "ccqe";
1048 break;
1050 name = "unknown";
1051 break;
1052 case kMaCh3_CC_DIS:
1053 name = "ccdis";
1054 break;
1055 case kMaCh3_CC_RES:
1056 name = "ccres";
1057 break;
1058 case kMaCh3_CC_COH:
1059 name = "cccoh";
1060 break;
1061 case kMaCh3_CC_COHEL:
1062 name = "cccohel";
1063 break;
1065 name = "ccdiff";
1066 break;
1067 case kMaCh3_CC_Nue_EL:
1068 name = "ccnueel";
1069 break;
1070 case kMaCh3_CC_MEC:
1071 name = "ccmec";
1072 break;
1073 case kMaCh3_CC_IMD:
1074 name = "ccIMD";
1075 break;
1077 name = "ccglasres";
1078 break;
1080 name = "ccimdannihilation";
1081 break;
1083 name = "ccamnugamma";
1084 break;
1085 case kMaCh3_CC_IBD:
1086 name = "ccibd";
1087 break;
1088 case kMaCh3_NCQE:
1089 name = "ncqe";
1090 break;
1091 case kMaCh3_NC_DIS:
1092 name = "ncdis";
1093 break;
1094 case kMaCh3_NC_RES:
1095 name = "ncres";
1096 break;
1097 case kMaCh3_NC_COH:
1098 name = "nccoh";
1099 break;
1100 case kMaCh3_NC_COHEL:
1101 name = "nccohel";
1102 break;
1104 name = "ncdiff";
1105 break;
1106 case kMaCh3_NC_Nue_EL:
1107 name = "ncnueel";
1108 break;
1109 case kMaCh3_NC_MEC:
1110 name = "ncmec";
1111 break;
1112 case kMaCh3_NC_IMD:
1113 name = "ncIMD";
1114 break;
1116 name = "ncglasres";
1117 break;
1119 name = "ncimdannihilation";
1120 break;
1122 name = "ncamnugamma";
1123 break;
1124 case kMaCh3_NC_IBD:
1125 name = "ncibd";
1126 break;
1127 case kMaCh3_nModes:
1128 name = "unknown";
1129 break;
1130 default:
1131 std::cerr << "Did not find the MaCh3 mode you specified " << i << std::endl;
1132 name = "UNKNOWN_BAD";
1133 }
1134
1135 return name;
1136}

◆ MuEScaleFD()

void MuEScaleFD ( const double * par,
double * erec,
double erecLep,
bool CCnumu )
inline

Definition at line 436 of file StructsDUNE.h.

436 {
437
438 //if true CC numu AND reco numu event
439 if (CCnumu)
440 {
441 (*erec) += (*par) * erecLep;
442 }
443
444}

◆ MuEScaleInvSqrtFD()

void MuEScaleInvSqrtFD ( const double * par,
double * erec,
double erecLep,
double invSqrtErecLep,
bool CCnumu )
inline

Definition at line 458 of file StructsDUNE.h.

458 {
459
460 //if true CC numu AND reco numu event
461 if (CCnumu)
462 {
463 (*erec) += (*par) * invSqrtErecLep * erecLep;
464 }
465
466}

◆ MuEScaleInvSqrtND()

void MuEScaleInvSqrtND ( const double * par,
double * erec,
double erecLep,
double invSqrtErecLep,
bool CCnumu )
inline

Definition at line 208 of file StructsDUNE.h.

208 {
209
210 //if true CC numu AND reco numu event
211 if (CCnumu)
212 {
213 (*erec) += (*par) * invSqrtErecLep * erecLep;
214 }
215
216}

◆ MuEScaleND()

void MuEScaleND ( const double * par,
double * erec,
double erecLep,
bool CCnumu )
inline

Definition at line 186 of file StructsDUNE.h.

186 {
187
188 //if true CC numu AND reco numu event
189 if (CCnumu)
190 {
191 (*erec) += (*par) * erecLep;
192 }
193
194}

◆ MuEScaleSqrtFD()

void MuEScaleSqrtFD ( const double * par,
double * erec,
double erecLep,
double sqrtErecLep,
bool CCnumu )
inline

Definition at line 447 of file StructsDUNE.h.

447 {
448
449 //if true CC numu AND reco numu event
450 if (CCnumu)
451 {
452 (*erec) += (*par) * sqrtErecLep * erecLep;
453 }
454
455}

◆ MuEScaleSqrtND()

void MuEScaleSqrtND ( const double * par,
double * erec,
double erecLep,
double sqrtErecLep,
bool CCnumu )
inline

Definition at line 197 of file StructsDUNE.h.

197 {
198
199 //if true CC numu AND reco numu event
200 if (CCnumu)
201 {
202 (*erec) += (*par) * sqrtErecLep * erecLep;
203 }
204
205}

◆ MuResFD()

void MuResFD ( const double * par,
double * erec,
double erecLep,
double LepE,
bool CCnumu )
inline

Definition at line 560 of file StructsDUNE.h.

560 {
561
562 //if true CC numu AND reco numu event
563 if (CCnumu)
564 {
565 (*erec) += (*par) * (LepE - erecLep);
566 }
567
568}

◆ MuResND()

void MuResND ( const double * par,
double * erec,
double erecLep,
double LepE,
bool CCnumu )
inline

Definition at line 310 of file StructsDUNE.h.

310 {
311
312 //if true CC numu AND reco numu event
313 if (CCnumu)
314 {
315 (*erec) += (*par) * (LepE - erecLep);
316 }
317
318}

◆ NEScaleFD()

void NEScaleFD ( const double * par,
double * erec,
double eRecoN )
inline

Definition at line 474 of file StructsDUNE.h.

474 {
475
476 (*erec) += (*par) * eRecoN;
477
478}

◆ NEScaleInvSqrtFD()

void NEScaleInvSqrtFD ( const double * par,
double * erec,
double eRecoN,
double invSqrteRecoN )
inline

Definition at line 488 of file StructsDUNE.h.

488 {
489
490 (*erec) += (*par) * invSqrteRecoN * eRecoN;
491
492}

◆ NEScaleInvSqrtND()

void NEScaleInvSqrtND ( const double * par,
double * erec,
double eRecoN,
double invSqrteRecoN )
inline

Definition at line 238 of file StructsDUNE.h.

238 {
239
240 (*erec) += (*par) * invSqrteRecoN * eRecoN;
241
242}

◆ NEScaleND()

void NEScaleND ( const double * par,
double * erec,
double eRecoN )
inline

Definition at line 224 of file StructsDUNE.h.

224 {
225
226 (*erec) += (*par) * eRecoN;
227
228}

◆ NEScaleSqrtFD()

void NEScaleSqrtFD ( const double * par,
double * erec,
double eRecoN,
double sqrteRecoN )
inline

Definition at line 481 of file StructsDUNE.h.

481 {
482
483 (*erec) += (*par) * sqrteRecoN * eRecoN;
484
485}

◆ NEScaleSqrtND()

void NEScaleSqrtND ( const double * par,
double * erec,
double eRecoN,
double sqrteRecoN )
inline

Definition at line 231 of file StructsDUNE.h.

231 {
232
233 (*erec) += (*par) * sqrteRecoN * eRecoN;
234
235}

◆ NResFD()

void NResFD ( const double * par,
double * erec,
double eRecoN,
double eN )
inline

Definition at line 574 of file StructsDUNE.h.

574 {
575
576 (*erec) += (*par) * (eN - eRecoN);
577
578}

◆ NResND()

void NResND ( const double * par,
double * erec,
double eRecoN,
double eN )
inline

Definition at line 324 of file StructsDUNE.h.

324 {
325
326 (*erec) += (*par) * (eN - eRecoN);
327
328}

◆ SIMBMode_ToMaCh3Mode()

int SIMBMode_ToMaCh3Mode ( int SIMB_mode,
int isCC )
inline

Definition at line 763 of file StructsDUNE.h.

763 {
764 // **********************
765
766 int ReturnMode = kMaCh3_nModes;
767
768 if (isCC == 1) {
769 switch (SIMB_mode) {
770 //Unknown
772 std::cerr << "Unknown Interaction mode:" << SIMB_mode << std::endl;
773 throw;
774 //QE
775 case kQE:
776 ReturnMode = kMaCh3_CCQE; // CC QE in MaCh3 DUNE
777 break;
778 // DIS
779 case kDIS:
780 ReturnMode = kMaCh3_CC_DIS; //CC DIS in MaCh3 DUNE
781 break;
782 // RES
783 case kRes:
784 ReturnMode = kMaCh3_CC_RES; // CC RES in MaCh3 DUNE
785 break;
786 // Coherent
787 case kCoh:
788 ReturnMode = kMaCh3_CC_COH; // CC Coh in MaCh3 DUNE
789 break;
790 // Diffractive
791 case kDiffractive:
792 ReturnMode = kMaCh3_CC_Diffractive; // CC multi-pi in MaCh3
793 break;
794 // Nue Elastic
796 ReturnMode = kMaCh3_CC_Nue_EL; // CC Nue scattering in MaCh3 DUNE
797 break;
798 // Atmospheric Mu Gamma
799 case kAMNuGamma:
800 ReturnMode = kMaCh3_CC_AMnuGamma; // CC Am Nu Mu in MaCh3 DUNE
801 break;
802 // MEC
803 case kMEC:
804 ReturnMode = kMaCh3_CC_MEC; // CC MEC in MaCh3 DUNE
805 break;
806 // Coherent Elastic
807 case kCohElastic:
808 ReturnMode = kMaCh3_CC_COHEL; // CC Coherent Elastic in MaCh3 DUNE
809 break;
810 // Inverse Beta Decay
812 ReturnMode = kMaCh3_CC_IBD; // CC Inverse Beta Decay in MaCh3 DUNE
813 break;
814 // Glashow Resonance
816 ReturnMode = kMaCh3_CC_GlashowRES; // CC Glashow Reaonance in DUNE
817 break;
818 // IMD Annihilation
819 case kIMDAnnihilation:
820 ReturnMode = kMaCh3_CC_IMDAnnihalation; // CC Inverse Muon Decay Annihalation in DUNE
821 break;
822 default:
823 std::cerr << "Invalid mode:" << SIMB_mode << std::endl;
824 throw;
825 }
826
827 }
828
829
830 if (isCC == 0) {
831 switch (SIMB_mode) {
832 //Unknown
834 std::cerr << "Unknown Interaction mode:" << SIMB_mode << std::endl;
835 throw;
836 //QE
837 case kQE:
838 ReturnMode = kMaCh3_NCQE; // NC QE in MaCh3 DUNE
839 break;
840 // DIS
841 case kDIS:
842 ReturnMode = kMaCh3_NC_DIS; // NC DIS in MaCh3 DUNE
843 break;
844 // RES
845 case kRes:
846 ReturnMode = kMaCh3_NC_RES; // NC RES in MaCh3 DUNE
847 break;
848 // Coherent
849 case kCoh:
850 ReturnMode = kMaCh3_NC_COH; // NC Coh in MaCh3 DUNE
851 break;
852 // Diffractive
853 case kDiffractive:
854 ReturnMode = kMaCh3_NC_Diffractive; // CC multi-pi in MaCh3
855 break;
856 // Nue Elastic
858 ReturnMode = kMaCh3_NC_Nue_EL; // NC Nue scattering in MaCh3 DUNE
859 break;
860 // Atmospheric Mu Gamma
861 case kAMNuGamma:
862 ReturnMode = kMaCh3_NC_AMnuGamma; // NC Am Nu Mu in MaCh3 DUNE
863 break;
864 // MEC
865 case kMEC:
866 ReturnMode = kMaCh3_NC_MEC; // NC MEC in MaCh3 DUNE
867 break;
868 // Coherent Elastic
869 case kCohElastic:
870 ReturnMode = kMaCh3_NC_COHEL; // NC Coherent Elastic in MaCh3 DUNE
871 break;
872 // Inverse Beta Decay
874 ReturnMode = kMaCh3_NC_IBD; // Inverse Beta Decay in MaCh3 DUNE
875 break;
876 // Glashow Resonance
878 ReturnMode = kMaCh3_NC_GlashowRES;
879 break;
880 // IMD Annihilation
881 case kIMDAnnihilation:
882 ReturnMode = kMaCh3_NC_IMDAnnihalation;
883 break;
884 default:
885 std::cerr << "Invalid mode:" << SIMB_mode << std::endl;
886 throw;
887 }
888
889 }
890
891 return ReturnMode;
892};

◆ TotalEScaleFD()

void TotalEScaleFD ( const double * par,
double * erec,
double erecHad,
double erecLep,
bool NotCCnumu )
inline

Definition at line 357 of file StructsDUNE.h.

357 {
358
359 (*erec) += (*par) * erecHad;
360
361 //if not true CC numu event AND reco nue event
362 if (NotCCnumu)
363 {
364 (*erec) += (*par) * erecLep;
365 }
366
367}

◆ TotalEScaleInvSqrtFD()

void TotalEScaleInvSqrtFD ( const double * par,
double * erec,
double erecHad,
double erecLep,
double invSqrtErecHad,
double invSqrtErecLep,
bool NotCCnumu )
inline

Definition at line 383 of file StructsDUNE.h.

383 {
384
385 (*erec) += (*par) * invSqrtErecHad * erecHad ;
386
387 //if not true CC numu AND reco nue event
388 if (NotCCnumu)
389 {
390 (*erec) += (*par) * invSqrtErecLep * erecLep;
391 }
392
393}

◆ TotalEScaleInvSqrtND()

void TotalEScaleInvSqrtND ( const double * par,
double * erec,
double erecHad,
double erecLep,
double invSqrtErecHad,
double invSqrtErecLep,
bool NotCCnumu )
inline

Definition at line 133 of file StructsDUNE.h.

133 {
134
135 (*erec) += (*par) * invSqrtErecHad * erecHad ;
136
137 //if not true CC numu AND reco nue event
138 if (NotCCnumu)
139 {
140 (*erec) += (*par) * invSqrtErecLep * erecLep;
141 }
142
143}

◆ TotalEScaleND()

void TotalEScaleND ( const double * par,
double * erec,
double erecHad,
double erecLep,
bool NotCCnumu )
inline

Definition at line 107 of file StructsDUNE.h.

107 {
108
109 (*erec) += (*par) * erecHad;
110
111 //if not true CC numu event AND reco nue event
112 if (NotCCnumu)
113 {
114 (*erec) += (*par) * erecLep;
115 }
116
117}

◆ TotalEScaleSqrtFD()

void TotalEScaleSqrtFD ( const double * par,
double * erec,
double erecHad,
double erecLep,
double sqrtErecHad,
double sqrtErecLep,
bool NotCCnumu )
inline

Definition at line 370 of file StructsDUNE.h.

370 {
371
372 (*erec) += (*par) * sqrtErecHad * erecHad ;
373
374 //if not true CC numu AND reco nue event
375 if (NotCCnumu)
376 {
377 (*erec) += (*par) * sqrtErecLep * erecLep;
378 }
379
380}

◆ TotalEScaleSqrtND()

void TotalEScaleSqrtND ( const double * par,
double * erec,
double erecHad,
double erecLep,
double sqrtErecHad,
double sqrtErecLep,
bool NotCCnumu )
inline

Definition at line 120 of file StructsDUNE.h.

120 {
121
122 (*erec) += (*par) * sqrtErecHad * erecHad ;
123
124 //if not true CC numu AND reco nue event
125 if (NotCCnumu)
126 {
127 (*erec) += (*par) * sqrtErecLep * erecLep;
128 }
129
130}