#include <Alignment/MuonAlignment/interface/MuonAlignmentInputDB.h>
Public Member Functions | |
MuonAlignmentInputDB () | |
MuonAlignmentInputDB (std::string dtLabel, std::string cscLabel, bool getAPEs) | |
virtual AlignableMuon * | newAlignableMuon (const edm::EventSetup &iSetup) const |
virtual | ~MuonAlignmentInputDB () |
Private Member Functions | |
MuonAlignmentInputDB (const MuonAlignmentInputDB &) | |
const MuonAlignmentInputDB & | operator= (const MuonAlignmentInputDB &) |
Private Attributes | |
std::string | m_cscLabel |
std::string | m_dtLabel |
bool | m_getAPEs |
Description: <one line="" class="" summary>="">
Usage: <usage>
Definition at line 29 of file MuonAlignmentInputDB.h.
MuonAlignmentInputDB::MuonAlignmentInputDB | ( | ) |
Definition at line 38 of file MuonAlignmentInputDB.cc.
: m_dtLabel(""), m_cscLabel("") {}
MuonAlignmentInputDB::MuonAlignmentInputDB | ( | std::string | dtLabel, |
std::string | cscLabel, | ||
bool | getAPEs | ||
) |
Definition at line 41 of file MuonAlignmentInputDB.cc.
MuonAlignmentInputDB::~MuonAlignmentInputDB | ( | ) | [virtual] |
Definition at line 49 of file MuonAlignmentInputDB.cc.
{}
MuonAlignmentInputDB::MuonAlignmentInputDB | ( | const MuonAlignmentInputDB & | ) | [private] |
AlignableMuon * MuonAlignmentInputDB::newAlignableMuon | ( | const edm::EventSetup & | iSetup | ) | const [virtual] |
Reimplemented from MuonAlignmentInputMethod.
Definition at line 67 of file MuonAlignmentInputDB.cc.
References align::AlignableMuon, GeometryAligner::applyAlignments(), align::DetectorGlobalPosition(), edm::EventSetup::get(), i, MuonAlignmentInputMethod::idealCSCGeometry(), MuonAlignmentInputMethod::idealDTGeometry(), AlignmentErrors::m_alignError, m_cscLabel, m_dtLabel, m_getAPEs, and DetId::Muon.
{ boost::shared_ptr<DTGeometry> dtGeometry = idealDTGeometry(iSetup); boost::shared_ptr<CSCGeometry> cscGeometry = idealCSCGeometry(iSetup); edm::ESHandle<Alignments> dtAlignments; edm::ESHandle<AlignmentErrors> dtAlignmentErrors; edm::ESHandle<Alignments> cscAlignments; edm::ESHandle<AlignmentErrors> cscAlignmentErrors; edm::ESHandle<Alignments> globalPositionRcd; iSetup.get<DTAlignmentRcd>().get(m_dtLabel, dtAlignments); iSetup.get<CSCAlignmentRcd>().get(m_cscLabel, cscAlignments); iSetup.get<GlobalPositionRcd>().get(globalPositionRcd); if (m_getAPEs) { iSetup.get<DTAlignmentErrorRcd>().get(m_dtLabel, dtAlignmentErrors); iSetup.get<CSCAlignmentErrorRcd>().get(m_cscLabel, cscAlignmentErrors); GeometryAligner aligner; aligner.applyAlignments<DTGeometry>(&(*dtGeometry), &(*dtAlignments), &(*dtAlignmentErrors), align::DetectorGlobalPosition(*globalPositionRcd, DetId(DetId::Muon))); aligner.applyAlignments<CSCGeometry>(&(*cscGeometry), &(*cscAlignments), &(*cscAlignmentErrors), align::DetectorGlobalPosition(*globalPositionRcd, DetId(DetId::Muon))); } else { AlignmentErrors dtAlignmentErrors2, cscAlignmentErrors2; for (std::vector<AlignTransform>::const_iterator i = dtAlignments->m_align.begin(); i != dtAlignments->m_align.end(); ++i) { CLHEP::HepSymMatrix empty_matrix(3, 0); AlignTransformError empty_error(empty_matrix, i->rawId()); dtAlignmentErrors2.m_alignError.push_back(empty_error); } for (std::vector<AlignTransform>::const_iterator i = cscAlignments->m_align.begin(); i != cscAlignments->m_align.end(); ++i) { CLHEP::HepSymMatrix empty_matrix(3, 0); AlignTransformError empty_error(empty_matrix, i->rawId()); cscAlignmentErrors2.m_alignError.push_back(empty_error); } GeometryAligner aligner; aligner.applyAlignments<DTGeometry>(&(*dtGeometry), &(*dtAlignments), &(dtAlignmentErrors2), align::DetectorGlobalPosition(*globalPositionRcd, DetId(DetId::Muon))); aligner.applyAlignments<CSCGeometry>(&(*cscGeometry), &(*cscAlignments), &(cscAlignmentErrors2), align::DetectorGlobalPosition(*globalPositionRcd, DetId(DetId::Muon))); } return new AlignableMuon(&(*dtGeometry), &(*cscGeometry)); }
const MuonAlignmentInputDB& MuonAlignmentInputDB::operator= | ( | const MuonAlignmentInputDB & | ) | [private] |
std::string MuonAlignmentInputDB::m_cscLabel [private] |
Definition at line 50 of file MuonAlignmentInputDB.h.
Referenced by newAlignableMuon().
std::string MuonAlignmentInputDB::m_dtLabel [private] |
Definition at line 50 of file MuonAlignmentInputDB.h.
Referenced by newAlignableMuon().
bool MuonAlignmentInputDB::m_getAPEs [private] |
Definition at line 51 of file MuonAlignmentInputDB.h.
Referenced by newAlignableMuon().