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) |
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 () | |
Destructor. More... | |
Public Member Functions inherited from MisalignmentScenarioBuilder | |
MisalignmentScenarioBuilder () | |
Default constructor. More... | |
virtual | ~MisalignmentScenarioBuilder () |
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 |
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 edm::hlt::Exception, and theAlignableMuon.
|
inline |
|
virtual |
Apply misalignment scenario to the Muon.
Implements MisalignmentScenarioBuilder.
Definition at line 37 of file MuonScenarioBuilder.cc.
References AlignableMuon::CSCEndcaps(), MisalignmentScenarioBuilder::decodeMovements_(), AlignableMuon::DTBarrel(), edm::hlt::Exception, edm::ParameterSet::getParameter(), MisalignmentScenarioBuilder::hasParameter_(), moveCSCSectors(), moveDTSectors(), moveMuon(), AlignableModifier::setSeed(), theAlignableMuon, MisalignmentScenarioBuilder::theModifier, MisalignmentScenarioBuilder::theModifierCounter, and MisalignmentScenarioBuilder::theScenario.
Referenced by MuonGeometryDBConverter::analyze(), AlignmentProducer::beginOfJob(), and MisalignedMuonESProducer::produce().
align::Scalars MuonScenarioBuilder::extractParameters | ( | const edm::ParameterSet & | pSet, |
const char * | blockId | ||
) |
Definition at line 68 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(), and moveMuon().
void MuonScenarioBuilder::moveChamberInSector | ( | Alignable * | chamber, |
const align::Scalars & | _disp, | ||
const align::Scalars & | rotation, | ||
const align::Scalars & | dispError, | ||
const align::Scalars & | rotationError | ||
) |
Definition at line 301 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(), and moveDTSectors().
void MuonScenarioBuilder::moveCSCSectors | ( | const edm::ParameterSet & | scenario | ) |
this special method allows to move a CSCsector by a same amount
Definition at line 170 of file MuonScenarioBuilder.cc.
References counter, AlignableMuon::CSCChambers(), Reference_intrackfit_cff::endcap, extractParameters(), AlignableModifier::flatRandomVector(), AlignableModifier::gaussianRandomVector(), cmsHarvester::index, moveChamberInSector(), relativeConstraints::ring, idealTransformation::rotation, CSCTriggerNumbering::sectorFromTriggerLabels(), relativeConstraints::station, theAlignableMuon, theMuonModifier, CSCTriggerNumbering::triggerSectorFromLabels(), and CSCTriggerNumbering::triggerSubSectorFromLabels().
Referenced by applyScenario().
void MuonScenarioBuilder::moveDTSectors | ( | const edm::ParameterSet & | scenario | ) |
This special method allows to move a DTsector by a same amount.
Definition at line 108 of file MuonScenarioBuilder.cc.
References counter, AlignableMuon::DTChambers(), extractParameters(), AlignableModifier::flatRandomVector(), AlignableModifier::gaussianRandomVector(), cmsHarvester::index, moveChamberInSector(), idealTransformation::rotation, relativeConstraints::station, theAlignableMuon, and theMuonModifier.
Referenced by applyScenario().
void MuonScenarioBuilder::moveMuon | ( | const edm::ParameterSet & | scenario | ) |
this special method allows to move the complete muon system by a same amount
Definition at line 254 of file MuonScenarioBuilder.cc.
References AlignableModifier::addAlignmentPositionError(), AlignableModifier::addAlignmentPositionErrorFromRotation(), AlignableMuon::CSCEndcaps(), AlignableMuon::DTBarrel(), extractParameters(), AlignableModifier::flatRandomVector(), AlignableModifier::gaussianRandomVector(), AlignableModifier::moveAlignable(), AlignableModifier::rotateAlignable(), idealTransformation::rotation, theAlignableMuon, and theMuonModifier.
Referenced by applyScenario().
|
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().