CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
edm::CosMuoGenProducer Class Reference

#include <CosMuoGenProducer.h>

Inheritance diagram for edm::CosMuoGenProducer:
edm::one::EDProducer< EndRunProducer, one::WatchLuminosityBlocks > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 CosMuoGenProducer (const ParameterSet &)
 
virtual ~CosMuoGenProducer ()
 
- Public Member Functions inherited from edm::one::EDProducer< EndRunProducer, one::WatchLuminosityBlocks >
 EDProducer ()=default
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducerBase () override
 
- 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 ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () 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)
 
virtual ~ProducerBase () noexcept(false)
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () 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
 
EDConsumerBaseoperator= (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

virtual void beginLuminosityBlock (LuminosityBlock const &, EventSetup const &) override
 
void clear ()
 
virtual void endLuminosityBlock (LuminosityBlock const &, EventSetup const &) override
 
virtual void endRunProduce (Run &r, const EventSetup &es) override
 
virtual void produce (Event &e, const EventSetup &es) override
 

Private Attributes

bool AllMu
 
double ClayLayerWidth
 
bool cmVerbosity_
 
CosmicMuonGeneratorCosMuoGen
 
double ELSF
 
double extCrossSect
 
double extFilterEff
 
HepMC::GenEvent * fEvt
 
bool isInitialized_
 
double MaxEn
 
double MaxP
 
double MaxPh
 
double MaxS
 
double MaxT
 
double MinEn
 
double MinP
 
double MinP_CMS
 
double MinPh
 
double MinS
 
double MinT
 
bool MTCCHalf
 
bool MultiMuon
 
int32_t MultiMuonFileFirstEvent
 
std::string MultiMuonFileName
 
int32_t MultiMuonNmin
 
double NuPrdAlt
 
double PlugVtx
 
double PlugVtz
 
int32_t RanS
 
double RTarget
 
bool TIFOnly_constant
 
bool TIFOnly_linear
 
bool TrackerOnly
 
double VarRhoAir
 
double VarRhoClay
 
double VarRhoPlug
 
double VarRhoRock
 
double VarRhoWall
 
double ZCTarget
 
double ZTarget
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::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)
 

Detailed Description

Definition at line 20 of file CosMuoGenProducer.h.

Constructor & Destructor Documentation

edm::CosMuoGenProducer::CosMuoGenProducer ( const ParameterSet pset)

Definition at line 11 of file CosMuoGenProducer.cc.

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, CosmicMuonGenerator::setAcptAllMu(), CosmicMuonGenerator::setClayWidth(), CosmicMuonGenerator::setElossScaleFactor(), CosmicMuonGenerator::setMaxEnu(), CosmicMuonGenerator::setMaxP(), CosmicMuonGenerator::setMaxPhi(), CosmicMuonGenerator::setMaxT0(), CosmicMuonGenerator::setMaxTheta(), CosmicMuonGenerator::setMinEnu(), CosmicMuonGenerator::setMinP(), CosmicMuonGenerator::setMinP_CMS(), CosmicMuonGenerator::setMinPhi(), CosmicMuonGenerator::setMinT0(), CosmicMuonGenerator::setMinTheta(), CosmicMuonGenerator::setMTCCHalf(), CosmicMuonGenerator::setMultiMuon(), CosmicMuonGenerator::setMultiMuonFileFirstEvent(), CosmicMuonGenerator::setMultiMuonFileName(), CosmicMuonGenerator::setMultiMuonNmin(), CosmicMuonGenerator::setNumberOfEvents(), CosmicMuonGenerator::setNuProdAlt(), CosmicMuonGenerator::setPlugVx(), CosmicMuonGenerator::setPlugVz(), CosmicMuonGenerator::setRadiusOfTarget(), CosmicMuonGenerator::setRanSeed(), CosmicMuonGenerator::setRhoAir(), CosmicMuonGenerator::setRhoClay(), CosmicMuonGenerator::setRhoPlug(), CosmicMuonGenerator::setRhoRock(), CosmicMuonGenerator::setRhoWall(), CosmicMuonGenerator::setTIFOnly_constant(), CosmicMuonGenerator::setTIFOnly_linear(), CosmicMuonGenerator::setTrackerOnly(), CosmicMuonGenerator::setZCentrOfTarget(), CosmicMuonGenerator::setZDistOfTarget(), TIFOnly_constant, TIFOnly_linear, TrackerOnly, VarRhoAir, VarRhoClay, VarRhoPlug, VarRhoRock, VarRhoWall, ZCTarget, and ZTarget.

11  :
12  //RanS(pset.getParameter<int>("RanSeed", 123456)), //get seed now from Framework
13  MinP(pset.getParameter<double>("MinP")),
14  MinP_CMS(pset.getParameter<double>("MinP_CMS")),
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")),
25  ZCTarget(pset.getParameter<double>("ZCentrOfTarget")),
26  TrackerOnly(pset.getParameter<bool>("TrackerOnly")),
27  MultiMuon(pset.getParameter<bool>("MultiMuon")),
28  MultiMuonFileName(pset.getParameter<std::string>("MultiMuonFileName")),
29  MultiMuonFileFirstEvent(pset.getParameter<int>("MultiMuonFileFirstEvent")),
30  MultiMuonNmin(pset.getParameter<int>("MultiMuonNmin")),
31  TIFOnly_constant(pset.getParameter<bool>("TIFOnly_constant")),
32  TIFOnly_linear(pset.getParameter<bool>("TIFOnly_linear")),
33  MTCCHalf(pset.getParameter<bool>("MTCCHalf")),
34  PlugVtx(pset.getParameter<double>("PlugVx")),
35  PlugVtz(pset.getParameter<double>("PlugVz")),
36  VarRhoAir(pset.getParameter<double>("RhoAir")),
37  VarRhoWall(pset.getParameter<double>("RhoWall")),
38  VarRhoRock(pset.getParameter<double>("RhoRock")),
39  VarRhoClay(pset.getParameter<double>("RhoClay")),
40  VarRhoPlug(pset.getParameter<double>("RhoPlug")),
41  ClayLayerWidth(pset.getParameter<double>("ClayWidth")),
42  MinEn(pset.getParameter<double>("MinEnu")),
43  MaxEn(pset.getParameter<double>("MaxEnu")),
44  NuPrdAlt(pset.getParameter<double>("NuProdAlt")),
45  AllMu(pset.getParameter<bool>("AcptAllMu")),
46  extCrossSect(pset.getUntrackedParameter<double>("crossSection", -1.)),
47  extFilterEff(pset.getUntrackedParameter<double>("filterEfficiency", -1.)),
48  cmVerbosity_(pset.getParameter<bool>("Verbosity")),
49  isInitialized_(false)
50  {
51  //if not specified (i.e. negative) then use MinP also for MinP_CMS
52  if(MinP_CMS < 0) MinP_CMS = MinP;
53 
54  // set up the generator
56 // Begin JMM change
57 // CosMuoGen->setNumberOfEvents(numberEventsInRun());
58  CosMuoGen->setNumberOfEvents(999999999);
59 // End of JMM change
94  produces<HepMCProduct>("unsmeared");
95  produces<GenEventInfoProduct>();
96  produces<GenRunInfoProduct, edm::Transition::EndRun>();
97  }
void setZDistOfTarget(double Z)
void setMinEnu(double MinEn)
void setTIFOnly_constant(bool TIF)
void setNuProdAlt(double NuPrdAlt)
void setZCentrOfTarget(double Z)
void setRhoAir(double VarRhoAir)
void setRadiusOfTarget(double R)
void setNumberOfEvents(unsigned int N)
void setMultiMuonFileFirstEvent(int MultiMuFile1stEvt)
void setRhoPlug(double VarRhoPlug)
void setMinPhi(double Phi)
void setMaxPhi(double Phi)
void setMultiMuonNmin(int MultiMuNmin)
void setMinTheta(double Theta)
void setMaxEnu(double MaxEn)
void setMultiMuon(bool MultiMu)
CosmicMuonGenerator * CosMuoGen
void setClayWidth(double ClayLaeyrWidth)
void setAcptAllMu(bool AllMu)
void setPlugVz(double PlugVtz)
void setTIFOnly_linear(bool TIF)
void setMultiMuonFileName(std::string MultiMuonFileName)
void setElossScaleFactor(double ElossScaleFact)
void setMaxTheta(double Theta)
void setRhoWall(double VarRhoSWall)
void setPlugVx(double PlugVtx)
void setRhoRock(double VarRhoRock)
void setRhoClay(double VarRhoClay)
void setTrackerOnly(bool Tracker)
edm::CosMuoGenProducer::~CosMuoGenProducer ( )
virtual

Definition at line 99 of file CosMuoGenProducer.cc.

References clear(), and CosMuoGen.

99  {
100  //CosMuoGen->terminate();
101  delete CosMuoGen;
102  // delete fEvt;
103  clear();
104 }
CosmicMuonGenerator * CosMuoGen

Member Function Documentation

void edm::CosMuoGenProducer::beginLuminosityBlock ( LuminosityBlock const &  lumi,
EventSetup const &   
)
overrideprivatevirtual

Definition at line 106 of file CosMuoGenProducer.cc.

References CosMuoGen, edm::LuminosityBlock::index(), CosmicMuonGenerator::initialize(), and isInitialized_.

107 {
108  if(!isInitialized_) {
109  isInitialized_ = true;
110  RandomEngineSentry<CosmicMuonGenerator> randomEngineSentry(CosMuoGen, lumi.index());
111  CosMuoGen->initialize(randomEngineSentry.randomEngine());
112  }
113 }
void initialize(CLHEP::HepRandomEngine *rng=0)
CosmicMuonGenerator * CosMuoGen
void edm::CosMuoGenProducer::clear ( void  )
private

Definition at line 130 of file CosMuoGenProducer.cc.

Referenced by endLuminosityBlock(), and ~CosMuoGenProducer().

130 {}
virtual void edm::CosMuoGenProducer::endLuminosityBlock ( LuminosityBlock const &  ,
EventSetup const &   
)
inlineoverrideprivatevirtual
void edm::CosMuoGenProducer::endRunProduce ( Run r,
const EventSetup es 
)
overrideprivatevirtual

Definition at line 115 of file CosMuoGenProducer.cc.

References CosMuoGen, fwrapper::cs, extCrossSect, extFilterEff, CosmicMuonGenerator::getRate(), eostools::move(), MultiMuon, edm::Run::put(), and CosmicMuonGenerator::terminate().

Referenced by endLuminosityBlock().

116 {
117  std::unique_ptr<GenRunInfoProduct> genRunInfo(new GenRunInfoProduct());
118 
119  double cs = CosMuoGen->getRate(); // flux in Hz, not s^-1m^-2
120  if (MultiMuon) genRunInfo->setInternalXSec(0.);
121  else genRunInfo->setInternalXSec(cs);
122  genRunInfo->setExternalXSecLO(extCrossSect);
123  genRunInfo->setFilterEfficiency(extFilterEff);
124 
125  run.put(std::move(genRunInfo));
126 
127  CosMuoGen->terminate();
128 }
auto_ptr< ClusterSequence > cs
CosmicMuonGenerator * CosMuoGen
def move(src, dest)
Definition: eostools.py:510
void edm::CosMuoGenProducer::produce ( Event e,
const EventSetup es 
)
overrideprivatevirtual

Definition at line 132 of file CosMuoGenProducer.cc.

References cmVerbosity_, CosMuoGen, gather_cfg::cout, Debug, CosmicMuonGenerator::E_at, CosmicMuonGenerator::E_sf, CosmicMuonGenerator::E_ug, edm::EventID::event(), CosmicMuonGenerator::EventWeight, fEvt, particlelevel_cff::genEventInfo, GenParticle::GenParticle, mps_fire::i, edm::EventBase::id(), CosmicMuonGenerator::Id_at, CosmicMuonGenerator::Id_sf, CosmicMuonGenerator::Id_ug, eostools::move(), MultiMuon, CosmicMuonGenerator::nextEvent(), CosmicMuonGenerator::nextMultiEvent(), edm::Event::put(), CosmicMuonGenerator::Px_at, CosmicMuonGenerator::Px_sf, CosmicMuonGenerator::Px_ug, CosmicMuonGenerator::Py_at, CosmicMuonGenerator::Py_sf, CosmicMuonGenerator::Py_ug, CosmicMuonGenerator::Pz_at, CosmicMuonGenerator::Pz_sf, CosmicMuonGenerator::Pz_ug, edm::Event::streamID(), summarizeEdmComparisonLogfiles::success, CosmicMuonGenerator::T0_at, CosmicMuonGenerator::T0_sf, CosmicMuonGenerator::T0_ug, CosmicMuonGenerator::Trials, CosmicMuonGenerator::Vx_at, CosmicMuonGenerator::Vx_sf, CosmicMuonGenerator::Vx_ug, CosmicMuonGenerator::Vy_at, CosmicMuonGenerator::Vy_sf, CosmicMuonGenerator::Vy_ug, CosmicMuonGenerator::Vz_at, CosmicMuonGenerator::Vz_sf, and CosmicMuonGenerator::Vz_ug.

Referenced by endLuminosityBlock().

133 {
134  RandomEngineSentry<CosmicMuonGenerator> randomEngineSentry(CosMuoGen, e.streamID());
135 
136  // generate event
137  if (!MultiMuon) {
138  CosMuoGen->nextEvent();
139  }
140  else {
141  bool success = CosMuoGen->nextMultiEvent();
142  if (!success) std::cout << "CosMuoGenProducer.cc: CosMuoGen->nextMultiEvent() failed!"
143  << std::endl;
144  }
145 
146  if (Debug) {
147  std::cout << "CosMuoGenProducer.cc: CosMuoGen->EventWeight=" << CosMuoGen->EventWeight
148  << " CosMuoGen: Nmuons=" << CosMuoGen->Id_sf.size() << std::endl;
149  std::cout << "CosMuoGen->Id_at=" << CosMuoGen->Id_at
150  << " CosMuoGen->Vx_at=" << CosMuoGen->Vx_at
151  << " CosMuoGen->Vy_at=" << CosMuoGen->Vy_at
152  << " CosMuoGen->Vz_at=" << CosMuoGen->Vz_at
153  << " CosMuoGen->T0_at=" << CosMuoGen->T0_at << std::endl;
154  std::cout << " Px=" << CosMuoGen->Px_at
155  << " Py=" << CosMuoGen->Py_at
156  << " Pz=" << CosMuoGen->Pz_at << std::endl;
157  for (unsigned int i=0; i<CosMuoGen->Id_sf.size(); ++i) {
158  std::cout << "Id_sf[" << i << "]=" << CosMuoGen->Id_sf[i]
159  << " Vx_sf[" << i << "]=" << CosMuoGen->Vx_sf[i]
160  << " Vy_sf=" << CosMuoGen->Vy_sf[i]
161  << " Vz_sf=" << CosMuoGen->Vz_sf[i]
162  << " T0_sf=" << CosMuoGen->T0_sf[i]
163  << " Px_sf=" << CosMuoGen->Px_sf[i]
164  << " Py_sf=" << CosMuoGen->Py_sf[i]
165  << " Pz_sf=" << CosMuoGen->Pz_sf[i] << std::endl;
166  std::cout << "phi_sf=" << atan2(CosMuoGen->Px_sf[i],CosMuoGen->Pz_sf[i]) << std::endl;
167  std::cout << "Id_ug[" << i << "]=" << CosMuoGen->Id_ug[i]
168  << " Vx_ug[" << i << "]=" << CosMuoGen->Vx_ug[i]
169  << " Vy_ug=" << CosMuoGen->Vy_ug[i]
170  << " Vz_ug=" << CosMuoGen->Vz_ug[i]
171  << " T0_ug=" << CosMuoGen->T0_ug[i]
172  << " Px_ug=" << CosMuoGen->Px_ug[i]
173  << " Py_ug=" << CosMuoGen->Py_ug[i]
174  << " Pz_ug=" << CosMuoGen->Pz_ug[i] << std::endl;
175  std::cout << "phi_ug=" << atan2(CosMuoGen->Px_ug[i],CosMuoGen->Pz_ug[i]) << std::endl;;
176  }
177  }
178 
179 
180  fEvt = new HepMC::GenEvent();
181 
182  HepMC::GenVertex* Vtx_at = new HepMC::GenVertex(HepMC::FourVector(CosMuoGen->Vx_at, //[mm]
183  CosMuoGen->Vy_at, //[mm]
184  CosMuoGen->Vz_at, //[mm]
185  CosMuoGen->T0_at)); //[mm]
186  //cout << "CosMuoGenProducer.cc: Vy_at=" << CosMuoGen->Vy_at << endl;
187  HepMC::FourVector p_at(CosMuoGen->Px_at,CosMuoGen->Py_at,CosMuoGen->Pz_at,CosMuoGen->E_at);
188  HepMC::GenParticle* Part_at =
189  new HepMC::GenParticle(p_at,CosMuoGen->Id_at, 3);//Comment mother particle in
190  Vtx_at->add_particle_in(Part_at);
191 
192 
193  //loop here in case of multi muon events (else just one iteration)
194  for (unsigned int i=0; i<CosMuoGen->Id_sf.size(); ++i) {
195 
196  HepMC::FourVector p_sf(CosMuoGen->Px_sf[i],CosMuoGen->Py_sf[i],CosMuoGen->Pz_sf[i],CosMuoGen->E_sf[i]);
197  HepMC::GenParticle* Part_sf_in =
198  new HepMC::GenParticle(p_sf,CosMuoGen->Id_sf[i], 3); //Comment daughter particle
199  Vtx_at->add_particle_out(Part_sf_in);
200 
201  HepMC::GenVertex* Vtx_sf = new HepMC::GenVertex(HepMC::FourVector(CosMuoGen->Vx_sf[i], CosMuoGen->Vy_sf[i], CosMuoGen->Vz_sf[i], CosMuoGen->T0_sf[i])); //[mm]
202  HepMC::GenParticle* Part_sf_out =
203  new HepMC::GenParticle(p_sf,CosMuoGen->Id_sf[i], 3); //Comment daughter particle
204 
205  Vtx_sf->add_particle_in(Part_sf_in);
206  Vtx_sf->add_particle_out(Part_sf_out);
207 
208  fEvt->add_vertex(Vtx_sf); //one per muon
209 
210  HepMC::GenVertex* Vtx_ug = new HepMC::GenVertex(HepMC::FourVector(CosMuoGen->Vx_ug[i], CosMuoGen->Vy_ug[i], CosMuoGen->Vz_ug[i], CosMuoGen->T0_ug[i])); //[mm]
211 
212  HepMC::FourVector p_ug(CosMuoGen->Px_ug[i],CosMuoGen->Py_ug[i],CosMuoGen->Pz_ug[i],CosMuoGen->E_ug[i]);
213  HepMC::GenParticle* Part_ug =
214  new HepMC::GenParticle(p_ug,CosMuoGen->Id_ug[i], 1);//Final state daughter particle
215 
216  Vtx_ug->add_particle_in(Part_sf_out);
217  Vtx_ug->add_particle_out(Part_ug);
218 
219  fEvt->add_vertex(Vtx_ug); //one per muon
220 
221  }
222 
223  fEvt->add_vertex(Vtx_at);
224  fEvt->set_signal_process_vertex(Vtx_at);
225 
226  fEvt->set_event_number(e.id().event());
227  fEvt->set_signal_process_id(13);
228 
229  fEvt->weights().push_back( CosMuoGen->EventWeight ); // just one event weight
230  fEvt->weights().push_back( CosMuoGen->Trials ); // int Trials number (unweighted)
231 
232 
233  if (cmVerbosity_) fEvt->print();
234 
235  std::unique_ptr<HepMCProduct> CMProduct(new HepMCProduct());
236  CMProduct->addHepMCData( fEvt );
237  e.put(std::move(CMProduct), "unsmeared");
238 
239  std::unique_ptr<GenEventInfoProduct> genEventInfo(new GenEventInfoProduct( fEvt ));
240  e.put(std::move(genEventInfo));
241 
242 }
std::vector< double > Px_ug
std::vector< int > Id_ug
std::vector< double > Py_sf
std::vector< double > E_sf
std::vector< double > E_ug
std::vector< double > Vz_ug
std::vector< double > Vz_sf
std::vector< double > Vx_sf
std::vector< double > Vy_sf
CosmicMuonGenerator * CosMuoGen
std::vector< double > T0_sf
std::vector< double > Px_sf
std::vector< double > Vy_ug
std::vector< double > Pz_ug
HepMC::GenEvent * fEvt
std::vector< double > Vx_ug
std::vector< double > Py_ug
const bool Debug
std::vector< double > T0_ug
def move(src, dest)
Definition: eostools.py:510
std::vector< int > Id_sf
std::vector< double > Pz_sf

Member Data Documentation

bool edm::CosMuoGenProducer::AllMu
private

Definition at line 78 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::ClayLayerWidth
private

Definition at line 70 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

bool edm::CosMuoGenProducer::cmVerbosity_
private

Definition at line 87 of file CosMuoGenProducer.h.

Referenced by produce().

CosmicMuonGenerator* edm::CosMuoGenProducer::CosMuoGen
private
double edm::CosMuoGenProducer::ELSF
private

Definition at line 46 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::extCrossSect
private

Definition at line 81 of file CosMuoGenProducer.h.

Referenced by endRunProduce().

double edm::CosMuoGenProducer::extFilterEff
private

Definition at line 82 of file CosMuoGenProducer.h.

Referenced by endRunProduce().

HepMC::GenEvent* edm::CosMuoGenProducer::fEvt
private

Definition at line 86 of file CosMuoGenProducer.h.

Referenced by produce().

bool edm::CosMuoGenProducer::isInitialized_
private

Definition at line 89 of file CosMuoGenProducer.h.

Referenced by beginLuminosityBlock().

double edm::CosMuoGenProducer::MaxEn
private

Definition at line 75 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::MaxP
private

Definition at line 39 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::MaxPh
private

Definition at line 43 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::MaxS
private

Definition at line 45 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::MaxT
private

Definition at line 41 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::MinEn
private

Definition at line 74 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::MinP
private

Definition at line 37 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::MinP_CMS
private

Definition at line 38 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::MinPh
private

Definition at line 42 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::MinS
private

Definition at line 44 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::MinT
private

Definition at line 40 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

bool edm::CosMuoGenProducer::MTCCHalf
private

Definition at line 57 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

bool edm::CosMuoGenProducer::MultiMuon
private

Definition at line 51 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer(), endRunProduce(), and produce().

int32_t edm::CosMuoGenProducer::MultiMuonFileFirstEvent
private

Definition at line 53 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

std::string edm::CosMuoGenProducer::MultiMuonFileName
private

Definition at line 52 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

int32_t edm::CosMuoGenProducer::MultiMuonNmin
private

Definition at line 54 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::NuPrdAlt
private

Definition at line 76 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::PlugVtx
private

Definition at line 61 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::PlugVtz
private

Definition at line 62 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

int32_t edm::CosMuoGenProducer::RanS
private

Definition at line 36 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::RTarget
private

Definition at line 47 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

bool edm::CosMuoGenProducer::TIFOnly_constant
private

Definition at line 55 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

bool edm::CosMuoGenProducer::TIFOnly_linear
private

Definition at line 56 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

bool edm::CosMuoGenProducer::TrackerOnly
private

Definition at line 50 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::VarRhoAir
private

Definition at line 65 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::VarRhoClay
private

Definition at line 68 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::VarRhoPlug
private

Definition at line 69 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::VarRhoRock
private

Definition at line 67 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::VarRhoWall
private

Definition at line 66 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::ZCTarget
private

Definition at line 49 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().

double edm::CosMuoGenProducer::ZTarget
private

Definition at line 48 of file CosMuoGenProducer.h.

Referenced by CosMuoGenProducer().