#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) |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
virtual | ~ProducerBase () |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
EDConsumerBase () | |
ProductHolderIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
std::vector < ProductHolderIndexAndSkipBit > const & | itemsToGetFromEvent () const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
bool | registeredToConsume (ProductHolderIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &) |
virtual | ~EDConsumerBase () |
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 RecoTauCleanerPlugins::charge, TrajectoryStateOnSurface::charge(), EnergyLossSimulator::deltaMom(), MaterialEffects::energyLossSimulator(), 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 |
Reimplemented from edm::stream::EDProducerBase.
Definition at line 109 of file MuonSimHitProducer.cc.
References Propagator::clone(), cscGeom, dtGeom, edm::EventSetup::get(), magfield, MuonServiceProxy::propagator(), HLT_25ns14e33_v1_cff::propagator, propagatorWithMaterial, propagatorWithoutMaterial, rpcGeom, SteppingHelixPropagator::setMaterialMode(), theService, and MuonServiceProxy::update().
|
overrideprivatevirtual |
Implements edm::stream::EDProducerBase.
Definition at line 155 of file MuonSimHitProducer.cc.
References funct::abs(), alongMomentum, anyDirection, applyMaterialEffects(), PV3DBase< T, PVType, FrameType >::basicVector(), Surface::bounds(), RPCGeometry::chamber(), CSCGeometry::chamber(), DTGeometry::chamber(), DTTopology::channel(), CoreSimTrack::charge(), gather_cfg::cout, Vector3DBase< T, FrameTag >::cross(), GeomDetEnumerators::CSC, cscGeom, MuonServiceProxy::detLayerGeometry(), GeomDetEnumerators::DT, dtGeom, CSCDetId::endcap(), cmsRelvalreport::exit, create_public_lumi_plots::exp, fCSC, fDT, DTTopology::firstChannel(), TrajectoryStateOnSurface::freeTrajectoryState(), GeomDet::geographicalId(), edm::Event::getByToken(), edm::EventSetup::getData(), SteppingHelixStateInfo::getStateOnSurface(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), i, 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(), create_public_lumi_plots::log, visualization-live-secondInstance_cfg::m, PV3DBase< T, PVType, FrameType >::mag(), magfield, CoreSimTrack::momentum(), gen::n, GetRecoTauVFromDQM_MC_cff::next, SteppingHelixStateInfo::path(), cmsHarvester::path, PV3DBase< T, PVType, FrameType >::phi(), pi, sysUtil::pid, PlaneBuilder::plane(), position, edm::ESHandle< class >::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, RPCDetId::station(), CSCDetId::station(), edm::Event::streamID(), GeomDet::subDetector(), RPCDetId::subsector(), DTSuperLayerId::superlayer(), DTChamber::superLayers(), GeomDet::surface(), 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(), y, PV3DBase< T, PVType, FrameType >::y(), 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(), HLT_25ns14e33_v1_cff::InputTag, kCSC, kDT, 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().