Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:58:33

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 ppsStraightTrackAligner = cms.EDAnalyzer("PPSStraightTrackAligner",
0004     verbosity = cms.untracked.uint32(1),
0005 
0006     # ---------- input and event selection ----------
0007 
0008     tagUVPatternsStrip = cms.InputTag("totemRPUVPatternFinder"),
0009     tagDiamondHits = cms.InputTag("ctppsFastLocalSimulation"),
0010     tagPixelHits = cms.InputTag("ctppsFastLocalSimulation"),
0011     tagPixelLocalTracks = cms.InputTag(""),
0012 
0013     # list of RPs for which the alignment parameters shall be optimized
0014     rpIds = cms.vuint32(),
0015 
0016     # list of planes to be excluded from processing
0017     excludePlanes = cms.vuint32(),
0018 
0019     # maximum number of selected events
0020     maxEvents = cms.int32(-1),  # -1 means unlimited
0021 
0022 
0023     # ---------- event selection ----------
0024 
0025     # parameters of hit outlier removal
0026     maxResidualToSigma = cms.double(3),
0027     minimumHitsPerProjectionPerRP = cms.uint32(4),
0028 
0029     # skip events with hits in both top and bottom RPs
0030     removeImpossible = cms.bool(True),
0031 
0032     # minimum required number of units active
0033     requireNumberOfUnits = cms.uint32(2),
0034 
0035     # require combination of top+horizontal or bottom+horizontal RPs
0036     requireOverlap = cms.bool(False),
0037 
0038     # require at least 3 RPs active when track in the horizontal-vertical overlap
0039     requireAtLeast3PotsInOverlap = cms.bool(True),
0040 
0041     # list of RP sets that are accepted irrespective of the "require" settings
0042     #     the sets should be separated by ";"
0043     #     within each set, RP ids are separated by ","
0044     #     example: "103,104;120,121"
0045     additionalAcceptedRPSets = cms.string(""),
0046 
0047     # track fit quality requirements
0048     cutOnChiSqPerNdf = cms.bool(True),
0049     chiSqPerNdfCut = cms.double(10),
0050 
0051     # track angular requirements
0052     maxTrackAx = cms.double(1E6),
0053     maxTrackAy = cms.double(1E6),
0054 
0055 
0056     # ---------- constraints ----------
0057 
0058     # choices: fixedDetectors, standard
0059     constraintsType = cms.string("standard"),
0060 
0061     oneRotZPerPot = cms.bool(False),
0062     useEqualMeanUMeanVRotZConstraints = cms.bool(True),
0063     
0064     # values in um and m rad
0065     fixedDetectorsConstraints = cms.PSet(
0066       ShR = cms.PSet(
0067         ids = cms.vuint32(1220, 1221, 1228, 1229),
0068         values = cms.vdouble(0, 0, 0, 0),
0069       ),
0070       ShZ = cms.PSet(
0071         ids = cms.vuint32(1200, 1201, 1208, 1209),
0072         values = cms.vdouble(0, 0, 0, 0),
0073       ),
0074       RotZ = cms.PSet(
0075         ids = cms.vuint32(1200, 1201),
0076         values = cms.vdouble(0, 0),
0077       ),
0078       RPShZ = cms.PSet(
0079         ids = cms.vuint32(1200), # number of any plane in the chosen RP
0080         values = cms.vdouble(0),
0081       ),
0082     ),
0083 
0084     standardConstraints = cms.PSet(
0085         units = cms.vuint32(1, 21)
0086     ),
0087 
0088 
0089     # ---------- solution parameters ----------
0090 
0091     # a characteristic z in mm
0092     z0 = cms.double(0.0),
0093 
0094     # what to be resolved
0095     resolveShR = cms.bool(True),
0096     resolveShZ = cms.bool(False),
0097     resolveRotZ = cms.bool(False),
0098 
0099     # suitable value for station alignment
0100     singularLimit = cms.double(1E-8),
0101 
0102 
0103     # ---------- algorithm configuration ----------
0104 
0105     # available algorithms: Ideal, Jan
0106     algorithms = cms.vstring("Jan"),
0107     
0108     IdealResult = cms.PSet(
0109     ),
0110 
0111     JanAlignmentAlgorithm = cms.PSet(
0112       weakLimit = cms.double(1E-6),
0113       stopOnSingularModes = cms.bool(True),
0114       buildDiagnosticPlots = cms.bool(True),
0115     ),
0116 
0117 
0118     # ---------- output configuration ----------
0119 
0120     saveIntermediateResults = cms.bool(True),
0121     taskDataFileName = cms.string(''),
0122 
0123     buildDiagnosticPlots = cms.bool(True),
0124     diagnosticsFile = cms.string(''),
0125 
0126     fileNamePrefix = cms.string('results_iteration_'),
0127     expandedFileNamePrefix = cms.string('results_cumulative_expanded_'),
0128     factoredFileNamePrefix = cms.string('results_cumulative_factored_'),
0129     preciseXMLFormat = cms.bool(False),
0130     saveXMLUncertainties = cms.bool(False)
0131 )