|
|
Go to the documentation of this file.
35 AliVec& vali(aliPtr->m_align);
37 convert(eventSetup, alphaVec, betaVec, gammaVec, xtranslVec, ytranslVec, ztranslVec, vali);
43 std::cout <<
"Uploading ES alignments to the database" << std::endl;
48 throw cms::Exception(
"NotAvailable") <<
"PoolDBOutputService not available";
66 const AliVec& vaPrev(pA.m_align);
69 for (
unsigned int i(0);
i !=
k_nA; ++
i) {
76 double zPlanePrev(
geom->getGeometry(
id)->getPosition().z());
77 const double zAlignPrev(vaPrev[
i].translation().
z());
78 const Trl q_I(0, 0, zPlanePrev - zAlignPrev);
79 const Trl& s_p(vaPrev[
i].translation());
89 const Rot InvL_n(L_n.inverse());
91 const Rot G_n(InvL_n * G_p);
93 const Trl s_n(t_n + s_p + q_I - InvL_n * q_I);
95 std::cout <<
"For i = " <<
i <<
", q_I=" << q_I << std::endl;
96 std::cout <<
"For i = " <<
i <<
", s_p=" << s_p << std::endl;
97 std::cout <<
"For i = " <<
i <<
", alpha = " << 1000. *
alpha <<
" mr" << std::endl;
98 std::cout <<
"For i = " <<
i <<
", beta = " << 1000. *
beta <<
" mr" << std::endl;
99 std::cout <<
"For i = " <<
i <<
", gamma = " << 1000. *
gamma <<
" mr" << std::endl;
100 std::cout <<
" For i = " <<
i <<
", L_n = " << L_n <<
" Euler angles=" << InvL_n.eulerAngles() <<
"\n"
102 std::cout <<
"For i = " <<
i <<
", t_n=" << t_n << std::endl;
103 std::cout <<
"For i = " <<
i <<
", G_p=" << G_p <<
" Euler angles=" << G_p.eulerAngles() <<
"\n" << std::endl;
104 std::cout <<
" For i = " <<
i <<
", InvL_n = " << InvL_n <<
" Euler angles=" << InvL_n.eulerAngles() <<
"\n"
106 std::cout <<
" For i =" <<
i <<
", G_n = " << G_n <<
" Euler angles=" << G_n.eulerAngles() <<
"\n" << std::endl;
107 std::cout <<
" For i =" <<
i <<
", s_n = " << s_n << std::endl;
108 std::cout <<
"++++++++++++++++++++++++++\n\n" << std::endl;
std::vector< AlignTransform > AliVec
edm::ESGetToken< Alignments, ESAlignmentRcd > alignmentToken_
alpha
zGenParticlesMatch = cms.InputTag(""),
static DetId detIdFromLocalAlignmentIndex(unsigned int iLoc)
AlignTransform::Translation Trl
void write(AliPtr aliPtr)
static unsigned int numberOfAlignments()
WriteESAlignments(edm::ConsumesCollector &&cc)
static const unsigned int k_nA
bool getData(T &iHolder) const
std::vector< double > DVec
void writeAlignments(const edm::EventSetup &eventSetup, const DVec &alphaVec, const DVec &betaVec, const DVec &gammaVec, const DVec &xtranslVec, const DVec &ytranslVec, const DVec &ztranslVec)
Hash writeOne(const T *payload, Time_t time, const std::string &recordName)
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geometryToken_
AlignTransform::Rotation Rot
cond::Time_t currentTime() const
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
void convert(const edm::EventSetup &eS, const DVec &a, const DVec &b, const DVec &g, const DVec &x, const DVec &y, const DVec &z, AliVec &va)