#include <PedeLabeler.h>
Public Member Functions | |
Alignable * | alignableFromLabel (unsigned int label) const override |
unsigned int | alignableLabel (Alignable *alignable) const override |
Return 32-bit unique label for alignable, 0 indicates failure. More... | |
unsigned int | alignableLabelFromLabel (unsigned int label) const override |
alignable label from parameter label (works also for alignable label...) More... | |
unsigned int | alignableLabelFromParamAndInstance (Alignable *alignable, unsigned int param, unsigned int instance) const override |
bool | hasSplitParameters (Alignable *alignable) const override |
returns true if the alignable has parameters that are split into various bins More... | |
unsigned int | lasBeamIdFromLabel (unsigned int label) const override |
unsigned int | lasBeamLabel (unsigned int lasBeamId) const override |
unsigned int | maxNumberOfParameterInstances () const override |
returns the maximum number of instances for any parameter of an Alignable* More... | |
unsigned int | numberOfParameterInstances (Alignable *alignable, int param=-1) const override |
returns the number of instances for a given parameter More... | |
unsigned int | parameterLabel (unsigned int aliLabel, unsigned int parNum) const override |
returns the label for a given alignable parameter number combination More... | |
unsigned int | parameterLabel (Alignable *alignable, unsigned int parNum, const AlignmentAlgorithmBase::EventInfo &eventInfo, const TrajectoryStateOnSurface &tsos) const override |
unsigned int | paramNumFromLabel (unsigned int paramLabel) const override |
parameter number, 0 <= .. < theMaxNumParam, belonging to unique parameter label More... | |
PedeLabeler (const PedeLabelerBase::TopLevelAlignables &alignables, const edm::ParameterSet &config) | |
constructor from three Alignables (null pointers allowed ) More... | |
~PedeLabeler () override | |
destructor More... | |
Public Member Functions inherited from PedeLabelerBase | |
virtual void | addCalibrations (const std::vector< IntegratedCalibrationBase * > &iCals) |
tell labeler to treat also integrated calibrations More... | |
const AlignableExtras * | alignableExtras () const |
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 |
unsigned int | parameterInstanceOffset () const |
offset in labels between consecutive parameter instances of Alignable*s 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 () |
Private Types | |
typedef std::map< Alignable *, unsigned int > | AlignableToIdMap |
typedef AlignableToIdMap::value_type | AlignableToIdPair |
typedef std::map< unsigned int, Alignable * > | IdToAlignableMap |
typedef std::map< unsigned int, unsigned int > | UintUintMap |
Private Member Functions | |
unsigned int | buildMap (const std::vector< Alignable * > &alis) |
returns size of map More... | |
unsigned int | buildReverseMap () |
returns size of map More... | |
Private Attributes | |
AlignableToIdMap | theAlignableToIdMap |
IdToAlignableMap | theIdToAlignableMap |
providing unique ID for alignable, space for param IDs More... | |
UintUintMap | theLabelToLasBeamMap |
labels for las beams More... | |
UintUintMap | theLasBeamToLabelMap |
reverse map More... | |
Additional Inherited Members | |
Public Types inherited from PedeLabelerBase | |
using | RunNumber = align::RunNumber |
using | RunRange = align::RunRange |
using | RunRanges = align::RunRanges |
Static Public Attributes inherited from PedeLabelerBase | |
static const unsigned int | theMaxNumParam = RigidBodyAlignmentParameters::N_PARAM + 14 |
static const unsigned int | theMinLabel = 1 |
static const unsigned int | theParamInstanceOffset = 700000 |
Protected Member Functions inherited from PedeLabelerBase | |
virtual unsigned int | firstNonAlignableLabel () const |
const AlignableObjectId & | objectIdProvider () const |
Return tracker alignable object ID provider derived from the tracker's geometry. More... | |
Protected Attributes inherited from PedeLabelerBase | |
const RunRange | theOpenRunRange |
provides labels for AlignmentParameters for pede
(last update by
)
Definition at line 25 of file PedeLabeler.h.
|
private |
Definition at line 66 of file PedeLabeler.h.
|
private |
Definition at line 67 of file PedeLabeler.h.
|
private |
Definition at line 68 of file PedeLabeler.h.
|
private |
Definition at line 69 of file PedeLabeler.h.
PedeLabeler::PedeLabeler | ( | const PedeLabelerBase::TopLevelAlignables & | alignables, |
const edm::ParameterSet & | config | ||
) |
constructor from three Alignables (null pointers allowed )
Definition at line 22 of file PedeLabeler.cc.
References PedeLabelerBase::TopLevelAlignables::aliExtras_, PedeLabelerBase::TopLevelAlignables::aliMuon_, PedeLabelerBase::TopLevelAlignables::aliTracker_, buildMap(), buildReverseMap(), and AlignableExtras::components().
|
override |
|
overridevirtual |
Alignable from alignable or parameter label, null if no alignable (but error only if not las beam, either!)
Implements PedeLabelerBase.
Definition at line 117 of file PedeLabeler.cc.
References alignableLabelFromLabel(), position, theIdToAlignableMap, theLabelToLasBeamMap, and PedeLabelerBase::theMinLabel.
Referenced by maxNumberOfParameterInstances().
|
overridevirtual |
Return 32-bit unique label for alignable, 0 indicates failure.
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
Implements PedeLabelerBase.
Definition at line 47 of file PedeLabeler.cc.
References Alignable::alignableObjectId(), Alignable::id(), position, and theAlignableToIdMap.
Referenced by alignableLabelFromParamAndInstance(), and parameterLabel().
|
overridevirtual |
alignable label from parameter label (works also for alignable label...)
Implements PedeLabelerBase.
Definition at line 111 of file PedeLabeler.cc.
References paramNumFromLabel().
Referenced by alignableFromLabel(), lasBeamIdFromLabel(), and maxNumberOfParameterInstances().
|
overridevirtual |
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
Implements PedeLabelerBase.
Definition at line 67 of file PedeLabeler.cc.
References alignableLabel().
|
private |
returns size of map
Definition at line 153 of file PedeLabeler.cc.
References triggerObjects_cff::id, theAlignableToIdMap, theLasBeamToLabelMap, PedeLabelerBase::theMaxNumParam, and PedeLabelerBase::theMinLabel.
Referenced by PedeLabeler().
|
private |
returns size of map
Definition at line 194 of file PedeLabeler.cc.
References DEFINE_EDM_PLUGIN, theAlignableToIdMap, theIdToAlignableMap, theLabelToLasBeamMap, and theLasBeamToLabelMap.
Referenced by PedeLabeler().
|
inlineoverridevirtual |
returns true if the alignable has parameters that are split into various bins
Implements PedeLabelerBase.
Definition at line 49 of file PedeLabeler.h.
|
overridevirtual |
las beam id from las beam or parameter label zero and error if not a valid las beam label
Implements PedeLabelerBase.
Definition at line 137 of file PedeLabeler.cc.
References alignableLabelFromLabel(), position, theLabelToLasBeamMap, and PedeLabelerBase::theMinLabel.
Referenced by maxNumberOfParameterInstances().
|
overridevirtual |
Implements PedeLabelerBase.
Definition at line 75 of file PedeLabeler.cc.
References position, and theLasBeamToLabelMap.
|
inlineoverridevirtual |
returns the maximum number of instances for any parameter of an Alignable*
Implements PedeLabelerBase.
Definition at line 52 of file PedeLabeler.h.
References alignableFromLabel(), alignableLabelFromLabel(), diffTwoXMLs::label, lasBeamIdFromLabel(), and paramNumFromLabel().
|
inlineoverridevirtual |
returns the number of instances for a given parameter
Implements PedeLabelerBase.
Definition at line 50 of file PedeLabeler.h.
|
overridevirtual |
returns the label for a given alignable parameter number combination
Implements PedeLabelerBase.
Definition at line 89 of file PedeLabeler.cc.
References Exception, and PedeLabelerBase::theMaxNumParam.
Referenced by parameterLabel().
|
inlineoverridevirtual |
returns the label for a given alignable parameter number combination in case the parameters are split into various instances
Implements PedeLabelerBase.
Definition at line 44 of file PedeLabeler.h.
References alignableLabel(), and parameterLabel().
|
overridevirtual |
parameter number, 0 <= .. < theMaxNumParam, belonging to unique parameter label
Implements PedeLabelerBase.
Definition at line 100 of file PedeLabeler.cc.
References PedeLabelerBase::theMaxNumParam, and PedeLabelerBase::theMinLabel.
Referenced by alignableLabelFromLabel(), and maxNumberOfParameterInstances().
|
private |
Definition at line 77 of file PedeLabeler.h.
Referenced by alignableLabel(), buildMap(), and buildReverseMap().
|
private |
providing unique ID for alignable, space for param IDs
Definition at line 78 of file PedeLabeler.h.
Referenced by alignableFromLabel(), and buildReverseMap().
|
private |
labels for las beams
Definition at line 80 of file PedeLabeler.h.
Referenced by alignableFromLabel(), buildReverseMap(), and lasBeamIdFromLabel().
|
private |
reverse map
Definition at line 79 of file PedeLabeler.h.
Referenced by buildMap(), buildReverseMap(), and lasBeamLabel().