|
| CosMuoGenProducer (const ParameterSet &) |
|
| ~CosMuoGenProducer () override |
|
| EDProducer ()=default |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () final |
|
SerialTaskQueue * | globalRunsQueue () final |
|
bool | hasAbilityToProduceInBeginLumis () const final |
|
bool | hasAbilityToProduceInBeginProcessBlocks () const final |
|
bool | hasAbilityToProduceInBeginRuns () const final |
|
bool | hasAbilityToProduceInEndLumis () const final |
|
bool | hasAbilityToProduceInEndProcessBlocks () const final |
|
bool | hasAbilityToProduceInEndRuns () const final |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
bool | wantsInputProcessBlocks () const final |
|
bool | wantsProcessBlocks () const final |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
bool | wantsStreamLuminosityBlocks () const |
|
bool | wantsStreamRuns () const |
|
| ~EDProducerBase () override |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
|
| ProducerBase () |
|
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
|
std::vector< bool > const & | recordProvenanceList () const |
|
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, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
|
TypeLabelList const & | typeLabelList () const |
| used by the fwk to register the list of products of this module More...
|
|
| ~ProducerBase () noexcept(false) override |
|
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 &&)=default |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
std::vector< ESProxyIndex > const & | esGetTokenIndicesVector (edm::Transition iTrans) const |
|
std::vector< ESRecordIndex > const & | esGetTokenRecordIndicesVector (edm::Transition iTrans) const |
|
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::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
typedef EDProducerBase | ModuleType |
|
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > |
|
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
|
typedef ProductLabels | Labels |
|
static const std::string & | baseType () |
|
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
|
static void | prevalidate (ConfigurationDescriptions &descriptions) |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces () |
| declare what type of product will make and with which optional label More...
|
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces () |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces () |
|
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<BranchType B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<Transition B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
ProducesCollector | producesCollector () |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
template<BranchType B = InEvent> |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
|
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes () |
|
template<Transition Tr = Transition::Event> |
constexpr auto | esConsumes () noexcept |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
template<Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag tag) noexcept |
|
template<Transition Tr = Transition::Event> |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
| Used with EventSetupRecord::doGet. More...
|
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
Definition at line 21 of file CosMuoGenProducer.h.
edm::CosMuoGenProducer::CosMuoGenProducer |
( |
const ParameterSet & |
pset | ) |
|
Definition at line 11 of file CosMuoGenProducer.cc.
13 MinP(
pset.getParameter<
double>(
"MinP")),
15 MaxP(
pset.getParameter<
double>(
"MaxP")),
16 MinT(
pset.getParameter<
double>(
"MinTheta")),
17 MaxT(
pset.getParameter<
double>(
"MaxTheta")),
18 MinPh(
pset.getParameter<
double>(
"MinPhi")),
19 MaxPh(
pset.getParameter<
double>(
"MaxPhi")),
20 MinS(
pset.getParameter<
double>(
"MinT0")),
21 MaxS(
pset.getParameter<
double>(
"MaxT0")),
22 ELSF(
pset.getParameter<
double>(
"ElossScaleFactor")),
23 RTarget(
pset.getParameter<
double>(
"RadiusOfTarget")),
24 ZTarget(
pset.getParameter<
double>(
"ZDistOfTarget")),
42 MinEn(
pset.getParameter<
double>(
"MinEnu")),
43 MaxEn(
pset.getParameter<
double>(
"MaxEnu")),
45 AllMu(
pset.getParameter<
bool>(
"AcptAllMu")),
55 CosMuoGen = std::make_unique<CosmicMuonGenerator>();
94 produces<HepMCProduct>(
"unsmeared");
95 produces<GenEventInfoProduct>();
96 produces<GenRunInfoProduct, edm::Transition::EndRun>();
References AllMu, ClayLayerWidth, CosMuoGen, ELSF, MaxEn, MaxP, MaxPh, MaxS, MaxT, MinEn, MinP, MinP_CMS, MinPh, MinS, MinT, MTCCHalf, MultiMuon, MultiMuonFileFirstEvent, MultiMuonFileName, MultiMuonNmin, NuPrdAlt, PlugVtx, PlugVtz, RanS, RTarget, TIFOnly_constant, TIFOnly_linear, TrackerOnly, VarRhoAir, VarRhoClay, VarRhoPlug, VarRhoRock, VarRhoWall, ZCTarget, and ZTarget.
Implements edm::one::EDProducerBase.
Definition at line 127 of file CosMuoGenProducer.cc.
128 RandomEngineSentry<CosmicMuonGenerator> randomEngineSentry(
CosMuoGen.get(),
e.streamID());
136 std::cout <<
"CosMuoGenProducer.cc: CosMuoGen->nextMultiEvent() failed!" << std::endl;
140 std::cout <<
"CosMuoGenProducer.cc: CosMuoGen->EventWeight=" <<
CosMuoGen->EventWeight
141 <<
" CosMuoGen: Nmuons=" <<
CosMuoGen->Id_sf.size() << std::endl;
143 <<
" CosMuoGen->Vy_at=" <<
CosMuoGen->Vy_at <<
" CosMuoGen->Vz_at=" <<
CosMuoGen->Vz_at
144 <<
" CosMuoGen->T0_at=" <<
CosMuoGen->T0_at << std::endl;
146 for (
unsigned int i = 0;
i <
CosMuoGen->Id_sf.size(); ++
i) {
161 auto fEvt = std::make_unique<HepMC::GenEvent>();
163 HepMC::GenVertex* Vtx_at =
new HepMC::GenVertex(HepMC::FourVector(
CosMuoGen->Vx_at,
170 Vtx_at->add_particle_in(Part_at);
173 for (
unsigned int i = 0;
i <
CosMuoGen->Id_sf.size(); ++
i) {
176 Vtx_at->add_particle_out(Part_sf_in);
178 HepMC::GenVertex* Vtx_sf =
new HepMC::GenVertex(
182 Vtx_sf->add_particle_in(Part_sf_in);
183 Vtx_sf->add_particle_out(Part_sf_out);
185 fEvt->add_vertex(Vtx_sf);
187 HepMC::GenVertex* Vtx_ug =
new HepMC::GenVertex(
193 Vtx_ug->add_particle_in(Part_sf_out);
194 Vtx_ug->add_particle_out(Part_ug);
196 fEvt->add_vertex(Vtx_ug);
199 fEvt->add_vertex(Vtx_at);
200 fEvt->set_signal_process_vertex(Vtx_at);
202 fEvt->set_event_number(
e.id().event());
203 fEvt->set_signal_process_id(13);
205 fEvt->weights().push_back(
CosMuoGen->EventWeight);
206 fEvt->weights().push_back(
CosMuoGen->Trials);
215 std::unique_ptr<HepMCProduct> CMProduct(
new HepMCProduct());
216 CMProduct->addHepMCData(fEvt.release());
References gather_cfg::cout, Debug, MillePedeFileConverter_cfg::e, genParticles2HepMC_cfi::genEventInfo, GenParticle::GenParticle, ZgammaFilter_cfi::HepMCProduct, mps_fire::i, eostools::move(), CMSCGENproducer_cfi::MultiMuon, and summarizeEdmComparisonLogfiles::success.