46 using namespace HepMC;
52 m_pUseMagneticField(p.getParameter<bool>(
"UseMagneticField")),
53 m_Tracking(p.getParameter<bool>(
"SimulateTracking")),
54 m_Calorimetry(p.getParameter<bool>(
"SimulateCalorimetry")),
55 m_Alignment(p.getParameter<bool>(
"ApplyAlignment")),
56 m_pRunNumber(p.getUntrackedParameter<int>(
"RunNumber",1)),
57 m_pVerbose(p.getUntrackedParameter<int>(
"Verbosity",1))
64 <<
"FamosManager requires the RandomGeneratorService\n"
65 "which is not present in the configuration file.\n"
66 "You must add the service in the configuration file\n"
67 "or remove the module that requires it";
121 std::string misAligned =
m_Alignment ?
"MisAligned" :
"";
138 double bField000 = 0.;
143 bField000 = theMagneticFieldMap->inTeslaZ(g);
145 &(*theTrackerInteractionGeometry),
146 &(*theMagneticFieldMap));
149 &(*theTrackerInteractionGeometry),
176 const HepMC::GenEvent* pu)
181 if (evt != 0 || particles != 0) {
224 <<
" 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.
void setupGeometryAndField(edm::Run &run, const edm::EventSetup &es)
Get information from the Event Setup.
~FamosManager()
Destructor.
void reconstruct(const HepMC::GenEvent *evt, const reco::GenParticleCollection *particles, const HepMC::GenEvent *pu)
The real thing is done here.
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
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()
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)
const RandomEngine * random