1 #ifndef EVGB_GENIEHELPER_H 9 #define EVGB_GENIEHELPER_H 48 namespace genie {
class EventRecord; }
59 TGeoManager* rootGeom,
60 std::string
const& rootFile,
61 double const& detectorMass);
70 double TotalHistFlux();
76 std::string
FluxType()
const {
return fFluxType; }
82 double TotalMass()
const {
return fDetectorMass+fSurroundingMass; }
92 {
return ( (base) ? fFluxD : fFluxD2GMCJD ); }
100 void RegularizeFluxType();
101 void SqueezeFilePatterns();
102 void AtmoFluxCheck();
103 void HistogramFluxCheck();
105 void InitializeGeometry();
106 void InitializeFiducialSelection();
107 void InitializeRockBoxSelection();
108 void InitializeFluxDriver();
109 void ConfigGeomScan();
110 void SetMaxPathOutInfo();
112 void BuildFluxRotation();
113 void ExpandFluxPaths();
114 void ExpandFluxFilePatternsDirect();
115 void ExpandFluxFilePatternsIFDH();
116 bool StringToBool(std::string v);
119 void SetGMSGLAYOUT();
120 void StartGENIEMessenger(std::string prodmode);
121 void ReadXSecTable();
179 double fGlobalTimeOffset;
191 double fAtmoSpectralIndex;
211 #endif //EVGB_GENIEHELPER_H genie::GFluxI * GetFluxDriver(bool base=true)
std::vector< std::string > fFluxFilePatterns
wildcard patterns files containing histograms or ntuples, or txt
std::string FluxType() const
bool fUseHelperRndGen4GENIE
use fHelperRandom for gRandom during Sample()
std::string fDetLocation
name of flux window location
double fAtmoEmax
atmo: Maximum energy of neutrinos in GeV
int fMaxFluxFileNumber
maximum # of flux files
double fMixerBaseline
baseline distance if genie flux can't calculate it
std::string fTuneName
GENIE R-3 Tune name (defines model configuration)
IFDH interface (data handling) ... if using bare interface.
GENIE neutrino interaction simulation objects.
double fTotalHistFlux
total flux of neutrinos from flux histograms for used flavors
ifdh_ns::ifdh * fIFDH
(optional) flux file handling
std::string fGXMLPATH
locations for GENIE XML files
std::string fFiducialCut
configuration for geometry selector
std::string DetectorLocation() const
genie::EventRecord * GetGenieEventRecord()
double fRandomTimeOffset
additional random time shift (ns) added to every particle time
TVector3 fBeamCenter
center of beam for histogram fluxes - must be in meters
std::string fSpillTimeConfig
alternative to flat spill distribution
std::string fEventGeneratorList
control over event topologies, was $GEVGL [Default]
TGeoManager * fGeoManager
pointer to ROOT TGeoManager
std::string fGENIEMsgThresholds
additional XML file setting Messager level thresholds (":" separated)
std::vector< int > fGenFlavors
pdg codes for flavors to generate
evgb::EvtTimeShiftI * fTimeShifter
generator for time offset within a spill
genie::GMCJDriver * fDriver
double fXSecMassPOT
product of cross section, mass and POT/spill for histogram fluxes
std::vector< std::string > fSelectedFluxFiles
flux files selected after wildcard expansion and subset selection
genie::EventRecord * fGenieEventRecord
last generated event
std::string fXSecTable
cross section file (was $GSPLOAD)
double fFluxUpstreamZ
z where flux starts from (if non-default, simple/ntuple only)
std::vector< TH1D * > fFluxHistograms
histograms for each nu species
interface for event time distribution
double SpillExposure() const
int fGHepPrintLevel
GHepRecord::SetPrintLevel(), -1=no-print.
std::string fFluxRotCfg
how to interpret fFluxRotValues
TVector3 fBeamDirection
direction of the beam for histogram fluxes
std::string fBeamName
name of the beam we are simulating
std::string fWorldVolume
name of the world volume in the ROOT geometry
bool fForceApplyFlxWgt
apply GFluxI::Weight() before returning event
double fTotalExposure
pot used from flux ntuple
TRandom3 * fHelperRandom
random # generator for GENIEHelper
std::string fTopVolume
top volume in the ROOT geometry in which to generate events
std::string GetEventGeneratorList() const
bool fUseBlenderDist
get neutrino's travel distance from blender (default: true)
std::vector< TH1D * > FluxHistograms() const
genie::GeomAnalyzerI * fGeomD
std::string fFluxSearchPaths
colon separated set of path stems
std::string fGMSGLAYOUT
format for GENIE log message [BASIC]|SIMPLE (SIMPLE=no timestamps)
double fBeamRadius
radius of cylindar for histogram fluxes - must be in meters
std::string fMixerConfig
configuration string for genie GFlavorMixerI
genie::GFluxI * fFluxD
real flux driver
bool fAddGenieVtxTime
incorporate time from flux window to interaction point and (possibily) proton-on-target to flux windo...
double fMonoEnergy
energy of monoenergetic neutrinos
double fDetectorMass
mass of the detector in kg
std::vector< double > fFluxRotValues
parameters for rotation
TRandom3 * GetHelperRandom()
std::vector< std::string > fEnvironment
environmental variables and settings used by genie
double TotalExposure() const
std::string fMaxPathOutInfo
output info if writing PathLengthList from GeomScan
double fSpillExposure
total exposure (i.e. pot) for this spill
double fAtmoEmin
atmo: Minimum energy of neutrinos in GeV
std::string fGeoFile
name of file containing the Geometry description
double fAtmoRl
atmo: radius of the sphere on where the neutrinos are generated
std::string GetTuneName() const
unsigned int fDebugFlags
set bits to enable debug info
Physics generators for neutrinos, cosmic rays, and others.
std::string fFluxCopyMethod
"DIRECT" = old direct access method, otherwise = ifdh approach schema ("" okay)
std::string fFluxCleanup
"ALWAYS", "/var/tmp", "NEVER"
Event generator information.
double fHistEventsPerSpill
number of events per spill for histogram fluxes - changes each spill
TRotation * fFluxRotation
rotation for atmos / astro flux coord systems
std::string fGeomScan
configuration for geometry scan to determine max pathlengths
int fSpillEvents
total events for this spill
genie::GFluxI * fFluxD2GMCJD
flux driver passed to genie GMCJDriver, might be GFluxBlender
std::string fFunctionalFlux
int fMaxFluxFileMB
maximum size of flux files (MB)