24 #include "HepMC/GenVertex.h"
25 #include "HepMC/GenEvent.h"
34 produces<edm::SimTrackContainer>();
35 produces<edm::SimVertexContainer>();
36 produces<FSimVertexTypeCollection>(
"VertexTypes");
37 produces<edm::PSimHitContainer>(
"TrackerHits");
38 produces<edm::PCaloHitContainer>(
"EcalHitsEB");
39 produces<edm::PCaloHitContainer>(
"EcalHitsEE");
40 produces<edm::PCaloHitContainer>(
"EcalHitsES");
41 produces<edm::PCaloHitContainer>(
"HcalHits");
44 if ( simulateMuons ) produces<edm::SimTrackContainer>(
"MuonSimTracks");
48 sourceToken = consumes<edm::HepMCProduct>(sourceLabel);
52 puToken = consumes<edm::HepMCProduct>(_label);
81 const HepMC::GenEvent * myGenEvent = theHepMCProduct->GetEvent();
86 const HepMC::GenEvent * thePUEvents = isPileUp ? thePileUpEvents->GetEvent() : 0;
113 calo->loadFromEcalBarrel(*p4);
114 calo->loadFromEcalEndcap(*p5);
115 calo->loadFromPreshower(*p6);
116 calo->loadFromHcal(*p7);
117 calo->loadMuonSimTracks(*m1);
123 iEvent.
put(p3,
"TrackerHits");
124 iEvent.
put(v1,
"VertexTypes");
125 iEvent.
put(p4,
"EcalHitsEB");
126 iEvent.
put(p5,
"EcalHitsEE");
127 iEvent.
put(p6,
"EcalHitsES");
128 iEvent.
put(p7,
"HcalHits");
T getParameter(std::string const &) const
std::vector< PCaloHit > PCaloHitContainer
void load(edm::SimTrackContainer &c, edm::SimTrackContainer &m) const
Load containers of tracks (and muons) and vertices for the edm::Event.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
const HepPDT::ParticleDataTable * theTable() const
Get the pointer to the particle data table.
FamosManager * famosManager_
virtual void beginRun(edm::Run const &run, const edm::EventSetup &es) override
FamosProducer(edm::ParameterSet const &p)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
std::vector< FSimVertexType > FSimVertexTypeCollection
collection of FSimVertexType objects
edm::EDGetTokenT< edm::HepMCProduct > puToken
void reconstruct(const HepMC::GenEvent *evt, const HepMC::GenEvent *pu, const TrackerTopology *tTopo, RandomEngineAndDistribution const *)
The real thing is done here.
CalorimetryManager * calorimetryManager() const
The calorimeter.
edm::EDGetTokenT< edm::HepMCProduct > sourceToken
std::vector< SimVertex > SimVertexContainer
virtual void produce(edm::Event &e, const edm::EventSetup &c) override
StreamID streamID() const
std::vector< PSimHit > PSimHitContainer
TrajectoryManager * trackerManager() const
The tracker.
FSimEvent * simEvent() const
The simulated event.
std::vector< SimTrack > SimTrackContainer
void setupGeometryAndField(edm::Run const &run, const edm::EventSetup &es)
Get information from the Event Setup.