CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
SurveyOutput Class Reference

#include <SurveyOutput.h>

Public Member Functions

 SurveyOutput (const align::Alignables &, const std::string &fileName)
 
void write (unsigned int iter)
 write out variables More...
 

Private Attributes

const align::AlignablestheAlignables
 
TFile theFile
 

Detailed Description

Write variables to ntuple for survey analysis.

Date
2007/01/09
Revision
1
Author
Chung Khim Lae

Definition at line 21 of file SurveyOutput.h.

Constructor & Destructor Documentation

SurveyOutput::SurveyOutput ( const align::Alignables alignables,
const std::string &  fileName 
)

Definition at line 10 of file SurveyOutput.cc.

11  : theAlignables(alignables), theFile(fileName.c_str(), "RECREATE") {}
const align::Alignables & theAlignables
Definition: SurveyOutput.h:30

Member Function Documentation

void SurveyOutput::write ( unsigned int  iter)

write out variables

Definition at line 13 of file SurveyOutput.cc.

References particleFlowDisplacedVertex_cfi::angles, Alignable::displacement(), SiPixelPhase1TrackClustersV_cfi::e3, vertexPlots::e4, mps_fire::i, N, nt, connectstrParser::o, Alignable::rotation(), theAlignables, theFile, align::toAngles(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by pkg.AbstractPkg::generate(), SurveyAlignment::iterate(), and querying.connection::write_and_commit().

13  {
14  std::ostringstream o;
15 
16  o << 't' << iter;
17 
18  TNtuple* nt = new TNtuple(o.str().c_str(), "", "x:y:z:a:b:g");
19 
20  unsigned int N = theAlignables.size();
21 
22  for (unsigned int i = 0; i < N; ++i) {
23  const Alignable* ali = theAlignables[i];
24 
25  align::GlobalVector shifts = ali->displacement() * 1e4; // cm to um
26 
27  align::EulerAngles angles = align::toAngles(ali->rotation()) * 1e3; // to mrad
28 
29  nt->Fill(shifts.x(), shifts.y(), shifts.z(), angles(1), angles(2), angles(3));
30  // const AlgebraicVector& pars = ali->alignmentParameters()->parameters();
31 
32  // nt->Fill(pars[0], pars[1], pars[2], pars[3], pars[4], pars[5]);
33  }
34 
35  theFile.Write();
36 
37  delete nt;
38 }
const align::Alignables & theAlignables
Definition: SurveyOutput.h:30
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
Definition: Alignable.h:144
T y() const
Definition: PV3DBase.h:63
const RotationType & rotation() const
Return change of orientation since the creation of the object.
Definition: Alignable.h:147
T z() const
Definition: PV3DBase.h:64
EulerAngles toAngles(const RotationType &)
Convert rotation matrix to angles about x-, y-, z-axes (frame rotation).
Definition: Utilities.cc:9
int nt
Definition: AMPTWrapper.h:32
AlgebraicVector EulerAngles
Definition: Definitions.h:36
#define N
Definition: blowfish.cc:9
T x() const
Definition: PV3DBase.h:62

Member Data Documentation

const align::Alignables& SurveyOutput::theAlignables
private

Definition at line 30 of file SurveyOutput.h.

Referenced by write().

TFile SurveyOutput::theFile
private

Definition at line 32 of file SurveyOutput.h.

Referenced by write().