LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
module to produce single or multiple specified particles in the detector More...
Public Types | |
using | ModuleType = EDProducer |
template<typename UserConfig , typename KeysToIgnore = void> | |
using | Table = Modifier::Table< UserConfig, KeysToIgnore > |
Public Member Functions | |
MUSUN (fhicl::ParameterSet const &pset) | |
void | produce (art::Event &evt) |
void | beginJob () |
void | beginRun (art::Run &run) |
void | endRun (art::Run &run) |
void | doBeginJob (SharedResources const &resources) |
void | doEndJob () |
void | doRespondToOpenInputFile (FileBlock const &fb) |
void | doRespondToCloseInputFile (FileBlock const &fb) |
void | doRespondToOpenOutputFiles (FileBlock const &fb) |
void | doRespondToCloseOutputFiles (FileBlock const &fb) |
bool | doBeginRun (RunPrincipal &rp, ModuleContext const &mc) |
bool | doEndRun (RunPrincipal &rp, ModuleContext const &mc) |
bool | doBeginSubRun (SubRunPrincipal &srp, ModuleContext const &mc) |
bool | doEndSubRun (SubRunPrincipal &srp, ModuleContext const &mc) |
bool | doEvent (EventPrincipal &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed) |
void | fillProductDescriptions () |
void | registerProducts (ProductDescriptions &productsToRegister) |
ModuleDescription const & | moduleDescription () const |
void | setModuleDescription (ModuleDescription const &) |
std::array< std::vector< ProductInfo >, NumBranchTypes > const & | getConsumables () const |
void | sortConsumables (std::string const ¤t_process_name) |
std::unique_ptr< Worker > | makeWorker (WorkerParams const &wp) |
template<typename T , BranchType BT> | |
ViewToken< T > | consumesView (InputTag const &tag) |
template<typename T , BranchType BT> | |
ViewToken< T > | mayConsumeView (InputTag const &tag) |
Protected Member Functions | |
ConsumesCollector & | consumesCollector () |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | consumes (InputTag const &) |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | consumesView (InputTag const &) |
template<typename T , BranchType = InEvent> | |
void | consumesMany () |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | mayConsume (InputTag const &) |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | mayConsumeView (InputTag const &) |
template<typename T , BranchType = InEvent> | |
void | mayConsumeMany () |
Private Member Functions | |
void | SampleOne (unsigned int i, simb::MCTruth &mct, CLHEP::HepRandomEngine &engine) |
void | initialization (double theta1, double theta2, double phi1, double phi2, int figflag, double s_hor, double s_ver1, double s_ver2, double &FI) |
void | sampling (double &E, double &theta, double &phi, double &dep, CLHEP::HepRandomEngine &engine) |
Private Attributes | |
CLHEP::HepRandomEngine & | fEngine |
art-managed random-number engine More... | |
int | fPDG |
PDG code of particles to generate. More... | |
double | fChargeRatio |
Charge ratio of particle / anti-particle. More... | |
std::string | fInputDir |
Input Directory. More... | |
std::string | fInputFile1 |
Input File 1. More... | |
std::string | fInputFile2 |
Input File 2. More... | |
std::string | fInputFile3 |
Input File 3. More... | |
double | fCavernAngle |
Angle of the detector from the North to the East. More... | |
double | fRockDensity |
double | fEmin |
Minimum Kinetic Energy (GeV) More... | |
double | fEmax |
Maximum Kinetic Energy (GeV) More... | |
double | fThetamin |
Minimum theta. More... | |
double | fThetamax |
Maximum theta. More... | |
double | fPhimin |
Minimum phi. More... | |
double | fPhimax |
Maximum phi. More... | |
int | figflag |
If want sampled from sphere or parallelepiped. More... | |
double | fXmin |
Minimum X position. More... | |
double | fYmin |
Minimum Y position. More... | |
double | fZmin |
Minimum Z position. More... | |
double | fXmax |
Maximum X position. More... | |
double | fYmax |
Maximum Y position. More... | |
double | fZmax |
Maximum Z position. More... | |
double | fDetRotX |
How much the detector should be rotated around X axis (rotates the coordinate system clockwise)) More... | |
double | fDetRotY |
How much the detector should be rotated around Y axis (rotates the coordinate system clockwise)) More... | |
double | fDetRotZ |
How much the detector should be rotated around Z axis (rotates the coordinate system clockwise)) More... | |
double | fT0 |
Central t position (ns) in world coordinates. More... | |
double | fSigmaT |
Variation in t position (ns) More... | |
int | fTDist |
How to distribute t (gaus, or uniform) More... | |
int | PdgCode |
double | Energy |
double | phi |
double | theta |
double | dep |
double | Time |
double | Momentum |
double | px0 |
double | py0 |
double | pz0 |
double | x0 |
double | y0 |
double | z0 |
double | cx |
double | cy |
double | cz |
double | FI = 0. |
double | s_hor = 0. |
double | s_ver1 = 0. |
double | s_ver2 = 0. |
double | spmu [121][62][51] |
double | fnmu [32401] |
double | depth [360][91] |
double | fmu [360][91] |
double | the1 |
double | the2 |
double | ph1 |
double | ph2 |
double | se = 0. |
double | st = 0. |
double | sp = 0. |
double | sd = 0. |
unsigned int | NEvents = 0 |
TTree * | fTree |
Static Private Attributes | |
static const int | kGAUS = 1 |
module to produce single or multiple specified particles in the detector
Definition at line 191 of file MUSUN_module.cc.
|
inherited |
Definition at line 17 of file EDProducer.h.
|
inherited |
Definition at line 26 of file Producer.h.
|
explicit |
Definition at line 332 of file MUSUN_module.cc.
References art::detail::EngineCreator::createEngine(), fCavernAngle, fChargeRatio, fDetRotX, fDetRotY, fDetRotZ, fEmax, fEmin, fEngine, figflag, fInputDir, fInputFile1, fInputFile2, fInputFile3, fPDG, fPhimax, fPhimin, fRockDensity, fSigmaT, fT0, fTDist, fThetamax, fThetamin, fXmax, fXmin, fYmax, fYmin, fZmax, and fZmin.
|
virtual |
Reimplemented from art::EDProducer.
Definition at line 374 of file MUSUN_module.cc.
References cx, cy, cz, dep, Energy, fDetRotX, fDetRotY, fDetRotZ, fTree, MF_LOG_WARNING, PdgCode, phi, theta, Time, x0, y0, and z0.
|
virtual |
Reimplemented from art::EDProducer.
Definition at line 435 of file MUSUN_module.cc.
References geo::GeometryCore::DetectorName(), fEmax, fEmin, FI, figflag, fPhimax, fPhimin, fRockDensity, fThetamax, fThetamin, art::fullRun(), fXmax, fXmin, fYmax, fYmin, fZmax, fZmin, initialization(), art::Run::put(), s_hor, s_ver1, and s_ver2.
|
protectedinherited |
Definition at line 61 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::consumes().
|
protectedinherited |
|
protectedinherited |
Definition at line 75 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::consumesMany().
|
protectedinherited |
|
inherited |
Definition at line 68 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::consumesView().
|
inherited |
Definition at line 22 of file Producer.cc.
References art::detail::Producer::beginJobWithFrame(), and art::detail::Producer::setupQueues().
|
inherited |
Definition at line 65 of file Producer.cc.
References art::detail::Producer::beginRunWithFrame(), art::RangeSet::forRun(), art::RunPrincipal::makeRun(), r, art::RunPrincipal::runID(), and art::ModuleContext::scheduleID().
|
inherited |
Definition at line 85 of file Producer.cc.
References art::detail::Producer::beginSubRunWithFrame(), art::RangeSet::forSubRun(), art::SubRunPrincipal::makeSubRun(), art::ModuleContext::scheduleID(), and art::SubRunPrincipal::subRunID().
|
inherited |
Definition at line 30 of file Producer.cc.
References art::detail::Producer::endJobWithFrame().
|
inherited |
Definition at line 75 of file Producer.cc.
References art::detail::Producer::endRunWithFrame(), art::RunPrincipal::makeRun(), r, art::ModuleContext::scheduleID(), and art::Principal::seenRanges().
|
inherited |
Definition at line 95 of file Producer.cc.
References art::detail::Producer::endSubRunWithFrame(), art::SubRunPrincipal::makeSubRun(), art::ModuleContext::scheduleID(), and art::Principal::seenRanges().
|
inherited |
Definition at line 105 of file Producer.cc.
References art::detail::Producer::checkPutProducts_, e, art::EventPrincipal::makeEvent(), art::detail::Producer::produceWithFrame(), and art::ModuleContext::scheduleID().
|
inherited |
Definition at line 44 of file Producer.cc.
References art::detail::Producer::respondToCloseInputFileWithFrame().
|
inherited |
Definition at line 58 of file Producer.cc.
References art::detail::Producer::respondToCloseOutputFilesWithFrame().
|
inherited |
Definition at line 37 of file Producer.cc.
References art::detail::Producer::respondToOpenInputFileWithFrame().
|
inherited |
Definition at line 51 of file Producer.cc.
References art::detail::Producer::respondToOpenOutputFilesWithFrame().
|
virtual |
Reimplemented from art::EDProducer.
Definition at line 520 of file MUSUN_module.cc.
References NEvents, sd, se, sp, and st.
|
inherited |
Definition at line 10 of file Modifier.cc.
References art::ProductRegistryHelper::fillDescriptions(), and art::ModuleBase::moduleDescription().
|
inherited |
Definition at line 43 of file ModuleBase.cc.
References art::ModuleBase::collector_, and art::ConsumesCollector::getConsumables().
|
private |
Definition at line 708 of file MUSUN_module.cc.
References depth, e, fCavernAngle, fInputDir, fInputFile1, fInputFile2, fInputFile3, fmu, fnmu, in, ph1, ph2, phi, sc, spmu, the1, the2, and theta.
Referenced by beginRun().
|
inherited |
Definition at line 37 of file ModuleBase.cc.
References art::ModuleBase::doMakeWorker(), and art::NumBranchTypes.
|
protectedinherited |
Definition at line 82 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsume().
|
protectedinherited |
Definition at line 96 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeMany().
|
protectedinherited |
|
inherited |
Definition at line 89 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeView().
|
inherited |
Definition at line 13 of file ModuleBase.cc.
References art::errors::LogicError.
Referenced by art::OutputModule::doRespondToOpenInputFile(), art::OutputModule::doWriteEvent(), art::Modifier::fillProductDescriptions(), art::OutputModule::makePlugins_(), art::OutputWorker::OutputWorker(), reco::shower::LArPandoraModularShowerCreation::produce(), art::Modifier::registerProducts(), and art::OutputModule::registerProducts().
|
virtual |
unique_ptr allows ownership to be transferred to the art::Event after the put statement
Implements art::EDProducer.
Definition at line 531 of file MUSUN_module.cc.
References fEngine, simb::kSingleParticle, MF_LOG_DEBUG, NEvents, art::Event::put(), SampleOne(), and simb::MCTruth::SetOrigin().
|
inherited |
Definition at line 16 of file Modifier.cc.
References art::ModuleBase::moduleDescription(), and art::ProductRegistryHelper::registerProducts().
|
private |
Definition at line 554 of file MUSUN_module.cc.
References simb::MCTruth::Add(), simb::MCParticle::AddTrajectoryPoint(), cx, cy, cz, dep, Energy, fCavernAngle, fChargeRatio, fDetRotX, fDetRotY, fDetRotZ, fPDG, fSigmaT, fT0, fTDist, fTree, fXmax, fXmin, fYmax, fYmin, fZmax, fZmin, kGAUS, Momentum, part, PdgCode, phi, px0, py0, pz0, s_hor, s_ver1, s_ver2, sampling(), sd, se, sp, st, theta, Time, x0, y0, and z0.
Referenced by produce().
|
private |
Definition at line 926 of file MUSUN_module.cc.
References DEFINE_ART_MODULE, depth, fnmu, fRockDensity, ph1, spmu, and the1.
Referenced by SampleOne().
|
inherited |
|
inherited |
Definition at line 49 of file ModuleBase.cc.
References art::ModuleBase::collector_, and art::ConsumesCollector::sortConsumables().
|
private |
Definition at line 289 of file MUSUN_module.cc.
Referenced by beginJob(), and SampleOne().
|
private |
Definition at line 289 of file MUSUN_module.cc.
Referenced by beginJob(), and SampleOne().
|
private |
Definition at line 289 of file MUSUN_module.cc.
Referenced by beginJob(), and SampleOne().
|
private |
Definition at line 287 of file MUSUN_module.cc.
Referenced by beginJob(), and SampleOne().
|
private |
Definition at line 299 of file MUSUN_module.cc.
Referenced by initialization(), and sampling().
|
private |
Definition at line 287 of file MUSUN_module.cc.
Referenced by beginJob(), and SampleOne().
|
private |
Angle of the detector from the North to the East.
Definition at line 233 of file MUSUN_module.cc.
Referenced by initialization(), MUSUN(), and SampleOne().
|
private |
Charge ratio of particle / anti-particle.
Definition at line 226 of file MUSUN_module.cc.
Referenced by MUSUN(), and SampleOne().
|
private |
How much the detector should be rotated around X axis (rotates the coordinate system clockwise))
Rotation of the detector w.r.t. DUNE HD FD nominal coordinate system - Z: beam direction; Y: vertical; X: drift; right-handed Rotation performed in the order - first around X, then around new Y, and then around new Z
Definition at line 258 of file MUSUN_module.cc.
Referenced by beginJob(), MUSUN(), and SampleOne().
|
private |
How much the detector should be rotated around Y axis (rotates the coordinate system clockwise))
Definition at line 260 of file MUSUN_module.cc.
Referenced by beginJob(), MUSUN(), and SampleOne().
|
private |
How much the detector should be rotated around Z axis (rotates the coordinate system clockwise))
Definition at line 262 of file MUSUN_module.cc.
Referenced by beginJob(), MUSUN(), and SampleOne().
|
private |
Maximum Kinetic Energy (GeV)
Definition at line 240 of file MUSUN_module.cc.
Referenced by beginRun(), and MUSUN().
|
private |
Minimum Kinetic Energy (GeV)
Definition at line 239 of file MUSUN_module.cc.
Referenced by beginRun(), and MUSUN().
|
private |
art-managed random-number engine
Definition at line 223 of file MUSUN_module.cc.
|
private |
Definition at line 292 of file MUSUN_module.cc.
Referenced by beginRun().
|
private |
If want sampled from sphere or parallelepiped.
Definition at line 247 of file MUSUN_module.cc.
Referenced by beginRun(), and MUSUN().
|
private |
Input Directory.
Definition at line 228 of file MUSUN_module.cc.
Referenced by initialization(), and MUSUN().
|
private |
Input File 1.
Definition at line 229 of file MUSUN_module.cc.
Referenced by initialization(), and MUSUN().
|
private |
Input File 2.
Definition at line 230 of file MUSUN_module.cc.
Referenced by initialization(), and MUSUN().
|
private |
Input File 3.
Definition at line 231 of file MUSUN_module.cc.
Referenced by initialization(), and MUSUN().
|
private |
Definition at line 300 of file MUSUN_module.cc.
Referenced by initialization().
|
private |
Definition at line 298 of file MUSUN_module.cc.
Referenced by initialization(), and sampling().
|
private |
PDG code of particles to generate.
Definition at line 225 of file MUSUN_module.cc.
Referenced by MUSUN(), and SampleOne().
|
private |
|
private |
|
private |
Default rock density is 2.70 g cm-3. If this is changed then the three input files need to be remade. If there is a desire for this contact Vitaly Kudryavtsev at V.Kud ryav tsev@ shef .ac.u k
Definition at line 234 of file MUSUN_module.cc.
Referenced by beginRun(), MUSUN(), and sampling().
|
private |
Variation in t position (ns)
Definition at line 265 of file MUSUN_module.cc.
Referenced by MUSUN(), and SampleOne().
|
private |
Central t position (ns) in world coordinates.
Definition at line 264 of file MUSUN_module.cc.
Referenced by MUSUN(), and SampleOne().
|
private |
How to distribute t (gaus, or uniform)
Definition at line 266 of file MUSUN_module.cc.
Referenced by MUSUN(), and SampleOne().
|
private |
Maximum theta.
Definition at line 243 of file MUSUN_module.cc.
Referenced by beginRun(), and MUSUN().
|
private |
Minimum theta.
Definition at line 242 of file MUSUN_module.cc.
Referenced by beginRun(), and MUSUN().
|
private |
Definition at line 312 of file MUSUN_module.cc.
Referenced by beginJob(), and SampleOne().
|
private |
Maximum X position.
Definition at line 251 of file MUSUN_module.cc.
Referenced by beginRun(), MUSUN(), and SampleOne().
|
private |
Minimum X position.
Definition at line 248 of file MUSUN_module.cc.
Referenced by beginRun(), MUSUN(), and SampleOne().
|
private |
Maximum Y position.
Definition at line 252 of file MUSUN_module.cc.
Referenced by beginRun(), MUSUN(), and SampleOne().
|
private |
Minimum Y position.
Definition at line 249 of file MUSUN_module.cc.
Referenced by beginRun(), MUSUN(), and SampleOne().
|
private |
Maximum Z position.
Definition at line 253 of file MUSUN_module.cc.
Referenced by beginRun(), MUSUN(), and SampleOne().
|
private |
Minimum Z position.
Definition at line 250 of file MUSUN_module.cc.
Referenced by beginRun(), MUSUN(), and SampleOne().
|
staticprivate |
Definition at line 221 of file MUSUN_module.cc.
Referenced by SampleOne().
|
private |
Definition at line 288 of file MUSUN_module.cc.
Referenced by SampleOne().
|
private |
Definition at line 309 of file MUSUN_module.cc.
|
private |
Definition at line 286 of file MUSUN_module.cc.
Referenced by beginJob(), and SampleOne().
|
private |
Definition at line 303 of file MUSUN_module.cc.
Referenced by initialization(), and sampling().
|
private |
Definition at line 303 of file MUSUN_module.cc.
Referenced by initialization().
|
private |
Definition at line 287 of file MUSUN_module.cc.
Referenced by beginJob(), initialization(), and SampleOne().
|
private |
Definition at line 288 of file MUSUN_module.cc.
Referenced by SampleOne().
|
private |
Definition at line 288 of file MUSUN_module.cc.
Referenced by SampleOne().
|
private |
Definition at line 288 of file MUSUN_module.cc.
Referenced by SampleOne().
|
private |
Definition at line 293 of file MUSUN_module.cc.
Referenced by beginRun(), and SampleOne().
|
private |
Definition at line 294 of file MUSUN_module.cc.
Referenced by beginRun(), and SampleOne().
|
private |
Definition at line 295 of file MUSUN_module.cc.
Referenced by beginRun(), and SampleOne().
|
private |
Definition at line 307 of file MUSUN_module.cc.
Referenced by endRun(), and SampleOne().
|
private |
Definition at line 304 of file MUSUN_module.cc.
Referenced by endRun(), and SampleOne().
|
private |
Definition at line 306 of file MUSUN_module.cc.
Referenced by endRun(), and SampleOne().
|
private |
Definition at line 297 of file MUSUN_module.cc.
Referenced by initialization(), and sampling().
|
private |
Definition at line 305 of file MUSUN_module.cc.
Referenced by endRun(), and SampleOne().
|
private |
Definition at line 303 of file MUSUN_module.cc.
Referenced by initialization(), and sampling().
|
private |
Definition at line 303 of file MUSUN_module.cc.
Referenced by initialization().
|
private |
Definition at line 287 of file MUSUN_module.cc.
Referenced by beginJob(), initialization(), and SampleOne().
|
private |
Definition at line 287 of file MUSUN_module.cc.
Referenced by beginJob(), and SampleOne().
|
private |
Definition at line 289 of file MUSUN_module.cc.
Referenced by beginJob(), and SampleOne().
|
private |
Definition at line 289 of file MUSUN_module.cc.
Referenced by beginJob(), and SampleOne().
|
private |
Definition at line 289 of file MUSUN_module.cc.
Referenced by beginJob(), and SampleOne().