#include <FastSimulation/MuonSimHitProducer/src/MuonSimHitProducer.cc>
Public Member Functions | |
MuonSimHitProducer (const edm::ParameterSet &) | |
~MuonSimHitProducer () | |
Public Member Functions inherited from edm::stream::EDProducer<> | |
EDProducer ()=default | |
Public Member Functions inherited from edm::stream::EDProducerBase | |
EDProducerBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducerBase () |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
void | resolvePutIndicies (BranchType iBranchType, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel) |
virtual | ~ProducerBase () noexcept(false) |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
void | convertCurrentProcessAlias (std::string const &processName) |
Convert "@currentProcess" in InputTag process names to the actual current process name. More... | |
EDConsumerBase () | |
EDConsumerBase (EDConsumerBase const &)=delete | |
EDConsumerBase (EDConsumerBase &&)=default | |
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
virtual | ~EDConsumerBase () noexcept(false) |
Private Member Functions | |
void | applyMaterialEffects (TrajectoryStateOnSurface &tsosWithdEdx, TrajectoryStateOnSurface &tsos, double radPath, RandomEngineAndDistribution const *) |
Simulate material effects in iron (dE/dx, multiple scattering) More... | |
virtual void | beginRun (edm::Run const &run, const edm::EventSetup &es) override |
virtual void | produce (edm::Event &, const edm::EventSetup &) override |
void | readParameters (const edm::ParameterSet &, const edm::ParameterSet &, const edm::ParameterSet &) |
Private Attributes | |
const CSCGeometry * | cscGeom |
bool | doGL_ |
bool | doL1_ |
bool | doL3_ |
const DTGeometry * | dtGeom |
double | fCSC |
double | fDT |
bool | fullPattern_ |
double | kCSC |
double | kDT |
const MagneticField * | magfield |
const Propagator * | propagatorWithMaterial |
Propagator * | propagatorWithoutMaterial |
const RPCGeometry * | rpcGeom |
edm::InputTag | simMuonLabel |
edm::EDGetTokenT< std::vector< SimTrack > > | simMuonToken |
edm::InputTag | simVertexLabel |
edm::EDGetTokenT< std::vector< SimVertex > > | simVertexToken |
Chi2MeasurementEstimator | theEstimator |
MaterialEffects * | theMaterialEffects |
MuonServiceProxy * | theService |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDProducer<> | |
typedef CacheContexts< T... > | CacheTypes |
typedef CacheTypes::GlobalCache | GlobalCache |
typedef AbilityChecker< T... > | HasAbility |
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
typedef CacheTypes::RunCache | RunCache |
typedef RunContextT< RunCache, GlobalCache > | RunContext |
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
Public Types inherited from edm::stream::EDProducerBase | |
typedef EDProducerAdaptorBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Static Public Member Functions inherited from edm::stream::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
Description: <one line="" class="" summary>="">
Implementation: <Notes on="" implementation>="">
Description: Fast simulation producer of Muon Sim Hits (to be used for realistic Muon reconstruction)
Implementation: <Notes on="" implementation>="">
Definition at line 58 of file MuonSimHitProducer.h.
|
explicit |
Definition at line 80 of file MuonSimHitProducer.cc.
References edm::ParameterSet::getParameter(), MuonServiceProxy_cff::MuonServiceProxy, readParameters(), simMuonLabel, simMuonToken, simVertexLabel, simVertexToken, and theService.
MuonSimHitProducer::~MuonSimHitProducer | ( | ) |
Definition at line 138 of file MuonSimHitProducer.cc.
References propagatorWithoutMaterial, and theMaterialEffects.
|
private |
Simulate material effects in iron (dE/dx, multiple scattering)
Definition at line 573 of file MuonSimHitProducer.cc.
References ALCARECOTkAlJpsiMuMu_cff::charge, TrajectoryStateOnSurface::charge(), DEFINE_FWK_MODULE, EnergyLossSimulator::deltaMom(), MaterialEffects::energyLossSimulator(), objects.autophobj::float, TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), PV3DBase< T, PVType, FrameType >::mag2(), magfield, RawParticle::momentum(), EnergyLossSimulator::mostLikelyLoss(), RPCpg::mu, MaterialEffects::multipleScatteringSimulator(), MaterialEffects::muonBremsstrahlungSimulator(), position, RawParticle::setID(), MaterialEffectsSimulator::setNormalVector(), RawParticle::setVertex(), mathSSE::sqrt(), TrajectoryStateOnSurface::surface(), Surface::tangentPlane(), theMaterialEffects, MaterialEffectsSimulator::updateState(), RawParticle::vertex(), PV3DBase< T, PVType, FrameType >::x(), RawParticle::X(), PV3DBase< T, PVType, FrameType >::y(), RawParticle::Y(), PV3DBase< T, PVType, FrameType >::z(), and RawParticle::Z().
Referenced by produce().
|
overrideprivatevirtual |
Definition at line 109 of file MuonSimHitProducer.cc.
References Propagator::clone(), cscGeom, dtGeom, edm::EventSetup::get(), magfield, PhotonConversionTrajectorySeedProducerFromQuadruplets_cfi::propagator, MuonServiceProxy::propagator(), propagatorWithMaterial, propagatorWithoutMaterial, rpcGeom, SteppingHelixPropagator::setMaterialMode(), theService, and MuonServiceProxy::update().
|
overrideprivatevirtual |
Definition at line 155 of file MuonSimHitProducer.cc.
References funct::abs(), alongMomentum, anyDirection, applyMaterialEffects(), PV3DBase< T, PVType, FrameType >::basicVector(), Surface::bounds(), relativeConstraints::chamber, RPCGeometry::chamber(), CSCGeometry::chamber(), DTGeometry::chamber(), DTTopology::channel(), CoreSimTrack::charge(), gather_cfg::cout, GeomDetEnumerators::CSC, cscGeom, MuonServiceProxy::detLayerGeometry(), GeomDetEnumerators::DT, dtGeom, CSCDetId::endcap(), mps_splice::entry, cmsRelvalreport::exit, JetChargeProducer_cfi::exp, fCSC, fDT, DTTopology::firstChannel(), TrajectoryStateOnSurface::freeTrajectoryState(), GeomDet::geographicalId(), edm::Event::getByToken(), edm::EventSetup::getData(), SteppingHelixStateInfo::getStateOnSurface(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), mps_fire::i, hcalTTPDigis_cfi::id, RPCGeometry::idToDetUnit(), DTGeometry::idToDetUnit(), CSCGeometry::idToDetUnit(), Bounds::inside(), CSCLayerGeometry::inside(), TrajectoryStateOnSurface::isValid(), kCSC, kDT, DTTopology::lastChannel(), DTLayerId::layer(), CSCDetId::layer(), RPCDetId::layer(), LayerTriplets::layers(), TrajectoryStateOnSurface::localMomentum(), cmsBatch::log, funct::m, PV3DBase< T, PVType, FrameType >::mag(), magfield, CoreSimTrack::momentum(), eostools::move(), gen::n, GetRecoTauVFromDQM_MC_cff::next, callgraph::path, SteppingHelixStateInfo::path(), packedPFCandidateRefMixer_cfi::pf, PV3DBase< T, PVType, FrameType >::phi(), pi, sysUtil::pid, PlaneBuilder::plane(), position, edm::ESHandle< T >::product(), Propagator::propagateWithPath(), propagatorWithMaterial, propagatorWithoutMaterial, edm::Event::put(), SteppingHelixStateInfo::radPath(), random, DetId::rawId(), relativeConstraints::ring, RPCDetId::ring(), CSCDetId::ring(), RPCDetId::roll(), RPCChamber::rolls(), makeMuonMisalignmentScenario::rot, GeomDetEnumerators::RPCBarrel, GeomDetEnumerators::RPCEndcap, rpcGeom, DTChamberId::sector(), RPCDetId::sector(), simMuonToken, simVertexToken, mathSSE::sqrt(), DTChamberId::station(), relativeConstraints::station, CSCDetId::station(), RPCDetId::station(), edm::Event::streamID(), GeomDet::subDetector(), RPCDetId::subsector(), DTSuperLayerId::superlayer(), DTChamber::superLayers(), GeomDet::surface(), cscNeutronWriter_cfi::t0, theEstimator, theMaterialEffects, theService, PV3DBase< T, PVType, FrameType >::theta(), Bounds::thickness(), GeomDet::toLocal(), SimTrack::trackerSurfaceMomentum(), SimTrack::trackerSurfacePosition(), CoreSimTrack::trackId(), TrajectoryStateOnSurface::transverseCurvature(), CoreSimTrack::type(), Vector3DBase< T, FrameTag >::unit(), SimTrack::vertIndex(), DTChamberId::wheel(), x, PV3DBase< T, PVType, FrameType >::x(), MuonErrorMatrixValues_cff::xAxis, y, PV3DBase< T, PVType, FrameType >::y(), MuonErrorMatrixValues_cff::yAxis, z, PV3DBase< T, PVType, FrameType >::z(), and MetAnalyzer::zAxis.
Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().
|
private |
Definition at line 535 of file MuonSimHitProducer.cc.
References fCSC, fDT, fullPattern_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), kCSC, kDT, TrajectoryFactories_cff::MaterialEffects, simMuonLabel, simVertexLabel, AlCaHLTBitMon_QueryRunRegistry::string, and theMaterialEffects.
Referenced by MuonSimHitProducer().
|
private |
Definition at line 71 of file MuonSimHitProducer.h.
Referenced by beginRun(), and produce().
|
private |
Definition at line 99 of file MuonSimHitProducer.h.
|
private |
Definition at line 99 of file MuonSimHitProducer.h.
|
private |
Definition at line 99 of file MuonSimHitProducer.h.
|
private |
Definition at line 70 of file MuonSimHitProducer.h.
Referenced by beginRun(), and produce().
|
private |
Definition at line 88 of file MuonSimHitProducer.h.
Referenced by produce(), and readParameters().
|
private |
Definition at line 86 of file MuonSimHitProducer.h.
Referenced by produce(), and readParameters().
|
private |
Definition at line 98 of file MuonSimHitProducer.h.
Referenced by readParameters().
|
private |
Definition at line 87 of file MuonSimHitProducer.h.
Referenced by produce(), and readParameters().
|
private |
Definition at line 85 of file MuonSimHitProducer.h.
Referenced by produce(), and readParameters().
|
private |
Definition at line 69 of file MuonSimHitProducer.h.
Referenced by applyMaterialEffects(), beginRun(), and produce().
|
private |
Definition at line 73 of file MuonSimHitProducer.h.
Referenced by beginRun(), and produce().
|
private |
Definition at line 74 of file MuonSimHitProducer.h.
Referenced by beginRun(), produce(), and ~MuonSimHitProducer().
|
private |
Definition at line 72 of file MuonSimHitProducer.h.
Referenced by beginRun(), and produce().
|
private |
Definition at line 102 of file MuonSimHitProducer.h.
Referenced by MuonSimHitProducer(), and readParameters().
|
private |
Definition at line 106 of file MuonSimHitProducer.h.
Referenced by MuonSimHitProducer(), and produce().
|
private |
Definition at line 103 of file MuonSimHitProducer.h.
Referenced by MuonSimHitProducer(), and readParameters().
|
private |
Definition at line 107 of file MuonSimHitProducer.h.
Referenced by MuonSimHitProducer(), and produce().
|
private |
Definition at line 67 of file MuonSimHitProducer.h.
Referenced by produce().
|
private |
Definition at line 76 of file MuonSimHitProducer.h.
Referenced by applyMaterialEffects(), produce(), readParameters(), and ~MuonSimHitProducer().
|
private |
Definition at line 66 of file MuonSimHitProducer.h.
Referenced by beginRun(), MuonSimHitProducer(), and produce().