GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | Static Public Attributes | Friends | List of all members
genie::flux::GNuMIFluxPassThroughInfo Class Reference

#include <GNuMIFlux.h>

Inheritance diagram for genie::flux::GNuMIFluxPassThroughInfo:
Inheritance graph
[legend]
Collaboration diagram for genie::flux::GNuMIFluxPassThroughInfo:
Collaboration graph
[legend]

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 1248 of file GNuMIFlux.cxx.

References ResetCopy(), and ResetCurrent().

1249  : TObject()
1250 {
1251  ResetCopy();
1252  ResetCurrent();
1253 }
virtual genie::flux::GNuMIFluxPassThroughInfo::~GNuMIFluxPassThroughInfo ( )
inlinevirtual

Definition at line 79 of file GNuMIFlux.h.

79 { };

Member Function Documentation

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

Definition at line 1729 of file GNuMIFlux.cxx.

References kRDET, LOG, mupare, muparpx, muparpy, muparpz, necm, ntype, pdpx, pdpy, pdpz, pFATAL, ppdxdz, ppdydz, ppenergy, pppz, ptype, genie::units::rad, vx, vy, and vz.

1731 {
1732 
1733  // Neutrino Energy and Weigth at arbitrary point
1734  // based on:
1735  // NuMI-NOTE-BEAM-0109 (MINOS DocDB # 109)
1736  // Title: Neutrino Beam Simulation using PAW with Weighted Monte Carlos
1737  // Author: Rick Milburn
1738  // Date: 1995-10-01
1739 
1740  // history:
1741  // jzh 3/21/96 grab R.H.Milburn's weighing routine
1742  // jzh 5/ 9/96 substantially modify the weighting function use dot product
1743  // instead of rotation vecs to get theta get all info except
1744  // det from ADAMO banks neutrino parent is in Particle.inc
1745  // Add weighting factor for polarized muon decay
1746  // jzh 4/17/97 convert more code to double precision because of problems
1747  // with Enu>30 GeV
1748  // rwh 10/ 9/08 transliterate function from f77 to C++
1749 
1750  // original function description:
1751  // Real function for use with PAW Ntuple To transform from destination
1752  // detector geometry to the unit sphere moving with decaying hadron with
1753  // velocity v, BETA=v/c, etc.. For (pseudo)scalar hadrons the decays will
1754  // be isotropic in this sphere so the fractional area (out of 4-pi) is the
1755  // fraction of decays that hit the target. For a given target point and
1756  // area, and given x-y components of decay transverse location and slope,
1757  // and given decay distance from target ans given decay GAMMA and
1758  // rest-frame neutrino energy, the lab energy at the target and the
1759  // fractional solid angle in the rest-frame are determined.
1760  // For muon decays, correction for non-isotropic nature of decay is done.
1761 
1762  // Arguments:
1763  // double x, y, z :: position to evaluate for (enu,wgt_xy)
1764  // in *beam* frame coordinates (cm units)
1765  // double enu, wgt_xy :: resulting energy and weight
1766  // Return:
1767  // int :: error code
1768  // Assumptions:
1769  // Energies given in GeV
1770  // Particle codes have been translated from GEANT into PDG codes
1771 
1772  // for now ... these _should_ come from DB
1773  // but use these hard-coded values to "exactly" reproduce old code
1774  //
1775  const double kPIMASS = 0.13957;
1776  const double kKMASS = 0.49368;
1777  const double kK0MASS = 0.49767;
1778  const double kMUMASS = 0.105658389;
1779  const double kOMEGAMASS = 1.67245;
1780 
1781  const int kpdg_nue = 12; // extended Geant 53
1782  const int kpdg_nuebar = -12; // extended Geant 52
1783  const int kpdg_numu = 14; // extended Geant 56
1784  const int kpdg_numubar = -14; // extended Geant 55
1785 
1786  const int kpdg_muplus = -13; // Geant 5
1787  const int kpdg_muminus = 13; // Geant 6
1788  const int kpdg_pionplus = 211; // Geant 8
1789  const int kpdg_pionminus = -211; // Geant 9
1790  const int kpdg_k0long = 130; // Geant 10 ( K0=311, K0S=310 )
1791  const int kpdg_k0short = 310; // Geant 16
1792  const int kpdg_k0mix = 311;
1793  const int kpdg_kaonplus = 321; // Geant 11
1794  const int kpdg_kaonminus = -321; // Geant 12
1795  const int kpdg_omegaminus = 3334; // Geant 24
1796  const int kpdg_omegaplus = -3334; // Geant 32
1797 
1798  const double kRDET = 100.0; // set to flux per 100 cm radius
1799 
1800  double xpos = xyz.X();
1801  double ypos = xyz.Y();
1802  double zpos = xyz.Z();
1803 
1804  enu = 0.0; // don't know what the final value is
1805  wgt_xy = 0.0; // but set these in case we return early due to error
1806 
1807 
1808  // in principle we should get these from the particle DB
1809  // but for consistency testing use the hardcoded values
1810  double parent_mass = kPIMASS;
1811  switch ( this->ptype ) {
1812  case kpdg_pionplus:
1813  case kpdg_pionminus:
1814  parent_mass = kPIMASS;
1815  break;
1816  case kpdg_kaonplus:
1817  case kpdg_kaonminus:
1818  parent_mass = kKMASS;
1819  break;
1820  case kpdg_k0long:
1821  case kpdg_k0short:
1822  case kpdg_k0mix:
1823  parent_mass = kK0MASS;
1824  break;
1825  case kpdg_muplus:
1826  case kpdg_muminus:
1827  parent_mass = kMUMASS;
1828  break;
1829  case kpdg_omegaminus:
1830  case kpdg_omegaplus:
1831  parent_mass = kOMEGAMASS;
1832  break;
1833  default:
1834  std::cerr << "NU_REWGT unknown particle type " << this->ptype
1835  << std::endl << std::flush;
1836  LOG("Flux",pFATAL) << "NU_REWGT unknown particle type " << this->ptype;
1837  assert(0);
1838  return 1;
1839  }
1840 
1841  double parentp2 = ( this->pdpx*this->pdpx +
1842  this->pdpy*this->pdpy +
1843  this->pdpz*this->pdpz );
1844  double parent_energy = TMath::Sqrt( parentp2 +
1845  parent_mass*parent_mass);
1846  double parentp = TMath::Sqrt( parentp2 );
1847 
1848  double gamma = parent_energy / parent_mass;
1849  double gamma_sqr = gamma * gamma;
1850  double beta_mag = TMath::Sqrt( ( gamma_sqr - 1.0 )/gamma_sqr );
1851 
1852  // Get the neutrino energy in the parent decay CM
1853  double enuzr = this->necm;
1854  // Get angle from parent line of flight to chosen point in beam frame
1855  double rad = TMath::Sqrt( (xpos-this->vx)*(xpos-this->vx) +
1856  (ypos-this->vy)*(ypos-this->vy) +
1857  (zpos-this->vz)*(zpos-this->vz) );
1858 
1859  double emrat = 1.0;
1860  double costh_pardet = -999., theta_pardet = -999.;
1861 
1862  // boost correction, but only if parent hasn't stopped
1863  if ( parentp > 0. ) {
1864  costh_pardet = ( this->pdpx*(xpos-this->vx) +
1865  this->pdpy*(ypos-this->vy) +
1866  this->pdpz*(zpos-this->vz) )
1867  / ( parentp * rad);
1868  if ( costh_pardet > 1.0 ) costh_pardet = 1.0;
1869  if ( costh_pardet < -1.0 ) costh_pardet = -1.0;
1870  theta_pardet = TMath::ACos(costh_pardet);
1871 
1872  // Weighted neutrino energy in beam, approx, good for small theta
1873  emrat = 1.0 / ( gamma * ( 1.0 - beta_mag * costh_pardet ));
1874  }
1875 
1876  enu = emrat * enuzr; // the energy ... normally
1877 
1878  // RWH-debug
1879  bool debug = false;
1880  if (debug) {
1881  std::cout << std::setprecision(15);
1882  std::cout << "xyz (" << xpos << "," << ypos << "," << zpos << ")" << std::endl;
1883  std::cout << "ptype " << this->ptype << " m " << parent_mass
1884  << " p " << parentp << " e " << parent_energy << " gamma " << gamma
1885  << " beta " << beta_mag << std::endl;
1886 
1887  std::cout << " enuzr " << enuzr << " rad " << rad << " costh " << costh_pardet
1888  << " theta " << theta_pardet << " emrat " << emrat
1889  << " enu " << enu << std::endl;
1890  }
1891 
1892 #ifdef GNUMI_TEST_XY_WGT
1893  gpartials.xdet = xpos;
1894  gpartials.ydet = ypos;
1895  gpartials.zdet = zpos;
1896  gpartials.parent_mass = parent_mass;
1897  gpartials.parentp = parentp;
1898  gpartials.parent_energy = parent_energy;
1899  gpartials.gamma = gamma;
1900  gpartials.beta_mag = beta_mag;
1901  gpartials.enuzr = enuzr;
1902  gpartials.rad = rad;
1903  gpartials.costh_pardet = costh_pardet;
1904  gpartials.theta_pardet = theta_pardet;
1905  gpartials.emrat = emrat;
1906  gpartials.eneu = enu;
1907 #endif
1908 
1909  // Get solid angle/4pi for detector element
1910  // small angle approximation, fixed by Alex Radovic
1911  //SAA//double sangdet = ( kRDET*kRDET / ( (zpos-this->vz)*(zpos-this->vz)))/4.0;
1912 
1913  double sanddetcomp = TMath::Sqrt(( (xpos-this->vx)*(xpos-this->vx) ) +
1914  ( (ypos-this->vy)*(ypos-this->vy) ) +
1915  ( (zpos-this->vz)*(zpos-this->vz) ) );
1916  double sangdet = ( 1.0 - TMath::Cos(TMath::ATan( kRDET / sanddetcomp)))/2.0;
1917 
1918  // Weight for solid angle and lorentz boost
1919  wgt_xy = sangdet * ( emrat * emrat ); // ! the weight ... normally
1920 
1921 #ifdef GNUMI_TEST_XY_WGT
1922  gpartials.sangdet = sangdet;
1923  gpartials.wgt = wgt_xy;
1924  gpartials.ptype = this->ptype; // assume already PDG
1925 #endif
1926 
1927  // Done for all except polarized muon decay
1928  // in which case need to modify weight
1929  // (must be done in double precision)
1930  if ( this->ptype == kpdg_muplus || this->ptype == kpdg_muminus) {
1931  double beta[3], p_dcm_nu[4], p_nu[3], p_pcm_mp[3], partial;
1932 
1933  // Boost neu neutrino to mu decay CM
1934  beta[0] = this->pdpx / parent_energy;
1935  beta[1] = this->pdpy / parent_energy;
1936  beta[2] = this->pdpz / parent_energy;
1937  p_nu[0] = (xpos-this->vx)*enu/rad;
1938  p_nu[1] = (ypos-this->vy)*enu/rad;
1939  p_nu[2] = (zpos-this->vz)*enu/rad;
1940  partial = gamma *
1941  (beta[0]*p_nu[0] + beta[1]*p_nu[1] + beta[2]*p_nu[2] );
1942  partial = enu - partial/(gamma+1.0);
1943  // the following calculation is numerically imprecise
1944  // especially p_dcm_nu[2] leads to taking the difference of numbers of order ~10's
1945  // and getting results of order ~0.02's
1946  // for g3numi we're starting with floats (ie. good to ~1 part in 10^7)
1947  p_dcm_nu[0] = p_nu[0] - beta[0]*gamma*partial;
1948  p_dcm_nu[1] = p_nu[1] - beta[1]*gamma*partial;
1949  p_dcm_nu[2] = p_nu[2] - beta[2]*gamma*partial;
1950  p_dcm_nu[3] = TMath::Sqrt( p_dcm_nu[0]*p_dcm_nu[0] +
1951  p_dcm_nu[1]*p_dcm_nu[1] +
1952  p_dcm_nu[2]*p_dcm_nu[2] );
1953 
1954 #ifdef GNUMI_TEST_XY_WGT
1955  gpartials.betanu[0] = beta[0];
1956  gpartials.betanu[1] = beta[1];
1957  gpartials.betanu[2] = beta[2];
1958  gpartials.p_nu[0] = p_nu[0];
1959  gpartials.p_nu[1] = p_nu[1];
1960  gpartials.p_nu[2] = p_nu[2];
1961  gpartials.partial1 = partial;
1962  gpartials.p_dcm_nu[0] = p_dcm_nu[0];
1963  gpartials.p_dcm_nu[1] = p_dcm_nu[1];
1964  gpartials.p_dcm_nu[2] = p_dcm_nu[2];
1965  gpartials.p_dcm_nu[3] = p_dcm_nu[3];
1966 #endif
1967 
1968  // Boost parent of mu to mu production CM
1969  double particle_energy = this->ppenergy;
1970  gamma = particle_energy/parent_mass;
1971  beta[0] = this->ppdxdz * this->pppz / particle_energy;
1972  beta[1] = this->ppdydz * this->pppz / particle_energy;
1973  beta[2] = this->pppz / particle_energy;
1974  partial = gamma * ( beta[0]*this->muparpx +
1975  beta[1]*this->muparpy +
1976  beta[2]*this->muparpz );
1977  partial = this->mupare - partial/(gamma+1.0);
1978  p_pcm_mp[0] = this->muparpx - beta[0]*gamma*partial;
1979  p_pcm_mp[1] = this->muparpy - beta[1]*gamma*partial;
1980  p_pcm_mp[2] = this->muparpz - beta[2]*gamma*partial;
1981  double p_pcm = TMath::Sqrt ( p_pcm_mp[0]*p_pcm_mp[0] +
1982  p_pcm_mp[1]*p_pcm_mp[1] +
1983  p_pcm_mp[2]*p_pcm_mp[2] );
1984 
1985  //std::cout << " muparpxyz " << this->muparpx << " "
1986  // << this->muparpy << " " << this->muparpz << std::endl;
1987  //std::cout << " beta " << beta[0] << " " << beta[1] << " " << beta[2] << std::endl;
1988  //std::cout << " gamma " << gamma << " partial " << partial << std::endl;
1989  //std::cout << " p_pcm_mp " << p_pcm_mp[0] << " " << p_pcm_mp[1] << " "
1990  // << p_pcm_mp[2] << " " << p_pcm << std::endl;
1991 
1992 #ifdef GNUMI_TEST_XY_WGT
1993  gpartials.muparent_px = this->muparpx;
1994  gpartials.muparent_py = this->muparpy;
1995  gpartials.muparent_pz = this->muparpz;
1996  gpartials.gammamp = gamma;
1997  gpartials.betamp[0] = beta[0];
1998  gpartials.betamp[1] = beta[1];
1999  gpartials.betamp[2] = beta[2];
2000  gpartials.partial2 = partial;
2001  gpartials.p_pcm_mp[0] = p_pcm_mp[0];
2002  gpartials.p_pcm_mp[1] = p_pcm_mp[1];
2003  gpartials.p_pcm_mp[2] = p_pcm_mp[2];
2004  gpartials.p_pcm = p_pcm;
2005 #endif
2006 
2007  const double eps = 1.0e-30; // ? what value to use
2008  if ( p_pcm < eps || p_dcm_nu[3] < eps ) {
2009  return 3; // mu missing parent info?
2010  }
2011  // Calc new decay angle w.r.t. (anti)spin direction
2012  double costh = ( p_dcm_nu[0]*p_pcm_mp[0] +
2013  p_dcm_nu[1]*p_pcm_mp[1] +
2014  p_dcm_nu[2]*p_pcm_mp[2] ) /
2015  ( p_dcm_nu[3]*p_pcm );
2016  if ( costh > 1.0 ) costh = 1.0;
2017  if ( costh < -1.0 ) costh = -1.0;
2018  // Calc relative weight due to angle difference
2019  double wgt_ratio = 0.0;
2020  switch ( this->ntype ) {
2021  case kpdg_nue:
2022  case kpdg_nuebar:
2023  wgt_ratio = 1.0 - costh;
2024  break;
2025  case kpdg_numu:
2026  case kpdg_numubar:
2027  {
2028  double xnu = 2.0 * enuzr / kMUMASS;
2029  wgt_ratio = ( (3.0-2.0*xnu ) - (1.0-2.0*xnu)*costh ) / (3.0-2.0*xnu);
2030  break;
2031  }
2032  default:
2033  return 2; // bad neutrino type
2034  }
2035  wgt_xy = wgt_xy * wgt_ratio;
2036 
2037 #ifdef GNUMI_TEST_XY_WGT
2038  gpartials.ntype = this->ntype; // assume converted to PDG
2039  gpartials.costhmu = costh;
2040  gpartials.wgt_ratio = wgt_ratio;
2041 #endif
2042 
2043  } // ptype is muon
2044 
2045  return 0;
2046 }
static constexpr double rad
Definition: Units.h:164
const double kRDET
#define pFATAL
Definition: Messenger.h:56
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:96
void GNuMIFluxPassThroughInfo::ConvertPartCodes ( )

Definition at line 1445 of file GNuMIFlux.cxx.

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

1446 {
1447  if ( pcodes == 0 ) {
1448  pcodes = 1; // flag that conversion has been made
1449  switch ( ntype ) {
1450  case 56: ntype = kPdgNuMu; break;
1451  case 55: ntype = kPdgAntiNuMu; break;
1452  case 53: ntype = kPdgNuE; break;
1453  case 52: ntype = kPdgAntiNuE; break;
1454  default:
1455  LOG("Flux", pNOTICE)
1456  << "ConvertPartCodes saw ntype " << ntype << " -- unknown ";
1457  }
1458  if ( ptype != 0 ) ptype = pdg::GeantToPdg(ptype);
1459  if ( tptype != 0 ) tptype = pdg::GeantToPdg(tptype);
1460  if ( tgptype != 0 ) tgptype = pdg::GeantToPdg(tgptype);
1461  } else if ( pcodes != 1 ) {
1462  // flag as unknown state ...
1463  LOG("Flux", pNOTICE)
1464  << "ConvertPartCodes saw pcodes flag as " << pcodes;
1465  }
1466 
1467 }
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:424
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:96
const int kPdgAntiNuMu
Definition: PDGCodes.h:31
#define pNOTICE
Definition: Messenger.h:61
int GNuMIFluxPassThroughInfo::getProcessID ( TString  sval)

Definition at line 3093 of file GNuMIFlux.cxx.

Referenced by MakeCopy().

3093  {
3094  int ival=0;
3095  if(sval=="AntiLambdaInelastic")ival=1;
3096  else if(sval=="AntiNeutronInelastic")ival=2;
3097  else if(sval=="AntiOmegaMinusInelastic")ival=3;
3098  else if(sval=="AntiProtonInelastic")ival=4;
3099  else if(sval=="AntiSigmaMinusInelastic")ival=5;
3100  else if(sval=="AntiSigmaPlusInelastic")ival=6;
3101  else if(sval=="AntiXiMinusInelastic")ival=7;
3102  else if(sval=="AntiXiZeroInelastic")ival=8;
3103  else if(sval=="Decay")ival=9;
3104  else if(sval=="KaonMinusInelastic")ival=10;
3105  else if(sval=="KaonPlusInelastic")ival=11;
3106  else if(sval=="KaonZeroLInelastic")ival=12;
3107  else if(sval=="KaonZeroSInelastic")ival=13;
3108  else if(sval=="LambdaInelastic")ival=14;
3109  else if(sval=="NeutronInelastic")ival=15;
3110  else if(sval=="OmegaMinusInelastic")ival=16;
3111  else if(sval=="PionMinusInelastic")ival=17;
3112  else if(sval=="PionPlusInelastic")ival=18;
3113  else if(sval=="Primary")ival=19;
3114  else if(sval=="ProtonInelastic")ival=20;
3115  else if(sval=="SigmaMinusInelastic")ival=21;
3116  else if(sval=="SigmaPlusInelastic")ival=22;
3117  else if(sval=="XiMinusInelastic")ival=23;
3118  else if(sval=="XiZeroInelastic")ival=24;
3119  else if(sval=="hElastic")ival=25;
3120  return ival;
3121 }
int GNuMIFluxPassThroughInfo::getVolID ( TString  sval)

Definition at line 2912 of file GNuMIFlux.cxx.

Referenced by MakeCopy().

2912  {
2913  int ival=0;
2914  if(sval=="AddedLV")ival=1;
2915  else if(sval=="AlTube1LV")ival=2;
2916  else if(sval=="AlTube2LV")ival=3;
2917  else if(sval=="Al_BLK1")ival=4;
2918  else if(sval=="Al_BLK2")ival=5;
2919  else if(sval=="Al_BLK3")ival=6;
2920  else if(sval=="Al_BLK4")ival=7;
2921  else if(sval=="Al_BLK5")ival=8;
2922  else if(sval=="Al_BLK6")ival=9;
2923  else if(sval=="Al_BLK7")ival=10;
2924  else if(sval=="Al_BLK8")ival=11;
2925  else if(sval=="AlholeL")ival=12;
2926  else if(sval=="AlholeR")ival=13;
2927  else if(sval=="BEndLV")ival=14;
2928  else if(sval=="BFrontLV")ival=15;
2929  else if(sval=="BeDWLV")ival=16;
2930  else if(sval=="BeUp1LV")ival=17;
2931  else if(sval=="BeUp2LV")ival=18;
2932  else if(sval=="BeUp3LV")ival=19;
2933  else if(sval=="BodyLV")ival=20;
2934  else if(sval=="BudalMonitor")ival=21;
2935  else if(sval=="CLid1LV")ival=22;
2936  else if(sval=="CLid2LV")ival=23;
2937  else if(sval=="CShld_BLK11")ival=24;
2938  else if(sval=="CShld_BLK12")ival=25;
2939  else if(sval=="CShld_BLK2")ival=26;
2940  else if(sval=="CShld_BLK3")ival=27;
2941  else if(sval=="CShld_BLK4")ival=28;
2942  else if(sval=="CShld_BLK7")ival=29;
2943  else if(sval=="CShld_BLK8")ival=30;
2944  else if(sval=="CShld_stl,BLK")ival=31;
2945  else if(sval=="CerTubeLV")ival=32;
2946  else if(sval=="CeramicRod")ival=33;
2947  else if(sval=="ConcShield")ival=34;
2948  else if(sval=="Concrete Chase Section")ival=35;
2949  else if(sval=="Conn1LV")ival=36;
2950  else if(sval=="Conn2LV")ival=37;
2951  else if(sval=="Conn3LV")ival=38;
2952  else if(sval=="DNWN")ival=39;
2953  else if(sval=="DPIP")ival=40;
2954  else if(sval=="DVOL")ival=41;
2955  else if(sval=="DuratekBlock")ival=42;
2956  else if(sval=="DuratekBlockCovering")ival=43;
2957  else if(sval=="HadCell")ival=44;
2958  else if(sval=="HadronAbsorber")ival=45;
2959  else if(sval=="MuMonAlcvFill_0")ival=46;
2960  else if(sval=="MuMonAlcv_0")ival=47;
2961  else if(sval=="MuMonAlcv_1")ival=48;
2962  else if(sval=="MuMonAlcv_2")ival=49;
2963  else if(sval=="MuMon_0")ival=50;
2964  else if(sval=="MuMon_1")ival=51;
2965  else if(sval=="MuMon_2")ival=52;
2966  else if(sval=="PHorn1CPB1slv")ival=53;
2967  else if(sval=="PHorn1CPB2slv")ival=54;
2968  else if(sval=="PHorn1F")ival=55;
2969  else if(sval=="PHorn1Front")ival=56;
2970  else if(sval=="PHorn1IC")ival=57;
2971  else if(sval=="PHorn1InsRingslv")ival=58;
2972  else if(sval=="PHorn1OC")ival=59;
2973  else if(sval=="PHorn2CPB1slv")ival=60;
2974  else if(sval=="PHorn2CPB2slv")ival=61;
2975  else if(sval=="PHorn2F")ival=62;
2976  else if(sval=="PHorn2Front")ival=63;
2977  else if(sval=="PHorn2IC")ival=64;
2978  else if(sval=="PHorn2InsRingslv")ival=65;
2979  else if(sval=="PHorn2OC")ival=66;
2980  else if(sval=="PVHadMon")ival=67;
2981  else if(sval=="Pipe1")ival=68;
2982  else if(sval=="Pipe1_water")ival=69;
2983  else if(sval=="Pipe2")ival=70;
2984  else if(sval=="Pipe2_water")ival=71;
2985  else if(sval=="Pipe3")ival=72;
2986  else if(sval=="Pipe3_water")ival=73;
2987  else if(sval=="Pipe4")ival=74;
2988  else if(sval=="Pipe4_water")ival=75;
2989  else if(sval=="Pipe5")ival=76;
2990  else if(sval=="Pipe5_water")ival=77;
2991  else if(sval=="Pipe6")ival=78;
2992  else if(sval=="Pipe6_water")ival=79;
2993  else if(sval=="Pipe7")ival=80;
2994  else if(sval=="Pipe8")ival=81;
2995  else if(sval=="Pipe8_water")ival=82;
2996  else if(sval=="Pipe9")ival=83;
2997  else if(sval=="PipeAdapter1")ival=84;
2998  else if(sval=="PipeAdapter1_water")ival=85;
2999  else if(sval=="PipeAdapter2")ival=86;
3000  else if(sval=="PipeAdapter2_water")ival=87;
3001  else if(sval=="PipeBellowB")ival=88;
3002  else if(sval=="PipeBellowB_water")ival=89;
3003  else if(sval=="PipeBellowT")ival=90;
3004  else if(sval=="PipeBellowT_water")ival=91;
3005  else if(sval=="PipeC1")ival=92;
3006  else if(sval=="PipeC1_water")ival=93;
3007  else if(sval=="PipeC2")ival=94;
3008  else if(sval=="PipeC2_water")ival=95;
3009  else if(sval=="ROCK")ival=96;
3010  else if(sval=="Ring1LV")ival=97;
3011  else if(sval=="Ring2LV")ival=98;
3012  else if(sval=="Ring3LV")ival=99;
3013  else if(sval=="Ring4LV")ival=100;
3014  else if(sval=="Ring5LV")ival=101;
3015  else if(sval=="SC01")ival=102;
3016  else if(sval=="SpiderSupport")ival=103;
3017  else if(sval=="Stl_BLK1")ival=104;
3018  else if(sval=="Stl_BLK10")ival=105;
3019  else if(sval=="Stl_BLK2")ival=106;
3020  else if(sval=="Stl_BLK3")ival=107;
3021  else if(sval=="Stl_BLK4")ival=108;
3022  else if(sval=="Stl_BLK5")ival=109;
3023  else if(sval=="Stl_BLK6")ival=110;
3024  else if(sval=="Stl_BLK7")ival=111;
3025  else if(sval=="Stl_BLK8")ival=112;
3026  else if(sval=="Stl_BLK9")ival=113;
3027  else if(sval=="Stlhole")ival=114;
3028  else if(sval=="TGAR")ival=115;
3029  else if(sval=="TGT1")ival=116;
3030  else if(sval=="TGTExitCyl2LV")ival=117;
3031  else if(sval=="TUNE")ival=118;
3032  else if(sval=="Tube1aLV")ival=119;
3033  else if(sval=="Tube1bLV")ival=120;
3034  else if(sval=="UpWn1")ival=121;
3035  else if(sval=="UpWn2")ival=122;
3036  else if(sval=="UpWnAl1SLV")ival=123;
3037  else if(sval=="UpWnAl2SLV")ival=124;
3038  else if(sval=="UpWnAl3SLV")ival=125;
3039  else if(sval=="UpWnFe1SLV")ival=126;
3040  else if(sval=="UpWnFe2SLV")ival=127;
3041  else if(sval=="UpWnPolyCone")ival=128;
3042  else if(sval=="blu_BLK25")ival=129;
3043  else if(sval=="blu_BLK26")ival=130;
3044  else if(sval=="blu_BLK27")ival=131;
3045  else if(sval=="blu_BLK28")ival=132;
3046  else if(sval=="blu_BLK29")ival=133;
3047  else if(sval=="blu_BLK32")ival=134;
3048  else if(sval=="blu_BLK37")ival=135;
3049  else if(sval=="blu_BLK38")ival=136;
3050  else if(sval=="blu_BLK39")ival=137;
3051  else if(sval=="blu_BLK40")ival=138;
3052  else if(sval=="blu_BLK45")ival=139;
3053  else if(sval=="blu_BLK46")ival=140;
3054  else if(sval=="blu_BLK47")ival=141;
3055  else if(sval=="blu_BLK48")ival=142;
3056  else if(sval=="blu_BLK49")ival=143;
3057  else if(sval=="blu_BLK50")ival=144;
3058  else if(sval=="blu_BLK51")ival=145;
3059  else if(sval=="blu_BLK53")ival=146;
3060  else if(sval=="blu_BLK55")ival=147;
3061  else if(sval=="blu_BLK57")ival=148;
3062  else if(sval=="blu_BLK59")ival=149;
3063  else if(sval=="blu_BLK61")ival=150;
3064  else if(sval=="blu_BLK63")ival=151;
3065  else if(sval=="blu_BLK64")ival=152;
3066  else if(sval=="blu_BLK65")ival=153;
3067  else if(sval=="blu_BLK66")ival=154;
3068  else if(sval=="blu_BLK67")ival=155;
3069  else if(sval=="blu_BLK68")ival=156;
3070  else if(sval=="blu_BLK69")ival=157;
3071  else if(sval=="blu_BLK70")ival=158;
3072  else if(sval=="blu_BLK72")ival=159;
3073  else if(sval=="blu_BLK73")ival=160;
3074  else if(sval=="blu_BLK75")ival=161;
3075  else if(sval=="blu_BLK77")ival=162;
3076  else if(sval=="blu_BLK78")ival=163;
3077  else if(sval=="blu_BLK79")ival=164;
3078  else if(sval=="blu_BLK81")ival=165;
3079  else if(sval=="conc_BLK")ival=166;
3080  else if(sval=="pvBaffleMother")ival=167;
3081  else if(sval=="pvDPInnerTrackerTube")ival=168;
3082  else if(sval=="pvMHorn1Mother")ival=169;
3083  else if(sval=="pvMHorn2Mother")ival=170;
3084  else if(sval=="pvTargetMother")ival=171;
3085  else if(sval=="stl_slab1")ival=172;
3086  else if(sval=="stl_slab4")ival=173;
3087  else if(sval=="stl_slab5")ival=174;
3088  else if(sval=="stl_slabL")ival=175;
3089  else if(sval=="stl_slabR")ival=176;
3090  return ival;
3091 }
void GNuMIFluxPassThroughInfo::MakeCopy ( const g3numi g3)

pull in from g3 ntuple

Definition at line 1476 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, 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.

1477 {
1478  run = g3->run;
1479  evtno = g3->evtno;
1480  ndxdz = g3->Ndxdz;
1481  ndydz = g3->Ndydz;
1482  npz = g3->Npz;
1483  nenergy = g3->Nenergy;
1484  ndxdznea = g3->Ndxdznea;
1485  ndydznea = g3->Ndydznea;
1486  nenergyn = g3->Nenergyn;
1487  nwtnear = g3->Nwtnear;
1488  ndxdzfar = g3->Ndxdzfar;
1489  ndydzfar = g3->Ndydzfar;
1490  nenergyf = g3->Nenergyf;
1491  nwtfar = g3->Nwtfar;
1492  norig = g3->Norig;
1493  ndecay = g3->Ndecay;
1494  ntype = g3->Ntype;
1495  vx = g3->Vx;
1496  vy = g3->Vy;
1497  vz = g3->Vz;
1498  pdpx = g3->pdpx;
1499  pdpy = g3->pdpy;
1500  pdpz = g3->pdpz;
1501  ppdxdz = g3->ppdxdz;
1502  ppdydz = g3->ppdydz;
1503  pppz = g3->pppz;
1504  ppenergy = g3->ppenergy;
1505  ppmedium = g3->ppmedium;
1506  ptype = g3->ptype;
1507  ppvx = g3->ppvx;
1508  ppvy = g3->ppvy;
1509  ppvz = g3->ppvz;
1510  muparpx = g3->muparpx;
1511  muparpy = g3->muparpy;
1512  muparpz = g3->muparpz;
1513  mupare = g3->mupare;
1514 
1515  necm = g3->Necm;
1516  nimpwt = g3->Nimpwt;
1517  xpoint = g3->xpoint;
1518  ypoint = g3->ypoint;
1519  zpoint = g3->zpoint;
1520 
1521  tvx = g3->tvx;
1522  tvy = g3->tvy;
1523  tvz = g3->tvz;
1524  tpx = g3->tpx;
1525  tpy = g3->tpy;
1526  tpz = g3->tpz;
1527  tptype = g3->tptype;
1528  tgen = g3->tgen;
1529  tgptype = g3->tgptype;
1530  tgppx = g3->tgppx;
1531  tgppy = g3->tgppy;
1532  tgppz = g3->tgppz;
1533  tprivx = g3->tprivx;
1534  tprivy = g3->tprivy;
1535  tprivz = g3->tprivz;
1536  beamx = g3->beamx;
1537  beamy = g3->beamy;
1538  beamz = g3->beamz;
1539  beampx = g3->beampx;
1540  beampy = g3->beampy;
1541  beampz = g3->beampz;
1542 
1543 }
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
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 1546 of file GNuMIFlux.cxx.

References beampx, beampy, beampz, beamx, beamy, beamz, g4numi::evtno, evtno, g4numi::fvol, fvol, getProcessID(), getVolID(), 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, 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.

1547 {
1548 
1549  const int kNearIndx = 0;
1550  const int kFarIndx = 0;
1551 
1552  run = g4->run;
1553  evtno = g4->evtno;
1554  ndxdz = g4->Ndxdz;
1555  ndydz = g4->Ndydz;
1556  npz = g4->Npz;
1557  nenergy = g4->Nenergy;
1558  ndxdznea = g4->NdxdzNear[kNearIndx];
1559  ndydznea = g4->NdydzNear[kNearIndx];
1560  nenergyn = g4->NenergyN[kNearIndx];
1561  nwtnear = g4->NWtNear[kNearIndx];
1562  ndxdzfar = g4->NdxdzFar[kFarIndx];
1563  ndydzfar = g4->NdydzFar[kFarIndx];
1564  nenergyf = g4->NenergyF[kFarIndx];
1565  nwtfar = g4->NWtFar[kFarIndx];
1566  norig = g4->Norig;
1567  ndecay = g4->Ndecay;
1568  ntype = g4->Ntype;
1569  vx = g4->Vx;
1570  vy = g4->Vy;
1571  vz = g4->Vz;
1572  pdpx = g4->pdPx;
1573  pdpy = g4->pdPy;
1574  pdpz = g4->pdPz;
1575  ppdxdz = g4->ppdxdz;
1576  ppdydz = g4->ppdydz;
1577  pppz = g4->pppz;
1578  ppenergy = g4->ppenergy;
1579  ppmedium = (Int_t)g4->ppmedium; // int in g3, double in g4!
1580  ptype = g4->ptype;
1581  ppvx = g4->ppvx;
1582  ppvy = g4->ppvy;
1583  ppvz = g4->ppvz;
1584  muparpx = g4->muparpx;
1585  muparpy = g4->muparpy;
1586  muparpz = g4->muparpz;
1587  mupare = g4->mupare;
1588 
1589  necm = g4->Necm;
1590  nimpwt = g4->Nimpwt;
1591  xpoint = g4->xpoint;
1592  ypoint = g4->ypoint;
1593  zpoint = g4->zpoint;
1594 
1595  tvx = g4->tvx;
1596  tvy = g4->tvy;
1597  tvz = g4->tvz;
1598  tpx = g4->tpx;
1599  tpy = g4->tpy;
1600  tpz = g4->tpz;
1601  tptype = g4->tptype;
1602  tgen = g4->tgen;
1603  tgptype = 0 ; // no equivalent in g4
1604  tgppx = 0.;
1605  tgppy = 0.;
1606  tgppz = 0.;
1607  tprivx = 0.;
1608  tprivy = 0.;
1609  tprivz = 0.;
1610  beamx = 0.; // g4->protonX;
1611  beamy = 0.; // g4->protonY;
1612  beamz = 0.; // g4->protonZ;
1613  beampx = 0.; // g4->protonPx;
1614  beampy = 0.; // g4->protonPy;
1615  beampz = 0.; // g4->protonPz;
1616 
1617 #ifndef SKIP_MINERVA_MODS
1618  //=========================================
1619  // The following was inserted by MINERvA
1620  //=========================================
1621  ntrajectory = g4->ntrajectory;
1622  overflow = g4->overflow;
1623  // Limit number of trajectories to MAX_N_TRAJ
1624  Int_t ntraj = ntrajectory;
1625  if ( overflow )
1626  ntraj = MAX_N_TRAJ;
1627 
1628  for ( Int_t ic = 0; ic < ntraj; ++ic ) {
1629  pdgcode[ic] = g4->pdg[ic];
1630  trackId[ic] = g4->trackId[ic];
1631  parentId[ic] = g4->parentId[ic];
1632 
1633  startx[ic] = g4->startx[ic];
1634  starty[ic] = g4->starty[ic];
1635  startz[ic] = g4->startz[ic];
1636  stopx[ic] = g4->stopx[ic];
1637  stopy[ic] = g4->stopy[ic];
1638  stopz[ic] = g4->stopz[ic];
1639  startpx[ic] = g4->startpx[ic];
1640  startpy[ic] = g4->startpy[ic];
1641  startpz[ic] = g4->startpz[ic];
1642  stoppx[ic] = g4->stoppx[ic];
1643  stoppy[ic] = g4->stoppy[ic];
1644  stoppz[ic] = g4->stoppz[ic];
1645  pprodpx[ic] = g4->pprodpx[ic];
1646  pprodpy[ic] = g4->pprodpy[ic];
1647  pprodpz[ic] = g4->pprodpz[ic];
1648 
1649  proc[ic] = getProcessID(g4->proc[ic]);
1650  ivol[ic] = getVolID(g4->ivol[ic]);
1651  fvol[ic] = getVolID(g4->fvol[ic]);
1652  }
1653  //END of minerva additions
1654 #endif
1655 
1656 }
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 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
Int_t run
current Tree number in a TChain
Definition: g4numi.h:25
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 NdxdzFar[2]
Definition: g4numi.h:47
Double_t NdxdzNear[11]
Definition: g4numi.h:43
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 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
Double_t startpz[10]
Definition: g4numi.h:104
Double_t NdydzNear[11]
Definition: g4numi.h:44
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 NenergyF[2]
Definition: g4numi.h:49
Double_t ppvy
Definition: g4numi.h:67
Double_t Ndxdz
Definition: g4numi.h:39
Double_t ppdydz
Definition: g4numi.h:61
Double_t stoppz[10]
Definition: g4numi.h:107
Double_t NWtFar[2]
Definition: g4numi.h:50
Int_t ntrajectory
Definition: g4numi.h:91
Double_t NdydzFar[2]
Definition: g4numi.h:48
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 NWtNear[11]
Definition: g4numi.h:46
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 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
Double_t NenergyN[11]
Definition: g4numi.h:45
void GNuMIFluxPassThroughInfo::MakeCopy ( const flugg f)

pull in from flugg ntuple

Definition at line 1659 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, 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.

1660 {
1661  run = f->run;
1662  evtno = f->evtno;
1663  ndxdz = f->Ndxdz;
1664  ndydz = f->Ndydz;
1665  npz = f->Npz;
1666  nenergy = f->Nenergy;
1667  ndxdznea = f->Ndxdznea;
1668  ndydznea = f->Ndydznea;
1669  nenergyn = f->Nenergyn;
1670  nwtnear = f->Nwtnear;
1671  ndxdzfar = f->Ndxdzfar;
1672  ndydzfar = f->Ndydzfar;
1673  nenergyf = f->Nenergyf;
1674  nwtfar = f->Nwtfar;
1675  norig = f->Norig;
1676  ndecay = f->Ndecay;
1677  ntype = f->Ntype;
1678  vx = f->Vx;
1679  vy = f->Vy;
1680  vz = f->Vz;
1681  pdpx = f->pdPx;
1682  pdpy = f->pdPy;
1683  pdpz = f->pdPz;
1684  ppdxdz = f->ppdxdz;
1685  ppdydz = f->ppdydz;
1686  pppz = f->pppz;
1687  ppenergy = f->ppenergy;
1688  ppmedium = f->ppmedium;
1689  ptype = f->ptype;
1690  ppvx = f->ppvx;
1691  ppvy = f->ppvy;
1692  ppvz = f->ppvz;
1693  muparpx = f->muparpx;
1694  muparpy = f->muparpy;
1695  muparpz = f->muparpz;
1696  mupare = f->mupare;
1697 
1698  necm = f->Necm;
1699  nimpwt = f->Nimpwt;
1700  xpoint = f->xpoint;
1701  ypoint = f->ypoint;
1702  zpoint = f->zpoint;
1703 
1704  tvx = f->tvx;
1705  tvy = f->tvy;
1706  tvz = f->tvz;
1707  tpx = f->tpx;
1708  tpy = f->tpy;
1709  tpz = f->tpz;
1710  tptype = f->tptype;
1711  tgen = f->tgen;
1712  tgptype = f->tgptype;
1713  tgppx = f->tgppx;
1714  tgppy = f->tgppy;
1715  tgppz = f->tgppz;
1716  tprivx = f->tprivx;
1717  tprivy = f->tprivy;
1718  tprivz = f->tprivz;
1719  beamx = f->beamx;
1720  beamy = f->beamy;
1721  beamz = f->beamz;
1722  beampx = f->beampx;
1723  beampy = f->beampy;
1724  beampz = f->beampz;
1725 
1726 }
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
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 1470 of file GNuMIFlux.cxx.

1471 {
1472  std::cout << *this << std::endl;
1473 }
void GNuMIFluxPassThroughInfo::ResetCopy ( )

Definition at line 1256 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, run, 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().

1257 {
1258  pcodes = -1;
1259  units = -1;
1260 
1261  run = -1;
1262  evtno = -1;
1263  ndxdz = 0.;
1264  ndydz = 0.;
1265  npz = 0.;
1266  nenergy = 0.;
1267  ndxdznea = 0.;
1268  ndydznea = 0.;
1269  nenergyn = 0.;
1270  nwtnear = 0.;
1271  ndxdzfar = 0.;
1272  ndydzfar = 0.;
1273  nenergyf = 0.;
1274  nwtfar = 0.;
1275  norig = 0;
1276  ndecay = 0;
1277  ntype = 0;
1278  vx = 0.;
1279  vy = 0.;
1280  vz = 0.;
1281  pdpx = 0.;
1282  pdpy = 0.;
1283  pdpz = 0.;
1284  ppdxdz = 0.;
1285  ppdydz = 0.;
1286  pppz = 0.;
1287  ppenergy = 0.;
1288  ppmedium = 0 ;
1289  ptype = 0 ;
1290  ppvx = 0.;
1291  ppvy = 0.;
1292  ppvz = 0.;
1293  muparpx = 0.;
1294  muparpy = 0.;
1295  muparpz = 0.;
1296  mupare = 0.;
1297  necm = 0.;
1298  nimpwt = 0.;
1299  xpoint = 0.;
1300  ypoint = 0.;
1301  zpoint = 0.;
1302  tvx = 0.;
1303  tvy = 0.;
1304  tvz = 0.;
1305  tpx = 0.;
1306  tpy = 0.;
1307  tpz = 0.;
1308  tptype = 0 ;
1309  tgen = 0 ;
1310  tgptype = 0 ;
1311  tgppx = 0.;
1312  tgppy = 0.;
1313  tgppz = 0.;
1314  tprivx = 0.;
1315  tprivy = 0.;
1316  tprivz = 0.;
1317  beamx = 0.;
1318  beamy = 0.;
1319  beamz = 0.;
1320  beampx = 0.;
1321  beampy = 0.;
1322  beampz = 0.;
1323 
1324 #ifndef SKIP_MINERVA_MODS
1325  //=========================================
1326  // The following was inserted by MINERvA
1327  //=========================================
1328  ntrajectory = 0;
1329  overflow = false;
1330 
1331  for ( unsigned int itclear = 0; itclear < MAX_N_TRAJ; itclear++ ) {
1332  pdgcode[itclear] = 0;
1333  trackId[itclear] = 0;
1334  parentId[itclear] = 0;
1335  proc[itclear] = 0;
1336  ivol[itclear] = 0;
1337  fvol[itclear] = 0;
1338  startx[itclear] = 0;
1339  starty[itclear] = 0;
1340  startz[itclear] = 0;
1341  startpx[itclear] = 0;
1342  startpy[itclear] = 0;
1343  startpz[itclear] = 0;
1344  stopx[itclear] = 0;
1345  stopy[itclear] = 0;
1346  stopz[itclear] = 0;
1347  stoppx[itclear] = 0;
1348  stoppy[itclear] = 0;
1349  stoppz[itclear] = 0;
1350  pprodpx[itclear] = 0;
1351  pprodpy[itclear] = 0;
1352  pprodpz[itclear] = 0;
1353  }
1354  //END of minerva additions
1355 #endif
1356 }
static const unsigned int MAX_N_TRAJ
Maximum number of trajectories to store.
Definition: GNuMIFlux.h:180
void GNuMIFluxPassThroughInfo::ResetCurrent ( void  )

Definition at line 1359 of file GNuMIFlux.cxx.

References fgP4, fgPdgC, fgX4, and fgXYWgt.

Referenced by GNuMIFluxPassThroughInfo().

1360 {
1361  // reset the state of the "generated" entry
1362  fgPdgC = 0;
1363  fgXYWgt = 0;
1364  fgP4.SetPxPyPzE(0.,0.,0.,0.);
1365  fgX4.SetXYZT(0.,0.,0.,0.);
1366 }
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 2053 of file GNuMIFlux.cxx.

2055  {
2056  // stream << "\n ndecay = " << info.ndecay << std::endl;
2057  stream << "\nGNuMIFlux run " << info.run << " evtno " << info.evtno
2058  << " (pcodes " << info.pcodes << " units " << info.units << ")"
2059  << "\n random dk: dx/dz " << info.ndxdz
2060  << " dy/dz " << info.ndydz
2061  << " pz " << info.npz << " E " << info.nenergy
2062  << "\n near00 dk: dx/dz " << info.ndxdznea
2063  << " dy/dz " << info.ndydznea
2064  << " E " << info.nenergyn << " wgt " << info.nwtnear
2065  << "\n far00 dk: dx/dz " << info.ndxdzfar
2066  << " dy/dz " << info.ndydzfar
2067  << " E " << info.nenergyf << " wgt " << info.nwtfar
2068  << "\n norig " << info.norig << " ndecay " << info.ndecay
2069  << " ntype " << info.ntype
2070  << "\n had vtx " << info.vx << " " << info.vy << " " << info.vz
2071  << "\n parent p3 @ dk " << info.pdpx << " " << info.pdpy << " " << info.pdpz
2072  << "\n parent prod: dx/dz " << info.ppdxdz
2073  << " dy/dz " << info.ppdydz
2074  << " pz " << info.pppz << " E " << info.ppenergy
2075  << "\n ppmedium " << info.ppmedium << " ptype " << info.ptype
2076  << " ppvtx " << info.ppvx << " " << info.ppvy << " " << info.ppvz
2077  << "\n mu parent p4 " << info.muparpx << " " << info.muparpy
2078  << " " << info.muparpz << " " << info.mupare
2079  << "\n necm " << info.necm << " nimpwt " << info.nimpwt
2080  << "\n point x,y,z " << info.xpoint << " " << info.ypoint
2081  << " " << info.zpoint
2082  << "\n tv x,y,z " << info.tvx << " " << info.tvy << " " << info.tvz
2083  << "\n tptype " << info.tptype << " tgen " << info.tgen
2084  << " tgptype " << info.tgptype
2085  << "\n tgp px,py,pz " << info.tgppx << " " << info.tgppy
2086  << " " << info.tgppz
2087  << "\n tpriv x,y,z " << info.tprivx << " " << info.tprivy
2088  << " " << info.tprivz
2089  << "\n beam x,y,z " << info.beamx << " " << info.beamy
2090  << " " << info.beamz
2091  << "\n beam px,py,pz " << info.beampx << " " << info.beampy
2092  << " " << info.beampz
2093  ;
2094 
2095 #ifndef SKIP_MINERVA_MODS
2096  //=========================================
2097  // The following was inserted by MINERvA
2098  //=========================================
2099  stream << "\nNeutrino History : ntrajectories " << info.ntrajectory
2100  << "\n (trkID, pdg) of nu parents: [";
2101  Int_t ntraj = info.ntrajectory;
2102  if ( info.overflow ) ntraj = GNuMIFluxPassThroughInfo::MAX_N_TRAJ;
2103 
2104  for ( Int_t itt = 0; itt < ntraj; ++itt )
2105  stream << "(" << info.trackId[itt-1] << ", " << info.pdgcode[itt] << ") ";
2106  stream << "]\n";
2107  //END of minerva additions
2108 #endif
2109 
2110  stream << "\nCurrent: pdg " << info.fgPdgC
2111  << " xywgt " << info.fgXYWgt
2112  << "\n p4 (beam): " << utils::print::P4AsShortString(&info.fgP4)
2113  << "\n x4 (beam): " << utils::print::X4AsString(&info.fgX4)
2114  << "\n p4 (user): " << utils::print::P4AsShortString(&info.fgP4User)
2115  << "\n x4 (user): " << utils::print::X4AsString(&info.fgX4User);
2116  ;
2117 #ifdef GNUMI_TEST_XY_WGT
2118  stream << "\n" << xypartials::GetStaticInstance();
2119 #endif
2120 
2121 
2122  /*
2123  //std::cout << "GNuMIFlux::PrintCurrent ....." << std::endl;
2124  //LOG("Flux", pINFO)
2125  LOG("Flux", pNOTICE)
2126  << "Current Leaf Values: "
2127  << " run " << fLf_run << " evtno " << fLf_evtno << "\n"
2128  << " NenergyN " << fLf_NenergyN << " NWtNear " << fLf_NWtNear
2129  << " NenergyF " << fLf_NenergyF << " NWtFar " << fLf_NWtFar << "\n"
2130  << " Norig " << fLf_Norig << " Ndecay " << fLf_Ndecay << " Ntype " << fLf_Ntype << "\n"
2131  << " Vxyz " << fLf_Vx << " " << fLf_Vy << " " << fLf_Vz
2132  << " pdPxyz " << fLf_pdPx << " " << fLf_pdPy << " " << fLf_pdPz << "\n"
2133  << " pp dxdz " << fLf_ppdxdz << " dydz " << fLf_ppdydz << " pz " << fLf_pppz << "\n"
2134  << " pp energy " << fLf_ppenergy << " medium " << fLf_ppmedium
2135  << " ptype " << fLf_ptype
2136  << " ppvxyz " << fLf_ppvx << " " << fLf_ppvy << " " << fLf_ppvz << "\n"
2137  << " muparpxyz " << fLf_muparpx << " " << fLf_muparpy << " " << fLf_muparpz
2138  << " mupare " << fLf_mupare << "\n"
2139  << ;
2140  */
2141 
2142  return stream;
2143  }
TLorentzVector fgP4
generated nu 4-momentum beam coord
Definition: GNuMIFlux.h:102
string P4AsShortString(const TLorentzVector *p)
Definition: PrintUtils.cxx:45
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:57

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

Definition at line 111 of file GNuMIFlux.h.

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

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::GNuMIFlux::Momentum(), and 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<<(), genie::flux::GNuMIFlux::PdgCode(), 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<<(), and genie::flux::GNuMIFlux::Position().

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

Definition at line 125 of file GNuMIFlux.h.

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

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

Definition at line 118 of file GNuMIFlux.h.

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

Double_t genie::flux::GNuMIFluxPassThroughInfo::nimpwt

Definition at line 147 of file GNuMIFlux.h.

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

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

Definition at line 119 of file GNuMIFlux.h.

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

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

Definition at line 137 of file GNuMIFlux.h.

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

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

Definition at line 110 of file GNuMIFlux.h.

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

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(), MakeCopy(), and ResetCopy().

Double_t genie::flux::GNuMIFluxPassThroughInfo::tpy

Definition at line 155 of file GNuMIFlux.h.

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

Double_t genie::flux::GNuMIFluxPassThroughInfo::tpz

Definition at line 156 of file GNuMIFlux.h.

Referenced by ConvertToGRooTracker(), 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

Definition at line 95 of file GNuMIFlux.h.

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

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: