From 86bf7fe04873bfbcd95671c172f439f871d3ba81 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 24 Jun 2015 15:31:44 +0200 Subject: [PATCH] remove vertex smearing generators used in gen-mixing --- .../BetaFuncPrimaryVertexGenerator.h | 44 --------- .../interface/FlatPrimaryVertexGenerator.h | 39 -------- .../GaussianPrimaryVertexGenerator.h | 39 -------- .../interface/NoPrimaryVertexGenerator.h | 27 ------ .../Event/interface/PrimaryVertexGenerator.h | 40 --------- .../src/BetaFuncPrimaryVertexGenerator.cc | 89 ------------------- .../Event/src/FlatPrimaryVertexGenerator.cc | 28 ------ .../src/GaussianPrimaryVertexGenerator.cc | 28 ------ .../Event/src/PrimaryVertexGenerator.cc | 27 ------ 9 files changed, 361 deletions(-) delete mode 100644 FastSimulation/Event/interface/BetaFuncPrimaryVertexGenerator.h delete mode 100644 FastSimulation/Event/interface/FlatPrimaryVertexGenerator.h delete mode 100644 FastSimulation/Event/interface/GaussianPrimaryVertexGenerator.h delete mode 100644 FastSimulation/Event/interface/NoPrimaryVertexGenerator.h delete mode 100644 FastSimulation/Event/interface/PrimaryVertexGenerator.h delete mode 100644 FastSimulation/Event/src/BetaFuncPrimaryVertexGenerator.cc delete mode 100644 FastSimulation/Event/src/FlatPrimaryVertexGenerator.cc delete mode 100644 FastSimulation/Event/src/GaussianPrimaryVertexGenerator.cc delete mode 100644 FastSimulation/Event/src/PrimaryVertexGenerator.cc diff --git a/FastSimulation/Event/interface/BetaFuncPrimaryVertexGenerator.h b/FastSimulation/Event/interface/BetaFuncPrimaryVertexGenerator.h deleted file mode 100644 index d74988cfcdba6..0000000000000 --- a/FastSimulation/Event/interface/BetaFuncPrimaryVertexGenerator.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef FastSimulation_Event_BetaFuncPrimaryVertexGenerator_H -#define FastSimulation_Event_BetaFuncPrimaryVertexGenerator_H - -// Famos Headers -#include "FastSimulation/Event/interface/PrimaryVertexGenerator.h" - -/** A class that generates a primary vertex with a realistic profile, in cm*/ - -class RandomEngineAndDistribution; - -namespace edm { - class ParameterSet; -} - -class BetaFuncPrimaryVertexGenerator : public PrimaryVertexGenerator { - - -public: - /// Default constructor - BetaFuncPrimaryVertexGenerator(const edm::ParameterSet& vtx); - - /// Destructor - ~BetaFuncPrimaryVertexGenerator() {;} - - /// Generation process (to be implemented) - virtual void generate(RandomEngineAndDistribution const*); - - /// set resolution in Z in cm - /// set mean in X in cm - /// beta function - double BetaFunction(double z, double z0); - -private: - - TMatrixD* inverseLorentzBoost(); - - double fX0, fY0, fZ0; - double fSigmaZ; - double alpha_, phi_; - double fbetastar, femittance; - -}; - -#endif // BetaFuncPrimaryVertexGenerator_H diff --git a/FastSimulation/Event/interface/FlatPrimaryVertexGenerator.h b/FastSimulation/Event/interface/FlatPrimaryVertexGenerator.h deleted file mode 100644 index 844cffe12ad27..0000000000000 --- a/FastSimulation/Event/interface/FlatPrimaryVertexGenerator.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef FastSimulation_Event_FlatPrimaryVertexGenerator_H -#define FastSimulation_Event_FlatPrimaryVertexGenerator_H - -// Famos Headers -#include "FastSimulation/Event/interface/PrimaryVertexGenerator.h" - -/** A class that generates a primary vertex with a Gaussian profile, in cm*/ - -class RandomEngineAndDistribution; - -namespace edm { - class ParameterSet; -} - -class FlatPrimaryVertexGenerator : public PrimaryVertexGenerator { - -public: - /// Default constructor - FlatPrimaryVertexGenerator(const edm::ParameterSet& vtx); - - /// Destructor - ~FlatPrimaryVertexGenerator() {;} - - /// Generation process (to be implemented) - virtual void generate(RandomEngineAndDistribution const*); - - private: - - // The smearing quantities in all three directions - double minX; - double minY; - double minZ; - double maxX; - double maxY; - double maxZ; - -}; - -#endif // FlatPrimaryVertexGenerator_H diff --git a/FastSimulation/Event/interface/GaussianPrimaryVertexGenerator.h b/FastSimulation/Event/interface/GaussianPrimaryVertexGenerator.h deleted file mode 100644 index d0588be0c9f52..0000000000000 --- a/FastSimulation/Event/interface/GaussianPrimaryVertexGenerator.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef FastSimulation_Event_GaussianPrimaryVertexGenerator_H -#define FastSimulation_Event_GaussianPrimaryVertexGenerator_H - -// Famos Headers -#include "FastSimulation/Event/interface/PrimaryVertexGenerator.h" - -/** A class that generates a primary vertex with a Gaussian profile, in cm*/ - -class RandomEngineAndDistribution; - -namespace edm { - class ParameterSet; -} - -class GaussianPrimaryVertexGenerator : public PrimaryVertexGenerator { - -public: - /// Default constructor - GaussianPrimaryVertexGenerator(const edm::ParameterSet& vtx); - - /// Destructor - ~GaussianPrimaryVertexGenerator() {;} - - /// Generation process (to be implemented) - virtual void generate(RandomEngineAndDistribution const*); - - private: - - // The smearing quantities in all three directions - double meanX; - double meanY; - double meanZ; - double sigmaX; - double sigmaY; - double sigmaZ; - -}; - -#endif // GaussianPrimaryVertexGenerator_H diff --git a/FastSimulation/Event/interface/NoPrimaryVertexGenerator.h b/FastSimulation/Event/interface/NoPrimaryVertexGenerator.h deleted file mode 100644 index 9245744da457f..0000000000000 --- a/FastSimulation/Event/interface/NoPrimaryVertexGenerator.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef FastSimulation_Event_NoPrimaryVertexGenerator_H -#define FastSimulation_Event_NoPrimaryVertexGenerator_H - -// Famos Headers -#include "FastSimulation/Event/interface/PrimaryVertexGenerator.h" - -/** A class that generates a primary vertex with a Gaussian profile, in cm*/ - -class NoPrimaryVertexGenerator : public PrimaryVertexGenerator { - -public: - /// Default constructor - NoPrimaryVertexGenerator() : PrimaryVertexGenerator() { - beamSpot_ = math::XYZPoint(0.,0.,0.); - } - - /// Destructor - ~NoPrimaryVertexGenerator() {;} - - /// Generation process (to be implemented) - virtual void generate(RandomEngineAndDistribution const*) { } - - private: - -}; - -#endif // NoPrimaryVertexGenerator_H diff --git a/FastSimulation/Event/interface/PrimaryVertexGenerator.h b/FastSimulation/Event/interface/PrimaryVertexGenerator.h deleted file mode 100644 index ce4e0ebeae861..0000000000000 --- a/FastSimulation/Event/interface/PrimaryVertexGenerator.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef FastSimulation_Event_PrimaryVertexGenerator_H -#define FastSimulation_Event_PrimaryVertexGenerator_H - -// Data Format Headers -#include "DataFormats/Math/interface/Vector3D.h" -#include "DataFormats/Math/interface/Point3D.h" -#include "TMatrixD.h" - -class RandomEngineAndDistribution; - -/** A class that generates a primary vertex for the event, in cm*/ - -class PrimaryVertexGenerator : public math::XYZVector { - -public: - /// Default constructor - PrimaryVertexGenerator(); - - /// Destructor - virtual ~PrimaryVertexGenerator(); - - /// Generation process (to be implemented) - virtual void generate(RandomEngineAndDistribution const*) = 0; - - TMatrixD* boost(); - const TMatrixD* boost() const; - - /// Return x0, y0, z0 - inline const math::XYZPoint& beamSpot() const { return beamSpot_; } - - protected: - - void setBoost(TMatrixD*); - - TMatrixD* boost_; - math::XYZPoint beamSpot_; - -}; - -#endif // PrimaryVertexGenerator_H diff --git a/FastSimulation/Event/src/BetaFuncPrimaryVertexGenerator.cc b/FastSimulation/Event/src/BetaFuncPrimaryVertexGenerator.cc deleted file mode 100644 index f0579d49ae483..0000000000000 --- a/FastSimulation/Event/src/BetaFuncPrimaryVertexGenerator.cc +++ /dev/null @@ -1,89 +0,0 @@ -//Framework Headers -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -//Famos Headers -#include "FastSimulation/Event/interface/BetaFuncPrimaryVertexGenerator.h" -#include "FastSimulation/Utilities/interface/RandomEngineAndDistribution.h" - -BetaFuncPrimaryVertexGenerator::BetaFuncPrimaryVertexGenerator( - const edm::ParameterSet& vtx) : - fX0(vtx.getParameter("X0")), - fY0(vtx.getParameter("Y0")), - fZ0(vtx.getParameter("Z0")), - fSigmaZ(vtx.getParameter("SigmaZ")), - alpha_(vtx.getParameter("Alpha")), - phi_(vtx.getParameter("Phi")), - fbetastar(vtx.getParameter("BetaStar")), - femittance(vtx.getParameter("Emittance")) -{ - - this->setBoost(inverseLorentzBoost()); - beamSpot_ = math::XYZPoint(fX0,fY0,fZ0); - -} - - -void BetaFuncPrimaryVertexGenerator::generate(RandomEngineAndDistribution const* random) { - - double tmp_sigz = random->gaussShoot(0., fSigmaZ); - this->SetZ(tmp_sigz + fZ0); - - double tmp_sigx = BetaFunction(tmp_sigz,fZ0); - // need to divide by sqrt(2) for beamspot width relative to single beam width - tmp_sigx *= 0.707107; - this->SetX(random->gaussShoot(fX0,tmp_sigx)); - - double tmp_sigy = BetaFunction(tmp_sigz,fZ0); - // need to divide by sqrt(2) for beamspot width relative to single beam width - tmp_sigy *= 0.707107; - this->SetY(random->gaussShoot(fY0,tmp_sigy)); - -} - -double BetaFuncPrimaryVertexGenerator::BetaFunction(double z, double z0) -{ - return sqrt(femittance*(fbetastar+(((z-z0)*(z-z0))/fbetastar))); - -} - - -TMatrixD* -BetaFuncPrimaryVertexGenerator::inverseLorentzBoost() { - - TMatrixD* aBoost = 0; - if ( fabs(alpha_) < 1E-12 && fabs(phi_) < 1E-12 ) return aBoost; - - TMatrixD tmpboost(4,4); - - // Lorentz boost to frame where the collision is head-on - // phi is the half crossing angle in the plane ZS - // alpha is the angle to the S axis from the X axis in the XY plane - - double calpha = std::cos(alpha_); - double salpha = std::sin(alpha_); - double cphi = std::cos(phi_); - double sphi = std::sin(phi_); - double tphi = sphi/cphi; - tmpboost(0,0) = 1./cphi; - tmpboost(0,1) = - calpha*sphi; - tmpboost(0,2) = - tphi*sphi; - tmpboost(0,3) = - salpha*sphi; - tmpboost(1,0) = - calpha*tphi; - tmpboost(1,1) = 1.; - tmpboost(1,2) = calpha*tphi; - tmpboost(1,3) = 0.; - tmpboost(2,0) = 0.; - tmpboost(2,1) = -calpha*sphi; - tmpboost(2,2) = cphi; - tmpboost(2,3) = - salpha*sphi; - tmpboost(3,0) = - salpha*tphi; - tmpboost(3,1) = 0.; - tmpboost(3,2) = salpha*tphi; - tmpboost(3,3) = 1.; - - tmpboost.Invert(); - aBoost = new TMatrixD(tmpboost); - - return aBoost; - -} diff --git a/FastSimulation/Event/src/FlatPrimaryVertexGenerator.cc b/FastSimulation/Event/src/FlatPrimaryVertexGenerator.cc deleted file mode 100644 index f7768b91eb8ce..0000000000000 --- a/FastSimulation/Event/src/FlatPrimaryVertexGenerator.cc +++ /dev/null @@ -1,28 +0,0 @@ -//Framework Headers -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -//Famos Headers -#include "FastSimulation/Event/interface/FlatPrimaryVertexGenerator.h" -#include "FastSimulation/Utilities/interface/RandomEngineAndDistribution.h" - - /// Default constructor -FlatPrimaryVertexGenerator::FlatPrimaryVertexGenerator( - const edm::ParameterSet& vtx) : - minX(vtx.getParameter("MinX")), - minY(vtx.getParameter("MinY")), - minZ(vtx.getParameter("MinZ")), - maxX(vtx.getParameter("MaxX")), - maxY(vtx.getParameter("MaxY")), - maxZ(vtx.getParameter("MaxZ")) -{ - beamSpot_ = math::XYZPoint((minX+maxX)/2.,(minY+maxY)/2.,(minZ+maxZ)/2.); -} - -void -FlatPrimaryVertexGenerator::generate(RandomEngineAndDistribution const* random) { - - this->SetX(random->flatShoot(minX,maxX)); - this->SetY(random->flatShoot(minY,maxY)); - this->SetZ(random->flatShoot(minZ,maxZ)); - -} diff --git a/FastSimulation/Event/src/GaussianPrimaryVertexGenerator.cc b/FastSimulation/Event/src/GaussianPrimaryVertexGenerator.cc deleted file mode 100644 index f94d104ddd9af..0000000000000 --- a/FastSimulation/Event/src/GaussianPrimaryVertexGenerator.cc +++ /dev/null @@ -1,28 +0,0 @@ -//Framework Headers -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -//Famos Headers -#include "FastSimulation/Event/interface/GaussianPrimaryVertexGenerator.h" -#include "FastSimulation/Utilities/interface/RandomEngineAndDistribution.h" - - /// Default constructor -GaussianPrimaryVertexGenerator::GaussianPrimaryVertexGenerator( - const edm::ParameterSet& vtx) : - meanX(vtx.getParameter("MeanX")), - meanY(vtx.getParameter("MeanY")), - meanZ(vtx.getParameter("MeanZ")), - sigmaX(vtx.getParameter("SigmaX")), - sigmaY(vtx.getParameter("SigmaY")), - sigmaZ(vtx.getParameter("SigmaZ")) -{ - beamSpot_ = math::XYZPoint(meanX,meanY,meanZ); -} - -void -GaussianPrimaryVertexGenerator::generate(RandomEngineAndDistribution const* random) { - - this->SetX(random->gaussShoot(meanX,sigmaX)); - this->SetY(random->gaussShoot(meanY,sigmaY)); - this->SetZ(random->gaussShoot(meanZ,sigmaZ)); - -} diff --git a/FastSimulation/Event/src/PrimaryVertexGenerator.cc b/FastSimulation/Event/src/PrimaryVertexGenerator.cc deleted file mode 100644 index 483367e5d80ee..0000000000000 --- a/FastSimulation/Event/src/PrimaryVertexGenerator.cc +++ /dev/null @@ -1,27 +0,0 @@ -#include "FastSimulation/Event/interface/PrimaryVertexGenerator.h" - - /// Default constructor -PrimaryVertexGenerator::PrimaryVertexGenerator() : - math::XYZVector(), - boost_(0) -{ -} - -PrimaryVertexGenerator::~PrimaryVertexGenerator() { - if ( boost_ ) delete boost_; -} - -const TMatrixD* -PrimaryVertexGenerator::boost() const { - return boost_; -} - -TMatrixD* -PrimaryVertexGenerator::boost() { - return boost_; -} - -void -PrimaryVertexGenerator::setBoost(TMatrixD* aBoost) { - boost_ = aBoost; -}