Builds a scenario from configuration and applies it to the alignable Muon. More...
#include <MuonScenarioBuilder.h>
Public Member Functions | |
void | applyScenario (const edm::ParameterSet &scenario) override |
Apply misalignment scenario to the Muon. More... | |
align::Scalars | extractParameters (const edm::ParameterSet &, const char *) |
void | moveChamberInSector (Alignable *, const align::Scalars &, const align::Scalars &, const align::Scalars &, const align::Scalars &) |
void | moveCSCSectors (const edm::ParameterSet &scenario) |
this special method allows to move a CSCsector by a same amount More... | |
void | moveDTSectors (const edm::ParameterSet &scenario) |
This special method allows to move a DTsector by a same amount. More... | |
void | moveMuon (const edm::ParameterSet &scenario) |
this special method allows to move the complete muon system by a same amount More... | |
MuonScenarioBuilder (Alignable *alignable) | |
Constructor. More... | |
~MuonScenarioBuilder () override | |
Destructor. More... | |
Public Member Functions inherited from MisalignmentScenarioBuilder | |
MisalignmentScenarioBuilder (AlignableObjectId::Geometry) | |
Constructor. More... | |
virtual | ~MisalignmentScenarioBuilder ()=default |
Destructor. More... | |
Private Attributes | |
AlignableMuon * | theAlignableMuon |
Pointer to alignable Muon object. More... | |
AlignableModifier | theMuonModifier |
Additional Inherited Members | |
Protected Member Functions inherited from MisalignmentScenarioBuilder | |
void | applyMovements_ (Alignable *alignable, const edm::ParameterSet &pSet) |
Apply movements given by parameter set to given alignable. More... | |
void | decodeMovements_ (const edm::ParameterSet &pSet, const std::vector< Alignable * > &alignables) |
Decode movements defined in given parameter set for given set of alignables. More... | |
void | decodeMovements_ (const edm::ParameterSet &pSet, const std::vector< Alignable * > &alignables, const std::string &levelName) |
Decode movements defined in given parameter set for given set of alignables tagged by given name. More... | |
edm::ParameterSet | getParameterSet_ (const std::string &name, const edm::ParameterSet &pSet) const |
edm::ParameterSet | getParameterSet_ (const std::string &levelName, int iComponent, const edm::ParameterSet &pSet) const |
bool | hasParameter_ (const std::string &name, const edm::ParameterSet &pSet) const |
Check if given parameter exists in parameter set. More... | |
virtual bool | isTopLevel_ (const std::string ¶meterSetName) const |
Check if given parameter is for a top-level structure. More... | |
void | mergeParameters_ (edm::ParameterSet &localSet, const edm::ParameterSet &globalSet) const |
Merge two sets of parameters into one (the first argument) More... | |
virtual bool | possiblyPartOf (const std::string &subStruct, const std::string &largeStruct) const |
void | printParameters_ (const edm::ParameterSet &pSet, const bool showPsets=false) const |
Print all parameters and values for given set. More... | |
void | propagateParameters_ (const edm::ParameterSet &pSet, const std::string &globalName, edm::ParameterSet &subSet) const |
Propagate global parameters to sub-parameters. More... | |
const std::string | rootName_ (const std::string ¶meterSetName) const |
Get root name of a parameter set (e.g. 'Rod' in 'Rods' or 'Rod1') More... | |
Protected Attributes inherited from MisalignmentScenarioBuilder | |
std::string | indent_ |
Depth in hierarchy. More... | |
AlignableModifier | theModifier |
Helper class for random movements. More... | |
int | theModifierCounter {0} |
Counter for applied modification. More... | |
edm::ParameterSet | theScenario |
Misalignment scenario to apply (from config file) More... | |
Builds a scenario from configuration and applies it to the alignable Muon.
The misalignment scenario builder.
Definition at line 21 of file MuonScenarioBuilder.h.
|
explicit |
Constructor.
Definition at line 25 of file MuonScenarioBuilder.cc.
References Exception, and theAlignableMuon.
|
inlineoverride |
Destructor.
Definition at line 30 of file MuonScenarioBuilder.h.
References applyScenario(), extractParameters(), moveChamberInSector(), moveCSCSectors(), moveDTSectors(), moveMuon(), and MisalignedTracker_cfi::scenario.
|
overridevirtual |
Apply misalignment scenario to the Muon.
Implements MisalignmentScenarioBuilder.
Definition at line 39 of file MuonScenarioBuilder.cc.
References AlignableMuon::CSCEndcaps(), MisalignmentScenarioBuilder::decodeMovements_(), AlignableMuon::DTBarrel(), Exception, edm::ParameterSet::getParameter(), MisalignmentScenarioBuilder::hasParameter_(), moveCSCSectors(), moveDTSectors(), moveMuon(), MisalignedTracker_cfi::scenario, AlignableModifier::setSeed(), theAlignableMuon, MisalignmentScenarioBuilder::theModifier, MisalignmentScenarioBuilder::theModifierCounter, and MisalignmentScenarioBuilder::theScenario.
Referenced by MuonGeometryDBConverter::analyze(), AlignmentProducerBase::applyMisalignment(), MisalignedMuonESProducer::produce(), and ~MuonScenarioBuilder().
align::Scalars MuonScenarioBuilder::extractParameters | ( | const edm::ParameterSet & | pSet, |
const char * | blockId | ||
) |
Definition at line 70 of file MuonScenarioBuilder.cc.
References relativeConstraints::error, edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterNames(), MisalignmentScenarioBuilder::getParameterSet_(), edm::ParameterSet::retrieve(), AlCaHLTBitMon_QueryRunRegistry::string, and edm::Entry::typeCode().
Referenced by moveCSCSectors(), moveDTSectors(), moveMuon(), and ~MuonScenarioBuilder().
void MuonScenarioBuilder::moveChamberInSector | ( | Alignable * | chamber, |
const align::Scalars & | _disp, | ||
const align::Scalars & | rotation, | ||
const align::Scalars & | dispError, | ||
const align::Scalars & | rotationError | ||
) |
Definition at line 303 of file MuonScenarioBuilder.cc.
References AlignableModifier::addAlignmentPositionError(), AlignableModifier::addAlignmentPositionErrorFromRotation(), PV3DBase< T, PVType, FrameType >::basicVector(), Alignable::globalPosition(), AlignableModifier::moveAlignable(), makeMuonMisalignmentScenario::rot, AlignableModifier::rotateAlignable(), theMuonModifier, and PV3DBase< T, PVType, FrameType >::x().
Referenced by moveCSCSectors(), moveDTSectors(), and ~MuonScenarioBuilder().
void MuonScenarioBuilder::moveCSCSectors | ( | const edm::ParameterSet & | scenario | ) |
this special method allows to move a CSCsector by a same amount
Definition at line 172 of file MuonScenarioBuilder.cc.
References relativeConstraints::chamber, counter, AlignableMuon::CSCChambers(), PVValHelper::dx, PVValHelper::dy, PVValHelper::dz, makeMuonMisalignmentScenario::endcap, extractParameters(), AlignableModifier::flatRandomVector(), AlignableModifier::gaussianRandomVector(), diffTreeTool::index, moveChamberInSector(), relativeConstraints::ring, idealTransformation::rotation, CSCTriggerNumbering::sectorFromTriggerLabels(), relativeConstraints::station, theAlignableMuon, theMuonModifier, CSCTriggerNumbering::triggerSectorFromLabels(), and CSCTriggerNumbering::triggerSubSectorFromLabels().
Referenced by applyScenario(), and ~MuonScenarioBuilder().
void MuonScenarioBuilder::moveDTSectors | ( | const edm::ParameterSet & | scenario | ) |
This special method allows to move a DTsector by a same amount.
Definition at line 110 of file MuonScenarioBuilder.cc.
References counter, AlignableMuon::DTChambers(), PVValHelper::dx, PVValHelper::dy, PVValHelper::dz, extractParameters(), AlignableModifier::flatRandomVector(), AlignableModifier::gaussianRandomVector(), diffTreeTool::index, moveChamberInSector(), idealTransformation::rotation, relativeConstraints::station, theAlignableMuon, theMuonModifier, and makeMuonMisalignmentScenario::wheel.
Referenced by applyScenario(), and ~MuonScenarioBuilder().
void MuonScenarioBuilder::moveMuon | ( | const edm::ParameterSet & | scenario | ) |
this special method allows to move the complete muon system by a same amount
Definition at line 256 of file MuonScenarioBuilder.cc.
References AlignableModifier::addAlignmentPositionError(), AlignableModifier::addAlignmentPositionErrorFromRotation(), AlignableMuon::CSCEndcaps(), AlignableMuon::DTBarrel(), PVValHelper::dx, PVValHelper::dy, PVValHelper::dz, extractParameters(), AlignableModifier::flatRandomVector(), AlignableModifier::gaussianRandomVector(), AlignableModifier::moveAlignable(), AlignableModifier::rotateAlignable(), idealTransformation::rotation, theAlignableMuon, and theMuonModifier.
Referenced by applyScenario(), and ~MuonScenarioBuilder().
|
private |
Pointer to alignable Muon object.
Definition at line 49 of file MuonScenarioBuilder.h.
Referenced by applyScenario(), moveCSCSectors(), moveDTSectors(), moveMuon(), and MuonScenarioBuilder().
|
private |
Definition at line 51 of file MuonScenarioBuilder.h.
Referenced by moveChamberInSector(), moveCSCSectors(), moveDTSectors(), and moveMuon().