Base utilities and modules for event generation and detector simulation. More...
Namespaces | |
gtruthaux | |
Classes | |
class | GTruth |
class | MCFlux |
struct | MCGeneratorInfo |
class | MCNeutrino |
Event generator information. More... | |
class | MCParticle |
class | MCTrajectory |
class | MCTruth |
Event generator information. More... | |
Typedefs | |
typedef enum simb::_ev_generator | Generator_t |
generator used to produce event, if applicable More... | |
typedef enum simb::_ev_origin | Origin_t |
event origin types More... | |
Enumerations | |
enum | flux_code_ { kHistPlusFocus = +1, kHistMinusFocus = -1, kGenerator = 0, kNtuple = 2, kSimple_Flux = 3, kDk2Nu = 4 } |
Which flux was used to generate this event? More... | |
enum | _ev_generator { kUnknown, _ev_generator::kGENIE, _ev_generator::kCRY, _ev_generator::kGIBUU, _ev_generator::kNuWro, _ev_generator::kMARLEY, _ev_generator::kNEUT, _ev_generator::kCORSIKA, _ev_generator::kGEANT, _ev_generator::kNumGenerators } |
generator used to produce event, if applicable More... | |
enum | curr_type_ { kCC, kNC } |
Neutrino interaction categories. More... | |
enum | int_type_ { kUnknownInteraction = -1, kQE = 0, kRes = 1, kDIS = 2, kCoh = 3, kCohElastic = 4, kElectronScattering = 5, kIMDAnnihilation = 6, kInverseBetaDecay = 7, kGlashowResonance = 8, kAMNuGamma = 9, kMEC = 10, kDiffractive = 11, kEM = 12, kWeakMix = 13, kNuanceOffset = 1000, kCCQE = kNuanceOffset + 1, kNCQE = kNuanceOffset + 2, kResCCNuProtonPiPlus = kNuanceOffset + 3, kResCCNuNeutronPi0 = kNuanceOffset + 4, kResCCNuNeutronPiPlus = kNuanceOffset + 5, kResNCNuProtonPi0 = kNuanceOffset + 6, kResNCNuProtonPiPlus = kNuanceOffset + 7, kResNCNuNeutronPi0 = kNuanceOffset + 8, kResNCNuNeutronPiMinus = kNuanceOffset + 9, kResCCNuBarNeutronPiMinus = kNuanceOffset + 10, kResCCNuBarProtonPi0 = kNuanceOffset + 11, kResCCNuBarProtonPiMinus = kNuanceOffset + 12, kResNCNuBarProtonPi0 = kNuanceOffset + 13, kResNCNuBarProtonPiPlus = kNuanceOffset + 14, kResNCNuBarNeutronPi0 = kNuanceOffset + 15, kResNCNuBarNeutronPiMinus = kNuanceOffset + 16, kResCCNuDeltaPlusPiPlus = kNuanceOffset + 17, kResCCNuDelta2PlusPiMinus = kNuanceOffset + 21, kResCCNuBarDelta0PiMinus = kNuanceOffset + 28, kResCCNuBarDeltaMinusPiPlus = kNuanceOffset + 32, kResCCNuProtonRhoPlus = kNuanceOffset + 39, kResCCNuNeutronRhoPlus = kNuanceOffset + 41, kResCCNuBarNeutronRhoMinus = kNuanceOffset + 46, kResCCNuBarNeutronRho0 = kNuanceOffset + 48, kResCCNuSigmaPlusKaonPlus = kNuanceOffset + 53, kResCCNuSigmaPlusKaon0 = kNuanceOffset + 55, kResCCNuBarSigmaMinusKaon0 = kNuanceOffset + 60, kResCCNuBarSigma0Kaon0 = kNuanceOffset + 62, kResCCNuProtonEta = kNuanceOffset + 67, kResCCNuBarNeutronEta = kNuanceOffset + 70, kResCCNuKaonPlusLambda0 = kNuanceOffset + 73, kResCCNuBarKaon0Lambda0 = kNuanceOffset + 76, kResCCNuProtonPiPlusPiMinus = kNuanceOffset + 79, kResCCNuProtonPi0Pi0 = kNuanceOffset + 80, kResCCNuBarNeutronPiPlusPiMinus = kNuanceOffset + 85, kResCCNuBarNeutronPi0Pi0 = kNuanceOffset + 86, kResCCNuBarProtonPi0Pi0 = kNuanceOffset + 90, kCCDIS = kNuanceOffset + 91, kNCDIS = kNuanceOffset + 92, kUnUsed1 = kNuanceOffset + 93, kUnUsed2 = kNuanceOffset + 94, kCCQEHyperon = kNuanceOffset + 95, kNCCOH = kNuanceOffset + 96, kCCCOH = kNuanceOffset + 97, kNuElectronElastic = kNuanceOffset + 98, kInverseMuDecay = kNuanceOffset + 99, kMEC2p2h = kNuanceOffset + 100 } |
Neutrino interaction categories. More... | |
enum | _ev_origin { kUnknown, kUnknown, kBeamNeutrino, kCosmicRay, kSuperNovaNeutrino, kSingleParticle } |
event origin types More... | |
Functions | |
std::ostream & | operator<< (std::ostream &output, const simb::GTruth >ruth) |
std::ostream & | operator<< (std::ostream &output, const simb::MCFlux &mcflux) |
std::ostream & | operator<< (std::ostream &output, const simb::MCNeutrino &mcnu) |
std::ostream & | operator<< (std::ostream &output, const MCParticle &particle) |
std::ostream & | operator<< (std::ostream &output, const MCTrajectory &list) |
std::ostream & | operator<< (std::ostream &o, simb::MCTruth const &a) |
Generated particle index | |
This type represents the position of a specific generated particle in the generator truth record, | |
using | GeneratedParticleIndex_t = std::size_t |
Type of particle index in the generator truth record (simb::MCTruth ). More... | |
constexpr GeneratedParticleIndex_t | NoGeneratedParticleIndex = std::numeric_limits<GeneratedParticleIndex_t>::max() |
Constant representing the absence of generator truth information. More... | |
bool | isGeneratedParticleIndex (GeneratedParticleIndex_t index) |
Returns whether the specified one is an acceptable generator index. More... | |
Base utilities and modules for event generation and detector simulation.
This class stores/retrieves the additional information needed (and not in MCTruth) to recreate a genie::EventRecord for genie based event reweighting.
This class describes a particle created in the detector Monte Carlo simulation.
This class describes the trajectory of a particle created in the Monte Carlo simulation. It generally behaves like a vector< pair<TLorentzVector,TLorentzVector> >, where the first TLorentzVector is the position and the seoond is the momentum, with the following additions: - Methods Position(int) and Momentum(int) for those who are unfamiliar with the concept of "first" and "second" as used with STL pairs: sim::Trajectory* trajectory = simb::MCParticle.Trajectory(); int numberOfPonts = trajectory->size(); for (int i=0; i<numberOfPoints; ++i) { TLorentzVector position = trajectory->Position(i); TLorentzVector momentum = trajectory->Momentum(i); } The STL equivalent to the above statements (more efficient): sim::Trajectory* trajectory = simb::MCParticle.Trajectory(); for ( sim::Trajectory::const_iterator i = trajectory->begin(); i != trajectory->end(); ++i ) { const TLorentzVector& position = (*i).first; const TLorentzVector& momentum = (*i).second; } - As above, but for each position or momentum component; e.g., trajectory->X(i). - In addition to push_back(pair< TLorentzVector, TLorentzVector>), there's also push_back(TLorentzVector,TLorentzVector) and Add(TLorentzVector,TLorentzVector). They all do the same thing: add another point to the trajectory. - Print() and operator<< methods for ROOT display and ease of debugging. There are no units defined in this class. If it's used with Geant4, the units will be (mm,ns,GeV), but this class does not enforce this.
using simb::GeneratedParticleIndex_t = typedef std::size_t |
Type of particle index in the generator truth record (simb::MCTruth
).
typedef enum simb::_ev_generator simb::Generator_t |
generator used to produce event, if applicable
typedef enum simb::_ev_origin simb::Origin_t |
event origin types
|
strong |
generator used to produce event, if applicable
Enumerator | |
---|---|
kUnknown | |
kGENIE | |
kCRY | |
kGIBUU | |
kNuWro | |
kMARLEY | |
kNEUT | |
kCORSIKA | |
kGEANT | |
kNumGenerators |
Definition at line 18 of file MCGeneratorInfo.h.
enum simb::_ev_origin |
enum simb::curr_type_ |
Neutrino interaction categories.
Enumerator | |
---|---|
kCC | |
kNC |
Definition at line 73 of file MCNeutrino.h.
enum simb::flux_code_ |
Which flux was used to generate this event?
Enumerator | |
---|---|
kHistPlusFocus |
Flux for positive horn focus. |
kHistMinusFocus |
Flux for negative horn focus. |
kGenerator |
A bogus flux assumed by the generator. |
kNtuple |
Full flux simulation ntuple. |
kSimple_Flux |
A simplified flux ntuple for quick running. |
kDk2Nu |
Unified ntuple flux format (replaces 2) |
Definition at line 17 of file MCFlux.h.
enum simb::int_type_ |
Neutrino interaction categories.
Definition at line 79 of file MCNeutrino.h.
|
inline |
std::ostream& simb::operator<< | ( | std::ostream & | output, |
const MCTrajectory & | list | ||
) |
Definition at line 67 of file MCTrajectory.cxx.
std::ostream& simb::operator<< | ( | std::ostream & | o, |
simb::MCTruth const & | a | ||
) |
Definition at line 70 of file MCTruth.cxx.
std::ostream& simb::operator<< | ( | std::ostream & | output, |
const simb::MCNeutrino & | mcnu | ||
) |
Definition at line 80 of file MCNeutrino.cxx.
std::ostream& simb::operator<< | ( | std::ostream & | output, |
const simb::GTruth & | gtruth | ||
) |
Definition at line 89 of file GTruth.cxx.
std::ostream& simb::operator<< | ( | std::ostream & | output, |
const MCParticle & | particle | ||
) |
Definition at line 151 of file MCParticle.cxx.
std::ostream& simb::operator<< | ( | std::ostream & | output, |
const simb::MCFlux & | mcflux | ||
) |
Definition at line 384 of file MCFlux.cxx.
constexpr GeneratedParticleIndex_t simb::NoGeneratedParticleIndex = std::numeric_limits<GeneratedParticleIndex_t>::max() |