Constructor.
24 produces<PEcalTBInfo>();
38 string fullMapName = CrystalMapFile.fullPath();
48 if ( fabs(beamEta - eta) < deltaEta && fabs(
beamPhi - phi) < deltaPhi ) {
49 deltaEta = fabs(beamEta - eta);
53 else if (fabs(beamEta - eta)<deltaEta && fabs(
beamPhi - phi)>deltaPhi ) {
54 if ( fabs(
beamPhi - phi) < 0.017 ) {
55 deltaEta = fabs(beamEta - eta);
60 else if (fabs(beamEta - eta)>deltaEta && fabs(
beamPhi - phi)<deltaPhi ) {
61 if ( fabs(beamEta - eta) < 0.017 ) {
62 deltaEta = fabs(beamEta - eta);
69 edm::LogInfo(
"EcalTBInfo") <<
"Initialize TB MC ECAL info producer with parameters: \n" 70 <<
"Crystal map file: " << CrystalMapFile <<
"\n" 71 <<
"Beam average eta = " << beamEta <<
"\n" 72 <<
"Beam average phi = " <<
beamPhi <<
"\n" 73 <<
"Corresponding to crystal number = " <<
crysNumber <<
"\n" 74 <<
"Beam X offset = " <<
beamXoff <<
"\n" 91 fromCMStoTB =
new ROOT::Math::Rotation3D(xx, xy, xz, yx, yy, yz, zx, zy, zz);
97 <<
"EcalTBMCInfoProducer requires the RandomNumberGeneratorService\n" 98 "which is not present in the configuration file. You must add the service\n" 99 "in the configuration file or remove the modules that require it.";
T getParameter(std::string const &) const
edm::EDGetTokenT< edm::HepMCProduct > GenVtxToken
static const int NCRYSTAL
Sin< T >::type sin(const T &t)
static const double deltaEta
Cos< T >::type cos(const T &t)
EcalTBCrystalMap * theTestMap
void findCrystalAngles(const int thisCrysIndex, double &thisEta, double &thisPhi)
ROOT::Math::Rotation3D * fromCMStoTB