12 if (modifiedName[0] ==
'M' && modifiedName[1] ==
'E') {
13 if (modifiedName[2] ==
'-') modifiedName[2] =
'm';
14 else if (modifiedName[2] ==
'+') modifiedName[2] =
'p';
15 if (modifiedName[4] ==
'/') modifiedName[4] =
'_';
16 if (modifiedName[6] ==
'/') modifiedName[6] =
'_';
18 else if (modifiedName[0] ==
'Y' && modifiedName[1] ==
'E') {
19 if (modifiedName[2] ==
'-') modifiedName[2] =
'm';
20 else if (modifiedName[2] ==
'+') modifiedName[2] =
'p';
23 std::stringstream histname, histtitle;
24 histname << modifiedName <<
"_mode_" <<
i;
29 bool showed_full_name =
false;
33 if (
m_modeid[i][j] == -1 || !showed_full_name) {
34 hist->GetXaxis()->SetBinLabel(j+1,
m_modename[i][j].c_str());
37 std::stringstream shortname;
39 hist->GetXaxis()->SetBinLabel(j+1, shortname.str().c_str());
41 if (
m_modeid[i][j] != -1) showed_full_name =
true;
51 for (
unsigned int i = 0;
i <
m_name.size();
i++) {
52 report <<
"cscReports[-1].addChamberCorrection(\"" <<
m_name[
i] <<
"\", " <<
m_id[
i].rawId() <<
", " <<
m_value[
i] <<
")" << std::endl;
56 report <<
"cscReports[-1].addErrorMode(" <<
m_error[
i] <<
")" << std::endl;
63 for (
unsigned int i = 0;
i <
m_i.size();
i++) {
71 for (
unsigned int i = 0;
i <
m_name.size();
i++) {
81 const DetId alsoid2(alsoid);
94 double radius =
sqrt(center.
x()*center.
x() + center.
y()*center.
y());
97 params[0] = -radius *
sin(phi_correction) * (backward ? -1. : 1.);
98 params[1] = radius * (
cos(phi_correction) - 1.);
99 params[5] = phi_correction * (backward ? -1. : 1.);
106 params[5] =
m_value[
i] * (backward ? -1. : 1.);
115 if (also !=
nullptr) {
std::vector< std::vector< std::string > > m_modename
virtual AlignmentParameters * cloneFromSelected(const AlgebraicVector &par, const AlgebraicSymMatrix &cov) const =0
Sin< T >::type sin(const T &t)
T * make(const Args &...args) const
make new ROOT object
void applyParameters(void)
Obsolete: Use AlignableNavigator::alignableDetFromDetId and alignableFromAlignableDet.
void report(std::ofstream &report)
std::vector< std::string > m_i
AlignmentParameters * alignmentParameters() const
Get the AlignmentParameters.
void applyAlignment(AlignableNavigator *alignableNavigator, AlignmentParameterStore *alignmentParameterStore, int mode, bool combineME11)
void setAlignmentParameters(AlignmentParameters *dap)
Set the AlignmentParameters.
void setValid(bool v)
Set validity flag.
std::vector< TH1F * > th1f_modes
Cos< T >::type cos(const T &t)
std::vector< double > m_before
std::vector< std::vector< double > > m_coefficient
std::vector< std::vector< long > > m_modeid
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
CLHEP::HepVector AlgebraicVector
std::vector< double > m_residual
std::vector< double > m_uncert
std::vector< double > m_pull
std::vector< double > m_value
align::GlobalPoints toGlobal(const align::LocalPoints &) const
Return in global coord given a set of local points.
CLHEP::HepSymMatrix AlgebraicSymMatrix
std::vector< std::string > m_j
std::vector< CSCDetId > m_id
std::vector< double > m_error
std::vector< std::string > m_name
AlignableDetOrUnitPtr alignableFromDetId(const DetId &detid)
Returns AlignableDetOrUnitPtr corresponding to given DetId.