Public Member Functions | Public Attributes | Static Public Attributes | Friends | List of all members
genie::flux::GNuMIFluxPassThroughInfo Class Reference

#include "/cvmfs/nova.opensciencegrid.org/externals/genie/v3_00_06_p01/Linux64bit+2.6-2.12-e17-debug/GENIE-Generator/src/Tools/Flux/GNuMIFlux.h"

Inheritance diagram for genie::flux::GNuMIFluxPassThroughInfo:

Public Member Functions

 GNuMIFluxPassThroughInfo ()
 
virtual ~GNuMIFluxPassThroughInfo ()
 
void MakeCopy (const g3numi *)
 pull in from g3 ntuple More...
 
void MakeCopy (const g4numi *)
 pull in from g4 ntuple More...
 
void MakeCopy (const flugg *)
 pull in from flugg ntuple More...
 
void ResetCopy ()
 
void ResetCurrent ()
 
void ConvertPartCodes ()
 
void Print (const Option_t *opt="") const
 
int CalcEnuWgt (const TLorentzVector &xyz, double &enu, double &wgt_xy) const
 
int getProcessID (TString sval)
 
int getVolID (TString sval)
 

Public Attributes

int pcodes
 
int units
 
int fgPdgC
 generated nu pdg-code More...
 
double fgXYWgt
 
TLorentzVector fgP4
 generated nu 4-momentum beam coord More...
 
TLorentzVector fgX4
 generated nu 4-position beam coord More...
 
TLorentzVector fgP4User
 generated nu 4-momentum user coord More...
 
TLorentzVector fgX4User
 generated nu 4-position user coord More...
 
Int_t run
 
Int_t evtno
 
Double_t ndxdz
 
Double_t ndydz
 
Double_t npz
 
Double_t nenergy
 
Double_t ndxdznea
 
Double_t ndydznea
 
Double_t nenergyn
 
Double_t nwtnear
 
Double_t ndxdzfar
 
Double_t ndydzfar
 
Double_t nenergyf
 
Double_t nwtfar
 
Int_t norig
 
Int_t ndecay
 
Int_t ntype
 
Double_t vx
 
Double_t vy
 
Double_t vz
 
Double_t pdpx
 
Double_t pdpy
 
Double_t pdpz
 
Double_t ppdxdz
 
Double_t ppdydz
 
Double_t pppz
 
Double_t ppenergy
 
Int_t ppmedium
 
Int_t ptype
 
Double_t ppvx
 
Double_t ppvy
 
Double_t ppvz
 
Double_t muparpx
 
Double_t muparpy
 
Double_t muparpz
 
Double_t mupare
 
Double_t necm
 
Double_t nimpwt
 
Double_t xpoint
 
Double_t ypoint
 
Double_t zpoint
 
Double_t tvx
 
Double_t tvy
 
Double_t tvz
 
Double_t tpx
 
Double_t tpy
 
Double_t tpz
 
Int_t tptype
 
Int_t tgen
 
Int_t tgptype
 
Double_t tgppx
 
Double_t tgppy
 
Double_t tgppz
 
Double_t tprivx
 
Double_t tprivy
 
Double_t tprivz
 
Double_t beamx
 
Double_t beamy
 
Double_t beamz
 
Double_t beampx
 
Double_t beampy
 
Double_t beampz
 
Int_t ntrajectory
 
Bool_t overflow
 
int pdgcode [MAX_N_TRAJ]
 
int trackId [MAX_N_TRAJ]
 
int parentId [MAX_N_TRAJ]
 
double startx [MAX_N_TRAJ]
 
double starty [MAX_N_TRAJ]
 
double startz [MAX_N_TRAJ]
 
double startpx [MAX_N_TRAJ]
 
double startpy [MAX_N_TRAJ]
 
double startpz [MAX_N_TRAJ]
 
double stopx [MAX_N_TRAJ]
 
double stopy [MAX_N_TRAJ]
 
double stopz [MAX_N_TRAJ]
 
double stoppx [MAX_N_TRAJ]
 
double stoppy [MAX_N_TRAJ]
 
double stoppz [MAX_N_TRAJ]
 
double pprodpx [MAX_N_TRAJ]
 
double pprodpy [MAX_N_TRAJ]
 
double pprodpz [MAX_N_TRAJ]
 
int proc [MAX_N_TRAJ]
 
int ivol [MAX_N_TRAJ]
 
int fvol [MAX_N_TRAJ]
 

Static Public Attributes

static const unsigned int MAX_N_TRAJ = 10
 Maximum number of trajectories to store. More...
 

Friends

ostream & operator<< (ostream &stream, const GNuMIFluxPassThroughInfo &info)
 

Detailed Description

GNuMIFluxPassThroughInfo:

A small persistable C-struct -like class that mirrors (some of) the structure of the gnumi ntuples. This can then be stored as an extra branch of the output event tree -alongside with the generated event branch- for use further upstream in the analysis chain - e.g. beam reweighting etc. To do future x-y reweighting users must retain the info found in:

Definition at line 73 of file GNuMIFlux.h.

Constructor & Destructor Documentation

GNuMIFluxPassThroughInfo::GNuMIFluxPassThroughInfo ( )

Definition at line 1404 of file GNuMIFlux.cxx.

References ResetCopy(), and ResetCurrent().

1405  : TObject()
1406 {
1407  ResetCopy();
1408  ResetCurrent();
1409 }
virtual genie::flux::GNuMIFluxPassThroughInfo::~GNuMIFluxPassThroughInfo ( )
inlinevirtual

Member Function Documentation

int GNuMIFluxPassThroughInfo::CalcEnuWgt ( const TLorentzVector &  xyz,
double &  enu,
double &  wgt_xy 
) const

Definition at line 1885 of file GNuMIFlux.cxx.

References ana::assert(), beta, om::cerr, om::cout, gen_hdf5record::debug, allTimeWatchdog::endl, enu, flux, LOG, mupare, muparpx, muparpy, muparpz, necm, ntype, partial, pdpx, pdpy, pdpz, pFATAL, ppdxdz, ppdydz, ppenergy, pppz, ptype, Munits::rad, ana::Sqrt(), vx, vy, and vz.

Referenced by test_gnumi(), and ~GNuMIFluxPassThroughInfo().

1887 {
1888 
1889  // Neutrino Energy and Weigth at arbitrary point
1890  // based on:
1891  // NuMI-NOTE-BEAM-0109 (MINOS DocDB # 109)
1892  // Title: Neutrino Beam Simulation using PAW with Weighted Monte Carlos
1893  // Author: Rick Milburn
1894  // Date: 1995-10-01
1895 
1896  // history:
1897  // jzh 3/21/96 grab R.H.Milburn's weighing routine
1898  // jzh 5/ 9/96 substantially modify the weighting function use dot product
1899  // instead of rotation vecs to get theta get all info except
1900  // det from ADAMO banks neutrino parent is in Particle.inc
1901  // Add weighting factor for polarized muon decay
1902  // jzh 4/17/97 convert more code to double precision because of problems
1903  // with Enu>30 GeV
1904  // rwh 10/ 9/08 transliterate function from f77 to C++
1905 
1906  // original function description:
1907  // Real function for use with PAW Ntuple To transform from destination
1908  // detector geometry to the unit sphere moving with decaying hadron with
1909  // velocity v, BETA=v/c, etc.. For (pseudo)scalar hadrons the decays will
1910  // be isotropic in this sphere so the fractional area (out of 4-pi) is the
1911  // fraction of decays that hit the target. For a given target point and
1912  // area, and given x-y components of decay transverse location and slope,
1913  // and given decay distance from target ans given decay GAMMA and
1914  // rest-frame neutrino energy, the lab energy at the target and the
1915  // fractional solid angle in the rest-frame are determined.
1916  // For muon decays, correction for non-isotropic nature of decay is done.
1917 
1918  // Arguments:
1919  // double x, y, z :: position to evaluate for (enu,wgt_xy)
1920  // in *beam* frame coordinates (cm units)
1921  // double enu, wgt_xy :: resulting energy and weight
1922  // Return:
1923  // int :: error code
1924  // Assumptions:
1925  // Energies given in GeV
1926  // Particle codes have been translated from GEANT into PDG codes
1927 
1928  // for now ... these _should_ come from DB
1929  // but use these hard-coded values to "exactly" reproduce old code
1930  //
1931  const double kPIMASS = 0.13957;
1932  const double kKMASS = 0.49368;
1933  const double kK0MASS = 0.49767;
1934  const double kMUMASS = 0.105658389;
1935  const double kOMEGAMASS = 1.67245;
1936 
1937  const int kpdg_nue = 12; // extended Geant 53
1938  const int kpdg_nuebar = -12; // extended Geant 52
1939  const int kpdg_numu = 14; // extended Geant 56
1940  const int kpdg_numubar = -14; // extended Geant 55
1941 
1942  const int kpdg_muplus = -13; // Geant 5
1943  const int kpdg_muminus = 13; // Geant 6
1944  const int kpdg_pionplus = 211; // Geant 8
1945  const int kpdg_pionminus = -211; // Geant 9
1946  const int kpdg_k0long = 130; // Geant 10 ( K0=311, K0S=310 )
1947  const int kpdg_k0short = 310; // Geant 16
1948  const int kpdg_k0mix = 311;
1949  const int kpdg_kaonplus = 321; // Geant 11
1950  const int kpdg_kaonminus = -321; // Geant 12
1951  const int kpdg_omegaminus = 3334; // Geant 24
1952  const int kpdg_omegaplus = -3334; // Geant 32
1953 
1954  const double kRDET = 100.0; // set to flux per 100 cm radius
1955 
1956  double xpos = xyz.X();
1957  double ypos = xyz.Y();
1958  double zpos = xyz.Z();
1959 
1960  enu = 0.0; // don't know what the final value is
1961  wgt_xy = 0.0; // but set these in case we return early due to error
1962 
1963 
1964  // in principle we should get these from the particle DB
1965  // but for consistency testing use the hardcoded values
1966  double parent_mass = kPIMASS;
1967  switch ( this->ptype ) {
1968  case kpdg_pionplus:
1969  case kpdg_pionminus:
1970  parent_mass = kPIMASS;
1971  break;
1972  case kpdg_kaonplus:
1973  case kpdg_kaonminus:
1974  parent_mass = kKMASS;
1975  break;
1976  case kpdg_k0long:
1977  case kpdg_k0short:
1978  case kpdg_k0mix:
1979  parent_mass = kK0MASS;
1980  break;
1981  case kpdg_muplus:
1982  case kpdg_muminus:
1983  parent_mass = kMUMASS;
1984  break;
1985  case kpdg_omegaminus:
1986  case kpdg_omegaplus:
1987  parent_mass = kOMEGAMASS;
1988  break;
1989  default:
1990  std::cerr << "NU_REWGT unknown particle type " << this->ptype
1991  << std::endl << std::flush;
1992  LOG("Flux",pFATAL) << "NU_REWGT unknown particle type " << this->ptype;
1993  assert(0);
1994  return 1;
1995  }
1996 
1997  double parentp2 = ( this->pdpx*this->pdpx +
1998  this->pdpy*this->pdpy +
1999  this->pdpz*this->pdpz );
2000  double parent_energy = TMath::Sqrt( parentp2 +
2001  parent_mass*parent_mass);
2002  double parentp = TMath::Sqrt( parentp2 );
2003 
2004  double gamma = parent_energy / parent_mass;
2005  double gamma_sqr = gamma * gamma;
2006  double beta_mag = TMath::Sqrt( ( gamma_sqr - 1.0 )/gamma_sqr );
2007 
2008  // Get the neutrino energy in the parent decay CM
2009  double enuzr = this->necm;
2010  // Get angle from parent line of flight to chosen point in beam frame
2011  double rad = TMath::Sqrt( (xpos-this->vx)*(xpos-this->vx) +
2012  (ypos-this->vy)*(ypos-this->vy) +
2013  (zpos-this->vz)*(zpos-this->vz) );
2014 
2015  double emrat = 1.0;
2016  double costh_pardet = -999., theta_pardet = -999.;
2017 
2018  // boost correction, but only if parent hasn't stopped
2019  if ( parentp > 0. ) {
2020  costh_pardet = ( this->pdpx*(xpos-this->vx) +
2021  this->pdpy*(ypos-this->vy) +
2022  this->pdpz*(zpos-this->vz) )
2023  / ( parentp * rad);
2024  if ( costh_pardet > 1.0 ) costh_pardet = 1.0;
2025  if ( costh_pardet < -1.0 ) costh_pardet = -1.0;
2026  theta_pardet = TMath::ACos(costh_pardet);
2027 
2028  // Weighted neutrino energy in beam, approx, good for small theta
2029  emrat = 1.0 / ( gamma * ( 1.0 - beta_mag * costh_pardet ));
2030  }
2031 
2032  enu = emrat * enuzr; // the energy ... normally
2033 
2034  // RWH-debug
2035  bool debug = false;
2036  if (debug) {
2037  std::cout << std::setprecision(15);
2038  std::cout << "xyz (" << xpos << "," << ypos << "," << zpos << ")" << std::endl;
2039  std::cout << "ptype " << this->ptype << " m " << parent_mass
2040  << " p " << parentp << " e " << parent_energy << " gamma " << gamma
2041  << " beta " << beta_mag << std::endl;
2042 
2043  std::cout << " enuzr " << enuzr << " rad " << rad << " costh " << costh_pardet
2044  << " theta " << theta_pardet << " emrat " << emrat
2045  << " enu " << enu << std::endl;
2046  }
2047 
2048 #ifdef GNUMI_TEST_XY_WGT
2049  gpartials.xdet = xpos;
2050  gpartials.ydet = ypos;
2051  gpartials.zdet = zpos;
2052  gpartials.parent_mass = parent_mass;
2053  gpartials.parentp = parentp;
2054  gpartials.parent_energy = parent_energy;
2055  gpartials.gamma = gamma;
2056  gpartials.beta_mag = beta_mag;
2057  gpartials.enuzr = enuzr;
2058  gpartials.rad = rad;
2059  gpartials.costh_pardet = costh_pardet;
2060  gpartials.theta_pardet = theta_pardet;
2061  gpartials.emrat = emrat;
2062  gpartials.eneu = enu;
2063 #endif
2064 
2065  // Get solid angle/4pi for detector element
2066  // small angle approximation, fixed by Alex Radovic
2067  //SAA//double sangdet = ( kRDET*kRDET / ( (zpos-this->vz)*(zpos-this->vz)))/4.0;
2068 
2069  double sanddetcomp = TMath::Sqrt(( (xpos-this->vx)*(xpos-this->vx) ) +
2070  ( (ypos-this->vy)*(ypos-this->vy) ) +
2071  ( (zpos-this->vz)*(zpos-this->vz) ) );
2072  double sangdet = ( 1.0 - TMath::Cos(TMath::ATan( kRDET / sanddetcomp)))/2.0;
2073 
2074  // Weight for solid angle and lorentz boost
2075  wgt_xy = sangdet * ( emrat * emrat ); // ! the weight ... normally
2076 
2077 #ifdef GNUMI_TEST_XY_WGT
2078  gpartials.sangdet = sangdet;
2079  gpartials.wgt = wgt_xy;
2080  gpartials.ptype = this->ptype; // assume already PDG
2081 #endif
2082 
2083  // Done for all except polarized muon decay
2084  // in which case need to modify weight
2085  // (must be done in double precision)
2086  if ( this->ptype == kpdg_muplus || this->ptype == kpdg_muminus) {
2087  double beta[3], p_dcm_nu[4], p_nu[3], p_pcm_mp[3], partial;
2088 
2089  // Boost neu neutrino to mu decay CM
2090  beta[0] = this->pdpx / parent_energy;
2091  beta[1] = this->pdpy / parent_energy;
2092  beta[2] = this->pdpz / parent_energy;
2093  p_nu[0] = (xpos-this->vx)*enu/rad;
2094  p_nu[1] = (ypos-this->vy)*enu/rad;
2095  p_nu[2] = (zpos-this->vz)*enu/rad;
2096  partial = gamma *
2097  (beta[0]*p_nu[0] + beta[1]*p_nu[1] + beta[2]*p_nu[2] );
2098  partial = enu - partial/(gamma+1.0);
2099  // the following calculation is numerically imprecise
2100  // especially p_dcm_nu[2] leads to taking the difference of numbers of order ~10's
2101  // and getting results of order ~0.02's
2102  // for g3numi we're starting with floats (ie. good to ~1 part in 10^7)
2103  p_dcm_nu[0] = p_nu[0] - beta[0]*gamma*partial;
2104  p_dcm_nu[1] = p_nu[1] - beta[1]*gamma*partial;
2105  p_dcm_nu[2] = p_nu[2] - beta[2]*gamma*partial;
2106  p_dcm_nu[3] = TMath::Sqrt( p_dcm_nu[0]*p_dcm_nu[0] +
2107  p_dcm_nu[1]*p_dcm_nu[1] +
2108  p_dcm_nu[2]*p_dcm_nu[2] );
2109 
2110 #ifdef GNUMI_TEST_XY_WGT
2111  gpartials.betanu[0] = beta[0];
2112  gpartials.betanu[1] = beta[1];
2113  gpartials.betanu[2] = beta[2];
2114  gpartials.p_nu[0] = p_nu[0];
2115  gpartials.p_nu[1] = p_nu[1];
2116  gpartials.p_nu[2] = p_nu[2];
2117  gpartials.partial1 = partial;
2118  gpartials.p_dcm_nu[0] = p_dcm_nu[0];
2119  gpartials.p_dcm_nu[1] = p_dcm_nu[1];
2120  gpartials.p_dcm_nu[2] = p_dcm_nu[2];
2121  gpartials.p_dcm_nu[3] = p_dcm_nu[3];
2122 #endif
2123 
2124  // Boost parent of mu to mu production CM
2125  double particle_energy = this->ppenergy;
2126  gamma = particle_energy/parent_mass;
2127  beta[0] = this->ppdxdz * this->pppz / particle_energy;
2128  beta[1] = this->ppdydz * this->pppz / particle_energy;
2129  beta[2] = this->pppz / particle_energy;
2130  partial = gamma * ( beta[0]*this->muparpx +
2131  beta[1]*this->muparpy +
2132  beta[2]*this->muparpz );
2133  partial = this->mupare - partial/(gamma+1.0);
2134  p_pcm_mp[0] = this->muparpx - beta[0]*gamma*partial;
2135  p_pcm_mp[1] = this->muparpy - beta[1]*gamma*partial;
2136  p_pcm_mp[2] = this->muparpz - beta[2]*gamma*partial;
2137  double p_pcm = TMath::Sqrt ( p_pcm_mp[0]*p_pcm_mp[0] +
2138  p_pcm_mp[1]*p_pcm_mp[1] +
2139  p_pcm_mp[2]*p_pcm_mp[2] );
2140 
2141  //std::cout << " muparpxyz " << this->muparpx << " "
2142  // << this->muparpy << " " << this->muparpz << std::endl;
2143  //std::cout << " beta " << beta[0] << " " << beta[1] << " " << beta[2] << std::endl;
2144  //std::cout << " gamma " << gamma << " partial " << partial << std::endl;
2145  //std::cout << " p_pcm_mp " << p_pcm_mp[0] << " " << p_pcm_mp[1] << " "
2146  // << p_pcm_mp[2] << " " << p_pcm << std::endl;
2147 
2148 #ifdef GNUMI_TEST_XY_WGT
2149  gpartials.muparent_px = this->muparpx;
2150  gpartials.muparent_py = this->muparpy;
2151  gpartials.muparent_pz = this->muparpz;
2152  gpartials.gammamp = gamma;
2153  gpartials.betamp[0] = beta[0];
2154  gpartials.betamp[1] = beta[1];
2155  gpartials.betamp[2] = beta[2];
2156  gpartials.partial2 = partial;
2157  gpartials.p_pcm_mp[0] = p_pcm_mp[0];
2158  gpartials.p_pcm_mp[1] = p_pcm_mp[1];
2159  gpartials.p_pcm_mp[2] = p_pcm_mp[2];
2160  gpartials.p_pcm = p_pcm;
2161 #endif
2162 
2163  const double eps = 1.0e-30; // ? what value to use
2164  if ( p_pcm < eps || p_dcm_nu[3] < eps ) {
2165  return 3; // mu missing parent info?
2166  }
2167  // Calc new decay angle w.r.t. (anti)spin direction
2168  double costh = ( p_dcm_nu[0]*p_pcm_mp[0] +
2169  p_dcm_nu[1]*p_pcm_mp[1] +
2170  p_dcm_nu[2]*p_pcm_mp[2] ) /
2171  ( p_dcm_nu[3]*p_pcm );
2172  if ( costh > 1.0 ) costh = 1.0;
2173  if ( costh < -1.0 ) costh = -1.0;
2174  // Calc relative weight due to angle difference
2175  double wgt_ratio = 0.0;
2176  switch ( this->ntype ) {
2177  case kpdg_nue:
2178  case kpdg_nuebar:
2179  wgt_ratio = 1.0 - costh;
2180  break;
2181  case kpdg_numu:
2182  case kpdg_numubar:
2183  {
2184  double xnu = 2.0 * enuzr / kMUMASS;
2185  wgt_ratio = ( (3.0-2.0*xnu ) - (1.0-2.0*xnu)*costh ) / (3.0-2.0*xnu);
2186  break;
2187  }
2188  default:
2189  return 2; // bad neutrino type
2190  }
2191  wgt_xy = wgt_xy * wgt_ratio;
2192 
2193 #ifdef GNUMI_TEST_XY_WGT
2194  gpartials.ntype = this->ntype; // assume converted to PDG
2195  gpartials.costhmu = costh;
2196  gpartials.wgt_ratio = wgt_ratio;
2197 #endif
2198 
2199  } // ptype is muon
2200 
2201  return 0;
2202 }
#define pFATAL
Definition: Messenger.h:57
OStream cerr
Definition: OStream.cxx:7
Double_t beta
Definition: lz4.cxx:387
double enu
Definition: runWimpSim.h:113
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
static constexpr Double_t rad
Definition: Munits.h:162
OStream cout
Definition: OStream.cxx:6
Var Sqrt(const Var &v)
Use to take sqrt of a var.
Definition: Var.cxx:326
assert(nhit_max >=nhit_nbins)
void GNuMIFluxPassThroughInfo::ConvertPartCodes ( )

Definition at line 1601 of file GNuMIFlux.cxx.

References genie::pdg::GeantToPdg(), genie::kPdgAntiNuE, genie::kPdgAntiNuMu, genie::kPdgNuE, genie::kPdgNuMu, LOG, ntype, pcodes, pNOTICE, ptype, tgptype, and tptype.

Referenced by ~GNuMIFluxPassThroughInfo().

1602 {
1603  if ( pcodes == 0 ) {
1604  pcodes = 1; // flag that conversion has been made
1605  switch ( ntype ) {
1606  case 56: ntype = kPdgNuMu; break;
1607  case 55: ntype = kPdgAntiNuMu; break;
1608  case 53: ntype = kPdgNuE; break;
1609  case 52: ntype = kPdgAntiNuE; break;
1610  default:
1611  LOG("Flux", pNOTICE)
1612  << "ConvertPartCodes saw ntype " << ntype << " -- unknown ";
1613  }
1614  if ( ptype != 0 ) ptype = pdg::GeantToPdg(ptype);
1615  if ( tptype != 0 ) tptype = pdg::GeantToPdg(tptype);
1616  if ( tgptype != 0 ) tgptype = pdg::GeantToPdg(tgptype);
1617  } else if ( pcodes != 1 ) {
1618  // flag as unknown state ...
1619  LOG("Flux", pNOTICE)
1620  << "ConvertPartCodes saw pcodes flag as " << pcodes;
1621  }
1622 
1623 }
const int kPdgNuE
Definition: PDGCodes.h:28
const int kPdgAntiNuE
Definition: PDGCodes.h:29
const int kPdgNuMu
Definition: PDGCodes.h:30
int GeantToPdg(int geant_code)
Definition: PDGUtils.cxx:374
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
const int kPdgAntiNuMu
Definition: PDGCodes.h:31
#define pNOTICE
Definition: Messenger.h:62
int GNuMIFluxPassThroughInfo::getProcessID ( TString  sval)

Definition at line 3249 of file GNuMIFlux.cxx.

References test::ival.

Referenced by MakeCopy().

3249  {
3250  int ival=0;
3251  if(sval=="AntiLambdaInelastic")ival=1;
3252  else if(sval=="AntiNeutronInelastic")ival=2;
3253  else if(sval=="AntiOmegaMinusInelastic")ival=3;
3254  else if(sval=="AntiProtonInelastic")ival=4;
3255  else if(sval=="AntiSigmaMinusInelastic")ival=5;
3256  else if(sval=="AntiSigmaPlusInelastic")ival=6;
3257  else if(sval=="AntiXiMinusInelastic")ival=7;
3258  else if(sval=="AntiXiZeroInelastic")ival=8;
3259  else if(sval=="Decay")ival=9;
3260  else if(sval=="KaonMinusInelastic")ival=10;
3261  else if(sval=="KaonPlusInelastic")ival=11;
3262  else if(sval=="KaonZeroLInelastic")ival=12;
3263  else if(sval=="KaonZeroSInelastic")ival=13;
3264  else if(sval=="LambdaInelastic")ival=14;
3265  else if(sval=="NeutronInelastic")ival=15;
3266  else if(sval=="OmegaMinusInelastic")ival=16;
3267  else if(sval=="PionMinusInelastic")ival=17;
3268  else if(sval=="PionPlusInelastic")ival=18;
3269  else if(sval=="Primary")ival=19;
3270  else if(sval=="ProtonInelastic")ival=20;
3271  else if(sval=="SigmaMinusInelastic")ival=21;
3272  else if(sval=="SigmaPlusInelastic")ival=22;
3273  else if(sval=="XiMinusInelastic")ival=23;
3274  else if(sval=="XiZeroInelastic")ival=24;
3275  else if(sval=="hElastic")ival=25;
3276  return ival;
3277 }
ival
Definition: test.py:10
int GNuMIFluxPassThroughInfo::getVolID ( TString  sval)

Definition at line 3068 of file GNuMIFlux.cxx.

References test::ival.

Referenced by MakeCopy().

3068  {
3069  int ival=0;
3070  if(sval=="AddedLV")ival=1;
3071  else if(sval=="AlTube1LV")ival=2;
3072  else if(sval=="AlTube2LV")ival=3;
3073  else if(sval=="Al_BLK1")ival=4;
3074  else if(sval=="Al_BLK2")ival=5;
3075  else if(sval=="Al_BLK3")ival=6;
3076  else if(sval=="Al_BLK4")ival=7;
3077  else if(sval=="Al_BLK5")ival=8;
3078  else if(sval=="Al_BLK6")ival=9;
3079  else if(sval=="Al_BLK7")ival=10;
3080  else if(sval=="Al_BLK8")ival=11;
3081  else if(sval=="AlholeL")ival=12;
3082  else if(sval=="AlholeR")ival=13;
3083  else if(sval=="BEndLV")ival=14;
3084  else if(sval=="BFrontLV")ival=15;
3085  else if(sval=="BeDWLV")ival=16;
3086  else if(sval=="BeUp1LV")ival=17;
3087  else if(sval=="BeUp2LV")ival=18;
3088  else if(sval=="BeUp3LV")ival=19;
3089  else if(sval=="BodyLV")ival=20;
3090  else if(sval=="BudalMonitor")ival=21;
3091  else if(sval=="CLid1LV")ival=22;
3092  else if(sval=="CLid2LV")ival=23;
3093  else if(sval=="CShld_BLK11")ival=24;
3094  else if(sval=="CShld_BLK12")ival=25;
3095  else if(sval=="CShld_BLK2")ival=26;
3096  else if(sval=="CShld_BLK3")ival=27;
3097  else if(sval=="CShld_BLK4")ival=28;
3098  else if(sval=="CShld_BLK7")ival=29;
3099  else if(sval=="CShld_BLK8")ival=30;
3100  else if(sval=="CShld_stl,BLK")ival=31;
3101  else if(sval=="CerTubeLV")ival=32;
3102  else if(sval=="CeramicRod")ival=33;
3103  else if(sval=="ConcShield")ival=34;
3104  else if(sval=="Concrete Chase Section")ival=35;
3105  else if(sval=="Conn1LV")ival=36;
3106  else if(sval=="Conn2LV")ival=37;
3107  else if(sval=="Conn3LV")ival=38;
3108  else if(sval=="DNWN")ival=39;
3109  else if(sval=="DPIP")ival=40;
3110  else if(sval=="DVOL")ival=41;
3111  else if(sval=="DuratekBlock")ival=42;
3112  else if(sval=="DuratekBlockCovering")ival=43;
3113  else if(sval=="HadCell")ival=44;
3114  else if(sval=="HadronAbsorber")ival=45;
3115  else if(sval=="MuMonAlcvFill_0")ival=46;
3116  else if(sval=="MuMonAlcv_0")ival=47;
3117  else if(sval=="MuMonAlcv_1")ival=48;
3118  else if(sval=="MuMonAlcv_2")ival=49;
3119  else if(sval=="MuMon_0")ival=50;
3120  else if(sval=="MuMon_1")ival=51;
3121  else if(sval=="MuMon_2")ival=52;
3122  else if(sval=="PHorn1CPB1slv")ival=53;
3123  else if(sval=="PHorn1CPB2slv")ival=54;
3124  else if(sval=="PHorn1F")ival=55;
3125  else if(sval=="PHorn1Front")ival=56;
3126  else if(sval=="PHorn1IC")ival=57;
3127  else if(sval=="PHorn1InsRingslv")ival=58;
3128  else if(sval=="PHorn1OC")ival=59;
3129  else if(sval=="PHorn2CPB1slv")ival=60;
3130  else if(sval=="PHorn2CPB2slv")ival=61;
3131  else if(sval=="PHorn2F")ival=62;
3132  else if(sval=="PHorn2Front")ival=63;
3133  else if(sval=="PHorn2IC")ival=64;
3134  else if(sval=="PHorn2InsRingslv")ival=65;
3135  else if(sval=="PHorn2OC")ival=66;
3136  else if(sval=="PVHadMon")ival=67;
3137  else if(sval=="Pipe1")ival=68;
3138  else if(sval=="Pipe1_water")ival=69;
3139  else if(sval=="Pipe2")ival=70;
3140  else if(sval=="Pipe2_water")ival=71;
3141  else if(sval=="Pipe3")ival=72;
3142  else if(sval=="Pipe3_water")ival=73;
3143  else if(sval=="Pipe4")ival=74;
3144  else if(sval=="Pipe4_water")ival=75;
3145  else if(sval=="Pipe5")ival=76;
3146  else if(sval=="Pipe5_water")ival=77;
3147  else if(sval=="Pipe6")ival=78;
3148  else if(sval=="Pipe6_water")ival=79;
3149  else if(sval=="Pipe7")ival=80;
3150  else if(sval=="Pipe8")ival=81;
3151  else if(sval=="Pipe8_water")ival=82;
3152  else if(sval=="Pipe9")ival=83;
3153  else if(sval=="PipeAdapter1")ival=84;
3154  else if(sval=="PipeAdapter1_water")ival=85;
3155  else if(sval=="PipeAdapter2")ival=86;
3156  else if(sval=="PipeAdapter2_water")ival=87;
3157  else if(sval=="PipeBellowB")ival=88;
3158  else if(sval=="PipeBellowB_water")ival=89;
3159  else if(sval=="PipeBellowT")ival=90;
3160  else if(sval=="PipeBellowT_water")ival=91;
3161  else if(sval=="PipeC1")ival=92;
3162  else if(sval=="PipeC1_water")ival=93;
3163  else if(sval=="PipeC2")ival=94;
3164  else if(sval=="PipeC2_water")ival=95;
3165  else if(sval=="ROCK")ival=96;
3166  else if(sval=="Ring1LV")ival=97;
3167  else if(sval=="Ring2LV")ival=98;
3168  else if(sval=="Ring3LV")ival=99;
3169  else if(sval=="Ring4LV")ival=100;
3170  else if(sval=="Ring5LV")ival=101;
3171  else if(sval=="SC01")ival=102;
3172  else if(sval=="SpiderSupport")ival=103;
3173  else if(sval=="Stl_BLK1")ival=104;
3174  else if(sval=="Stl_BLK10")ival=105;
3175  else if(sval=="Stl_BLK2")ival=106;
3176  else if(sval=="Stl_BLK3")ival=107;
3177  else if(sval=="Stl_BLK4")ival=108;
3178  else if(sval=="Stl_BLK5")ival=109;
3179  else if(sval=="Stl_BLK6")ival=110;
3180  else if(sval=="Stl_BLK7")ival=111;
3181  else if(sval=="Stl_BLK8")ival=112;
3182  else if(sval=="Stl_BLK9")ival=113;
3183  else if(sval=="Stlhole")ival=114;
3184  else if(sval=="TGAR")ival=115;
3185  else if(sval=="TGT1")ival=116;
3186  else if(sval=="TGTExitCyl2LV")ival=117;
3187  else if(sval=="TUNE")ival=118;
3188  else if(sval=="Tube1aLV")ival=119;
3189  else if(sval=="Tube1bLV")ival=120;
3190  else if(sval=="UpWn1")ival=121;
3191  else if(sval=="UpWn2")ival=122;
3192  else if(sval=="UpWnAl1SLV")ival=123;
3193  else if(sval=="UpWnAl2SLV")ival=124;
3194  else if(sval=="UpWnAl3SLV")ival=125;
3195  else if(sval=="UpWnFe1SLV")ival=126;
3196  else if(sval=="UpWnFe2SLV")ival=127;
3197  else if(sval=="UpWnPolyCone")ival=128;
3198  else if(sval=="blu_BLK25")ival=129;
3199  else if(sval=="blu_BLK26")ival=130;
3200  else if(sval=="blu_BLK27")ival=131;
3201  else if(sval=="blu_BLK28")ival=132;
3202  else if(sval=="blu_BLK29")ival=133;
3203  else if(sval=="blu_BLK32")ival=134;
3204  else if(sval=="blu_BLK37")ival=135;
3205  else if(sval=="blu_BLK38")ival=136;
3206  else if(sval=="blu_BLK39")ival=137;
3207  else if(sval=="blu_BLK40")ival=138;
3208  else if(sval=="blu_BLK45")ival=139;
3209  else if(sval=="blu_BLK46")ival=140;
3210  else if(sval=="blu_BLK47")ival=141;
3211  else if(sval=="blu_BLK48")ival=142;
3212  else if(sval=="blu_BLK49")ival=143;
3213  else if(sval=="blu_BLK50")ival=144;
3214  else if(sval=="blu_BLK51")ival=145;
3215  else if(sval=="blu_BLK53")ival=146;
3216  else if(sval=="blu_BLK55")ival=147;
3217  else if(sval=="blu_BLK57")ival=148;
3218  else if(sval=="blu_BLK59")ival=149;
3219  else if(sval=="blu_BLK61")ival=150;
3220  else if(sval=="blu_BLK63")ival=151;
3221  else if(sval=="blu_BLK64")ival=152;
3222  else if(sval=="blu_BLK65")ival=153;
3223  else if(sval=="blu_BLK66")ival=154;
3224  else if(sval=="blu_BLK67")ival=155;
3225  else if(sval=="blu_BLK68")ival=156;
3226  else if(sval=="blu_BLK69")ival=157;
3227  else if(sval=="blu_BLK70")ival=158;
3228  else if(sval=="blu_BLK72")ival=159;
3229  else if(sval=="blu_BLK73")ival=160;
3230  else if(sval=="blu_BLK75")ival=161;
3231  else if(sval=="blu_BLK77")ival=162;
3232  else if(sval=="blu_BLK78")ival=163;
3233  else if(sval=="blu_BLK79")ival=164;
3234  else if(sval=="blu_BLK81")ival=165;
3235  else if(sval=="conc_BLK")ival=166;
3236  else if(sval=="pvBaffleMother")ival=167;
3237  else if(sval=="pvDPInnerTrackerTube")ival=168;
3238  else if(sval=="pvMHorn1Mother")ival=169;
3239  else if(sval=="pvMHorn2Mother")ival=170;
3240  else if(sval=="pvTargetMother")ival=171;
3241  else if(sval=="stl_slab1")ival=172;
3242  else if(sval=="stl_slab4")ival=173;
3243  else if(sval=="stl_slab5")ival=174;
3244  else if(sval=="stl_slabL")ival=175;
3245  else if(sval=="stl_slabR")ival=176;
3246  return ival;
3247 }
ival
Definition: test.py:10
void GNuMIFluxPassThroughInfo::MakeCopy ( const g3numi g3)

pull in from g3 ntuple

Definition at line 1632 of file GNuMIFlux.cxx.

References g3numi::beampx, beampx, g3numi::beampy, beampy, g3numi::beampz, beampz, g3numi::beamx, beamx, g3numi::beamy, beamy, g3numi::beamz, beamz, g3numi::evtno, evtno, g3numi::mupare, mupare, g3numi::muparpx, muparpx, g3numi::muparpy, muparpy, g3numi::muparpz, muparpz, g3numi::Ndecay, ndecay, g3numi::Ndxdz, ndxdz, g3numi::Ndxdzfar, ndxdzfar, g3numi::Ndxdznea, ndxdznea, g3numi::Ndydz, ndydz, g3numi::Ndydzfar, ndydzfar, g3numi::Ndydznea, ndydznea, g3numi::Necm, necm, g3numi::Nenergy, nenergy, g3numi::Nenergyf, nenergyf, g3numi::Nenergyn, nenergyn, g3numi::Nimpwt, nimpwt, g3numi::Norig, norig, g3numi::Npz, npz, g3numi::Ntype, ntype, g3numi::Nwtfar, nwtfar, g3numi::Nwtnear, nwtnear, g3numi::pdpx, pdpx, g3numi::pdpy, pdpy, g3numi::pdpz, pdpz, g3numi::ppdxdz, ppdxdz, g3numi::ppdydz, ppdydz, g3numi::ppenergy, ppenergy, g3numi::ppmedium, ppmedium, g3numi::pppz, pppz, g3numi::ppvx, ppvx, g3numi::ppvy, ppvy, g3numi::ppvz, ppvz, g3numi::ptype, ptype, g3numi::run, g3numi::tgen, tgen, g3numi::tgppx, tgppx, g3numi::tgppy, tgppy, g3numi::tgppz, tgppz, g3numi::tgptype, tgptype, g3numi::tprivx, tprivx, g3numi::tprivy, tprivy, g3numi::tprivz, tprivz, g3numi::tptype, tptype, g3numi::tpx, tpx, g3numi::tpy, tpy, g3numi::tpz, tpz, g3numi::tvx, tvx, g3numi::tvy, tvy, g3numi::tvz, tvz, g3numi::Vx, vx, g3numi::Vy, vy, g3numi::Vz, vz, g3numi::xpoint, xpoint, g3numi::ypoint, ypoint, g3numi::zpoint, and zpoint.

Referenced by ~GNuMIFluxPassThroughInfo().

1633 {
1634  run = g3->run;
1635  evtno = g3->evtno;
1636  ndxdz = g3->Ndxdz;
1637  ndydz = g3->Ndydz;
1638  npz = g3->Npz;
1639  nenergy = g3->Nenergy;
1640  ndxdznea = g3->Ndxdznea;
1641  ndydznea = g3->Ndydznea;
1642  nenergyn = g3->Nenergyn;
1643  nwtnear = g3->Nwtnear;
1644  ndxdzfar = g3->Ndxdzfar;
1645  ndydzfar = g3->Ndydzfar;
1646  nenergyf = g3->Nenergyf;
1647  nwtfar = g3->Nwtfar;
1648  norig = g3->Norig;
1649  ndecay = g3->Ndecay;
1650  ntype = g3->Ntype;
1651  vx = g3->Vx;
1652  vy = g3->Vy;
1653  vz = g3->Vz;
1654  pdpx = g3->pdpx;
1655  pdpy = g3->pdpy;
1656  pdpz = g3->pdpz;
1657  ppdxdz = g3->ppdxdz;
1658  ppdydz = g3->ppdydz;
1659  pppz = g3->pppz;
1660  ppenergy = g3->ppenergy;
1661  ppmedium = g3->ppmedium;
1662  ptype = g3->ptype;
1663  ppvx = g3->ppvx;
1664  ppvy = g3->ppvy;
1665  ppvz = g3->ppvz;
1666  muparpx = g3->muparpx;
1667  muparpy = g3->muparpy;
1668  muparpz = g3->muparpz;
1669  mupare = g3->mupare;
1670 
1671  necm = g3->Necm;
1672  nimpwt = g3->Nimpwt;
1673  xpoint = g3->xpoint;
1674  ypoint = g3->ypoint;
1675  zpoint = g3->zpoint;
1676 
1677  tvx = g3->tvx;
1678  tvy = g3->tvy;
1679  tvz = g3->tvz;
1680  tpx = g3->tpx;
1681  tpy = g3->tpy;
1682  tpz = g3->tpz;
1683  tptype = g3->tptype;
1684  tgen = g3->tgen;
1685  tgptype = g3->tgptype;
1686  tgppx = g3->tgppx;
1687  tgppy = g3->tgppy;
1688  tgppz = g3->tgppz;
1689  tprivx = g3->tprivx;
1690  tprivy = g3->tprivy;
1691  tprivz = g3->tprivz;
1692  beamx = g3->beamx;
1693  beamy = g3->beamy;
1694  beamz = g3->beamz;
1695  beampx = g3->beampx;
1696  beampy = g3->beampy;
1697  beampz = g3->beampz;
1698 
1699 }
Float_t Nwtfar
Definition: g3numi.h:34
Float_t muparpx
Definition: g3numi.h:53
Float_t pppz
Definition: g3numi.h:46
Float_t tpx
Definition: g3numi.h:65
Float_t Ndxdzfar
Definition: g3numi.h:31
Float_t pdpy
Definition: g3numi.h:42
Float_t zpoint
Definition: g3numi.h:61
Float_t muparpz
Definition: g3numi.h:55
Float_t tvx
Definition: g3numi.h:62
Float_t ppvz
Definition: g3numi.h:52
Float_t beampz
Definition: g3numi.h:82
Float_t beamy
Definition: g3numi.h:78
Float_t tgppz
Definition: g3numi.h:73
Float_t muparpy
Definition: g3numi.h:54
Float_t tprivx
Definition: g3numi.h:74
Float_t Ndxdz
Definition: g3numi.h:23
Float_t Necm
Definition: g3numi.h:57
Float_t ppvx
Definition: g3numi.h:50
Float_t Nenergy
Definition: g3numi.h:26
Float_t Vz
Definition: g3numi.h:40
Float_t Nwtnear
Definition: g3numi.h:30
Int_t tgen
Definition: g3numi.h:69
Float_t tvz
Definition: g3numi.h:64
Int_t evtno
Definition: g3numi.h:22
Float_t beamz
Definition: g3numi.h:79
Float_t Nenergyf
Definition: g3numi.h:33
Float_t Ndydz
Definition: g3numi.h:24
Int_t Ntype
Definition: g3numi.h:37
Float_t ppvy
Definition: g3numi.h:51
Int_t tgptype
Definition: g3numi.h:70
Float_t ppenergy
Definition: g3numi.h:47
Int_t run
current Tree number in a TChain
Definition: g3numi.h:21
Int_t tptype
Definition: g3numi.h:68
Float_t tpz
Definition: g3numi.h:67
Int_t Ndecay
Definition: g3numi.h:36
Float_t mupare
Definition: g3numi.h:56
Float_t Vy
Definition: g3numi.h:39
Float_t Ndxdznea
Definition: g3numi.h:27
Float_t Nimpwt
Definition: g3numi.h:58
Float_t Vx
Definition: g3numi.h:38
Definition: run.py:1
Float_t Npz
Definition: g3numi.h:25
Int_t ppmedium
Definition: g3numi.h:48
Float_t ppdxdz
Definition: g3numi.h:44
Float_t tgppy
Definition: g3numi.h:72
Float_t tgppx
Definition: g3numi.h:71
Float_t ypoint
Definition: g3numi.h:60
Float_t xpoint
Definition: g3numi.h:59
Float_t tprivy
Definition: g3numi.h:75
Float_t Nenergyn
Definition: g3numi.h:29
Float_t beamx
Definition: g3numi.h:77
Float_t Ndydznea
Definition: g3numi.h:28
Int_t ptype
Definition: g3numi.h:49
Float_t tvy
Definition: g3numi.h:63
Float_t ppdydz
Definition: g3numi.h:45
Float_t tprivz
Definition: g3numi.h:76
Float_t beampx
Definition: g3numi.h:80
Float_t beampy
Definition: g3numi.h:81
Int_t Norig
Definition: g3numi.h:35
Float_t tpy
Definition: g3numi.h:66
Float_t Ndydzfar
Definition: g3numi.h:32
Float_t pdpz
Definition: g3numi.h:43
Float_t pdpx
Definition: g3numi.h:41
void GNuMIFluxPassThroughInfo::MakeCopy ( const g4numi g4)

pull in from g4 ntuple

Definition at line 1702 of file GNuMIFlux.cxx.

References beampx, beampy, beampz, beamx, beamy, beamz, g4numi::evtno, evtno, g4numi::fvol, fvol, getProcessID(), getVolID(), if(), g4numi::ivol, ivol, MAX_N_TRAJ, g4numi::mupare, mupare, g4numi::muparpx, muparpx, g4numi::muparpy, muparpy, g4numi::muparpz, muparpz, g4numi::Ndecay, ndecay, g4numi::Ndxdz, ndxdz, g4numi::NdxdzFar, ndxdzfar, ndxdznea, g4numi::NdxdzNear, g4numi::Ndydz, ndydz, g4numi::NdydzFar, ndydzfar, ndydznea, g4numi::NdydzNear, g4numi::Necm, necm, g4numi::Nenergy, nenergy, g4numi::NenergyF, nenergyf, g4numi::NenergyN, nenergyn, g4numi::Nimpwt, nimpwt, g4numi::Norig, norig, g4numi::Npz, npz, g4numi::ntrajectory, ntrajectory, g4numi::Ntype, ntype, g4numi::NWtFar, nwtfar, g4numi::NWtNear, nwtnear, g4numi::overflow, overflow, g4numi::parentId, parentId, g4numi::pdg, pdgcode, g4numi::pdPx, pdpx, g4numi::pdPy, pdpy, g4numi::pdPz, pdpz, g4numi::ppdxdz, ppdxdz, g4numi::ppdydz, ppdydz, g4numi::ppenergy, ppenergy, g4numi::ppmedium, ppmedium, g4numi::pppz, pppz, g4numi::pprodpx, pprodpx, g4numi::pprodpy, pprodpy, g4numi::pprodpz, pprodpz, g4numi::ppvx, ppvx, g4numi::ppvy, ppvy, g4numi::ppvz, ppvz, g4numi::proc, proc, g4numi::ptype, ptype, g4numi::run, g4numi::startpx, startpx, g4numi::startpy, startpy, g4numi::startpz, startpz, g4numi::startx, startx, g4numi::starty, starty, g4numi::startz, startz, g4numi::stoppx, stoppx, g4numi::stoppy, stoppy, g4numi::stoppz, stoppz, g4numi::stopx, stopx, g4numi::stopy, stopy, g4numi::stopz, stopz, g4numi::tgen, tgen, tgppx, tgppy, tgppz, tgptype, tprivx, tprivy, tprivz, g4numi::tptype, tptype, g4numi::tpx, tpx, g4numi::tpy, tpy, g4numi::tpz, tpz, g4numi::trackId, trackId, g4numi::tvx, tvx, g4numi::tvy, tvy, g4numi::tvz, tvz, g4numi::Vx, vx, g4numi::Vy, vy, g4numi::Vz, vz, g4numi::xpoint, xpoint, g4numi::ypoint, ypoint, g4numi::zpoint, and zpoint.

1703 {
1704 
1705  const int kNearIndx = 0;
1706  const int kFarIndx = 0;
1707 
1708  run = g4->run;
1709  evtno = g4->evtno;
1710  ndxdz = g4->Ndxdz;
1711  ndydz = g4->Ndydz;
1712  npz = g4->Npz;
1713  nenergy = g4->Nenergy;
1714  ndxdznea = g4->NdxdzNear[kNearIndx];
1715  ndydznea = g4->NdydzNear[kNearIndx];
1716  nenergyn = g4->NenergyN[kNearIndx];
1717  nwtnear = g4->NWtNear[kNearIndx];
1718  ndxdzfar = g4->NdxdzFar[kFarIndx];
1719  ndydzfar = g4->NdydzFar[kFarIndx];
1720  nenergyf = g4->NenergyF[kFarIndx];
1721  nwtfar = g4->NWtFar[kFarIndx];
1722  norig = g4->Norig;
1723  ndecay = g4->Ndecay;
1724  ntype = g4->Ntype;
1725  vx = g4->Vx;
1726  vy = g4->Vy;
1727  vz = g4->Vz;
1728  pdpx = g4->pdPx;
1729  pdpy = g4->pdPy;
1730  pdpz = g4->pdPz;
1731  ppdxdz = g4->ppdxdz;
1732  ppdydz = g4->ppdydz;
1733  pppz = g4->pppz;
1734  ppenergy = g4->ppenergy;
1735  ppmedium = (Int_t)g4->ppmedium; // int in g3, double in g4!
1736  ptype = g4->ptype;
1737  ppvx = g4->ppvx;
1738  ppvy = g4->ppvy;
1739  ppvz = g4->ppvz;
1740  muparpx = g4->muparpx;
1741  muparpy = g4->muparpy;
1742  muparpz = g4->muparpz;
1743  mupare = g4->mupare;
1744 
1745  necm = g4->Necm;
1746  nimpwt = g4->Nimpwt;
1747  xpoint = g4->xpoint;
1748  ypoint = g4->ypoint;
1749  zpoint = g4->zpoint;
1750 
1751  tvx = g4->tvx;
1752  tvy = g4->tvy;
1753  tvz = g4->tvz;
1754  tpx = g4->tpx;
1755  tpy = g4->tpy;
1756  tpz = g4->tpz;
1757  tptype = g4->tptype;
1758  tgen = g4->tgen;
1759  tgptype = 0 ; // no equivalent in g4
1760  tgppx = 0.;
1761  tgppy = 0.;
1762  tgppz = 0.;
1763  tprivx = 0.;
1764  tprivy = 0.;
1765  tprivz = 0.;
1766  beamx = 0.; // g4->protonX;
1767  beamy = 0.; // g4->protonY;
1768  beamz = 0.; // g4->protonZ;
1769  beampx = 0.; // g4->protonPx;
1770  beampy = 0.; // g4->protonPy;
1771  beampz = 0.; // g4->protonPz;
1772 
1773 #ifndef SKIP_MINERVA_MODS
1774  //=========================================
1775  // The following was inserted by MINERvA
1776  //=========================================
1777  ntrajectory = g4->ntrajectory;
1778  overflow = g4->overflow;
1779  // Limit number of trajectories to MAX_N_TRAJ
1780  Int_t ntraj = ntrajectory;
1781  if ( overflow )
1782  ntraj = MAX_N_TRAJ;
1783 
1784  for ( Int_t ic = 0; ic < ntraj; ++ic ) {
1785  pdgcode[ic] = g4->pdg[ic];
1786  trackId[ic] = g4->trackId[ic];
1787  parentId[ic] = g4->parentId[ic];
1788 
1789  startx[ic] = g4->startx[ic];
1790  starty[ic] = g4->starty[ic];
1791  startz[ic] = g4->startz[ic];
1792  stopx[ic] = g4->stopx[ic];
1793  stopy[ic] = g4->stopy[ic];
1794  stopz[ic] = g4->stopz[ic];
1795  startpx[ic] = g4->startpx[ic];
1796  startpy[ic] = g4->startpy[ic];
1797  startpz[ic] = g4->startpz[ic];
1798  stoppx[ic] = g4->stoppx[ic];
1799  stoppy[ic] = g4->stoppy[ic];
1800  stoppz[ic] = g4->stoppz[ic];
1801  pprodpx[ic] = g4->pprodpx[ic];
1802  pprodpy[ic] = g4->pprodpy[ic];
1803  pprodpz[ic] = g4->pprodpz[ic];
1804 
1805  proc[ic] = getProcessID(g4->proc[ic]);
1806  ivol[ic] = getVolID(g4->ivol[ic]);
1807  fvol[ic] = getVolID(g4->fvol[ic]);
1808  }
1809  //END of minerva additions
1810 #endif
1811 
1812 }
Double_t muparpx
Definition: g4numi.h:69
Int_t Ndecay
Definition: g4numi.h:52
TString fvol[10]
Definition: g4numi.h:113
Int_t tgen
Definition: g4numi.h:85
Double_t tpy
Definition: g4numi.h:82
Double_t stoppy[10]
Definition: g4numi.h:106
Double_t NWtNear[11]
Definition: g4numi.h:46
Double_t Ndydz
Definition: g4numi.h:40
Double_t tvz
Definition: g4numi.h:80
Double_t pdPx
Definition: g4numi.h:57
Double_t tvx
Definition: g4numi.h:78
Double_t Vz
Definition: g4numi.h:56
static const unsigned int MAX_N_TRAJ
Maximum number of trajectories to store.
Definition: GNuMIFlux.h:180
Double_t tpz
Definition: g4numi.h:83
Double_t NenergyF[2]
Definition: g4numi.h:49
Int_t run
current Tree number in a TChain
Definition: g4numi.h:25
Double_t NenergyN[11]
Definition: g4numi.h:45
Int_t pdg[10]
Definition: g4numi.h:93
Double_t xpoint
Definition: g4numi.h:75
Double_t stoppx[10]
Definition: g4numi.h:105
Double_t muparpz
Definition: g4numi.h:71
Int_t Norig
Definition: g4numi.h:51
Double_t startpy[10]
Definition: g4numi.h:103
Double_t startz[10]
Definition: g4numi.h:98
Double_t mupare
Definition: g4numi.h:72
Double_t pdPz
Definition: g4numi.h:59
Double_t Vy
Definition: g4numi.h:55
Double_t Necm
Definition: g4numi.h:73
Double_t NdydzFar[2]
Definition: g4numi.h:48
Double_t ypoint
Definition: g4numi.h:76
TString ivol[10]
Definition: g4numi.h:112
Double_t pppz
Definition: g4numi.h:62
Double_t startpx[10]
Definition: g4numi.h:102
Double_t ppenergy
Definition: g4numi.h:63
Int_t Ntype
Definition: g4numi.h:53
Double_t pprodpz[10]
Definition: g4numi.h:110
Double_t pprodpx[10]
Definition: g4numi.h:108
if(dump)
Double_t NdxdzFar[2]
Definition: g4numi.h:47
Double_t startpz[10]
Definition: g4numi.h:104
Double_t starty[10]
Definition: g4numi.h:97
Int_t tptype
Definition: g4numi.h:84
Double_t tvy
Definition: g4numi.h:79
Int_t parentId[10]
Definition: g4numi.h:95
Double_t startx[10]
Definition: g4numi.h:96
Double_t stopz[10]
Definition: g4numi.h:101
Double_t stopy[10]
Definition: g4numi.h:100
Double_t ppvy
Definition: g4numi.h:67
Double_t Ndxdz
Definition: g4numi.h:39
Double_t NdxdzNear[11]
Definition: g4numi.h:43
Double_t ppdydz
Definition: g4numi.h:61
Double_t stoppz[10]
Definition: g4numi.h:107
Definition: run.py:1
Double_t NdydzNear[11]
Definition: g4numi.h:44
Int_t ntrajectory
Definition: g4numi.h:91
Double_t ppdxdz
Definition: g4numi.h:60
Double_t zpoint
Definition: g4numi.h:77
Double_t pdPy
Definition: g4numi.h:58
Double_t tpx
Definition: g4numi.h:81
Int_t trackId[10]
Definition: g4numi.h:94
Bool_t overflow
Definition: g4numi.h:92
Int_t evtno
Definition: g4numi.h:26
Double_t Vx
Definition: g4numi.h:54
Double_t Nimpwt
Definition: g4numi.h:74
Double_t muparpy
Definition: g4numi.h:70
Int_t ptype
Definition: g4numi.h:65
Double_t Nenergy
Definition: g4numi.h:42
Double_t ppvz
Definition: g4numi.h:68
Double_t pprodpy[10]
Definition: g4numi.h:109
Double_t stopx[10]
Definition: g4numi.h:99
Double_t NWtFar[2]
Definition: g4numi.h:50
Double_t Npz
Definition: g4numi.h:41
TString proc[10]
Definition: g4numi.h:111
Double_t ppvx
Definition: g4numi.h:66
Double_t ppmedium
Definition: g4numi.h:64
void GNuMIFluxPassThroughInfo::MakeCopy ( const flugg f)

pull in from flugg ntuple

Definition at line 1815 of file GNuMIFlux.cxx.

References flugg::beampx, beampx, flugg::beampy, beampy, flugg::beampz, beampz, flugg::beamx, beamx, flugg::beamy, beamy, flugg::beamz, beamz, flugg::evtno, evtno, flugg::mupare, mupare, flugg::muparpx, muparpx, flugg::muparpy, muparpy, flugg::muparpz, muparpz, flugg::Ndecay, ndecay, flugg::Ndxdz, ndxdz, flugg::Ndxdzfar, ndxdzfar, flugg::Ndxdznea, ndxdznea, flugg::Ndydz, ndydz, flugg::Ndydzfar, ndydzfar, flugg::Ndydznea, ndydznea, flugg::Necm, necm, flugg::Nenergy, nenergy, flugg::Nenergyf, nenergyf, flugg::Nenergyn, nenergyn, flugg::Nimpwt, nimpwt, flugg::Norig, norig, flugg::Npz, npz, flugg::Ntype, ntype, flugg::Nwtfar, nwtfar, flugg::Nwtnear, nwtnear, flugg::pdPx, pdpx, flugg::pdPy, pdpy, flugg::pdPz, pdpz, flugg::ppdxdz, ppdxdz, flugg::ppdydz, ppdydz, flugg::ppenergy, ppenergy, flugg::ppmedium, ppmedium, flugg::pppz, pppz, flugg::ppvx, ppvx, flugg::ppvy, ppvy, flugg::ppvz, ppvz, flugg::ptype, ptype, flugg::run, flugg::tgen, tgen, flugg::tgppx, tgppx, flugg::tgppy, tgppy, flugg::tgppz, tgppz, flugg::tgptype, tgptype, flugg::tprivx, tprivx, flugg::tprivy, tprivy, flugg::tprivz, tprivz, flugg::tptype, tptype, flugg::tpx, tpx, flugg::tpy, tpy, flugg::tpz, tpz, flugg::tvx, tvx, flugg::tvy, tvy, flugg::tvz, tvz, flugg::Vx, vx, flugg::Vy, vy, flugg::Vz, vz, flugg::xpoint, xpoint, flugg::ypoint, ypoint, flugg::zpoint, and zpoint.

1816 {
1817  run = f->run;
1818  evtno = f->evtno;
1819  ndxdz = f->Ndxdz;
1820  ndydz = f->Ndydz;
1821  npz = f->Npz;
1822  nenergy = f->Nenergy;
1823  ndxdznea = f->Ndxdznea;
1824  ndydznea = f->Ndydznea;
1825  nenergyn = f->Nenergyn;
1826  nwtnear = f->Nwtnear;
1827  ndxdzfar = f->Ndxdzfar;
1828  ndydzfar = f->Ndydzfar;
1829  nenergyf = f->Nenergyf;
1830  nwtfar = f->Nwtfar;
1831  norig = f->Norig;
1832  ndecay = f->Ndecay;
1833  ntype = f->Ntype;
1834  vx = f->Vx;
1835  vy = f->Vy;
1836  vz = f->Vz;
1837  pdpx = f->pdPx;
1838  pdpy = f->pdPy;
1839  pdpz = f->pdPz;
1840  ppdxdz = f->ppdxdz;
1841  ppdydz = f->ppdydz;
1842  pppz = f->pppz;
1843  ppenergy = f->ppenergy;
1844  ppmedium = f->ppmedium;
1845  ptype = f->ptype;
1846  ppvx = f->ppvx;
1847  ppvy = f->ppvy;
1848  ppvz = f->ppvz;
1849  muparpx = f->muparpx;
1850  muparpy = f->muparpy;
1851  muparpz = f->muparpz;
1852  mupare = f->mupare;
1853 
1854  necm = f->Necm;
1855  nimpwt = f->Nimpwt;
1856  xpoint = f->xpoint;
1857  ypoint = f->ypoint;
1858  zpoint = f->zpoint;
1859 
1860  tvx = f->tvx;
1861  tvy = f->tvy;
1862  tvz = f->tvz;
1863  tpx = f->tpx;
1864  tpy = f->tpy;
1865  tpz = f->tpz;
1866  tptype = f->tptype;
1867  tgen = f->tgen;
1868  tgptype = f->tgptype;
1869  tgppx = f->tgppx;
1870  tgppy = f->tgppy;
1871  tgppz = f->tgppz;
1872  tprivx = f->tprivx;
1873  tprivy = f->tprivy;
1874  tprivz = f->tprivz;
1875  beamx = f->beamx;
1876  beamy = f->beamy;
1877  beamz = f->beamz;
1878  beampx = f->beampx;
1879  beampy = f->beampy;
1880  beampz = f->beampz;
1881 
1882 }
Double_t beamx
Definition: flugg.h:77
Double_t ypoint
Definition: flugg.h:60
Double_t Nwtfar
Definition: flugg.h:34
Int_t ppmedium
Definition: flugg.h:48
Double_t ppenergy
Definition: flugg.h:47
Int_t evtno
Definition: flugg.h:22
Double_t Npz
Definition: flugg.h:25
Int_t tgptype
Definition: flugg.h:70
Double_t Nenergyf
Definition: flugg.h:33
Double_t tpy
Definition: flugg.h:66
Double_t ppdxdz
Definition: flugg.h:44
Double_t ppvy
Definition: flugg.h:51
Double_t Ndydzfar
Definition: flugg.h:32
Double_t muparpx
Definition: flugg.h:53
Double_t beampz
Definition: flugg.h:82
Int_t run
current Tree number in a TChain
Definition: flugg.h:21
Double_t tgppy
Definition: flugg.h:72
Double_t pdPz
Definition: flugg.h:43
Double_t pdPx
Definition: flugg.h:41
Double_t beamy
Definition: flugg.h:78
Double_t Ndxdz
Definition: flugg.h:23
Double_t tgppz
Definition: flugg.h:73
Double_t tvy
Definition: flugg.h:63
Double_t zpoint
Definition: flugg.h:61
Double_t Ndxdznea
Definition: flugg.h:27
Int_t ptype
Definition: flugg.h:49
Double_t tprivx
Definition: flugg.h:74
Double_t tvx
Definition: flugg.h:62
Double_t Nenergy
Definition: flugg.h:26
Double_t beamz
Definition: flugg.h:79
Int_t Ndecay
Definition: flugg.h:36
Double_t beampy
Definition: flugg.h:81
Double_t Nwtnear
Definition: flugg.h:30
Double_t pppz
Definition: flugg.h:46
Double_t Vy
Definition: flugg.h:39
Double_t ppvz
Definition: flugg.h:52
Double_t muparpz
Definition: flugg.h:55
Double_t Ndxdzfar
Definition: flugg.h:31
Double_t Necm
Definition: flugg.h:57
Int_t tptype
Definition: flugg.h:68
Double_t Ndydznea
Definition: flugg.h:28
Definition: run.py:1
Double_t tgppx
Definition: flugg.h:71
Double_t mupare
Definition: flugg.h:56
Double_t Nenergyn
Definition: flugg.h:29
Int_t Norig
Definition: flugg.h:35
Double_t Vx
Definition: flugg.h:38
Double_t tpx
Definition: flugg.h:65
Double_t Ndydz
Definition: flugg.h:24
Double_t tprivz
Definition: flugg.h:76
Double_t ppdydz
Definition: flugg.h:45
Double_t ppvx
Definition: flugg.h:50
Double_t muparpy
Definition: flugg.h:54
Double_t pdPy
Definition: flugg.h:42
Double_t tvz
Definition: flugg.h:64
Double_t xpoint
Definition: flugg.h:59
Double_t beampx
Definition: flugg.h:80
Int_t tgen
Definition: flugg.h:69
Int_t Ntype
Definition: flugg.h:37
Double_t tpz
Definition: flugg.h:67
Double_t Vz
Definition: flugg.h:40
Double_t tprivy
Definition: flugg.h:75
Double_t Nimpwt
Definition: flugg.h:58
void GNuMIFluxPassThroughInfo::Print ( const Option_t *  opt = "") const

Definition at line 1626 of file GNuMIFlux.cxx.

References om::cout, and allTimeWatchdog::endl.

Referenced by ~GNuMIFluxPassThroughInfo().

1627 {
1628  std::cout << *this << std::endl;
1629 }
OStream cout
Definition: OStream.cxx:6
void GNuMIFluxPassThroughInfo::ResetCopy ( )

Definition at line 1412 of file GNuMIFlux.cxx.

References beampx, beampy, beampz, beamx, beamy, beamz, evtno, fvol, ivol, MAX_N_TRAJ, mupare, muparpx, muparpy, muparpz, ndecay, ndxdz, ndxdzfar, ndxdznea, ndydz, ndydzfar, ndydznea, necm, nenergy, nenergyf, nenergyn, nimpwt, norig, npz, ntrajectory, ntype, nwtfar, nwtnear, overflow, parentId, pcodes, pdgcode, pdpx, pdpy, pdpz, ppdxdz, ppdydz, ppenergy, ppmedium, pppz, pprodpx, pprodpy, pprodpz, ppvx, ppvy, ppvz, proc, ptype, startpx, startpy, startpz, startx, starty, startz, stoppx, stoppy, stoppz, stopx, stopy, stopz, tgen, tgppx, tgppy, tgppz, tgptype, tprivx, tprivy, tprivz, tptype, tpx, tpy, tpz, trackId, tvx, tvy, tvz, units, vx, vy, vz, xpoint, ypoint, and zpoint.

Referenced by GNuMIFluxPassThroughInfo(), and ~GNuMIFluxPassThroughInfo().

1413 {
1414  pcodes = -1;
1415  units = -1;
1416 
1417  run = -1;
1418  evtno = -1;
1419  ndxdz = 0.;
1420  ndydz = 0.;
1421  npz = 0.;
1422  nenergy = 0.;
1423  ndxdznea = 0.;
1424  ndydznea = 0.;
1425  nenergyn = 0.;
1426  nwtnear = 0.;
1427  ndxdzfar = 0.;
1428  ndydzfar = 0.;
1429  nenergyf = 0.;
1430  nwtfar = 0.;
1431  norig = 0;
1432  ndecay = 0;
1433  ntype = 0;
1434  vx = 0.;
1435  vy = 0.;
1436  vz = 0.;
1437  pdpx = 0.;
1438  pdpy = 0.;
1439  pdpz = 0.;
1440  ppdxdz = 0.;
1441  ppdydz = 0.;
1442  pppz = 0.;
1443  ppenergy = 0.;
1444  ppmedium = 0 ;
1445  ptype = 0 ;
1446  ppvx = 0.;
1447  ppvy = 0.;
1448  ppvz = 0.;
1449  muparpx = 0.;
1450  muparpy = 0.;
1451  muparpz = 0.;
1452  mupare = 0.;
1453  necm = 0.;
1454  nimpwt = 0.;
1455  xpoint = 0.;
1456  ypoint = 0.;
1457  zpoint = 0.;
1458  tvx = 0.;
1459  tvy = 0.;
1460  tvz = 0.;
1461  tpx = 0.;
1462  tpy = 0.;
1463  tpz = 0.;
1464  tptype = 0 ;
1465  tgen = 0 ;
1466  tgptype = 0 ;
1467  tgppx = 0.;
1468  tgppy = 0.;
1469  tgppz = 0.;
1470  tprivx = 0.;
1471  tprivy = 0.;
1472  tprivz = 0.;
1473  beamx = 0.;
1474  beamy = 0.;
1475  beamz = 0.;
1476  beampx = 0.;
1477  beampy = 0.;
1478  beampz = 0.;
1479 
1480 #ifndef SKIP_MINERVA_MODS
1481  //=========================================
1482  // The following was inserted by MINERvA
1483  //=========================================
1484  ntrajectory = 0;
1485  overflow = false;
1486 
1487  for ( unsigned int itclear = 0; itclear < MAX_N_TRAJ; itclear++ ) {
1488  pdgcode[itclear] = 0;
1489  trackId[itclear] = 0;
1490  parentId[itclear] = 0;
1491  proc[itclear] = 0;
1492  ivol[itclear] = 0;
1493  fvol[itclear] = 0;
1494  startx[itclear] = 0;
1495  starty[itclear] = 0;
1496  startz[itclear] = 0;
1497  startpx[itclear] = 0;
1498  startpy[itclear] = 0;
1499  startpz[itclear] = 0;
1500  stopx[itclear] = 0;
1501  stopy[itclear] = 0;
1502  stopz[itclear] = 0;
1503  stoppx[itclear] = 0;
1504  stoppy[itclear] = 0;
1505  stoppz[itclear] = 0;
1506  pprodpx[itclear] = 0;
1507  pprodpy[itclear] = 0;
1508  pprodpz[itclear] = 0;
1509  }
1510  //END of minerva additions
1511 #endif
1512 }
static const unsigned int MAX_N_TRAJ
Maximum number of trajectories to store.
Definition: GNuMIFlux.h:180
Definition: run.py:1
void GNuMIFluxPassThroughInfo::ResetCurrent ( void  )

Definition at line 1515 of file GNuMIFlux.cxx.

References fgP4, fgPdgC, fgX4, and fgXYWgt.

Referenced by genie::flux::GNuMIFlux::FluxWindowNormal(), GNuMIFluxPassThroughInfo(), and ~GNuMIFluxPassThroughInfo().

1516 {
1517  // reset the state of the "generated" entry
1518  fgPdgC = 0;
1519  fgXYWgt = 0;
1520  fgP4.SetPxPyPzE(0.,0.,0.,0.);
1521  fgX4.SetXYZT(0.,0.,0.,0.);
1522 }
TLorentzVector fgP4
generated nu 4-momentum beam coord
Definition: GNuMIFlux.h:102
TLorentzVector fgX4
generated nu 4-position beam coord
Definition: GNuMIFlux.h:103
int fgPdgC
generated nu pdg-code
Definition: GNuMIFlux.h:98

Friends And Related Function Documentation

ostream& operator<< ( ostream &  stream,
const GNuMIFluxPassThroughInfo info 
)
friend

Definition at line 2209 of file GNuMIFlux.cxx.

Referenced by genie::flux::operator<<(), and ~GNuMIFluxPassThroughInfo().

2211  {
2212  // stream << "\n ndecay = " << info.ndecay << std::endl;
2213  stream << "\nGNuMIFlux run " << info.run << " evtno " << info.evtno
2214  << " (pcodes " << info.pcodes << " units " << info.units << ")"
2215  << "\n random dk: dx/dz " << info.ndxdz
2216  << " dy/dz " << info.ndydz
2217  << " pz " << info.npz << " E " << info.nenergy
2218  << "\n near00 dk: dx/dz " << info.ndxdznea
2219  << " dy/dz " << info.ndydznea
2220  << " E " << info.nenergyn << " wgt " << info.nwtnear
2221  << "\n far00 dk: dx/dz " << info.ndxdzfar
2222  << " dy/dz " << info.ndydzfar
2223  << " E " << info.nenergyf << " wgt " << info.nwtfar
2224  << "\n norig " << info.norig << " ndecay " << info.ndecay
2225  << " ntype " << info.ntype
2226  << "\n had vtx " << info.vx << " " << info.vy << " " << info.vz
2227  << "\n parent p3 @ dk " << info.pdpx << " " << info.pdpy << " " << info.pdpz
2228  << "\n parent prod: dx/dz " << info.ppdxdz
2229  << " dy/dz " << info.ppdydz
2230  << " pz " << info.pppz << " E " << info.ppenergy
2231  << "\n ppmedium " << info.ppmedium << " ptype " << info.ptype
2232  << " ppvtx " << info.ppvx << " " << info.ppvy << " " << info.ppvz
2233  << "\n mu parent p4 " << info.muparpx << " " << info.muparpy
2234  << " " << info.muparpz << " " << info.mupare
2235  << "\n necm " << info.necm << " nimpwt " << info.nimpwt
2236  << "\n point x,y,z " << info.xpoint << " " << info.ypoint
2237  << " " << info.zpoint
2238  << "\n tv x,y,z " << info.tvx << " " << info.tvy << " " << info.tvz
2239  << "\n tptype " << info.tptype << " tgen " << info.tgen
2240  << " tgptype " << info.tgptype
2241  << "\n tgp px,py,pz " << info.tgppx << " " << info.tgppy
2242  << " " << info.tgppz
2243  << "\n tpriv x,y,z " << info.tprivx << " " << info.tprivy
2244  << " " << info.tprivz
2245  << "\n beam x,y,z " << info.beamx << " " << info.beamy
2246  << " " << info.beamz
2247  << "\n beam px,py,pz " << info.beampx << " " << info.beampy
2248  << " " << info.beampz
2249  ;
2250 
2251 #ifndef SKIP_MINERVA_MODS
2252  //=========================================
2253  // The following was inserted by MINERvA
2254  //=========================================
2255  stream << "\nNeutrino History : ntrajectories " << info.ntrajectory
2256  << "\n (trkID, pdg) of nu parents: [";
2257  Int_t ntraj = info.ntrajectory;
2258  if ( info.overflow ) ntraj = GNuMIFluxPassThroughInfo::MAX_N_TRAJ;
2259 
2260  for ( Int_t itt = 0; itt < ntraj; ++itt )
2261  stream << "(" << info.trackId[itt-1] << ", " << info.pdgcode[itt] << ") ";
2262  stream << "]\n";
2263  //END of minerva additions
2264 #endif
2265 
2266  stream << "\nCurrent: pdg " << info.fgPdgC
2267  << " xywgt " << info.fgXYWgt
2268  << "\n p4 (beam): " << utils::print::P4AsShortString(&info.fgP4)
2269  << "\n x4 (beam): " << utils::print::X4AsString(&info.fgX4)
2270  << "\n p4 (user): " << utils::print::P4AsShortString(&info.fgP4User)
2271  << "\n x4 (user): " << utils::print::X4AsString(&info.fgX4User);
2272  ;
2273 #ifdef GNUMI_TEST_XY_WGT
2274  stream << "\n" << xypartials::GetStaticInstance();
2275 #endif
2276 
2277 
2278  /*
2279  //std::cout << "GNuMIFlux::PrintCurrent ....." << std::endl;
2280  //LOG("Flux", pINFO)
2281  LOG("Flux", pNOTICE)
2282  << "Current Leaf Values: "
2283  << " run " << fLf_run << " evtno " << fLf_evtno << "\n"
2284  << " NenergyN " << fLf_NenergyN << " NWtNear " << fLf_NWtNear
2285  << " NenergyF " << fLf_NenergyF << " NWtFar " << fLf_NWtFar << "\n"
2286  << " Norig " << fLf_Norig << " Ndecay " << fLf_Ndecay << " Ntype " << fLf_Ntype << "\n"
2287  << " Vxyz " << fLf_Vx << " " << fLf_Vy << " " << fLf_Vz
2288  << " pdPxyz " << fLf_pdPx << " " << fLf_pdPy << " " << fLf_pdPz << "\n"
2289  << " pp dxdz " << fLf_ppdxdz << " dydz " << fLf_ppdydz << " pz " << fLf_pppz << "\n"
2290  << " pp energy " << fLf_ppenergy << " medium " << fLf_ppmedium
2291  << " ptype " << fLf_ptype
2292  << " ppvxyz " << fLf_ppvx << " " << fLf_ppvy << " " << fLf_ppvz << "\n"
2293  << " muparpxyz " << fLf_muparpx << " " << fLf_muparpy << " " << fLf_muparpz
2294  << " mupare " << fLf_mupare << "\n"
2295  << ;
2296  */
2297 
2298  return stream;
2299  }
TLorentzVector fgP4
generated nu 4-momentum beam coord
Definition: GNuMIFlux.h:102
string P4AsShortString(const TLorentzVector *p)
Definition: PrintUtils.cxx:52
static const unsigned int MAX_N_TRAJ
Maximum number of trajectories to store.
Definition: GNuMIFlux.h:180
TLorentzVector fgX4User
generated nu 4-position user coord
Definition: GNuMIFlux.h:105
TLorentzVector fgX4
generated nu 4-position beam coord
Definition: GNuMIFlux.h:103
int fgPdgC
generated nu pdg-code
Definition: GNuMIFlux.h:98
TLorentzVector fgP4User
generated nu 4-momentum user coord
Definition: GNuMIFlux.h:104
string X4AsString(const TLorentzVector *x)
Definition: PrintUtils.cxx:64

Member Data Documentation

Double_t genie::flux::GNuMIFluxPassThroughInfo::beampx

Definition at line 169 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::beampy

Definition at line 170 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::beampz

Definition at line 171 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::beamx

Definition at line 166 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::beamy

Definition at line 167 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::beamz

Definition at line 168 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Int_t genie::flux::GNuMIFluxPassThroughInfo::evtno
TLorentzVector genie::flux::GNuMIFluxPassThroughInfo::fgP4

generated nu 4-momentum beam coord

Definition at line 102 of file GNuMIFlux.h.

Referenced by genie::flux::operator<<(), and ResetCurrent().

TLorentzVector genie::flux::GNuMIFluxPassThroughInfo::fgP4User

generated nu 4-momentum user coord

Definition at line 104 of file GNuMIFlux.h.

Referenced by genie::flux::operator<<().

int genie::flux::GNuMIFluxPassThroughInfo::fgPdgC

generated nu pdg-code

Definition at line 98 of file GNuMIFlux.h.

Referenced by genie::flux::operator<<(), and ResetCurrent().

TLorentzVector genie::flux::GNuMIFluxPassThroughInfo::fgX4

generated nu 4-position beam coord

Definition at line 103 of file GNuMIFlux.h.

Referenced by genie::flux::operator<<(), and ResetCurrent().

TLorentzVector genie::flux::GNuMIFluxPassThroughInfo::fgX4User

generated nu 4-position user coord

Definition at line 105 of file GNuMIFlux.h.

Referenced by genie::flux::operator<<().

double genie::flux::GNuMIFluxPassThroughInfo::fgXYWgt

generated nu x-y weight not the same as GNuMIFlux::Weight() which include importance wgt and deweighting

Definition at line 99 of file GNuMIFlux.h.

Referenced by genie::flux::operator<<(), and ResetCurrent().

int genie::flux::GNuMIFluxPassThroughInfo::fvol[MAX_N_TRAJ]

Definition at line 206 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

int genie::flux::GNuMIFluxPassThroughInfo::ivol[MAX_N_TRAJ]

Definition at line 205 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

const unsigned int genie::flux::GNuMIFluxPassThroughInfo::MAX_N_TRAJ = 10
static

Maximum number of trajectories to store.

Definition at line 180 of file GNuMIFlux.h.

Referenced by MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::mupare
Double_t genie::flux::GNuMIFluxPassThroughInfo::muparpx
Double_t genie::flux::GNuMIFluxPassThroughInfo::muparpy
Double_t genie::flux::GNuMIFluxPassThroughInfo::muparpz
Int_t genie::flux::GNuMIFluxPassThroughInfo::ndecay
Double_t genie::flux::GNuMIFluxPassThroughInfo::ndxdz

Definition at line 112 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::ndxdzfar

Definition at line 120 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::ndxdznea

Definition at line 116 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::ndydz

Definition at line 113 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::ndydzfar

Definition at line 121 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::ndydznea

Definition at line 117 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::necm
Double_t genie::flux::GNuMIFluxPassThroughInfo::nenergy

Definition at line 115 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::nenergyf

Definition at line 122 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::nenergyn
Double_t genie::flux::GNuMIFluxPassThroughInfo::nimpwt
Int_t genie::flux::GNuMIFluxPassThroughInfo::norig

Definition at line 124 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::npz

Definition at line 114 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Int_t genie::flux::GNuMIFluxPassThroughInfo::ntrajectory

Definition at line 182 of file GNuMIFlux.h.

Referenced by MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Int_t genie::flux::GNuMIFluxPassThroughInfo::ntype
Double_t genie::flux::GNuMIFluxPassThroughInfo::nwtfar

Definition at line 123 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::nwtnear
Bool_t genie::flux::GNuMIFluxPassThroughInfo::overflow

Definition at line 183 of file GNuMIFlux.h.

Referenced by MakeCopy(), genie::flux::operator<<(), and ResetCopy().

int genie::flux::GNuMIFluxPassThroughInfo::parentId[MAX_N_TRAJ]

Definition at line 186 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

int genie::flux::GNuMIFluxPassThroughInfo::pcodes

Definition at line 94 of file GNuMIFlux.h.

Referenced by ConvertPartCodes(), genie::flux::operator<<(), and ResetCopy().

int genie::flux::GNuMIFluxPassThroughInfo::pdgcode[MAX_N_TRAJ]

Definition at line 184 of file GNuMIFlux.h.

Referenced by MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::pdpx
Double_t genie::flux::GNuMIFluxPassThroughInfo::pdpy
Double_t genie::flux::GNuMIFluxPassThroughInfo::pdpz
Double_t genie::flux::GNuMIFluxPassThroughInfo::ppdxdz
Double_t genie::flux::GNuMIFluxPassThroughInfo::ppdydz
Double_t genie::flux::GNuMIFluxPassThroughInfo::ppenergy
Int_t genie::flux::GNuMIFluxPassThroughInfo::ppmedium
Double_t genie::flux::GNuMIFluxPassThroughInfo::pppz
double genie::flux::GNuMIFluxPassThroughInfo::pprodpx[MAX_N_TRAJ]

Definition at line 200 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

double genie::flux::GNuMIFluxPassThroughInfo::pprodpy[MAX_N_TRAJ]

Definition at line 201 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

double genie::flux::GNuMIFluxPassThroughInfo::pprodpz[MAX_N_TRAJ]

Definition at line 202 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::ppvx

Definition at line 139 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::ppvy

Definition at line 140 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::ppvz

Definition at line 141 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

int genie::flux::GNuMIFluxPassThroughInfo::proc[MAX_N_TRAJ]

Definition at line 204 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

Int_t genie::flux::GNuMIFluxPassThroughInfo::ptype
Int_t genie::flux::GNuMIFluxPassThroughInfo::run
double genie::flux::GNuMIFluxPassThroughInfo::startpx[MAX_N_TRAJ]

Definition at line 191 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

double genie::flux::GNuMIFluxPassThroughInfo::startpy[MAX_N_TRAJ]

Definition at line 192 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

double genie::flux::GNuMIFluxPassThroughInfo::startpz[MAX_N_TRAJ]

Definition at line 193 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

double genie::flux::GNuMIFluxPassThroughInfo::startx[MAX_N_TRAJ]

Definition at line 188 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

double genie::flux::GNuMIFluxPassThroughInfo::starty[MAX_N_TRAJ]

Definition at line 189 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

double genie::flux::GNuMIFluxPassThroughInfo::startz[MAX_N_TRAJ]

Definition at line 190 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

double genie::flux::GNuMIFluxPassThroughInfo::stoppx[MAX_N_TRAJ]

Definition at line 197 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

double genie::flux::GNuMIFluxPassThroughInfo::stoppy[MAX_N_TRAJ]

Definition at line 198 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

double genie::flux::GNuMIFluxPassThroughInfo::stoppz[MAX_N_TRAJ]

Definition at line 199 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

double genie::flux::GNuMIFluxPassThroughInfo::stopx[MAX_N_TRAJ]

Definition at line 194 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

double genie::flux::GNuMIFluxPassThroughInfo::stopy[MAX_N_TRAJ]

Definition at line 195 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

double genie::flux::GNuMIFluxPassThroughInfo::stopz[MAX_N_TRAJ]

Definition at line 196 of file GNuMIFlux.h.

Referenced by MakeCopy(), and ResetCopy().

Int_t genie::flux::GNuMIFluxPassThroughInfo::tgen

Definition at line 158 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::tgppx

Definition at line 160 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::tgppy

Definition at line 161 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::tgppz

Definition at line 162 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Int_t genie::flux::GNuMIFluxPassThroughInfo::tgptype
Double_t genie::flux::GNuMIFluxPassThroughInfo::tprivx

Definition at line 163 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::tprivy

Definition at line 164 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::tprivz

Definition at line 165 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Int_t genie::flux::GNuMIFluxPassThroughInfo::tptype
Double_t genie::flux::GNuMIFluxPassThroughInfo::tpx

Definition at line 154 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), fill_simple(), MakeCopy(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::tpy

Definition at line 155 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), fill_simple(), MakeCopy(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::tpz

Definition at line 156 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), fill_simple(), MakeCopy(), and ResetCopy().

int genie::flux::GNuMIFluxPassThroughInfo::trackId[MAX_N_TRAJ]

Definition at line 185 of file GNuMIFlux.h.

Referenced by MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::tvx

Definition at line 151 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::tvy

Definition at line 152 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::tvz

Definition at line 153 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

int genie::flux::GNuMIFluxPassThroughInfo::units
Double_t genie::flux::GNuMIFluxPassThroughInfo::vx
Double_t genie::flux::GNuMIFluxPassThroughInfo::vy
Double_t genie::flux::GNuMIFluxPassThroughInfo::vz
Double_t genie::flux::GNuMIFluxPassThroughInfo::xpoint

Definition at line 148 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::ypoint

Definition at line 149 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::zpoint

Definition at line 150 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), MakeCopy(), genie::flux::operator<<(), and ResetCopy().


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