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