#include <PedeLabelerBase.h>
Classes | |
class | TopLevelAlignables |
Public Types | |
using | RunNumber = align::RunNumber |
using | RunRange = align::RunRange |
using | RunRanges = align::RunRanges |
Public Member Functions | |
virtual void | addCalibrations (const std::vector< IntegratedCalibrationBase * > &iCals) |
tell labeler to treat also integrated calibrations More... | |
const AlignableExtras * | alignableExtras () const |
virtual Alignable * | alignableFromLabel (unsigned int label) const =0 |
virtual unsigned int | alignableLabel (Alignable *alignable) const =0 |
virtual unsigned int | alignableLabelFromLabel (unsigned int label) const =0 |
alignable label from parameter label (works also for alignable label...) More... | |
virtual unsigned int | alignableLabelFromParamAndInstance (Alignable *alignable, unsigned int param, unsigned int instance) const =0 |
const AlignableMuon * | alignableMuon () const |
const AlignableTracker * | alignableTracker () const |
virtual unsigned int | calibrationLabel (const IntegratedCalibrationBase *calib, unsigned int paramNum) const |
label for parameter 'paramNum' (counted from 0) of an integrated calibration More... | |
virtual std::pair< IntegratedCalibrationBase *, unsigned int > | calibrationParamFromLabel (unsigned int label) const |
virtual unsigned int | firstFreeLabel () const |
virtual bool | hasSplitParameters (Alignable *alignable) const =0 |
returns true if the alignable has parameters that are split into various bins More... | |
virtual unsigned int | lasBeamIdFromLabel (unsigned int label) const =0 |
virtual unsigned int | lasBeamLabel (unsigned int lasBeamId) const =0 |
virtual unsigned int | maxNumberOfParameterInstances () const =0 |
returns the maximum number of instances for any parameter of an Alignable* More... | |
virtual unsigned int | numberOfParameterInstances (Alignable *alignable, int param=-1) const =0 |
returns the number of instances for a given parameter More... | |
unsigned int | parameterInstanceOffset () const |
offset in labels between consecutive parameter instances of Alignable*s More... | |
virtual unsigned int | parameterLabel (unsigned int aliLabel, unsigned int parNum) const =0 |
returns the label for a given alignable parameter number combination More... | |
virtual unsigned int | parameterLabel (Alignable *alignable, unsigned int parNum, const AlignmentAlgorithmBase::EventInfo &eventInfo, const TrajectoryStateOnSurface &tsos) const =0 |
virtual unsigned int | paramNumFromLabel (unsigned int paramLabel) const =0 |
parameter number, 0 <= .. < theMaxNumParam, belonging to unique parameter label More... | |
PedeLabelerBase (const TopLevelAlignables &alignables, const edm::ParameterSet &config) | |
constructor from three Alignables (null pointers allowed ) More... | |
virtual const RunRange & | runRangeFromLabel (unsigned int label) const |
virtual | ~PedeLabelerBase () |
Static Public Attributes | |
static const unsigned int | theMaxNumParam = RigidBodyAlignmentParameters::N_PARAM + 14 |
static const unsigned int | theMinLabel = 1 |
static const unsigned int | theParamInstanceOffset = 700000 |
Protected Member Functions | |
virtual unsigned int | firstNonAlignableLabel () const |
const AlignableObjectId & | objectIdProvider () const |
Return tracker alignable object ID provider derived from the tracker's geometry. More... | |
Protected Attributes | |
const RunRange | theOpenRunRange |
Private Attributes | |
const AlignableObjectId | alignableObjectId_ |
std::vector< std::pair< IntegratedCalibrationBase *, unsigned int > > | theCalibrationLabels |
pairs of calibrations and their first label More... | |
const TopLevelAlignables | topLevelAlignables_ |
Baseclass for pede labelers
Original author: Andreas Mussgiller, January 2011
(last update by
)
Definition at line 34 of file PedeLabelerBase.h.
Definition at line 38 of file PedeLabelerBase.h.
Definition at line 39 of file PedeLabelerBase.h.
Definition at line 40 of file PedeLabelerBase.h.
PedeLabelerBase::PedeLabelerBase | ( | const TopLevelAlignables & | alignables, |
const edm::ParameterSet & | config | ||
) |
constructor from three Alignables (null pointers allowed )
Definition at line 25 of file PedeLabelerBase.cc.
References PedeLabelerBase::TopLevelAlignables::aliMuon_, PedeLabelerBase::TopLevelAlignables::aliTracker_, and AlignableObjectId::commonObjectIdProvider().
|
inlinevirtual |
Definition at line 57 of file PedeLabelerBase.h.
References addCalibrations(), alignableLabel(), alignableLabelFromParamAndInstance(), dumpTauVariables_cfi::eventInfo, hasSplitParameters(), instance, lasBeamLabel(), maxNumberOfParameterInstances(), numberOfParameterInstances(), and parameterLabel().
|
virtual |
tell labeler to treat also integrated calibrations
Definition at line 109 of file PedeLabelerBase.cc.
References firstFreeLabel(), and theCalibrationLabels.
Referenced by ~PedeLabelerBase().
|
inline |
Definition at line 117 of file PedeLabelerBase.h.
References PedeLabelerBase::TopLevelAlignables::aliExtras_, and topLevelAlignables_.
|
pure virtual |
Alignable from alignable or parameter label, null if no alignable (but error only if not las beam, either!)
Implemented in RunRangeDependentPedeLabeler, MomentumDependentPedeLabeler, and PedeLabeler.
Referenced by parameterInstanceOffset(), and PedeReader::setParameter().
|
pure virtual |
uniqueId of Alignable, 0 if alignable not known between this ID and the next there is enough 'space' to add parameter numbers 0...nPar-1 to make unique IDs for the labels of active parameters
Implemented in RunRangeDependentPedeLabeler, MomentumDependentPedeLabeler, and PedeLabeler.
Referenced by PedeReader::checkAliParams(), PedeSteerer::hierarchyConstraint(), PedeSteerer::presigmasFile(), PedeReader::setParameter(), and ~PedeLabelerBase().
|
pure virtual |
alignable label from parameter label (works also for alignable label...)
Implemented in RunRangeDependentPedeLabeler, MomentumDependentPedeLabeler, and PedeLabeler.
Referenced by parameterInstanceOffset().
|
pure virtual |
uniqueId of Alignable for a given parameter index and instance, 0 if alignable not known between this ID and the next there is enough 'space' to add parameter numbers 0...nPar-1 to make unique IDs for the labels of active parameters
Implemented in RunRangeDependentPedeLabeler, MomentumDependentPedeLabeler, and PedeLabeler.
Referenced by PedeSteererWeakModeConstraints::constructConstraints(), PedeSteerer::fixParameter(), and ~PedeLabelerBase().
|
inline |
Definition at line 116 of file PedeLabelerBase.h.
References PedeLabelerBase::TopLevelAlignables::aliMuon_, and topLevelAlignables_.
|
inline |
Definition at line 115 of file PedeLabelerBase.h.
References PedeLabelerBase::TopLevelAlignables::aliTracker_, and topLevelAlignables_.
Referenced by PedeReader::checkAliParams().
|
virtual |
label for parameter 'paramNum' (counted from 0) of an integrated calibration
Definition at line 79 of file PedeLabelerBase.cc.
References Exception, plotBeamSpotDB::first, IntegratedCalibrationBase::name(), and theCalibrationLabels.
Referenced by runRangeFromLabel().
|
virtual |
calibration and its parameter number from label, if label does not belong to any calibration return nullptr as pair.first
Definition at line 38 of file PedeLabelerBase.cc.
References edm::second(), and theCalibrationLabels.
Referenced by parameterInstanceOffset(), and PedeReader::read().
|
virtual |
first free label not yet used (for hacks within millepede...) valid only after last call to addCalibrations(..)
Definition at line 60 of file PedeLabelerBase.cc.
References firstNonAlignableLabel(), and theCalibrationLabels.
Referenced by addCalibrations(), and runRangeFromLabel().
|
protectedvirtual |
first free label after everything about Alignables and LAS beams (to be used for calibrations)
Definition at line 72 of file PedeLabelerBase.cc.
References maxNumberOfParameterInstances(), and parameterInstanceOffset().
Referenced by firstFreeLabel().
|
pure virtual |
returns true if the alignable has parameters that are split into various bins
Implemented in RunRangeDependentPedeLabeler, MomentumDependentPedeLabeler, and PedeLabeler.
Referenced by ~PedeLabelerBase().
|
pure virtual |
las beam id from las beam or parameter label zero and error if not a valid las beam label
Implemented in RunRangeDependentPedeLabeler, MomentumDependentPedeLabeler, and PedeLabeler.
Referenced by parameterInstanceOffset(), and PedeReader::setParameter().
|
pure virtual |
Implemented in RunRangeDependentPedeLabeler, MomentumDependentPedeLabeler, and PedeLabeler.
Referenced by ~PedeLabelerBase().
|
pure virtual |
returns the maximum number of instances for any parameter of an Alignable*
Implemented in RunRangeDependentPedeLabeler, MomentumDependentPedeLabeler, and PedeLabeler.
Referenced by firstNonAlignableLabel(), PedeSteererWeakModeConstraints::PedeSteererWeakModeConstraints(), and ~PedeLabelerBase().
|
pure virtual |
returns the number of instances for a given parameter
Implemented in RunRangeDependentPedeLabeler, MomentumDependentPedeLabeler, and PedeLabeler.
Referenced by PedeSteerer::fixParameters(), and ~PedeLabelerBase().
|
inlineprotected |
Return tracker alignable object ID provider derived from the tracker's geometry.
Definition at line 129 of file PedeLabelerBase.h.
References alignableObjectId_.
Referenced by MomentumDependentPedeLabeler::buildMomentumDependencyMap(), and RunRangeDependentPedeLabeler::buildRunRangeDependencyMap().
|
inline |
offset in labels between consecutive parameter instances of Alignable*s
Definition at line 88 of file PedeLabelerBase.h.
References alignableFromLabel(), alignableLabelFromLabel(), calibrationParamFromLabel(), diffTwoXMLs::label, lasBeamIdFromLabel(), paramNumFromLabel(), and theParamInstanceOffset.
Referenced by firstNonAlignableLabel().
|
pure virtual |
returns the label for a given alignable parameter number combination
Implemented in RunRangeDependentPedeLabeler, MomentumDependentPedeLabeler, and PedeLabeler.
Referenced by PedeSteererWeakModeConstraints::constructConstraints(), PedeSteerer::fixParameter(), PedeSteerer::hierarchyConstraint(), PedeSteerer::presigmasFile(), and ~PedeLabelerBase().
|
pure virtual |
returns the label for a given alignable parameter number combination in case the parameters are split into various instances
Implemented in RunRangeDependentPedeLabeler, MomentumDependentPedeLabeler, and PedeLabeler.
|
pure virtual |
parameter number, 0 <= .. < theMaxNumParam, belonging to unique parameter label
Implemented in RunRangeDependentPedeLabeler, MomentumDependentPedeLabeler, and PedeLabeler.
Referenced by parameterInstanceOffset(), and PedeReader::setParameter().
|
inlinevirtual |
Reimplemented in RunRangeDependentPedeLabeler.
Definition at line 105 of file PedeLabelerBase.h.
References calibrationLabel(), firstFreeLabel(), and theOpenRunRange.
Referenced by PedeReader::read().
|
private |
Definition at line 136 of file PedeLabelerBase.h.
Referenced by objectIdProvider().
|
private |
pairs of calibrations and their first label
Definition at line 139 of file PedeLabelerBase.h.
Referenced by addCalibrations(), calibrationLabel(), calibrationParamFromLabel(), and firstFreeLabel().
|
static |
Definition at line 119 of file PedeLabelerBase.h.
Referenced by PedeLabeler::buildMap(), MomentumDependentPedeLabeler::buildMap(), RunRangeDependentPedeLabeler::buildMap(), MillePedeMonitor::fillDerivatives(), MillePedeMonitor::init(), PedeLabeler::parameterLabel(), MomentumDependentPedeLabeler::parameterLabel(), RunRangeDependentPedeLabeler::parameterLabel(), PedeLabeler::paramNumFromLabel(), RunRangeDependentPedeLabeler::paramNumFromLabel(), and RunRangeDependentPedeLabeler::runRangeIndexFromLabel().
|
static |
Definition at line 121 of file PedeLabelerBase.h.
Referenced by PedeLabeler::alignableFromLabel(), MomentumDependentPedeLabeler::alignableFromLabel(), RunRangeDependentPedeLabeler::alignableFromLabel(), PedeLabeler::buildMap(), MomentumDependentPedeLabeler::buildMap(), RunRangeDependentPedeLabeler::buildMap(), PedeLabeler::lasBeamIdFromLabel(), MomentumDependentPedeLabeler::lasBeamIdFromLabel(), RunRangeDependentPedeLabeler::lasBeamIdFromLabel(), PedeLabeler::paramNumFromLabel(), MomentumDependentPedeLabeler::paramNumFromLabel(), and RunRangeDependentPedeLabeler::paramNumFromLabel().
|
protected |
Definition at line 131 of file PedeLabelerBase.h.
Referenced by RunRangeDependentPedeLabeler::runRangeFromLabel(), and runRangeFromLabel().
|
static |
Definition at line 120 of file PedeLabelerBase.h.
Referenced by MomentumDependentPedeLabeler::alignableLabelFromParamAndInstance(), RunRangeDependentPedeLabeler::alignableLabelFromParamAndInstance(), MomentumDependentPedeLabeler::buildMap(), RunRangeDependentPedeLabeler::buildMap(), MomentumDependentPedeLabeler::buildReverseMap(), RunRangeDependentPedeLabeler::buildReverseMap(), parameterInstanceOffset(), MomentumDependentPedeLabeler::parameterLabel(), RunRangeDependentPedeLabeler::parameterLabel(), MomentumDependentPedeLabeler::paramNumFromLabel(), and RunRangeDependentPedeLabeler::runRangeFromLabel().
|
private |
Definition at line 135 of file PedeLabelerBase.h.
Referenced by alignableExtras(), alignableMuon(), and alignableTracker().