From 37671e753bf5eef96c4aedb72b013d9ea7e2c572 Mon Sep 17 00:00:00 2001 From: Marco Musich Date: Fri, 15 May 2026 11:45:54 +0200 Subject: [PATCH 1/4] FlatEvtVtxGenerator: do check on R/Phi limits only if fixedR is chosen --- .../src/FlatEvtVtxGenerator.cc | 50 +++++++++++-------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc b/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc index 1cb39e485d7b8..d49ba9aa4015b 100644 --- a/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc +++ b/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc @@ -30,14 +30,6 @@ FlatEvtVtxGenerator::FlatEvtVtxGenerator(const edm::ParameterSet& p) : BaseEvtVt fMinT = p.getParameter("MinT") * ns * c_light; fMaxT = p.getParameter("MaxT") * ns * c_light; - if (fMinX > fMaxX) { - throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " - << "MinX is greater than MaxX"; - } - if (fMinY > fMaxY) { - throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " - << "MinY is greater than MaxY"; - } if (fMinZ > fMaxZ) { throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " << "MinZ is greater than MaxZ"; @@ -46,17 +38,35 @@ FlatEvtVtxGenerator::FlatEvtVtxGenerator(const edm::ParameterSet& p) : BaseEvtVt throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " << "MinT is greater than MaxT"; } - if (fMinR > fMaxR) { - throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " - << "MinR is greater than MaxR"; - } - if (fMinPhi > fMaxPhi) { - throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " - << "MinPhi is greater than MaxPhi"; + + // configuration dependent checks + if (fFixedR) { + if (fMinR > fMaxR) { + throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " + << "MinR is greater than MaxR"; + } + if (fMinPhi > fMaxPhi) { + throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " + << "MinPhi is greater than MaxPhi"; + } + + edm::LogVerbatim("FlatEvtVtx") << "FlatEvtVtxGenerator Initialized with r[" << fMinR << ":" << fMaxR << "] cm; phi[" + << fMinPhi << ":" << fMaxPhi << "] rad; z[" << fMinZ << ":" << fMaxZ << "] cm; t[" + << fMinT << ":" << fMaxT << "]"; + } else { + if (fMinX > fMaxX) { + throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " + << "MinX is greater than MaxX"; + } + if (fMinY > fMaxY) { + throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " + << "MinY is greater than MaxY"; + } + + edm::LogVerbatim("FlatEvtVtx") << "FlatEvtVtxGenerator Initialized with x[" << fMinX << ":" << fMaxX << "] cm; y[" + << fMinY << ":" << fMaxY << "] cm; z[" << fMinZ << ":" << fMaxZ << "] cm; t[" + << fMinT << ":" << fMaxT << "]"; } - edm::LogVerbatim("FlatEvtVtx") << "FlatEvtVtxGenerator Initialized with x[" << fMinX << ":" << fMaxX << "] cm; y[" - << fMinY << ":" << fMaxY << "] cm; z[" << fMinZ << ":" << fMaxZ << "] cm; t[" << fMinT - << ":" << fMaxT << "]"; } FlatEvtVtxGenerator::~FlatEvtVtxGenerator() {} @@ -94,8 +104,8 @@ void FlatEvtVtxGenerator::fillDescriptions(edm::ConfigurationDescriptions& descr desc.add("FixedR", false); desc.add("MinR", 0.0)->setComment("in cm"); desc.add("MaxR", 0.001)->setComment("in cm"); - desc.add("MinPhi", -3.14159265359)->setComment("in radians"); - desc.add("MaxPhi", 3.14159265359)->setComment("in radians"); + desc.add("MinPhi", -M_PI)->setComment("in radians"); + desc.add("MaxPhi", M_PI)->setComment("in radians"); desc.add("src"); descriptions.add("FlatEvtVtxGenerator", desc); } From 8c8532e3c595c315ecbbc3eaca330d3ac84c0250 Mon Sep 17 00:00:00 2001 From: Marco Musich Date: Fri, 15 May 2026 13:32:43 +0200 Subject: [PATCH 2/4] Modernize `FlatEvtVtxGenerator` configuration and initialization Refactor `FlatEvtVtxGenerator` to improve configuration validation, member initialization, and code clarity. Replace the custom destructor with a defaulted one, reorganize member variables, and initialize common parameters directly in the constructor initializer list. Update `fillDescriptions()` to use conditional parameter validation for Cartesian vs. polar (`FixedR`) configurations, and switch to `std::numbers::pi` for phi defaults. Also improve logging formatting and clean up includes/comments for better readability and maintainability. --- .../interface/FlatEvtVtxGenerator.h | 23 ++++++-- .../src/FlatEvtVtxGenerator.cc | 57 ++++++++++--------- 2 files changed, 50 insertions(+), 30 deletions(-) diff --git a/IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h b/IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h index 83ecf8f607366..30bc19c1bb452 100644 --- a/IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h +++ b/IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h @@ -27,7 +27,7 @@ class FlatEvtVtxGenerator : public BaseEvtVtxGenerator { FlatEvtVtxGenerator(const FlatEvtVtxGenerator& p) = delete; /** Copy assignment operator */ FlatEvtVtxGenerator& operator=(const FlatEvtVtxGenerator& rhs) = delete; - ~FlatEvtVtxGenerator() override; + ~FlatEvtVtxGenerator() override = default; static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); @@ -42,6 +42,10 @@ class FlatEvtVtxGenerator : public BaseEvtVtxGenerator { inline void minY(double m = 0.0) { fMinY = m; } /// set min in Z in cm inline void minZ(double m = 0.0) { fMinZ = m; } + /// set min in R in cm + inline void minR(double m = 0.0) { fMinR = m; } + /// set min in phi in rad + inline void minPhi(double m = 0.0) { fMinPhi = m; } /// set max in X in cm inline void maxX(double m = 0) { fMaxX = m; } @@ -49,11 +53,22 @@ class FlatEvtVtxGenerator : public BaseEvtVtxGenerator { inline void maxY(double m = 0) { fMaxY = m; } /// set max in Z in cm inline void maxZ(double m = 0) { fMaxZ = m; } + /// set max in R in cm + inline void maxR(double m = 0.0) { fMaxR = m; } + /// set max in phi in rad + inline void maxPhi(double m = 0.0) { fMaxPhi = m; } private: - double fMinX, fMinY, fMinZ, fMinT, fMinR, fMinPhi; - double fMaxX, fMaxY, fMaxZ, fMaxT, fMaxR, fMaxPhi; - bool fFixedR; + // parameters always configured + const bool fFixedR; + double fMinZ, fMaxZ; + double fMinT, fMaxT; + + // parameters conditionally configured + double fMaxX, fMaxY; + double fMinX, fMinY; + double fMinR, fMaxR; + double fMinPhi, fMaxPhi; }; #endif diff --git a/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc b/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc index d49ba9aa4015b..a3db51e02af77 100644 --- a/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc +++ b/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc @@ -1,19 +1,26 @@ -#include "IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h" -#include "FWCore/Utilities/interface/Exception.h" +// system includes +#include +#include +#include +#include +// user includes #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include -#include -#include +#include "FWCore/Utilities/interface/Exception.h" +#include "IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h" using CLHEP::cm; using CLHEP::ns; using CLHEP::radian; -FlatEvtVtxGenerator::FlatEvtVtxGenerator(const edm::ParameterSet& p) : BaseEvtVtxGenerator(p) { - fFixedR = p.getParameter("FixedR"); +FlatEvtVtxGenerator::FlatEvtVtxGenerator(const edm::ParameterSet& p) + : BaseEvtVtxGenerator(p), + fFixedR(p.getParameter("FixedR")), + fMinZ(p.getParameter("MinZ") * cm), + fMaxZ(p.getParameter("MaxZ") * cm), + fMinT(p.getParameter("MinT") * ns * c_light), + fMaxT(p.getParameter("MaxT") * ns * c_light) { if (fFixedR) { fMaxR = p.getParameter("MaxR") * cm; fMinR = p.getParameter("MinR") * cm; @@ -25,10 +32,6 @@ FlatEvtVtxGenerator::FlatEvtVtxGenerator(const edm::ParameterSet& p) : BaseEvtVt fMinY = p.getParameter("MinY") * cm; fMaxY = p.getParameter("MaxY") * cm; } - fMaxZ = p.getParameter("MaxZ") * cm; - fMinZ = p.getParameter("MinZ") * cm; - fMinT = p.getParameter("MinT") * ns * c_light; - fMaxT = p.getParameter("MaxT") * ns * c_light; if (fMinZ > fMaxZ) { throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " @@ -52,7 +55,7 @@ FlatEvtVtxGenerator::FlatEvtVtxGenerator(const edm::ParameterSet& p) : BaseEvtVt edm::LogVerbatim("FlatEvtVtx") << "FlatEvtVtxGenerator Initialized with r[" << fMinR << ":" << fMaxR << "] cm; phi[" << fMinPhi << ":" << fMaxPhi << "] rad; z[" << fMinZ << ":" << fMaxZ << "] cm; t[" - << fMinT << ":" << fMaxT << "]"; + << fMinT << ":" << fMaxT << "] ns" << std::endl; } else { if (fMinX > fMaxX) { throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " @@ -65,12 +68,10 @@ FlatEvtVtxGenerator::FlatEvtVtxGenerator(const edm::ParameterSet& p) : BaseEvtVt edm::LogVerbatim("FlatEvtVtx") << "FlatEvtVtxGenerator Initialized with x[" << fMinX << ":" << fMaxX << "] cm; y[" << fMinY << ":" << fMaxY << "] cm; z[" << fMinZ << ":" << fMaxZ << "] cm; t[" - << fMinT << ":" << fMaxT << "]"; + << fMinT << ":" << fMaxT << "] ns" << std::endl; } } -FlatEvtVtxGenerator::~FlatEvtVtxGenerator() {} - ROOT::Math::XYZTVector FlatEvtVtxGenerator::vertexShift(CLHEP::HepRandomEngine* engine) const { double aX, aY, aZ, aT; if (fFixedR) { @@ -93,19 +94,23 @@ ROOT::Math::XYZTVector FlatEvtVtxGenerator::vertexShift(CLHEP::HepRandomEngine* void FlatEvtVtxGenerator::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { edm::ParameterSetDescription desc; - desc.add("MinX", 0.0)->setComment("in cm"); - desc.add("MaxX", 0.001)->setComment("in cm"); - desc.add("MinY", 0.0)->setComment("in cm"); - desc.add("MaxY", 0.001)->setComment("in cm"); desc.add("MinZ", 0.0)->setComment("in cm"); desc.add("MaxZ", 0.001)->setComment("in cm"); desc.add("MinT", 0.0)->setComment("in ns"); desc.add("MaxT", 0.001)->setComment("in ns"); - desc.add("FixedR", false); - desc.add("MinR", 0.0)->setComment("in cm"); - desc.add("MaxR", 0.001)->setComment("in cm"); - desc.add("MinPhi", -M_PI)->setComment("in radians"); - desc.add("MaxPhi", M_PI)->setComment("in radians"); desc.add("src"); - descriptions.add("FlatEvtVtxGenerator", desc); + + desc.ifValue(edm::ParameterDescription("FixedR", false, true), + // Cartesian (FixedR = false) branch + (false >> (edm::ParameterDescription("MinX", 0.0, true) and + edm::ParameterDescription("MaxX", 0.001, true) and + edm::ParameterDescription("MinY", 0.0, true) and + edm::ParameterDescription("MaxY", 0.001, true))) or + // Polar (FixedR = true) branch + (true >> (edm::ParameterDescription("MinR", 0.0, true) and + edm::ParameterDescription("MaxR", 0.001, true) and + edm::ParameterDescription("MinPhi", -std::numbers::pi, true) and + edm::ParameterDescription("MaxPhi", std::numbers::pi, true)))); + + descriptions.addWithDefaultLabel(desc); } From 6ddcd6a9bc4b3c4844c0a33daf56ebf9d3fe14d3 Mon Sep 17 00:00:00 2001 From: Marco Musich Date: Fri, 15 May 2026 14:14:59 +0200 Subject: [PATCH 3/4] FlatEvtVtxGenerator: rename FixedR -> UseCylindricalCoords --- .../interface/FlatEvtVtxGenerator.h | 2 +- .../python/VtxDisplacedFlat_cfi.py | 3 --- .../python/VtxSmearedParameters_cfi.py | 4 ++-- .../src/FlatEvtVtxGenerator.cc | 14 +++++++------- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h b/IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h index 30bc19c1bb452..b6c746454ead5 100644 --- a/IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h +++ b/IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h @@ -60,7 +60,7 @@ class FlatEvtVtxGenerator : public BaseEvtVtxGenerator { private: // parameters always configured - const bool fFixedR; + const bool fUseCylindricalCoords; double fMinZ, fMaxZ; double fMinT, fMaxT; diff --git a/IOMC/EventVertexGenerators/python/VtxDisplacedFlat_cfi.py b/IOMC/EventVertexGenerators/python/VtxDisplacedFlat_cfi.py index 40f1e5c1bdaa3..13844c947e78b 100644 --- a/IOMC/EventVertexGenerators/python/VtxDisplacedFlat_cfi.py +++ b/IOMC/EventVertexGenerators/python/VtxDisplacedFlat_cfi.py @@ -5,6 +5,3 @@ FlatVtxDisplacedParameters, src = cms.InputTag("generator", "unsmeared"), ) - - - diff --git a/IOMC/EventVertexGenerators/python/VtxSmearedParameters_cfi.py b/IOMC/EventVertexGenerators/python/VtxSmearedParameters_cfi.py index 1f3daa8782a82..d2dd8b5fba802 100644 --- a/IOMC/EventVertexGenerators/python/VtxSmearedParameters_cfi.py +++ b/IOMC/EventVertexGenerators/python/VtxSmearedParameters_cfi.py @@ -85,7 +85,7 @@ # Can restore correlation via MinT += (MinZ - MaxZ)/2 and MaxT += (MaxZ - MinZ)/2 # in [ns] units (recall c_light = 29.98cm/ns) FlatVtxSmearingParameters = cms.PSet( - FixedR = cms.bool(False), + UseCylindricalCoords = cms.bool(False), MaxZ = cms.double(5.3), MaxX = cms.double(0.0015), MaxY = cms.double(0.0015), @@ -97,7 +97,7 @@ ) FlatVtxDisplacedParameters = cms.PSet( - FixedR = cms.bool(True), + UseCylindricalCoords = cms.bool(True), MaxR = cms.double(10.1), MinR = cms.double(10.0), MaxZ = cms.double(0.001), diff --git a/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc b/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc index a3db51e02af77..196d29c3d64af 100644 --- a/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc +++ b/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc @@ -16,12 +16,12 @@ using CLHEP::radian; FlatEvtVtxGenerator::FlatEvtVtxGenerator(const edm::ParameterSet& p) : BaseEvtVtxGenerator(p), - fFixedR(p.getParameter("FixedR")), + fUseCylindricalCoords(p.getParameter("UseCylindricalCoords")), fMinZ(p.getParameter("MinZ") * cm), fMaxZ(p.getParameter("MaxZ") * cm), fMinT(p.getParameter("MinT") * ns * c_light), fMaxT(p.getParameter("MaxT") * ns * c_light) { - if (fFixedR) { + if (fUseCylindricalCoords) { fMaxR = p.getParameter("MaxR") * cm; fMinR = p.getParameter("MinR") * cm; fMaxPhi = p.getParameter("MaxPhi") * radian; @@ -43,7 +43,7 @@ FlatEvtVtxGenerator::FlatEvtVtxGenerator(const edm::ParameterSet& p) } // configuration dependent checks - if (fFixedR) { + if (fUseCylindricalCoords) { if (fMinR > fMaxR) { throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " << "MinR is greater than MaxR"; @@ -74,7 +74,7 @@ FlatEvtVtxGenerator::FlatEvtVtxGenerator(const edm::ParameterSet& p) ROOT::Math::XYZTVector FlatEvtVtxGenerator::vertexShift(CLHEP::HepRandomEngine* engine) const { double aX, aY, aZ, aT; - if (fFixedR) { + if (fUseCylindricalCoords) { double aR = CLHEP::RandFlat::shoot(engine, fMinR, fMaxR); double aPhi = CLHEP::RandFlat::shoot(engine, fMinPhi, fMaxPhi); aX = aR * std::cos(aPhi); @@ -100,13 +100,13 @@ void FlatEvtVtxGenerator::fillDescriptions(edm::ConfigurationDescriptions& descr desc.add("MaxT", 0.001)->setComment("in ns"); desc.add("src"); - desc.ifValue(edm::ParameterDescription("FixedR", false, true), - // Cartesian (FixedR = false) branch + desc.ifValue(edm::ParameterDescription("UseCylindricalCoords", false, true), + // Cartesian (UseCylindricalCoords = false) branch (false >> (edm::ParameterDescription("MinX", 0.0, true) and edm::ParameterDescription("MaxX", 0.001, true) and edm::ParameterDescription("MinY", 0.0, true) and edm::ParameterDescription("MaxY", 0.001, true))) or - // Polar (FixedR = true) branch + // Polar (UseCylindricalCoords = true) branch (true >> (edm::ParameterDescription("MinR", 0.0, true) and edm::ParameterDescription("MaxR", 0.001, true) and edm::ParameterDescription("MinPhi", -std::numbers::pi, true) and From a4030ea7d47484e6f285793d30a2b08c958abd71 Mon Sep 17 00:00:00 2001 From: Marco Musich Date: Fri, 15 May 2026 15:59:26 +0200 Subject: [PATCH 4/4] wrap the optional parameters in FlatEvtVtxGenerator as std::optional --- .../interface/FlatEvtVtxGenerator.h | 9 +++-- .../src/FlatEvtVtxGenerator.cc | 38 +++++++++++-------- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h b/IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h index b6c746454ead5..e6723da7f765f 100644 --- a/IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h +++ b/IOMC/EventVertexGenerators/interface/FlatEvtVtxGenerator.h @@ -13,6 +13,7 @@ * */ +#include #include "IOMC/EventVertexGenerators/interface/BaseEvtVtxGenerator.h" #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" @@ -65,10 +66,10 @@ class FlatEvtVtxGenerator : public BaseEvtVtxGenerator { double fMinT, fMaxT; // parameters conditionally configured - double fMaxX, fMaxY; - double fMinX, fMinY; - double fMinR, fMaxR; - double fMinPhi, fMaxPhi; + std::optional fMaxX, fMaxY; + std::optional fMinX, fMinY; + std::optional fMinR, fMaxR; + std::optional fMinPhi, fMaxPhi; }; #endif diff --git a/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc b/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc index 196d29c3d64af..efc05fca9153d 100644 --- a/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc +++ b/IOMC/EventVertexGenerators/src/FlatEvtVtxGenerator.cc @@ -26,11 +26,19 @@ FlatEvtVtxGenerator::FlatEvtVtxGenerator(const edm::ParameterSet& p) fMinR = p.getParameter("MinR") * cm; fMaxPhi = p.getParameter("MaxPhi") * radian; fMinPhi = p.getParameter("MinPhi") * radian; + fMinX = std::nullopt; + fMaxX = std::nullopt; + fMinY = std::nullopt; + fMaxY = std::nullopt; } else { fMinX = p.getParameter("MinX") * cm; fMaxX = p.getParameter("MaxX") * cm; fMinY = p.getParameter("MinY") * cm; fMaxY = p.getParameter("MaxY") * cm; + fMaxR = std::nullopt; + fMinR = std::nullopt; + fMaxPhi = std::nullopt; + fMinPhi = std::nullopt; } if (fMinZ > fMaxZ) { @@ -44,44 +52,44 @@ FlatEvtVtxGenerator::FlatEvtVtxGenerator(const edm::ParameterSet& p) // configuration dependent checks if (fUseCylindricalCoords) { - if (fMinR > fMaxR) { + if (fMinR.value() > fMaxR.value()) { throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " << "MinR is greater than MaxR"; } - if (fMinPhi > fMaxPhi) { + if (fMinPhi.value() > fMaxPhi.value()) { throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " << "MinPhi is greater than MaxPhi"; } - edm::LogVerbatim("FlatEvtVtx") << "FlatEvtVtxGenerator Initialized with r[" << fMinR << ":" << fMaxR << "] cm; phi[" - << fMinPhi << ":" << fMaxPhi << "] rad; z[" << fMinZ << ":" << fMaxZ << "] cm; t[" - << fMinT << ":" << fMaxT << "] ns" << std::endl; + edm::LogVerbatim("FlatEvtVtx") << "FlatEvtVtxGenerator Initialized with r[" << *fMinR << ":" << *fMaxR + << "] cm; phi[" << *fMinPhi << ":" << *fMaxPhi << "] rad; z[" << fMinZ << ":" + << fMaxZ << "] cm; t[" << fMinT << ":" << fMaxT << "] mm"; } else { - if (fMinX > fMaxX) { + if (fMinX.value() > fMaxX.value()) { throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " << "MinX is greater than MaxX"; } - if (fMinY > fMaxY) { + if (fMinY.value() > fMaxY.value()) { throw cms::Exception("Configuration") << "Error in FlatEvtVtxGenerator: " << "MinY is greater than MaxY"; } - edm::LogVerbatim("FlatEvtVtx") << "FlatEvtVtxGenerator Initialized with x[" << fMinX << ":" << fMaxX << "] cm; y[" - << fMinY << ":" << fMaxY << "] cm; z[" << fMinZ << ":" << fMaxZ << "] cm; t[" - << fMinT << ":" << fMaxT << "] ns" << std::endl; + edm::LogVerbatim("FlatEvtVtx") << "FlatEvtVtxGenerator Initialized with x[" << *fMinX << ":" << *fMaxX << "] cm; y[" + << *fMinY << ":" << *fMaxY << "] cm; z[" << fMinZ << ":" << fMaxZ << "] cm; t[" + << fMinT << ":" << fMaxT << "] mm" << std::endl; } } ROOT::Math::XYZTVector FlatEvtVtxGenerator::vertexShift(CLHEP::HepRandomEngine* engine) const { double aX, aY, aZ, aT; if (fUseCylindricalCoords) { - double aR = CLHEP::RandFlat::shoot(engine, fMinR, fMaxR); - double aPhi = CLHEP::RandFlat::shoot(engine, fMinPhi, fMaxPhi); + double aR = CLHEP::RandFlat::shoot(engine, *fMinR, *fMaxR); + double aPhi = CLHEP::RandFlat::shoot(engine, *fMinPhi, *fMaxPhi); aX = aR * std::cos(aPhi); aY = aR * std::sin(aPhi); } else { - aX = CLHEP::RandFlat::shoot(engine, fMinX, fMaxX); - aY = CLHEP::RandFlat::shoot(engine, fMinY, fMaxY); + aX = CLHEP::RandFlat::shoot(engine, *fMinX, *fMaxX); + aY = CLHEP::RandFlat::shoot(engine, *fMinY, *fMaxY); } aZ = CLHEP::RandFlat::shoot(engine, fMinZ, fMaxZ); aT = CLHEP::RandFlat::shoot(engine, fMinT, fMaxT); @@ -106,7 +114,7 @@ void FlatEvtVtxGenerator::fillDescriptions(edm::ConfigurationDescriptions& descr edm::ParameterDescription("MaxX", 0.001, true) and edm::ParameterDescription("MinY", 0.0, true) and edm::ParameterDescription("MaxY", 0.001, true))) or - // Polar (UseCylindricalCoords = true) branch + // Cylindrical (UseCylindricalCoords = true) branch (true >> (edm::ParameterDescription("MinR", 0.0, true) and edm::ParameterDescription("MaxR", 0.001, true) and edm::ParameterDescription("MinPhi", -std::numbers::pi, true) and