#include <MomentumDependentPedeLabeler.h>
Public Member Functions | |
Alignable * | alignableFromLabel (unsigned int label) const override |
unsigned int | alignableLabel (const 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 (const 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... | |
MomentumDependentPedeLabeler (const PedeLabelerBase::TopLevelAlignables &alignables, const edm::ParameterSet &config) | |
constructor from three Alignables (null pointers allowed ) 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... | |
~MomentumDependentPedeLabeler () override | |
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, AlignableComparator > | AlignableToIdMap |
typedef AlignableToIdMap::value_type | AlignableToIdPair |
typedef std::map< Alignable *, MomentumRangeParamMap, AlignableComparator > | AlignableToMomentumRangeMap |
typedef AlignableToMomentumRangeMap::value_type | AlignableToMomentumRangePair |
typedef std::map< unsigned int, Alignable * > | IdToAlignableMap |
typedef std::pair< float, float > | MomentumRange |
typedef std::map< unsigned int, MomentumRangeVector > | MomentumRangeParamMap |
typedef std::vector< MomentumRange > | MomentumRangeVector |
typedef std::map< unsigned int, unsigned int > | UintUintMap |
Private Member Functions | |
unsigned int | buildMap (const align::Alignables &) |
returns size of map More... | |
unsigned int | buildMomentumDependencyMap (AlignableTracker *aliTracker, AlignableMuon *aliMuon, AlignableExtras *extras, const edm::ParameterSet &config) |
unsigned int | buildReverseMap () |
returns size of map More... | |
std::vector< unsigned int > | convertParamSel (const std::string &selString) const |
std::vector< std::string > | decompose (const std::string &s, std::string::value_type delimiter) const |
Private Attributes | |
AlignableToIdMap | theAlignableToIdMap |
AlignableToMomentumRangeMap | theAlignableToMomentumRangeMap |
providing unique ID for alignable, space for param IDs More... | |
IdToAlignableMap | theIdToAlignableMap |
providing unique ID for alignable, space for param IDs More... | |
UintUintMap | theLabelToLasBeamMap |
labels for las beams More... | |
UintUintMap | theLasBeamToLabelMap |
reverse map More... | |
unsigned int | theMaxNumberOfParameterInstances |
const MomentumRange | theOpenMomentumRange |
reverse of the above 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 26 of file MomentumDependentPedeLabeler.h.
|
private |
Definition at line 71 of file MomentumDependentPedeLabeler.h.
|
private |
Definition at line 72 of file MomentumDependentPedeLabeler.h.
|
private |
Definition at line 76 of file MomentumDependentPedeLabeler.h.
|
private |
Definition at line 77 of file MomentumDependentPedeLabeler.h.
|
private |
Definition at line 78 of file MomentumDependentPedeLabeler.h.
|
private |
Definition at line 73 of file MomentumDependentPedeLabeler.h.
|
private |
Definition at line 75 of file MomentumDependentPedeLabeler.h.
|
private |
Definition at line 74 of file MomentumDependentPedeLabeler.h.
|
private |
Definition at line 79 of file MomentumDependentPedeLabeler.h.
MomentumDependentPedeLabeler::MomentumDependentPedeLabeler | ( | const PedeLabelerBase::TopLevelAlignables & | alignables, |
const edm::ParameterSet & | config | ||
) |
constructor from three Alignables (null pointers allowed )
Definition at line 27 of file MomentumDependentPedeLabeler.cc.
References PedeLabelerBase::TopLevelAlignables::aliExtras_, PedeLabelerBase::TopLevelAlignables::aliMuon_, PedeLabelerBase::TopLevelAlignables::aliTracker_, buildMap(), buildMomentumDependencyMap(), buildReverseMap(), and AlignableExtras::components().
|
override |
non-virtual destructor: do not inherit from this class
Definition at line 49 of file MomentumDependentPedeLabeler.cc.
|
overridevirtual |
Alignable from alignable or parameter label, null if no alignable (but error only if not las beam, either!)
Implements PedeLabelerBase.
Definition at line 228 of file MomentumDependentPedeLabeler.cc.
References alignableLabelFromLabel(), position, theIdToAlignableMap, theLabelToLasBeamMap, and PedeLabelerBase::theMinLabel.
|
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 53 of file MomentumDependentPedeLabeler.cc.
References Alignable::alignableObjectId(), hcalRecHitTable_cff::detId, Alignable::id(), position, and theAlignableToIdMap.
|
overridevirtual |
alignable label from parameter label (works also for alignable label...)
Implements PedeLabelerBase.
Definition at line 223 of file MomentumDependentPedeLabeler.cc.
References volumeBasedMagneticField_160812_cfi::paramLabel, and paramNumFromLabel().
Referenced by alignableFromLabel(), and lasBeamIdFromLabel().
|
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 73 of file MomentumDependentPedeLabeler.cc.
References Alignable::alignableObjectId(), hcalRecHitTable_cff::detId, Exception, Alignable::id(), instance, position, theAlignableToIdMap, theAlignableToMomentumRangeMap, and PedeLabelerBase::theParamInstanceOffset.
|
private |
returns size of map
Definition at line 374 of file MomentumDependentPedeLabeler.cc.
References Exception, EcalPhiSymFlatTableProducers_cfi::id, theAlignableToIdMap, theLasBeamToLabelMap, PedeLabelerBase::theMaxNumParam, PedeLabelerBase::theMinLabel, and PedeLabelerBase::theParamInstanceOffset.
Referenced by MomentumDependentPedeLabeler().
|
private |
Definition at line 292 of file MomentumDependentPedeLabeler.cc.
References convertParamSel(), decompose(), Exception, AlignableObjectId::idToString(), PedeLabelerBase::objectIdProvider(), collectionMerger::selector, AlignmentParameters::size(), theAlignableToMomentumRangeMap, and edm::tokenize().
Referenced by MomentumDependentPedeLabeler().
|
private |
returns size of map
Definition at line 419 of file MomentumDependentPedeLabeler.cc.
References ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, submitPVResolutionJobs::key, WZElectronSkims53X_cff::max, numberOfParameterInstances(), theAlignableToIdMap, theIdToAlignableMap, theLabelToLasBeamMap, theLasBeamToLabelMap, theMaxNumberOfParameterInstances, and PedeLabelerBase::theParamInstanceOffset.
Referenced by MomentumDependentPedeLabeler().
|
private |
Definition at line 283 of file MomentumDependentPedeLabeler.cc.
References mps_fire::result.
Referenced by buildMomentumDependencyMap().
|
private |
Definition at line 264 of file MomentumDependentPedeLabeler.cc.
References makeHLTPrescaleTable::delimiter, mps_fire::result, and alignCSCRings::s.
Referenced by buildMomentumDependencyMap().
|
overridevirtual |
returns true if the alignable has parameters that are split into various bins
Implements PedeLabelerBase.
Definition at line 182 of file MomentumDependentPedeLabeler.cc.
References theAlignableToMomentumRangeMap.
|
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 248 of file MomentumDependentPedeLabeler.cc.
References alignableLabelFromLabel(), position, theLabelToLasBeamMap, and PedeLabelerBase::theMinLabel.
|
overridevirtual |
Implements PedeLabelerBase.
Definition at line 108 of file MomentumDependentPedeLabeler.cc.
References position, and theLasBeamToLabelMap.
|
inlineoverridevirtual |
returns the maximum number of instances for any parameter of an Alignable*
Implements PedeLabelerBase.
Definition at line 57 of file MomentumDependentPedeLabeler.h.
References theMaxNumberOfParameterInstances.
|
overridevirtual |
returns the number of instances for a given parameter
Implements PedeLabelerBase.
Definition at line 190 of file MomentumDependentPedeLabeler.cc.
References WZElectronSkims53X_cff::max, and theAlignableToMomentumRangeMap.
Referenced by buildReverseMap().
|
overridevirtual |
returns the label for a given alignable parameter number combination
Implements PedeLabelerBase.
Definition at line 121 of file MomentumDependentPedeLabeler.cc.
References Exception, and PedeLabelerBase::theMaxNumParam.
|
overridevirtual |
returns the label for a given alignable parameter number combination in case the parameters are split into v
Implements PedeLabelerBase.
Definition at line 130 of file MomentumDependentPedeLabeler.cc.
References Alignable::alignableObjectId(), hcalRecHitTable_cff::detId, Exception, TrajectoryStateOnSurface::globalMomentum(), Alignable::id(), PV3DBase< T, PVType, FrameType >::mag(), HLT_IsoTrack_cff::offset, position, theAlignableToIdMap, theAlignableToMomentumRangeMap, PedeLabelerBase::theMaxNumParam, and PedeLabelerBase::theParamInstanceOffset.
|
overridevirtual |
parameter number, 0 <= .. < theMaxNumParam, belonging to unique parameter label
Implements PedeLabelerBase.
Definition at line 213 of file MomentumDependentPedeLabeler.cc.
References volumeBasedMagneticField_160812_cfi::paramLabel, PedeLabelerBase::theMinLabel, and PedeLabelerBase::theParamInstanceOffset.
Referenced by alignableLabelFromLabel().
|
private |
Definition at line 94 of file MomentumDependentPedeLabeler.h.
Referenced by alignableLabel(), alignableLabelFromParamAndInstance(), buildMap(), buildReverseMap(), and parameterLabel().
|
private |
providing unique ID for alignable, space for param IDs
Definition at line 95 of file MomentumDependentPedeLabeler.h.
Referenced by alignableLabelFromParamAndInstance(), buildMomentumDependencyMap(), hasSplitParameters(), numberOfParameterInstances(), and parameterLabel().
|
private |
providing unique ID for alignable, space for param IDs
Definition at line 96 of file MomentumDependentPedeLabeler.h.
Referenced by alignableFromLabel(), and buildReverseMap().
|
private |
labels for las beams
Definition at line 98 of file MomentumDependentPedeLabeler.h.
Referenced by alignableFromLabel(), buildReverseMap(), and lasBeamIdFromLabel().
|
private |
reverse map
Definition at line 97 of file MomentumDependentPedeLabeler.h.
Referenced by buildMap(), buildReverseMap(), and lasBeamLabel().
|
private |
Definition at line 100 of file MomentumDependentPedeLabeler.h.
Referenced by buildReverseMap(), and maxNumberOfParameterInstances().
|
private |
reverse of the above
Definition at line 99 of file MomentumDependentPedeLabeler.h.