#include <EcalTBMCInfoProducer.h>
Definition at line 23 of file EcalTBMCInfoProducer.h.
◆ EcalTBMCInfoProducer()
Constructor.
Definition at line 22 of file EcalTBMCInfoProducer.cc.
23 produces<PEcalTBInfo>();
31 beamEta = (fMaxEta + fMinEta) / 2.;
32 beamPhi = (fMaxPhi + fMinPhi) / 2.;
66 edm::LogInfo(
"EcalTBInfo") <<
"Initialize TB MC ECAL info producer with parameters: \n"
68 <<
"Beam average eta = " <<
beamEta <<
"\n"
69 <<
"Beam average phi = " <<
beamPhi <<
"\n"
70 <<
"Corresponding to crystal number = " <<
crysNumber <<
"\n"
71 <<
"Beam X offset = " <<
beamXoff <<
"\n"
93 throw cms::Exception(
"Configuration") <<
"EcalTBMCInfoProducer requires the RandomNumberGeneratorService\n"
94 "which is not present in the configuration file. You must add the "
96 "in the configuration file or remove the modules that require it.";
References funct::cos(), ecalTB2006H4_GenSimDigiReco_cfg::CrystalMapFile, spr::deltaEta, SiPixelRawToDigiRegional_cfi::deltaPhi, PVValHelper::eta, Exception, JetChargeProducer_cfi::exp, edm::ParameterSet::getParameter(), edm::Service< T >::isAvailable(), EcalTBCrystalMap::NCRYSTAL, funct::sin(), geometryCSVtoXML::xx, geometryCSVtoXML::xy, geometryCSVtoXML::xz, geometryCSVtoXML::yy, geometryCSVtoXML::yz, and geometryCSVtoXML::zz.
◆ ~EcalTBMCInfoProducer()
EcalTBMCInfoProducer::~EcalTBMCInfoProducer |
( |
| ) |
|
|
override |
◆ produce()
Produce digis out of raw data.
Definition at line 102 of file EcalTBMCInfoProducer.cc.
104 CLHEP::HepRandomEngine *engine = &rng->
getEngine(
event.streamID());
106 unique_ptr<PEcalTBInfo> product(
new PEcalTBInfo());
124 HepMC::GenEvent::vertex_const_iterator Vtx = Evt->vertices_begin();
126 math::XYZPoint eventCMSVertex((*Vtx)->position().x(), (*Vtx)->position().y(), (*Vtx)->position().z());
128 LogDebug(
"EcalTBInfo") <<
"Generated vertex position = " << eventCMSVertex.x() <<
" " << eventCMSVertex.y() <<
" "
129 << eventCMSVertex.z();
133 LogDebug(
"EcalTBInfo") <<
"Rotated vertex position = " << eventTBVertex.x() <<
" " << eventTBVertex.y() <<
" "
134 << eventTBVertex.z();
142 double thisPhaseShift = CLHEP::RandFlat::shoot(engine);
144 product->setPhaseShift(thisPhaseShift);
145 LogDebug(
"EcalTBInfo") <<
"Asynchronous Phaseshift = " << thisPhaseShift;
References edm::RandomNumberGenerator::getEngine(), edm::HepMCProduct::GetEvent(), LogDebug, and eostools::move().
◆ beamEta
double EcalTBMCInfoProducer::beamEta |
|
private |
◆ beamPhi
double EcalTBMCInfoProducer::beamPhi |
|
private |
◆ beamTheta
double EcalTBMCInfoProducer::beamTheta |
|
private |
◆ beamXoff
double EcalTBMCInfoProducer::beamXoff |
|
private |
◆ beamYoff
double EcalTBMCInfoProducer::beamYoff |
|
private |
◆ crysNumber
int EcalTBMCInfoProducer::crysNumber |
|
private |
◆ fromCMStoTB
ROOT::Math::Rotation3D* EcalTBMCInfoProducer::fromCMStoTB |
|
private |
◆ GenVtxToken
◆ partXhodo
double EcalTBMCInfoProducer::partXhodo |
|
private |
◆ partYhodo
double EcalTBMCInfoProducer::partYhodo |
|
private |
◆ theTestMap