CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
BeamSpotWrite2Txt.h
Go to the documentation of this file.
1 #ifndef RecoVertex_BeamSpotProducer_BeamSpotWrite2Txt_h
2 #define RecoVertex_BeamSpotProducer_BeamSpotWrite2Txt_h
3 
4 #include <fstream>
5 
7 
8 namespace beamspot {
9 
12  int run;
13  char beginTimeOfFit[32];
14  char endTimeOfFit[32];
17  std::time_t reftime[2];
18  };
19 
20  inline void dumpBeamSpotTxt(std::ofstream& outFile, BeamSpotContainer const& bsContainer) {
21  outFile << "Runnumber " << bsContainer.run << std::endl;
22  outFile << "BeginTimeOfFit " << bsContainer.beginTimeOfFit << " " << bsContainer.reftime[0] << std::endl;
23  outFile << "EndTimeOfFit " << bsContainer.endTimeOfFit << " " << bsContainer.reftime[1] << std::endl;
24  outFile << "LumiRange " << bsContainer.beginLumiOfFit << " - " << bsContainer.endLumiOfFit << std::endl;
25  outFile << "Type " << bsContainer.beamspot.type() << std::endl;
26  outFile << "X0 " << bsContainer.beamspot.x0() << std::endl;
27  outFile << "Y0 " << bsContainer.beamspot.y0() << std::endl;
28  outFile << "Z0 " << bsContainer.beamspot.z0() << std::endl;
29  outFile << "sigmaZ0 " << bsContainer.beamspot.sigmaZ() << std::endl;
30  outFile << "dxdz " << bsContainer.beamspot.dxdz() << std::endl;
31  outFile << "dydz " << bsContainer.beamspot.dydz() << std::endl;
32  outFile << "BeamWidthX " << bsContainer.beamspot.BeamWidthX() << std::endl;
33  outFile << "BeamWidthY " << bsContainer.beamspot.BeamWidthY() << std::endl;
34  for (int i = 0; i < 6; ++i) {
35  outFile << "Cov(" << i << ",j) ";
36  for (int j = 0; j < 7; ++j) {
37  outFile << bsContainer.beamspot.covariance(i, j) << " ";
38  }
39  outFile << std::endl;
40  }
41  // Uncertainties on sigmaX and sigmaY are set to be equal. Legacy from a distant past
42  outFile << "Cov(6,j) 0 0 0 0 0 0 " << bsContainer.beamspot.covariance(6, 6) << std::endl;
43  outFile << "EmittanceX " << bsContainer.beamspot.emittanceX() << std::endl;
44  outFile << "EmittanceY " << bsContainer.beamspot.emittanceY() << std::endl;
45  outFile << "BetaStar " << bsContainer.beamspot.betaStar() << std::endl;
46  }
47 
48 } // end namespace beamspot
49 
50 #endif
double z0() const
z coordinate
Definition: BeamSpot.h:65
double emittanceX() const
additional information
Definition: BeamSpot.h:129
double betaStar() const
Definition: BeamSpot.h:131
double dydz() const
dydz slope
Definition: BeamSpot.h:80
double emittanceY() const
Definition: BeamSpot.h:130
double BeamWidthX() const
beam width X
Definition: BeamSpot.h:82
double dxdz() const
dxdz slope
Definition: BeamSpot.h:78
double sigmaZ() const
sigma z
Definition: BeamSpot.h:76
double BeamWidthY() const
beam width Y
Definition: BeamSpot.h:84
double covariance(int i, int j) const
(i,j)-th element of error matrix
Definition: BeamSpot.h:108
double y0() const
y coordinate
Definition: BeamSpot.h:63
void dumpBeamSpotTxt(std::ofstream &outFile, BeamSpotContainer const &bsContainer)
BeamType type() const
return beam type
Definition: BeamSpot.h:122
double x0() const
x coordinate
Definition: BeamSpot.h:61