#include <TwoBowedSurfacesAlignmentParameters.h>
Public Types | |
enum | AlignmentParameterName { dx1 = BowedDerivs::dx, dy1 = BowedDerivs::dy, dz1 = BowedDerivs::dz, dslopeX1 = BowedDerivs::dslopeX, dslopeY1 = BowedDerivs::dslopeY, drotZ1 = BowedDerivs::drotZ, dsagittaX1 = BowedDerivs::dsagittaX, dsagittaXY1 = BowedDerivs::dsagittaXY, dsagittaY1 = BowedDerivs::dsagittaY, dx2 = BowedDerivs::dx + BowedDerivs::N_PARAM, dy2 = BowedDerivs::dy + BowedDerivs::N_PARAM, dz2 = BowedDerivs::dz + BowedDerivs::N_PARAM, dslopeX2 = BowedDerivs::dslopeX + BowedDerivs::N_PARAM, dslopeY2 = BowedDerivs::dslopeY + BowedDerivs::N_PARAM, drotZ2 = BowedDerivs::drotZ + BowedDerivs::N_PARAM, dsagittaX2 = BowedDerivs::dsagittaX + BowedDerivs::N_PARAM, dsagittaXY2 = BowedDerivs::dsagittaXY + BowedDerivs::N_PARAM, dsagittaY2 = BowedDerivs::dsagittaY + BowedDerivs::N_PARAM, N_PARAM = BowedDerivs::N_PARAM + BowedDerivs::N_PARAM } |
typedef BowedSurfaceAlignmentDerivatives | BowedDerivs |
Give parameters a name (do not change order, see derivatives(..)!) More... | |
Public Types inherited from AlignmentParameters | |
typedef AlignmentParametersData::DataContainer | DataContainer |
Public Member Functions | |
void | apply () override |
apply parameters to alignable More... | |
TwoBowedSurfacesAlignmentParameters * | clone (const AlgebraicVector ¶meters, const AlgebraicSymMatrix &covMatrix) const override |
Clone all parameters (for update of parameters) More... | |
TwoBowedSurfacesAlignmentParameters * | cloneFromSelected (const AlgebraicVector ¶meters, const AlgebraicSymMatrix &covMatrix) const override |
Clone selected parameters (for update of parameters) More... | |
AlgebraicMatrix | derivatives (const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &aliDet) const override |
Get all derivatives. More... | |
virtual void | print () const |
print parameters to screen More... | |
TwoBowedSurfacesAlignmentParameters (Alignable *alignable) | |
Constructor with empty parameters/covariance. More... | |
TwoBowedSurfacesAlignmentParameters (Alignable *alignable, const AlgebraicVector ¶meters, const AlgebraicSymMatrix &covMatrix) | |
Constructor for full set of parameters. More... | |
TwoBowedSurfacesAlignmentParameters (Alignable *alignable, const AlgebraicVector ¶meters, const AlgebraicSymMatrix &covMatrix, const std::vector< bool > &selection) | |
Constructor for selection. More... | |
int | type () const override |
tell type (AlignmentParametersFactory::ParametersType - but no circular dependency) More... | |
double | ySplit () const |
~TwoBowedSurfacesAlignmentParameters () override | |
Destructor. More... | |
Public Member Functions inherited from AlignmentParameters | |
Alignable * | alignable (void) const |
Get pointer to corresponding alignable. More... | |
AlignmentParameters () | |
Default constructor. More... | |
AlignmentParameters (Alignable *object, const AlgebraicVector &par, const AlgebraicSymMatrix &cov) | |
Constructor from given input. More... | |
AlignmentParameters (Alignable *object, const AlgebraicVector &par, const AlgebraicSymMatrix &cov, const std::vector< bool > &sel) | |
Constructor including selection of active parameters. More... | |
AlignmentParameters (Alignable *object, const DataContainer &data) | |
Constructor. More... | |
const AlgebraicSymMatrix & | covariance (void) const |
Get parameter covariance matrix. More... | |
virtual unsigned int | hierarchyLevel () const |
bool | isValid (void) const |
Get validity flag. More... | |
int | numSelected (void) const |
Get number of selected parameters. More... | |
const AlgebraicVector & | parameters (void) const |
Get alignment parameters. More... | |
AlgebraicSymMatrix | selectedCovariance (void) const |
Get covariance matrix of selected parameters. More... | |
virtual AlgebraicMatrix | selectedDerivatives (const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &alidet) const |
AlgebraicVector | selectedParameters (void) const |
Get selected parameters. More... | |
const std::vector< bool > & | selector (void) const |
Get alignment parameter selector vector. More... | |
void | setUserVariables (AlignmentUserVariables *auv) |
Set pointer to user variables. More... | |
void | setValid (bool v) |
Set validity flag. More... | |
int | size (void) const |
Get number of parameters. More... | |
AlignmentUserVariables * | userVariables (void) const |
Get pointer to user variables. More... | |
virtual | ~AlignmentParameters () |
Destructor. More... | |
Private Member Functions | |
double | ySplitFromAlignable (const Alignable *ali) const |
Private Attributes | |
double | ySplit_ |
Additional Inherited Members | |
Protected Member Functions inherited from AlignmentParameters | |
AlgebraicSymMatrix | collapseSymMatrix (const AlgebraicSymMatrix &m, const std::vector< bool > &sel) const |
AlgebraicVector | collapseVector (const AlgebraicVector &m, const std::vector< bool > &sel) const |
AlgebraicSymMatrix | expandSymMatrix (const AlgebraicSymMatrix &m, const std::vector< bool > &sel) const |
AlgebraicVector | expandVector (const AlgebraicVector &m, const std::vector< bool > &sel) const |
Protected Attributes inherited from AlignmentParameters | |
bool | bValid |
True if parameters are valid. More... | |
Alignable * | theAlignable |
DataContainer | theData |
AlignmentUserVariables * | theUserVariables |
Concrete class for alignment parameters and associated quantities [derived from AlignmentParameters]. The alignable is assumed to have in fact two surfaces devided at a specific local ySplit. The number of parameters N_PARAM is 2x9, i.e. one set of
the half differences of the movements and rotations, to be taken into account, with positive/negative sign, for corrections for the surface at lower/higher y,
the mean values 'm' and half differences 'hd' of the bows/sagittas of each surface, where these corrections have to be applied as m+hd for the one and m-hd for the other sensor
(last update by
)
Definition at line 40 of file TwoBowedSurfacesAlignmentParameters.h.
Give parameters a name (do not change order, see derivatives(..)!)
Definition at line 44 of file TwoBowedSurfacesAlignmentParameters.h.
Enumerator | |
---|---|
dx1 | |
dy1 | |
dz1 | |
dslopeX1 | |
dslopeY1 | |
drotZ1 | |
dsagittaX1 | |
dsagittaXY1 | |
dsagittaY1 | |
dx2 | |
dy2 | |
dz2 | |
dslopeX2 | |
dslopeY2 | |
drotZ2 | |
dsagittaX2 | |
dsagittaXY2 | |
dsagittaY2 | |
N_PARAM |
Definition at line 45 of file TwoBowedSurfacesAlignmentParameters.h.
TwoBowedSurfacesAlignmentParameters::TwoBowedSurfacesAlignmentParameters | ( | Alignable * | alignable | ) |
Constructor with empty parameters/covariance.
Definition at line 27 of file TwoBowedSurfacesAlignmentParameters.cc.
Referenced by clone(), and TwoBowedSurfacesAlignmentParameters().
TwoBowedSurfacesAlignmentParameters::TwoBowedSurfacesAlignmentParameters | ( | Alignable * | alignable, |
const AlgebraicVector & | parameters, | ||
const AlgebraicSymMatrix & | covMatrix | ||
) |
Constructor for full set of parameters.
Definition at line 35 of file TwoBowedSurfacesAlignmentParameters.cc.
References Exception, N_PARAM, and TwoBowedSurfacesAlignmentParameters().
TwoBowedSurfacesAlignmentParameters::TwoBowedSurfacesAlignmentParameters | ( | Alignable * | alignable, |
const AlgebraicVector & | parameters, | ||
const AlgebraicSymMatrix & | covMatrix, | ||
const std::vector< bool > & | selection | ||
) |
Constructor for selection.
Definition at line 50 of file TwoBowedSurfacesAlignmentParameters.cc.
References Exception, and N_PARAM.
|
inlineoverride |
Destructor.
Definition at line 84 of file TwoBowedSurfacesAlignmentParameters.h.
References apply(), clone(), cloneFromSelected(), derivatives(), print(), and type().
|
overridevirtual |
apply parameters to alignable
Implements AlignmentParameters.
Definition at line 129 of file TwoBowedSurfacesAlignmentParameters.cc.
References Alignable::addSurfaceDeformation(), AlignmentParameters::alignable(), particleFlowDisplacedVertex_cfi::angles, drotZ1, drotZ2, dsagittaX1, dsagittaX2, dsagittaXY1, dsagittaXY2, dsagittaY1, dsagittaY2, dslopeX1, dslopeX2, dslopeY1, dslopeY2, dx1, dy1, dz1, Exception, BowedSurfaceAlignmentDerivatives::gammaScale(), mps_fire::i, AlignableSurface::length(), Alignable::move(), BowedSurfaceAlignmentDerivatives::N_PARAM, align::rectify(), makeMuonMisalignmentScenario::rot, Alignable::rotateInGlobalFrame(), AlignmentParameters::selector(), edm::shift, Alignable::surface(), AlignmentParameters::theData, AlignableSurface::toGlobal(), align::toMatrix(), AlignableSurface::width(), and ySplit_.
Referenced by heavyIonTools.ConfigureHeavyIons::__call__(), editorTools.UserCodeTool::__call__(), HiCoreTools.RestrictInputToAOD::__call__(), coreTools.RunOnData::__call__(), trackTools.MakeAODTrackCandidates::__call__(), runJetUncertainties.RunJetUncertainties::__call__(), metTools.AddMETCollection::__call__(), heavyIonTools.ProductionDefaults::__call__(), editorTools.ChangeSource::__call__(), HiCoreTools.RemoveMCMatching::__call__(), cmsswVersionTools.PickRelValInputFiles::__call__(), coreTools.RemoveMCMatching::__call__(), trackTools.MakePATTrackCandidates::__call__(), trigTools.SwitchOnTrigger::__call__(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties::__call__(), heavyIonTools.SelectionDefaults::__call__(), HiCoreTools.RemoveAllPATObjectsBut::__call__(), heavyIonTools.DisbaleMonteCarloDeps::__call__(), HiCoreTools.RemoveSpecificPATObjects::__call__(), trigTools.SwitchOnTriggerStandAlone::__call__(), trackTools.MakeTrackCandidates::__call__(), tauTools.AddTauCollection::__call__(), trigTools.SwitchOnTriggerMatching::__call__(), HiCoreTools.RemoveCleaning::__call__(), HiCoreTools.AddCleaning::__call__(), trigTools.SwitchOnTriggerMatchingStandAlone::__call__(), trigTools.SwitchOnTriggerMatchEmbedding::__call__(), jetTools.AddJetCollection::__call__(), jetTools.SwitchJetCollection::__call__(), jetTools.UpdateJetCollection::__call__(), jetTools.AddJetID::__call__(), jetTools.SetTagInfos::__call__(), and ~TwoBowedSurfacesAlignmentParameters().
|
overridevirtual |
Clone all parameters (for update of parameters)
Implements AlignmentParameters.
Definition at line 66 of file TwoBowedSurfacesAlignmentParameters.cc.
References AlignmentParameters::alignable(), AlignmentParameters::isValid(), AlignmentParameters::selector(), AlignmentParameters::setUserVariables(), AlignmentParameters::setValid(), TwoBowedSurfacesAlignmentParameters(), and AlignmentParameters::userVariables().
Referenced by cloneFromSelected(), and ~TwoBowedSurfacesAlignmentParameters().
|
overridevirtual |
Clone selected parameters (for update of parameters)
Implements AlignmentParameters.
Definition at line 80 of file TwoBowedSurfacesAlignmentParameters.cc.
References clone(), AlignmentParameters::expandSymMatrix(), AlignmentParameters::expandVector(), and AlignmentParameters::selector().
Referenced by ~TwoBowedSurfacesAlignmentParameters().
|
overridevirtual |
Get all derivatives.
Implements AlignmentParameters.
Definition at line 89 of file TwoBowedSurfacesAlignmentParameters.cc.
References AlignmentParameters::alignable(), BowedSurfaceAlignmentDerivatives::dx, dx2, Exception, mps_fire::i, AlignableSurface::length(), TrajectoryStateOnSurface::localParameters(), phase1PixelTopology::localY(), LocalTrajectoryParameters::mixedFormatVector(), BowedSurfaceAlignmentDerivatives::N_PARAM, N_PARAM, mps_fire::result, Alignable::surface(), AlignableSurface::width(), and ySplit_.
Referenced by ~TwoBowedSurfacesAlignmentParameters().
|
virtual |
print parameters to screen
Definition at line 231 of file TwoBowedSurfacesAlignmentParameters.cc.
References gather_cfg::cout, and AlignmentParameters::theData.
Referenced by ~TwoBowedSurfacesAlignmentParameters().
|
overridevirtual |
tell type (AlignmentParametersFactory::ParametersType - but no circular dependency)
Implements AlignmentParameters.
Definition at line 225 of file TwoBowedSurfacesAlignmentParameters.cc.
References AlignmentParametersFactory::kTwoBowedSurfaces.
Referenced by Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::inputCommands(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::outputCommands(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::outputEventContent(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::properties(), and ~TwoBowedSurfacesAlignmentParameters().
|
inline |
Definition at line 104 of file TwoBowedSurfacesAlignmentParameters.h.
References ySplit_, and ySplitFromAlignable().
Referenced by PedeSteererWeakModeConstraints::getDoubleSensorPosition(), and ParametersToParametersDerivatives::init2BowedRigid().
|
private |
Definition at line 240 of file TwoBowedSurfacesAlignmentParameters.cc.
References Alignable::globalPosition(), and alignCSCRings::r.
Referenced by ySplit().
|
private |
Definition at line 109 of file TwoBowedSurfacesAlignmentParameters.h.
Referenced by apply(), derivatives(), and ySplit().