CMS 3D CMS Logo

ppsStraightTrackAligner_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 ppsStraightTrackAligner = cms.EDAnalyzer("PPSStraightTrackAligner",
4  verbosity = cms.untracked.uint32(1),
5 
6  # ---------- input and event selection ----------
7 
8  tagUVPatternsStrip = cms.InputTag("totemRPUVPatternFinder"),
9  tagDiamondHits = cms.InputTag("ctppsFastLocalSimulation"),
10  tagPixelHits = cms.InputTag("ctppsFastLocalSimulation"),
11  tagPixelLocalTracks = cms.InputTag(""),
12 
13  # list of RPs for which the alignment parameters shall be optimized
14  rpIds = cms.vuint32(),
15 
16  # list of planes to be excluded from processing
17  excludePlanes = cms.vuint32(),
18 
19  # maximum number of selected events
20  maxEvents = cms.int32(-1), # -1 means unlimited
21 
22 
23  # ---------- event selection ----------
24 
25  # parameters of hit outlier removal
26  maxResidualToSigma = cms.double(3),
27  minimumHitsPerProjectionPerRP = cms.uint32(4),
28 
29  # skip events with hits in both top and bottom RPs
30  removeImpossible = cms.bool(True),
31 
32  # minimum required number of units active
33  requireNumberOfUnits = cms.uint32(2),
34 
35  # require combination of top+horizontal or bottom+horizontal RPs
36  requireOverlap = cms.bool(False),
37 
38  # require at least 3 RPs active when track in the horizontal-vertical overlap
39  requireAtLeast3PotsInOverlap = cms.bool(True),
40 
41  # list of RP sets that are accepted irrespective of the "require" settings
42  # the sets should be separated by ";"
43  # within each set, RP ids are separated by ","
44  # example: "103,104;120,121"
45  additionalAcceptedRPSets = cms.string(""),
46 
47  # track fit quality requirements
48  cutOnChiSqPerNdf = cms.bool(True),
49  chiSqPerNdfCut = cms.double(10),
50 
51  # track angular requirements
52  maxTrackAx = cms.double(1E6),
53  maxTrackAy = cms.double(1E6),
54 
55 
56  # ---------- constraints ----------
57 
58  # choices: fixedDetectors, standard
59  constraintsType = cms.string("standard"),
60 
61  oneRotZPerPot = cms.bool(False),
62  useEqualMeanUMeanVRotZConstraints = cms.bool(True),
63 
64  # values in um and m rad
65  fixedDetectorsConstraints = cms.PSet(
66  ShR = cms.PSet(
67  ids = cms.vuint32(1220, 1221, 1228, 1229),
68  values = cms.vdouble(0, 0, 0, 0),
69  ),
70  ShZ = cms.PSet(
71  ids = cms.vuint32(1200, 1201, 1208, 1209),
72  values = cms.vdouble(0, 0, 0, 0),
73  ),
74  RotZ = cms.PSet(
75  ids = cms.vuint32(1200, 1201),
76  values = cms.vdouble(0, 0),
77  ),
78  RPShZ = cms.PSet(
79  ids = cms.vuint32(1200), # number of any plane in the chosen RP
80  values = cms.vdouble(0),
81  ),
82  ),
83 
84  standardConstraints = cms.PSet(
85  units = cms.vuint32(1, 21)
86  ),
87 
88 
89  # ---------- solution parameters ----------
90 
91  # a characteristic z in mm
92  z0 = cms.double(0.0),
93 
94  # what to be resolved
95  resolveShR = cms.bool(True),
96  resolveShZ = cms.bool(False),
97  resolveRotZ = cms.bool(False),
98 
99  # suitable value for station alignment
100  singularLimit = cms.double(1E-8),
101 
102 
103  # ---------- algorithm configuration ----------
104 
105  # available algorithms: Ideal, Jan
106  algorithms = cms.vstring("Jan"),
107 
108  IdealResult = cms.PSet(
109  ),
110 
111  JanAlignmentAlgorithm = cms.PSet(
112  weakLimit = cms.double(1E-6),
113  stopOnSingularModes = cms.bool(True),
114  buildDiagnosticPlots = cms.bool(True),
115  ),
116 
117 
118  # ---------- output configuration ----------
119 
120  saveIntermediateResults = cms.bool(True),
121  taskDataFileName = cms.string(''),
122 
123  buildDiagnosticPlots = cms.bool(True),
124  diagnosticsFile = cms.string(''),
125 
126  fileNamePrefix = cms.string('results_iteration_'),
127  expandedFileNamePrefix = cms.string('results_cumulative_expanded_'),
128  factoredFileNamePrefix = cms.string('results_cumulative_factored_'),
129  preciseXMLFormat = cms.bool(False),
130  saveXMLUncertainties = cms.bool(False)
131 )