Linear equality constraints in Millepede II

The idea of the tool is to apply linear equality constraints on alignables within the [[SWGuideMillepedeIIAlgorithm][MillePedeII] framework of CMSSW. An overview has been given in TkAl meeting 2013-05-23 and TkAl meeting 2013-05-30.

In order to enable them a configuration like the following configuration is needed:

process.AlignmentProducer.algoConfig.pedeSteerer.applyConstraints = cms.bool(True)
process.AlignmentProducer.algoConfig.pedeSteerer.constraints = cms.VPSet(
    cms.PSet(
        constraint = cms.string("zexpansion"),
        coefficients = cms.vdouble(0.0),
        steerFilePrefix = cms.string("tracker_zexpansion_HL"),
        levels = cms.PSet(
            alignParams = cms.vstring(
                ’TrackerStrip,’
            ),
        ),
        excludedAlignables = cms.PSet(
            alignParams = cms.vstring(
                ’TrackerTIBHalfBarrel,’,
                ’TrackerTOBHalfBarrel,’,
            ),
        ),
        deadmodules = dmList,
    ),
    cms.PSet(
        constraint = cms.string("zexpansion"),
        coefficients = cms.vdouble(0.0),
        steerFilePrefix = cms.string("tracker_zexpansion_ML"),
        levels = cms.PSet(
            alignParams = cms.vstring(
                ’TrackerTIDEndcap,’,
                ’TrackerTECEndcap,’,
            ),
        ),
        deadmodules = dmList,
    )
)

The first line enables the constraints and the constraints PSet is used to configure the individual constraints using the parameters described in the table below:

optionSorted ascending description
coefficients proportionality factors for the selected constraints; mostly it is just one factor, except for "sagitta", "skew", and "elliptical"
constraint string describing the type of constraint ("twist", "zexpansion", "sagitta", "radial", "telescope", "layerrotation", "bowing", "skew", "elliptical")
deadmodules list of DetIds to be excluded from the constraint, e.g. one can exclude module that are not moved by the fit because they do not pass the entries cut of pede, they would spoil the effect of the constraint
excludedAlignables if a constraint for a larger structure is configured one can exclude alignables from this larger structure with the same syntax as in levels
levels defines the levels to which the constraint should be applied; uses the syntax of the AlignmentParameterSelector, i.e. the trailing comma is required
steerFilePrefix a pede steering file is created per constraint and prefixed with the string given here

This tool has been extended to be used for multiple IOVs as is described in the talk at the TkAl meeting 2016-03-16. In this case it can happen that some IOVs do not contain data resulting in constraints like = 0, i.e. such constraints are linearly dependent on other constraints and result in an exception in pede.

This can be avoided with the pede option "skipemptycons".

-- Gregor Mittag (né Hellwig) - 2016-07-18

Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2016-07-18 - GregorHellwig
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback