23 changeFrame_ = iconf.
getParameter<
bool>(
"changeToCMSCoordinates");
33 produces<reco::BeamSpot>();
45 if (iEvent.
getByLabel(thel1GtEvmReadoutRecordTag, gtEvmReadoutRecord)){
46 const boost::uint16_t beamModeValue = (gtEvmReadoutRecord->gtfeWord()).beamMode();
47 if (beamModeValue == 11) shoutMODE=
true;
65 bool fallBackToDB=
false;
66 if (handleScaler->size()!=0){
68 spotOnline = * ( handleScaler->begin() );
73 if (changeFrame_) f = -1.;
78 matrix(0,0) = spotOnline.
err_x()*spotOnline.
err_x();
79 matrix(1,1) = spotOnline.
err_y()*spotOnline.
err_y();
80 matrix(2,2) = spotOnline.
err_z()*spotOnline.
err_z();
83 double sigmaZ = spotOnline.
sigma_z();
85 sigmaZ = theSetSigmaZ;
101 if ( spotOnline.
x() == 0 &&
102 spotOnline.
y() == 0 &&
103 spotOnline.
z() == 0 &&
109 <<
"Online Beam Spot producer falls back to DB value because the scaler values are zero ";
113 double r2=spotOnline.
x()*spotOnline.
x() + spotOnline.
y()*spotOnline.
y();
114 if (fabs(spotOnline.
z())>=theMaxZ || r2>=theMaxR2){
117 <<
"Online Beam Spot producer falls back to DB value because the scaler values are too big to be true :"
118 <<spotOnline.
x()<<
" "<<spotOnline.
y()<<
" "<<spotOnline.
z();
139 for (
int i=0;
i<7; ++
i ) {
140 for (
int j=0;
j<7; ++
j ) {
double Getdydz() const
get dydz slope, crossing angle in YZ
math::Error< dimension >::type CovarianceMatrix
T getParameter(std::string const &) const
double GetY() const
get Y beam position
void setbetaStar(double v)
BeamSpotOnlineProducer(const edm::ParameterSet &iConf)
constructor
double GetSigmaZ() const
get sigma Z, RMS bunch length
double GetBeamWidthX() const
get average transverse beam width
math::XYZPoint Point
point in the space
DEFINE_FWK_MODULE(HiMixingModule)
double GetBeamWidthY() const
get average transverse beam width
double GetEmittanceX() const
get emittance
void setType(BeamType type)
set beam type
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup)
produce a beam spot class
void setBeamWidthY(double v)
void setEmittanceY(double v)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
double GetZ() const
get Z beam position
double Getdxdz() const
get dxdz slope, crossing angle in XZ
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
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
void setEmittanceX(double v)