CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
PFBlockElementSuperCluster.cc
Go to the documentation of this file.
4 #include "Math/Vector3D.h"
5 
6 #include <iomanip>
7 
8 using namespace reco;
9 using namespace std;
10 
11 void PFBlockElementSuperCluster::Dump(ostream& out, const char* tab) const {
12  if (!out)
13  return;
14  // need to convert the math::XYZPoint data member of the PFCluster class=
15  // to a displacement vector:
16  ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double>, ROOT::Math::DefaultCoordinateSystemTag> clusterPos(
17  superClusterRef_->position().X(), superClusterRef_->position().Y(), superClusterRef_->position().Z());
18 
19  clusterPos = clusterPos.Unit();
20  double E = superClusterRef_->energy();
21  clusterPos *= E;
22  double ET = sqrt(clusterPos.X() * clusterPos.X() + clusterPos.Y() * clusterPos.Y());
23 
24  out << setprecision(3);
25  out << setiosflags(ios::right);
26  out << setiosflags(ios::fixed);
27  out << setw(4) << ", ET =" << setw(7) << ET;
28  out << setw(4) << ", E =" << setw(7) << E;
29  out << " (eta,phi,z)= (";
30  out << superClusterRef_->position().Eta() << ",";
31  out << superClusterRef_->position().Phi() << ",";
32  out << superClusterRef_->position().Z() << ")";
33  out << resetiosflags(ios::right | ios::fixed);
34 }
T sqrt(T t)
Definition: SSEVec.h:19
#define ET
void Dump(std::ostream &out=std::cout, const char *tab=" ") const override
print the object inside the element