CMS 3D CMS Logo

PFBlockElementCluster.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 
12  const char* tab ) const {
13 
14  if(! out ) return;
15  // need to convert the math::XYZPoint data member of the PFCluster class=
16  // to a displacement vector:
17  ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D<double> , ROOT::Math::DefaultCoordinateSystemTag >
18  clusterPos( clusterRef_->position().X(), clusterRef_->position().Y(),clusterRef_->position().Z() );
19 
20  clusterPos = clusterPos.Unit();
21  double E = clusterRef_->energy();
22  clusterPos *= E;
23  double ET = sqrt (clusterPos.X()*clusterPos.X() + clusterPos.Y()*clusterPos.Y());
24 
25  out << setprecision(3);
26  out << tab<<setw(7)<<"layer="<<setw(3)<<clusterRef_->layer();
27  out << setiosflags(ios::right);
28  out << setiosflags(ios::fixed);
29  out << setw(4) <<", ET =" << setw(7) << ET;
30  out << setw(4) <<", E =" << setw(7) << E;
31  out << " (eta,phi,z)= (";
32  out << clusterRef_->position().Eta()<<",";
33  out << clusterRef_->position().Phi()<<",";
34  out << clusterRef_->position().Z() <<")";
35  out << resetiosflags(ios::right|ios::fixed);
36 }
T sqrt(T t)
Definition: SSEVec.h:18
void Dump(std::ostream &out=std::cout, const char *tab=" ") const
print the object inside the element
fixed size matrix
#define ET