CMS 3D CMS Logo

Public Member Functions | Private Attributes

BeamSpotObjects Class Reference

#include <BeamSpotObjects.h>

List of all members.

Public Member Functions

 BeamSpotObjects ()
 default constructor
int GetBeamType () const
 get beam type
double GetBeamWidthX () const
 get average transverse beam width
double GetBeamWidthXError () const
 get average transverse beam width error ASSUME the same for X and Y
double GetBeamWidthY () const
 get average transverse beam width
double GetBeamWidthYError () const
 get average transverse beam width error X = Y
double GetBetaStar () const
 get beta star
double GetCovariance (int i, int j) const
 get i,j element of the full covariance matrix 7x7
double Getdxdz () const
 get dxdz slope, crossing angle in XZ
double GetdxdzError () const
 get dxdz slope, crossing angle in XZ Error
double Getdydz () const
 get dydz slope, crossing angle in YZ
double GetdydzError () const
 get dydz slope, crossing angle in YZ Error
double GetEmittanceX () const
 get emittance
double GetEmittanceY () const
 get emittance
double GetSigmaZ () const
 get sigma Z, RMS bunch length
double GetSigmaZError () const
 get sigma Z, RMS bunch length Error
double GetX () const
 get X beam position
double GetXError () const
 get X beam position Error
double GetY () const
 get Y beam position
double GetYError () const
 get Y beam position Error
double GetZ () const
 get Z beam position
double GetZError () const
 get Z beam position Error
void print (std::stringstream &ss) const
 print beam spot parameters
void SetBeamWidthX (double val)
 set average transverse beam width X
void SetBeamWidthXError (double val)
 set beam width X error
void SetBeamWidthY (double val)
 set average transverse beam width Y
void SetBeamWidthYError (double val)
 set beam width Y error
void SetBetaStar (double val)
 set beta star
void SetCovariance (int i, int j, double val)
 set i,j element of the full covariance matrix 7x7
void Setdxdz (double val)
 set dxdz slope, crossing angle
void Setdydz (double val)
 set dydz slope, crossing angle in XZ
void SetEmittanceX (double val)
 set emittance
void SetEmittanceY (double val)
 set emittance
void SetPosition (double x, double y, double z)
 set XYZ position
void SetSigmaZ (double val)
 set sigma Z, RMS bunch length
void SetType (int type)
 set beam type
virtual ~BeamSpotObjects ()

Private Attributes

double beamwidthX_
double beamwidthXError_
double beamwidthY_
double beamwidthYError_
double betaStar_
double covariance_ [7][7]
double dxdz_
double dydz_
double emittanceX_
double emittanceY_
double position_ [3]
double sigmaZ_
int type_

Detailed Description

Reconstructed beam spot object. It provides position, error, and width of the beam position.

Author:
Francisco Yumiceva, Fermilab (yumiceva@fnal.gov)
Version:
Id:
BeamSpotObjects.h,v 1.10 2009/03/26 19:43:30 yumiceva Exp

Definition at line 18 of file BeamSpotObjects.h.


Constructor & Destructor Documentation

BeamSpotObjects::BeamSpotObjects ( ) [inline]

default constructor

Definition at line 23 of file BeamSpotObjects.h.

References beamwidthXError_, beamwidthYError_, betaStar_, covariance_, emittanceX_, emittanceY_, and position_.

                         : sigmaZ_(0), beamwidthX_(0), beamwidthY_(0),
                dxdz_(0), dydz_(0), type_(-1) {

                beamwidthXError_ = 0;
                beamwidthYError_ = 0;
                emittanceX_ = 0;
                emittanceY_ = 0;
                betaStar_ = 0;
                std::memset(position_, 0, sizeof position_);
                std::memset(covariance_, 0, sizeof covariance_);
        }
virtual BeamSpotObjects::~BeamSpotObjects ( ) [inline, virtual]

Definition at line 35 of file BeamSpotObjects.h.

{}

Member Function Documentation

int BeamSpotObjects::GetBeamType ( ) const [inline]

get beam type

Definition at line 105 of file BeamSpotObjects.h.

References type_.

Referenced by AlcaBeamMonitor::beginLuminosityBlock(), AlcaBeamSpotFromDB::endLuminosityBlock(), and print().

{ return type_; }
double BeamSpotObjects::GetBeamWidthX ( ) const [inline]

get average transverse beam width

Definition at line 79 of file BeamSpotObjects.h.

References beamwidthX_.

Referenced by AlcaBeamMonitor::beginLuminosityBlock(), AlcaBeamSpotFromDB::endLuminosityBlock(), print(), and BeamSpotOnlineProducer::produce().

{ return beamwidthX_; }
double BeamSpotObjects::GetBeamWidthXError ( ) const [inline]

get average transverse beam width error ASSUME the same for X and Y

Definition at line 97 of file BeamSpotObjects.h.

References covariance_, and mathSSE::sqrt().

Referenced by print().

{ return sqrt(covariance_[6][6]); }
double BeamSpotObjects::GetBeamWidthY ( ) const [inline]

get average transverse beam width

Definition at line 81 of file BeamSpotObjects.h.

References beamwidthY_.

Referenced by AlcaBeamMonitor::beginLuminosityBlock(), AlcaBeamSpotFromDB::endLuminosityBlock(), print(), and BeamSpotOnlineProducer::produce().

{ return beamwidthY_; }
double BeamSpotObjects::GetBeamWidthYError ( ) const [inline]

get average transverse beam width error X = Y

Definition at line 99 of file BeamSpotObjects.h.

References covariance_, and mathSSE::sqrt().

Referenced by print().

{ return sqrt(covariance_[6][6]); }
double BeamSpotObjects::GetBetaStar ( ) const [inline]
double BeamSpotObjects::GetCovariance ( int  i,
int  j 
) const [inline]

get i,j element of the full covariance matrix 7x7

Definition at line 87 of file BeamSpotObjects.h.

References covariance_, i, and j.

Referenced by AlcaBeamMonitor::beginLuminosityBlock(), AlcaBeamSpotFromDB::endLuminosityBlock(), and BeamSpotOnlineProducer::produce().

{ return covariance_[i][j]; }
double BeamSpotObjects::Getdxdz ( ) const [inline]

get dxdz slope, crossing angle in XZ

Definition at line 83 of file BeamSpotObjects.h.

References dxdz_.

Referenced by AlcaBeamMonitor::beginLuminosityBlock(), AlcaBeamSpotFromDB::endLuminosityBlock(), print(), and BeamSpotOnlineProducer::produce().

{ return dxdz_; }
double BeamSpotObjects::GetdxdzError ( ) const [inline]

get dxdz slope, crossing angle in XZ Error

Definition at line 101 of file BeamSpotObjects.h.

References covariance_, and mathSSE::sqrt().

Referenced by print().

{ return sqrt(covariance_[4][4]); }
double BeamSpotObjects::Getdydz ( ) const [inline]

get dydz slope, crossing angle in YZ

Definition at line 85 of file BeamSpotObjects.h.

References dydz_.

Referenced by AlcaBeamMonitor::beginLuminosityBlock(), AlcaBeamSpotFromDB::endLuminosityBlock(), print(), and BeamSpotOnlineProducer::produce().

{ return dydz_; }
double BeamSpotObjects::GetdydzError ( ) const [inline]

get dydz slope, crossing angle in YZ Error

Definition at line 103 of file BeamSpotObjects.h.

References covariance_, and mathSSE::sqrt().

Referenced by print().

{ return sqrt(covariance_[5][5]); }
double BeamSpotObjects::GetEmittanceX ( ) const [inline]
double BeamSpotObjects::GetEmittanceY ( ) const [inline]
double BeamSpotObjects::GetSigmaZ ( ) const [inline]

get sigma Z, RMS bunch length

Definition at line 77 of file BeamSpotObjects.h.

References sigmaZ_.

Referenced by AlcaBeamMonitor::beginLuminosityBlock(), AlcaBeamSpotFromDB::endLuminosityBlock(), print(), and BeamSpotOnlineProducer::produce().

{ return sigmaZ_; }
double BeamSpotObjects::GetSigmaZError ( ) const [inline]

get sigma Z, RMS bunch length Error

Definition at line 95 of file BeamSpotObjects.h.

References covariance_, and mathSSE::sqrt().

Referenced by print().

{ return sqrt(covariance_[3][3]); }
double BeamSpotObjects::GetX ( ) const [inline]
double BeamSpotObjects::GetXError ( ) const [inline]

get X beam position Error

Definition at line 89 of file BeamSpotObjects.h.

References covariance_, and mathSSE::sqrt().

Referenced by BeamConditionsMonitor::endLuminosityBlock(), and print().

{ return sqrt(covariance_[0][0]); }
double BeamSpotObjects::GetY ( ) const [inline]
double BeamSpotObjects::GetYError ( ) const [inline]

get Y beam position Error

Definition at line 91 of file BeamSpotObjects.h.

References covariance_, and mathSSE::sqrt().

Referenced by BeamConditionsMonitor::endLuminosityBlock(), and print().

{ return sqrt(covariance_[1][1]); }
double BeamSpotObjects::GetZ ( void  ) const [inline]

get Z beam position

Definition at line 75 of file BeamSpotObjects.h.

References position_.

Referenced by AlcaBeamMonitor::beginLuminosityBlock(), AlcaBeamSpotFromDB::endLuminosityBlock(), print(), and BeamSpotOnlineProducer::produce().

{ return position_[2]; }
double BeamSpotObjects::GetZError ( void  ) const [inline]

get Z beam position Error

Definition at line 93 of file BeamSpotObjects.h.

References covariance_, and mathSSE::sqrt().

Referenced by print().

{ return sqrt(covariance_[2][2]); }
void BeamSpotObjects::print ( std::stringstream &  ss) const

print beam spot parameters

Definition at line 5 of file BeamSpotObjects.cc.

References GetBeamType(), GetBeamWidthX(), GetBeamWidthXError(), GetBeamWidthY(), GetBeamWidthYError(), GetBetaStar(), Getdxdz(), GetdxdzError(), Getdydz(), GetdydzError(), GetEmittanceX(), GetEmittanceY(), GetSigmaZ(), GetSigmaZError(), GetX(), GetXError(), GetY(), GetYError(), GetZ(), and GetZError().

Referenced by operator<<().

                                                     {
          ss << "-----------------------------------------------------\n"
             << "              Beam Spot Data\n\n"
                 << " Beam type    = " << GetBeamType() << "\n"
             << "       X0     = " << GetX() << " +/- " << GetXError() << " [cm]\n"
             << "       Y0     = " << GetY() << " +/- " << GetYError() << " [cm]\n"
             << "       Z0     = " << GetZ() << " +/- " << GetZError() << " [cm]\n"
             << " Sigma Z0     = " << GetSigmaZ() << " +/- " << GetSigmaZError() << " [cm]\n"
             << " dxdz         = " << Getdxdz() << " +/- " << GetdxdzError() << " [radians]\n"
             << " dydz         = " << Getdydz() << " +/- " << GetdydzError() << " [radians]\n"
             << " Beam Width X = " << GetBeamWidthX() << " +/- " << GetBeamWidthXError() << " [cm]\n"
                 << " Beam Width Y = " << GetBeamWidthY() << " +/- " << GetBeamWidthYError() << " [cm]\n"
                 << " Emittance X  = " << GetEmittanceX() << " [cm]\n"
                 << " Emittance Y  = " << GetEmittanceY() << " [cm]\n"
                 << " Beta star    = " << GetBetaStar() << " [cm]\n"
             << "-----------------------------------------------------\n\n";
}
void BeamSpotObjects::SetBeamWidthX ( double  val) [inline]

set average transverse beam width X

Definition at line 50 of file BeamSpotObjects.h.

References beamwidthX_.

Referenced by BeamSpotWrite2DB::endJob(), AlcaBeamSpotHarvester::endRun(), BeamSpotFakeConditions::produce(), and BeamFitter::write2DB().

{ beamwidthX_ = val; }
void BeamSpotObjects::SetBeamWidthXError ( double  val) [inline]

set beam width X error

Definition at line 54 of file BeamSpotObjects.h.

References beamwidthXError_.

{ beamwidthXError_ = val; }
void BeamSpotObjects::SetBeamWidthY ( double  val) [inline]

set average transverse beam width Y

Definition at line 52 of file BeamSpotObjects.h.

References beamwidthY_.

Referenced by BeamSpotWrite2DB::endJob(), AlcaBeamSpotHarvester::endRun(), BeamSpotFakeConditions::produce(), and BeamFitter::write2DB().

{ beamwidthY_ = val; }
void BeamSpotObjects::SetBeamWidthYError ( double  val) [inline]

set beam width Y error

Definition at line 56 of file BeamSpotObjects.h.

References beamwidthYError_.

{ beamwidthYError_ = val; }
void BeamSpotObjects::SetBetaStar ( double  val) [inline]

set beta star

Definition at line 68 of file BeamSpotObjects.h.

References betaStar_.

Referenced by BeamSpotWrite2DB::endJob(), AlcaBeamSpotHarvester::endRun(), and BeamSpotFakeConditions::produce().

{ betaStar_ = val;}
void BeamSpotObjects::SetCovariance ( int  i,
int  j,
double  val 
) [inline]

set i,j element of the full covariance matrix 7x7

Definition at line 58 of file BeamSpotObjects.h.

References covariance_, i, and j.

Referenced by BeamSpotWrite2DB::endJob(), AlcaBeamSpotHarvester::endRun(), BeamSpotFakeConditions::produce(), and BeamFitter::write2DB().

                                                     {
                covariance_[i][j] = val;
        }
void BeamSpotObjects::Setdxdz ( double  val) [inline]

set dxdz slope, crossing angle

Definition at line 46 of file BeamSpotObjects.h.

References dxdz_.

Referenced by BeamSpotWrite2DB::endJob(), AlcaBeamSpotHarvester::endRun(), BeamSpotFakeConditions::produce(), and BeamFitter::write2DB().

{ dxdz_ = val; }
void BeamSpotObjects::Setdydz ( double  val) [inline]

set dydz slope, crossing angle in XZ

Definition at line 48 of file BeamSpotObjects.h.

References dydz_.

Referenced by BeamSpotWrite2DB::endJob(), AlcaBeamSpotHarvester::endRun(), BeamSpotFakeConditions::produce(), and BeamFitter::write2DB().

{ dydz_ = val; }
void BeamSpotObjects::SetEmittanceX ( double  val) [inline]

set emittance

Definition at line 64 of file BeamSpotObjects.h.

References emittanceX_.

Referenced by BeamSpotWrite2DB::endJob(), AlcaBeamSpotHarvester::endRun(), and BeamSpotFakeConditions::produce().

{ emittanceX_ = val;}
void BeamSpotObjects::SetEmittanceY ( double  val) [inline]

set emittance

Definition at line 66 of file BeamSpotObjects.h.

References emittanceY_.

Referenced by BeamSpotWrite2DB::endJob(), AlcaBeamSpotHarvester::endRun(), and BeamSpotFakeConditions::produce().

{ emittanceY_ = val;}
void BeamSpotObjects::SetPosition ( double  x,
double  y,
double  z 
) [inline]
void BeamSpotObjects::SetSigmaZ ( double  val) [inline]

set sigma Z, RMS bunch length

Definition at line 44 of file BeamSpotObjects.h.

References sigmaZ_.

Referenced by BeamSpotWrite2DB::endJob(), AlcaBeamSpotHarvester::endRun(), BeamSpotFakeConditions::produce(), and BeamFitter::write2DB().

{ sigmaZ_ = val; }
void BeamSpotObjects::SetType ( int  type) [inline]

set beam type

Definition at line 62 of file BeamSpotObjects.h.

References type_.

Referenced by BeamSpotWrite2DB::endJob(), and AlcaBeamSpotHarvester::endRun().

{ type_ = type; }

Member Data Documentation

double BeamSpotObjects::beamwidthX_ [private]

Definition at line 120 of file BeamSpotObjects.h.

Referenced by GetBeamWidthX(), and SetBeamWidthX().

Definition at line 122 of file BeamSpotObjects.h.

Referenced by BeamSpotObjects(), and SetBeamWidthXError().

double BeamSpotObjects::beamwidthY_ [private]

Definition at line 121 of file BeamSpotObjects.h.

Referenced by GetBeamWidthY(), and SetBeamWidthY().

Definition at line 123 of file BeamSpotObjects.h.

Referenced by BeamSpotObjects(), and SetBeamWidthYError().

double BeamSpotObjects::betaStar_ [private]

Definition at line 130 of file BeamSpotObjects.h.

Referenced by BeamSpotObjects(), GetBetaStar(), and SetBetaStar().

double BeamSpotObjects::covariance_[7][7] [private]
double BeamSpotObjects::dxdz_ [private]

Definition at line 124 of file BeamSpotObjects.h.

Referenced by Getdxdz(), and Setdxdz().

double BeamSpotObjects::dydz_ [private]

Definition at line 125 of file BeamSpotObjects.h.

Referenced by Getdydz(), and Setdydz().

double BeamSpotObjects::emittanceX_ [private]

Definition at line 128 of file BeamSpotObjects.h.

Referenced by BeamSpotObjects(), GetEmittanceX(), and SetEmittanceX().

double BeamSpotObjects::emittanceY_ [private]

Definition at line 129 of file BeamSpotObjects.h.

Referenced by BeamSpotObjects(), GetEmittanceY(), and SetEmittanceY().

double BeamSpotObjects::position_[3] [private]

Definition at line 118 of file BeamSpotObjects.h.

Referenced by BeamSpotObjects(), GetX(), GetY(), GetZ(), and SetPosition().

double BeamSpotObjects::sigmaZ_ [private]

Definition at line 119 of file BeamSpotObjects.h.

Referenced by GetSigmaZ(), and SetSigmaZ().

int BeamSpotObjects::type_ [private]

Definition at line 127 of file BeamSpotObjects.h.

Referenced by GetBeamType(), and SetType().