18 : changeFrame_ ( iconf.getParameter<bool> (
"changeToCMSCoordinates") )
19 , theMaxZ ( iconf.getParameter<double>(
"maxZ") )
20 , theSetSigmaZ ( iconf.getParameter<double>(
"setSigmaZ") )
23 , theBeamShoutMode ( iconf.getUntrackedParameter<unsigned int> (
"beamMode",11) )
29 produces<reco::BeamSpot>();
42 if (gtEvmReadoutRecord->gtfeWord().beamMode() ==
theBeamShoutMode) shoutMODE=
true;
56 auto result = std::make_unique<reco::BeamSpot>();
60 bool fallBackToDB=
false;
61 if (handleScaler->size()!=0){
63 spotOnline = * ( handleScaler->begin() );
78 double sigmaZ = spotOnline.
sigma_z();
89 aSpot.setBeamWidthY( spotOnline.
width_y() );
90 aSpot.setEmittanceX( 0. );
91 aSpot.setEmittanceY( 0. );
92 aSpot.setbetaStar( 0.) ;
96 if ( spotOnline.
x() == 0 &&
97 spotOnline.
y() == 0 &&
98 spotOnline.
z() == 0 &&
104 <<
"Online Beam Spot producer falls back to DB value because the scaler values are zero ";
108 double r2=spotOnline.
x()*spotOnline.
x() + spotOnline.
y()*spotOnline.
y();
112 <<
"Online Beam Spot producer falls back to DB value because the scaler values are too big to be true :"
113 <<spotOnline.
x()<<
" "<<spotOnline.
y()<<
" "<<spotOnline.
z();
134 for (
int i=0;
i<7; ++
i ) {
135 for (
int j=0;
j<7; ++
j ) {
double Getdydz() const
get dydz slope, crossing angle in YZ
std::vector< BeamSpotOnline > BeamSpotOnlineCollection
math::Error< dimension >::type CovarianceMatrix
T getParameter(std::string const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
double GetY() const
get Y beam position
const double theSetSigmaZ
const edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > l1GtEvmReadoutRecordToken_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
produce a beam spot class
BeamSpotOnlineProducer(const edm::ParameterSet &iConf)
constructor
const edm::EDGetTokenT< BeamSpotOnlineCollection > scalerToken_
double GetSigmaZ() const
get sigma Z, RMS bunch length
double GetBeamWidthX() const
get average transverse beam width
math::XYZPoint Point
point in the space
double GetBeamWidthY() const
get average transverse beam width
double GetEmittanceX() const
get emittance
double GetZ() const
get Z beam position
const unsigned int theBeamShoutMode
double Getdxdz() const
get dxdz slope, crossing angle in XZ
double GetX() const
get X beam position
T const * product() const
double GetBetaStar() const
get beta star
double GetCovariance(int i, int j) const
get i,j element of the full covariance matrix 7x7
double GetEmittanceY() const
get emittance
~BeamSpotOnlineProducer()
destructor
float err_sigma_z() const