47 using namespace HepMC;
53 m_pUseMagneticField(p.getParameter<bool>(
"UseMagneticField")),
54 m_Tracking(p.getParameter<bool>(
"SimulateTracking")),
55 m_Calorimetry(p.getParameter<bool>(
"SimulateCalorimetry")),
56 m_Alignment(p.getParameter<bool>(
"ApplyAlignment")),
57 m_pRunNumber(p.getUntrackedParameter<int>(
"RunNumber",1)),
58 m_pVerbose(p.getUntrackedParameter<int>(
"Verbosity",1))
65 <<
"FamosManager requires the RandomGeneratorService\n"
66 "which is not present in the configuration file.\n"
67 "You must add the service in the configuration file\n"
68 "or remove the module that requires it";
139 double bField000 = 0.;
144 bField000 = theMagneticFieldMap->inTeslaZ(g);
146 &(*theTrackerInteractionGeometry),
147 &(*theMagneticFieldMap));
150 &(*theTrackerInteractionGeometry),
177 const HepMC::GenEvent* pu,
183 if (evt != 0 || particles != 0) {
226 <<
" vertices, generated by "
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
T getParameter(std::string const &) const
void initializeTrackerGeometry(const TrackerGeometry *geomTracker)
Initialize the full Tracker Geometry.
~FamosManager()
Destructor.
void setupTopology(const CaloTopology &)
void initializeRecoGeometry(const GeometricSearchTracker *geomSearchTracker, const TrackerInteractionGeometry *interactionGeometry, const MagneticFieldMap *aFieldMap)
Initialize the Reconstruction Geometry.
void fill(const HepMC::GenEvent &hev, edm::EventID &Id)
fill the FBaseSimEvent from the current HepMC::GenEvent
void reconstruct(const HepMC::GenEvent *evt, const reco::GenParticleCollection *particles, const HepMC::GenEvent *pu, const TrackerTopology *tTopo)
The real thing is done here.
CaloGeometryHelper * getCalorimeter() const
TrajectoryManager * myTrajectoryManager
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
void getData(T &iHolder) const
void reconstruct(const TrackerTopology *tTopo)
Does the real job.
CalorimetryManager * myCalorimetry
FamosManager(edm::ParameterSet const &p)
Constructor.
unsigned int nTracks() const
Number of tracks.
void setupGeometry(const CaloGeometry &pG)
unsigned int nGenParts() const
Number of MC particles.
static ParticleTable * instance()
unsigned int nVertices() const
Number of vertices.
void produce(const HepMC::GenEvent *pu)
Produce N minimum bias events, and add them to the FSimEvent.
float weight() const
Method to return the event weight.
void initializePdt(const HepPDT::ParticleDataTable *aPdt)
Initialize the particle data table.
PileUpSimulator * myPileUpSimulator
void initialize(double bField)
void setupGeometryAndField(edm::Run const &run, const edm::EventSetup &es)
Get information from the Event Setup.
const RandomEngine * random