Code to link reconstructed objects back to the MC truth information. More...
Namespaces | |
details | |
dump | |
Functions to dump Monte Carlo object information into a stream. | |
Classes | |
class | AuxDetHit |
class | AuxDetIDE |
MC truth information to make RawDigits and do back tracking. More... | |
class | AuxDetSimChannel |
Collection of particles crossing one auxiliary detector cell. More... | |
class | BeamGateInfo |
struct | Chan_Phot |
class | DumpGTruth |
class | DumpMCParticles |
class | DumpMCShowers |
class | DumpMCTracks |
class | DumpMCTruth |
class | DumpOpDetBacktrackerRecords |
class | DumpOpDetDivRecs |
class | DumpSimChannels |
class | DumpSimEnergyDeposits |
Prints the content of all the deposited energies on screen. More... | |
class | DumpSimPhotons |
class | DumpSimPhotonsLite |
class | GeneratedParticleInfo |
Contains information about a generated particle. More... | |
class | GenericCRT |
class | GenericCRTUtility |
struct | IDE |
Ionization at a point of the TPC sensitive volume. More... | |
class | LArG4Parameters |
class | LArVoxelCalculator |
class | LArVoxelData |
class | LArVoxelID |
class | LArVoxelList |
class | MCBaseException |
struct | MCEdep |
class | MCEdepHit |
class | MCEnDep |
class | MCHit |
class | MCHitCollection |
class | MCMiniPart |
class | MCRecoEdep |
class | MCRecoPart |
class | MCShower |
class | MCShowerRecoAlg |
class | MCShowerRecoPart |
class | MCStep |
class | MCTrack |
class | MCTrackCollectionAnaAlg |
class | MCTrackRecoAlg |
class | MCWire |
class | MCWireCollection |
class | MergeSimSources |
class | MergeSimSourcesUtility |
struct | OnePhoton |
All information of a photon entering the sensitive optical detector volume. More... | |
struct | OpDet_Time_Chans |
class | OpDetBacktrackerRecord |
Energy deposited on a readout Optical Detector by simulated tracks. More... | |
class | OpDetDivRec |
class | PhotonVoxel |
Representation of a single small volume (voxel). More... | |
class | PhotonVoxelDef |
Representation of a region of space diced into voxels. More... | |
class | POTaccumulator |
Prints on console the total Protons On Target from the input subruns. More... | |
class | ProtoDUNEBeamInstrument |
class | ProtoDUNEbeamsim |
class | ProtoDUNEBeamTPCMatching |
struct | SDP |
class | SimChannel |
Energy deposited on a readout channel by simulated tracks. More... | |
class | SimDriftedElectronCluster |
class | SimEnergyDeposit |
Energy deposition in the active material. More... | |
class | SimListUtils |
class | SimPhotons |
Collection of photons which recorded on one channel. More... | |
class | SimPhotonsCollection |
Collection of sim::SimPhotons , indexed by channel number. More... | |
class | SimPhotonsLite |
Compact representation of photons on a channel. More... | |
class | SupernovaTruth |
struct | TrackIDE |
Ionization energy from a Geant4 track. More... | |
struct | TrackSDP |
Ionization photons from a Geant4 track. More... | |
class | UniquePosition |
Typedefs | |
typedef std::vector< AuxDetHit > | AuxDetHitCollection |
typedef std::vector< AuxDetSimChannel > | AuxDetSimChannelCollection |
typedef std::pair< double, std::vector< sim::SDP > > | timePDclockSDP_t |
List of energy deposits at the same time (on this Optical Detector) More... | |
typedef std::pair< unsigned short, std::vector< sim::IDE > > | TDCIDE |
List of energy deposits at the same time (on this channel) More... | |
typedef std::vector< SimEnergyDeposit > | SimEnergyDepositCollection |
Enumerations | |
enum | BeamType_t { kUnknown =0, kBNB, kNuMI, kBeamTypeMax } |
Defines category of beams to be stored in sim::BeamGateInfo. More... | |
enum | SupernovaSamplingMode_t { kUnknownSupernovaSamplingMode = 0, kUnbiased, kUniformTime, kUniformEnergy, kSupernovaSamplingModeMax } |
Functions | |
bool | operator< (const BeamGateInfo &lhs, const BeamGateInfo &rhs) |
unsigned int | GetRandomNumberSeed () |
bool | operator< (OnePhoton const &, OnePhoton const &) |
a is smaller than b if has earlier Time , or lower MotherTrackID . More... | |
const LArVoxelData | operator* (const double &value, const LArVoxelData &data) |
std::ostream & | operator<< (std::ostream &output, const LArVoxelData &data) |
std::ostream & | operator<< (std::ostream &output, const LArVoxelID &id) |
const LArVoxelList | operator* (const double &value, const LArVoxelList &list) |
std::ostream & | operator<< (std::ostream &output, const LArVoxelList &list) |
std::ostream & | operator<< (std::ostream &out, sim::PhotonVoxelDef const &voxelDef) |
Prints the content of the specified voxel definition into a stream. More... | |
Function to name `simb::MCParticle` enumerators and codes. | |
std::string | ParticleName (int pigid) |
Returns a string with the name of particle the specified with PDG ID. More... | |
std::string | ParticleStatusName (int code) |
Describes the status of a particle (simb::MCParticle::StatusCode() ). More... | |
Variables | |
const double | kINVALID_DOUBLE = std::numeric_limits <double>::max() |
const float | kINVALID_FLOAT = std::numeric_limits <float>::max() |
const unsigned int | kINVALID_UINT = std::numeric_limits <unsigned int>::max() |
const int | kINVALID_INT = std::numeric_limits <int>::max() |
static const int | NoParticleId = std::numeric_limits<int>::min() |
Functions to name `simb::MCTruth` enumerators and codes. | |
enum | RescatterCategory { RescatterCategory::GENIE_INukeFateHA, RescatterCategory::LArSoftDefault = GENIE_INukeFateHA } |
Possible sources of rescattering code (which is generator-dependent). More... | |
std::string | TruthOriginName (simb::Origin_t origin) |
Returns a string representing the specified process origin. More... | |
std::string | TruthCCNCname (int ccnc) |
std::string | TruthReactionMode (int mode) |
Returns the "mode" of the reaction (a lesser version of interaction type). More... | |
std::string | TruthInteractionTypeName (int type) |
std::string | RescatteringName (int code, RescatterCategory cat=RescatterCategory::LArSoftDefault) |
The name of the specified rescattering code. More... | |
std::string | GENIE_INukeFateHA_RescatteringName (int code) |
Description of a rescattering code from GENIE INukeFateHA_t . More... | |
Code to link reconstructed objects back to the MC truth information.
Monte Carlo Simulation.
Title: GenericCRT Utility Class Author: Andrzej Szelc (andrz) ejs@ fnal. gov
Description: Class with Algorithms to convert sim::AuxDetHits to sim::AuxDetSimChannels
Title: MergeSimSources Utility Class Author: Wes Ketchum (wketc) hum@ lanl. gov
Description: Class that merges different simulation sources together to created a combined sim list. Typically just merges vectors/maps/etc together. But, if anything as a G4 trackID, applies a user-defined offset to those IDs.
This class encapsulates the calculations associated with computing the LArVoxelID, and provides access to the any LArVoxel parameters from the input file(s). It is to be called using art::ServiceHandle<sim::LArVoxelCalculator const> lvx; The service makes it act like a singleton, but it knows about the Parameters defined in the input file. Definition: "Voxels" are three-dimensional "pixels"; basically they divide the energy deposition in the LAr into (x,y,z) cubes. Well, hyper-cubes actually, since we have to potentially include divisions in time as well.
This service encapsulates the calculations associated with computing the LArVoxelID, and provides access to the any LArVoxel parameters from the input file(s). Definition: "Voxels" are three-dimensional "pixels"; basically they divide the energy deposition in the LAr into (x,y,z) cubes. Well, hyper-cubes actually, since we have to potentially include divisions in time as well.
LArVoxelList associates a voxel ID with voxel data. LArVoxelID describes the ID (position); this class describes the data.
In particular, this class stores the association between particle tracks and the energy deposited within a voxel.
The key item of information stored for a voxel is the energy. Another, less important item is the association of a particular particle track to an amount of energy stored in the voxel. If all you want is the energy in a voxel, use LArVoxelData::Energy() and ignore the rest of this discussion. If you want to understand the source of that energy, you have to dig deeper:
LArVoxelData::Energy[trackID] returns the amount of energy deposited by the particle with the given track ID (note the use of square brackets).
LArVoxelData::NumberParticles() returns the number of individual particles whose energy deposits are recorded for this voxel.
LArVoxelData::Energy(i) returns the amount of energy deposited by the "i-th" particle (note the use of parenthesis).
LArVoxelData::TrackID(i) returns the track ID of the "i-th" particle.
LArVoxelData::UnassignedEnergy() returns the amount of energy in the voxel that's not assigned to any particle. There might be "unassigned" energy for one of two reasons:
1) In the Monte Carlo, particles can be cut from the ParticleList because they fall below the energy cut. If that happens, the particle is also removed from the LArVoxelData lists, and its energy placed in "unassigned" energy.
For example, a voxel might contain the sum of many low-energy electrons. It may be that none of the individual electron tracks would be written to the output, but their sum might be enough for the voxel to be written to the output file.
2) If any form of "voxel arithmetic" is performed (e.g,. adding two LArVoxelLists together), it becomes too difficult to maintain the particle<->energy relationship because the track IDs change. In that case, all the voxel energies are moved to "unassigned" energy.
LArVoxelData::AssignedEnergy() returns, in effect, Energy() - UnassignedEnergy()
This class defines a unique identifier for a given volume element ("voxel") in the LAr volume. It is sortable, can be tested for equality, and is persistent under ROOT I/O. (Actually, the term "voxel" is a mis-nomer, since we're also keeping track of the time slice. What's a four-dimensional volume element? A "tesseract element or "tessel"?)
A container for LAr voxel information. Although there's nothing in the class below that assumes units, the standard for LArSoft is that distances are in cm, and energy is in GeV.
It acts like a map<LArVoxelID,LArVoxelData>, but with additional features:
this class is designed to hold methods that access the event handle to make the various simulation lists, ie ParticleList, LArVoxelList, etc
typedef std::vector<AuxDetHit> sim::AuxDetHitCollection |
Definition at line 183 of file AuxDetHit.h.
Definition at line 104 of file AuxDetSimChannel.h.
Definition at line 230 of file SimEnergyDeposit.h.
typedef std::pair<unsigned short, std::vector<sim::IDE> > sim::TDCIDE |
List of energy deposits at the same time (on this channel)
Definition at line 122 of file SimChannel.h.
typedef std::pair< double, std::vector<sim::SDP> > sim::timePDclockSDP_t |
List of energy deposits at the same time (on this Optical Detector)
Definition at line 104 of file OpDetBacktrackerRecord.h.
enum sim::BeamType_t |
Defines category of beams to be stored in sim::BeamGateInfo.
Enumerator | |
---|---|
kUnknown |
Unknown beam type. |
kBNB |
BNB. |
kNuMI |
NuMI. |
kBeamTypeMax |
Max value of enum for iteration. |
Definition at line 9 of file BeamTypes.h.
|
strong |
Possible sources of rescattering code (which is generator-dependent).
Enumerator | |
---|---|
GENIE_INukeFateHA |
GENIE |
LArSoftDefault |
Definition at line 39 of file MCDumperUtils.h.
Definition at line 14 of file SupernovaTruth.h.
std::string sim::GENIE_INukeFateHA_RescatteringName | ( | int | code | ) |
Description of a rescattering code from GENIE INukeFateHA_t
.
Definition at line 181 of file MCDumperUtils.cxx.
const LArVoxelList sim::operator* | ( | const double & | value, |
const LArVoxelList & | list | ||
) |
Just in case: define the result of "scalar * LArVoxelList" to be the same as "LArVoxelList * scalar".
Definition at line 45 of file LArVoxelList.cxx.
const LArVoxelData sim::operator* | ( | const double & | value, |
const LArVoxelData & | data | ||
) |
Just in case: define the result of "scalar * LArVoxelData" to be the same as "LArVoxelData * scalar".
Definition at line 71 of file LArVoxelData.cxx.
bool sim::operator< | ( | const BeamGateInfo & | lhs, |
const BeamGateInfo & | rhs | ||
) |
Definition at line 45 of file BeamGateInfo.h.
a
is smaller than b
if has earlier Time
, or lower MotherTrackID
.
Definition at line 235 of file SimPhotons.h.
std::ostream& sim::operator<< | ( | std::ostream & | output, |
const LArVoxelData & | data | ||
) |
Definition at line 77 of file LArVoxelData.cxx.
std::ostream& sim::operator<< | ( | std::ostream & | output, |
const LArVoxelList & | list | ||
) |
Definition at line 91 of file LArVoxelList.cxx.
std::ostream& sim::operator<< | ( | std::ostream & | output, |
const LArVoxelID & | id | ||
) |
Put the contents on the output stream. We have a choice: write the bin number, or write the position represented by the bins. For now, let's pick writing the positions.
Definition at line 121 of file LArVoxelID.cxx.
std::ostream & sim::operator<< | ( | std::ostream & | out, |
sim::PhotonVoxelDef const & | voxelDef | ||
) |
Prints the content of the specified voxel definition into a stream.
Definition at line 233 of file PhotonVoxels.cxx.
std::string sim::ParticleName | ( | int | pigid | ) |
Returns a string with the name of particle the specified with PDG ID.
Definition at line 147 of file MCDumperUtils.cxx.
std::string sim::ParticleStatusName | ( | int | code | ) |
Describes the status of a particle (simb::MCParticle::StatusCode()
).
Definition at line 126 of file MCDumperUtils.cxx.
std::string sim::RescatteringName | ( | int | code, |
RescatterCategory | cat = RescatterCategory::LArSoftDefault |
||
) |
The name of the specified rescattering code.
code | the rescattering code |
type | the category of rescattering code belongs to |
The meaning of the rescattering code is generator-dependent, and also within a generator it may be algorithm-dependent. The category pins down which set of possible meaning the code
belongs to. In LArSoft, if the code is unassigned by the generator, it will default to simb::MCParticle::s_uninitialized
.
Definition at line 163 of file MCDumperUtils.cxx.
std::string sim::TruthCCNCname | ( | int | ccnc | ) |
Returns a string representing the specified process from simb::MCTruth
(CC or NC, nothing fancy).
Definition at line 32 of file MCDumperUtils.cxx.
std::string sim::TruthInteractionTypeName | ( | int | type | ) |
Returns a string representing the specified interaction type as in simb::MCTruth
convention.
Definition at line 56 of file MCDumperUtils.cxx.
std::string sim::TruthOriginName | ( | simb::Origin_t | origin | ) |
Returns a string representing the specified process origin.
Definition at line 19 of file MCDumperUtils.cxx.
std::string sim::TruthReactionMode | ( | int | mode | ) |
Returns the "mode" of the reaction (a lesser version of interaction type).
Definition at line 42 of file MCDumperUtils.cxx.
const double sim::kINVALID_DOUBLE = std::numeric_limits <double>::max() |
Definition at line 10 of file MCLimits.h.
const float sim::kINVALID_FLOAT = std::numeric_limits <float>::max() |
Definition at line 12 of file MCLimits.h.
const int sim::kINVALID_INT = std::numeric_limits <int>::max() |
Definition at line 16 of file MCLimits.h.
const unsigned int sim::kINVALID_UINT = std::numeric_limits <unsigned int>::max() |
Definition at line 14 of file MCLimits.h.