Go to the documentation of this file. 1 #ifndef Alignment_MillePedeAlignmentAlgorithm_PedeLabelerBase_h
2 #define Alignment_MillePedeAlignmentAlgorithm_PedeLabelerBase_h
53 virtual void addCalibrations(
const std::vector<IntegratedCalibrationBase *> &iCals);
66 virtual unsigned int lasBeamLabel(
unsigned int lasBeamId)
const = 0;
68 virtual unsigned int parameterLabel(
unsigned int aliLabel,
unsigned int parNum)
const = 0;
unsigned int parameterInstanceOffset() const
offset in labels between consecutive parameter instances of Alignable*s
virtual ~PedeLabelerBase()
Allows conversion between type and name, and vice-versa.
virtual Alignable * alignableFromLabel(unsigned int label) const =0
virtual unsigned int lasBeamLabel(unsigned int lasBeamId) const =0
virtual unsigned int paramNumFromLabel(unsigned int paramLabel) const =0
parameter number, 0 <= .. < theMaxNumParam, belonging to unique parameter label
const AlignableObjectId alignableObjectId_
virtual unsigned int firstNonAlignableLabel() const
virtual unsigned int alignableLabelFromLabel(unsigned int label) const =0
alignable label from parameter label (works also for alignable label...)
const AlignableTracker * alignableTracker() const
std::pair< RunNumber, RunNumber > RunRange
std::vector< std::pair< IntegratedCalibrationBase *, unsigned int > > theCalibrationLabels
pairs of calibrations and their first label
virtual const RunRange & runRangeFromLabel(unsigned int label) const
cond::RealTimeType< cond::runnumber >::type RunNumber
AlignableTracker * aliTracker_
virtual unsigned int alignableLabel(Alignable *alignable) const =0
virtual unsigned int numberOfParameterInstances(Alignable *alignable, int param=-1) const =0
returns the number of instances for a given parameter
virtual unsigned int maxNumberOfParameterInstances() const =0
returns the maximum number of instances for any parameter of an Alignable*
virtual unsigned int lasBeamIdFromLabel(unsigned int label) const =0
virtual unsigned int alignableLabelFromParamAndInstance(Alignable *alignable, unsigned int param, unsigned int instance) const =0
align::RunRanges RunRanges
const TopLevelAlignables topLevelAlignables_
const AlignableObjectId & objectIdProvider() const
Return tracker alignable object ID provider derived from the tracker's geometry.
TopLevelAlignables(AlignableTracker *aliTracker, AlignableMuon *aliMuon, AlignableExtras *extras)
static const unsigned int theMaxNumParam
Constructor of the full muon geometry.
PedeLabelerBase(const TopLevelAlignables &alignables, const edm::ParameterSet &config)
constructor from three Alignables (null pointers allowed )
virtual void addCalibrations(const std::vector< IntegratedCalibrationBase * > &iCals)
tell labeler to treat also integrated calibrations
AlignableExtras * aliExtras_
virtual bool hasSplitParameters(Alignable *alignable) const =0
returns true if the alignable has parameters that are split into various bins
static PFTauRenderPlugin instance
static const unsigned int theParamInstanceOffset
eventInfo
add run, event number and lumi section
static const unsigned int theMinLabel
virtual unsigned int parameterLabel(unsigned int aliLabel, unsigned int parNum) const =0
returns the label for a given alignable parameter number combination
std::vector< RunRange > RunRanges
Interface/Base class for alignment algorithms, each alignment algorithm has to be derived from this c...
const AlignableExtras * alignableExtras() const
align::RunNumber RunNumber
const RunRange theOpenRunRange
virtual std::pair< IntegratedCalibrationBase *, unsigned int > calibrationParamFromLabel(unsigned int label) const
virtual unsigned int calibrationLabel(const IntegratedCalibrationBase *calib, unsigned int paramNum) const
label for parameter 'paramNum' (counted from 0) of an integrated calibration
const AlignableMuon * alignableMuon() const
define event information passed to algorithms
virtual unsigned int firstFreeLabel() const