Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:57:27

0001 import FWCore.ParameterSet.Config as cms
0002 import copy # for deepcopy used below
0003 
0004 #
0005 # This file contains all scenarios as blocks
0006 # A block can be included in a config file as:
0007 #   using <block label>
0008 # in any place where a PSet could be used.
0009 #
0010 # See corresponding .cff files for examples.
0011 #
0012 # Note: following scenarios are and update for phase1 geometry of phase0 geometry scenarios defined in: 
0013 # https://github.com/cms-sw/cmssw/blob/master/Alignment/TrackerAlignment/python/Scenarios_phase0_cff.py
0014 #
0015 # Updated Hierarchy levels:
0016 # P1PXBLadder
0017 # P1PXBLayer
0018 # P1PXBHalfBarrel
0019 # P1PXBBarrel
0020 # P1PXECPanel
0021 # P1PXECBlade
0022 # P1PXECHalfDisk
0023 # P1PXECHalfCylinder
0024 # P1PXECEndcap
0025 # -----------------------------------------------------------------------
0026 # General settings common to all scenarios
0027 MisalignmentScenarioSettings = cms.PSet(
0028     setRotations = cms.bool(True),
0029     setTranslations = cms.bool(True),
0030     seed = cms.int32(1234567),
0031     distribution = cms.string('gaussian'),
0032     setError = cms.bool(True)
0033 )
0034 # -----------------------------------------------------------------------
0035 #  "Misalignment" scenario without misalignment...
0036 NoMovementsScenario = cms.PSet(
0037     MisalignmentScenarioSettings
0038 )
0039 
0040 #--------------------------------------------------------
0041 # Move ring 7 of of TEC in localY by 1.33 mm
0042 
0043 def TECRing7Shift(shift):
0044   shift_Ring7_Units = cms.PSet( DetUnits = cms.PSet(dYlocal = cms.double(shift)))
0045   scenario = cms.PSet(
0046     MisalignmentScenarioSettings,
0047     TECEndcaps = cms.PSet(
0048       distribution = cms.string('fixed'),
0049       TECDisk1_2_3 = cms.PSet(
0050         TECRing7 = cms.PSet( shift_Ring7_Units )# TECRing7
0051       ),
0052       TECDisk4_5_6 = cms.PSet(
0053         TECRing6 = cms.PSet( shift_Ring7_Units )# TECRing6
0054       ),
0055       TECDisk7_8 = cms.PSet(
0056         TECRing5 = cms.PSet( shift_Ring7_Units )# TECRing5
0057       ),
0058       TECDisk9 = cms.PSet(
0059         TECRing4 = cms.PSet( shift_Ring7_Units )# TECRing4
0060       )
0061     )#TECEndcaps
0062   )#scenario
0063   return scenario
0064 
0065 
0066 TECRing7Plus133mmScenario = TECRing7Shift(0.133)
0067 TECRing7Minus133mmScenario = TECRing7Shift(-0.133)
0068 
0069 # -----------------------------------------------------------------------
0070 # LS1BPixRepairScenario
0071 # ---------------------
0072 # This scenario mimics the shifts introduced by the BPix repair work
0073 # during LS1. It contains only the aditional movements. It is intended
0074 # for use in realignment studies.
0075 # Object presented in the TkAlignment meeting of Oct 30, 2014
0076 # https://indico.cern.ch/event/337181/, talk by Ekaterina Avdeeva
0077 # -----------------------------------------------------------------------
0078 
0079 shift_0006_000027 = cms.PSet(
0080         dXlocal = cms.double(0.006), phiXlocal = cms.double(0.00027),
0081         dYlocal = cms.double(0.006), phiYlocal = cms.double(0.00027),
0082         dZlocal = cms.double(0.006), phiZlocal = cms.double(0.00027)
0083 )# end of shift_0006_000027
0084 
0085 LS1BPixRepair_P1PXBHalfBarrel2 = cms.PSet(
0086     P1PXBHalfBarrel2=cms.PSet(
0087         P1PXBLayers=cms.PSet(
0088             dX= cms.double(0.01),
0089             dY= cms.double(0.01),
0090             dZ= cms.double(0.02),
0091             P1PXBLadders=cms.PSet(
0092                 DetUnit1=cms.PSet( shift_0006_000027 ),#DetUnit1
0093                 DetUnit2=cms.PSet( shift_0006_000027 ),#DetUnit2
0094                 DetUnit3=cms.PSet( shift_0006_000027 ),#DetUnit3
0095                 DetUnit4=cms.PSet( shift_0006_000027 ) #DetUnit4
0096             )#P1PXBLadders
0097         )#P1PXBLayers
0098     )#P1PXBHalfBarrel2
0099 )# end of LS1BPixRepair_P1PXBHalfBarrel2
0100 
0101 LS1BPixRepairScenario = cms.PSet(
0102     MisalignmentScenarioSettings,
0103     LS1BPixRepair_P1PXBHalfBarrel2
0104 )
0105 
0106 LS1BPixRepairAndTECRing7Plus133mmScenario = cms.PSet(
0107     TECRing7Plus133mmScenario,
0108     LS1BPixRepair_P1PXBHalfBarrel2
0109 )
0110 
0111 LS1BPixRepairAndTECRing7Minus133mmScenario = cms.PSet(
0112     TECRing7Minus133mmScenario,
0113     LS1BPixRepair_P1PXBHalfBarrel2
0114 )
0115 
0116 
0117 # -----------------------------------------------------------------------
0118 # CSA14 scenario
0119 # See https://twiki.cern.ch/twiki/bin/viewauth/CMS/TkAl1402 for a
0120 # justification of these values. This scenario has to be applied on top
0121 # of an existing MC object, not on top of IDEAL.
0122 # This scenario has been used to produce the CSA14 50ns scenario
0123 #
0124 
0125 shift_0050_10em06 = cms.PSet(
0126         dXlocal = cms.double(0.0050), phiXlocal = cms.double(10e-06),
0127         dYlocal = cms.double(0.0050), phiYlocal = cms.double(10e-06),
0128         dZlocal = cms.double(0.0050), phiZlocal = cms.double(10e-06)
0129 )# end of shift_0050_10em06
0130 
0131 TrackerCSA14_P1PXBHalfBarrel1 = cms.PSet(
0132         P1PXBHalfBarrel1 = cms.PSet(
0133                 P1PXBLayer3 = cms.PSet(
0134                         P1PXBLadder1 = cms.PSet(
0135                                 DetUnit1 = cms.PSet( shift_0050_10em06 ),
0136                                 DetUnit2 = cms.PSet( shift_0050_10em06 ),
0137                                 DetUnit3 = cms.PSet( shift_0050_10em06 ),
0138                                 DetUnit4 = cms.PSet( shift_0050_10em06 ),
0139                                 DetUnit5 = cms.PSet( shift_0050_10em06 ),
0140                                 DetUnit6 = cms.PSet( shift_0050_10em06 ),
0141                                 DetUnit7 = cms.PSet( shift_0050_10em06 ),
0142                                 DetUnit8 = cms.PSet( shift_0050_10em06 ),
0143                         ), # P1PXBLadder1
0144                         P1PXBLadder3 = cms.PSet(
0145                                 DetUnit1 = cms.PSet( shift_0050_10em06 ),
0146                                 DetUnit2 = cms.PSet( shift_0050_10em06 ),
0147                                 DetUnit3 = cms.PSet( shift_0050_10em06 ),
0148                                 DetUnit4 = cms.PSet( shift_0050_10em06 ),
0149                         ), # P1PXBLadder3
0150                         P1PXBLadder9 = cms.PSet(
0151                                 DetUnit6 = cms.PSet( shift_0050_10em06 ),
0152                                 DetUnit7 = cms.PSet( shift_0050_10em06 ),
0153                                 DetUnit8 = cms.PSet( shift_0050_10em06 ),
0154                         ), # P1PXBLadder9
0155                         P1PXBLadder21 = cms.PSet(
0156                                 DetUnit1 = cms.PSet( shift_0050_10em06 ),
0157                                 DetUnit2 = cms.PSet( shift_0050_10em06 ),
0158                                 DetUnit3 = cms.PSet( shift_0050_10em06 )
0159                         )# P1PXBLadder21
0160                 )# P1PXBLayer3
0161         )# P1PXBHalfBarrel1
0162 )#end of TrackerCSA14_P1PXBHalfBarrel1
0163 
0164 TrackerCSA14_BarrelsGeneralSettings = cms.PSet(
0165         distribution = cms.string('gaussian'), scale = cms.double(1.0), scaleError = cms.double(1.0),
0166         P1PXBHalfBarrels = cms.PSet( distribution = cms.string('flat'), dX = cms.double(0.0005), dY = cms.double(0.0010),
0167                 dZ = cms.double(0.0050), phiX = cms.double(30e-6),
0168                 phiY = cms.double(30e-06), phiZ = cms.double(30e-06)),# P1PXBHalfBarrels
0169         DetUnits = cms.PSet( dXlocal = cms.double(0.0001), dYlocal = cms.double(0.0001),
0170                 dZlocal = cms.double(0.0001), phiXlocal = cms.double(0.5e-04),
0171                 phiYlocal = cms.double(0.5e-04), phiZlocal = cms.double(0.5e-04))# DetUnits
0172 )#end of TrackerCSA14_BarrelsGeneralSettings
0173 
0174 shift_0010_10em06 = cms.PSet(
0175         dXlocal = cms.double(0.01), phiXlocal = cms.double(10e-06),
0176         dYlocal = cms.double(0.01), phiYlocal = cms.double(10e-06),
0177         dZlocal = cms.double(0.01), phiZlocal = cms.double(10e-06)
0178 )# end of shift_001_10em06
0179 
0180 shift_00002_05em04 = cms.PSet(
0181         dXlocal = cms.double(0.0002), phiXlocal = cms.double(0.5e-04),
0182         dYlocal = cms.double(0.0002), phiYlocal = cms.double(0.5e-04),
0183         dZlocal = cms.double(0.0002), phiZlocal = cms.double(0.5e-04)
0184 )# end of shift_00002_05em04
0185 
0186 TrackerCSA14_OtherThanBarrels = cms.PSet(
0187  P1PXECEndcap1 = cms.PSet(
0188     distribution = cms.string('gaussian'), scale = cms.double(1.0), scaleError = cms.double(1.0),
0189      dX = cms.double(0.01), dY = cms.double(0.01), dZ = cms.double(0.01),
0190     phiX = cms.double(10e-06), phiY = cms.double(10e-06), phiZ = cms.double(10e-06)
0191  ),#P1PXECEndcap1
0192  P1PXECEndcap2 = cms.PSet(
0193     distribution = cms.string('gaussian'), scale = cms.double(1.0), scaleError = cms.double(1.0),
0194     P1PXECPanels = cms.PSet ( shift_0010_10em06 ), # P1PXECPanels
0195     P1PXECHalfCylinder1 = cms.PSet(
0196         P1PXECHalfDisk1 = cms.PSet(
0197              P1PXECBlade1 = cms.PSet(
0198                 P1PXECPanel1 = cms.PSet(
0199                     DetUnits = cms.PSet( shift_0010_10em06 )#DetUnits
0200                 )# P1PXECPanel1
0201             ), #P1PXECBlade1
0202              P1PXECBlade8 = cms.PSet(
0203                 P1PXECPanel2 = cms.PSet(
0204                     DetUnits = cms.PSet( shift_0010_10em06 ) #DetUnits
0205                 )# P1PXECPanel2
0206             )#P1PXECBlade8
0207          )#P1PXECHalfDisk1
0208     ),#P1PXECHalfCylinder1
0209      P1PXECHalfCylinder2 = cms.PSet(
0210         P1PXECHalfDisk1 = cms.PSet(
0211             P1PXECBlade9 = cms.PSet(
0212                 P1PXECPanel2 = cms.PSet(
0213                     DetUnits = cms.PSet( shift_0010_10em06 ) #DetUnits
0214                 )# P1PXECPanel2
0215             )#P1PXECBlade9
0216          )#P1PXECHalfDisk1
0217     )#P1PXECHalfCylinder2
0218  ),#P1PXECEndcap2
0219  TIBHalfBarrels = cms.PSet(distribution = cms.string('gaussian'), scale = cms.double(1.0), scaleError = cms.double(1.0),
0220      DetUnits = cms.PSet( shift_00002_05em04 )#DetUnits
0221  ), # TIBHalfBarrels
0222  TOBHalfBarrels = cms.PSet(distribution = cms.string('gaussian'), scale = cms.double(1.0), scaleError = cms.double(1.0),
0223      DetUnits = cms.PSet( dXlocal = cms.double(0.0005), dYlocal = cms.double(0.0005),
0224         dZlocal = cms.double(0.0005), phiXlocal = cms.double(0.5e-04),
0225         phiYlocal = cms.double(0.5e-04), phiZlocal = cms.double(0.5e-04),)#DetUnits
0226  ), # TOBHalfBarrels
0227  TIDEndcaps = cms.PSet(distribution = cms.string('gaussian'), scale = cms.double(1.0), scaleError = cms.double(1.0),
0228      DetUnits = cms.PSet( shift_00002_05em04 )#DetUnits
0229  ), # TIDEndcaps
0230  TECEndcaps = cms.PSet(distribution = cms.string('gaussian'), scale = cms.double(1.0), scaleError = cms.double(1.0),
0231      DetUnits = cms.PSet( shift_00002_05em04 )#DetUnits
0232  ) # TECEndcaps
0233 )#end of TrackerCSA14_OtherThanBarrels
0234 
0235 TrackerCSA14Scenario = cms.PSet(
0236         MisalignmentScenarioSettings,
0237         TrackerCSA14_OtherThanBarrels,
0238         P1PXBBarrels = cms.PSet(
0239                 TrackerCSA14_BarrelsGeneralSettings,
0240                 TrackerCSA14_P1PXBHalfBarrel1
0241         )#P1PXBBarrels
0242 )#end of TrackerCSA14Scenario
0243 
0244 #------------------------------------------------------------------------
0245 # merged TrackerCSA14 and LS1BPixRepair
0246 
0247 TrackerCSA14AndLS1BPixRepairScenario = cms.PSet(
0248         MisalignmentScenarioSettings,
0249         TrackerCSA14_OtherThanBarrels,
0250         P1PXBBarrels = cms.PSet(
0251                 TrackerCSA14_BarrelsGeneralSettings,
0252                 TrackerCSA14_P1PXBHalfBarrel1,
0253                 LS1BPixRepair_P1PXBHalfBarrel2
0254         )#P1PXBBarrels
0255 )#end of TrackerCSA14AndLS1BPixRepairScenario
0256 
0257 
0258 
0259 # -----------------------------------------------------------------------
0260 # Example scenario (dummy movements)
0261 TrackerExampleScenario = cms.PSet(
0262       MisalignmentScenarioSettings,
0263       TOBHalfBarrel1 = cms.PSet(
0264         TOBLayers = cms.PSet(
0265             dX = cms.double(0.1)
0266             ),
0267         TOBLayer1 = cms.PSet(
0268             dX = cms.double(0.2)
0269             )
0270         ),
0271       TOBHalfBarrels = cms.PSet(
0272         TOBLayer1 = cms.PSet(
0273             phiX = cms.double(0.03)
0274             ),
0275         dX = cms.double(0.2)
0276         )
0277     )
0278 # -----------------------------------------------------------------------
0279 # 10 pb-1 misalignment scenario
0280 # See CMS IN 2007/036
0281 #
0282 # first helper blocks for TEC:
0283 TECRings10pb_1D = cms.PSet(
0284     DetUnits = cms.PSet(
0285         dZlocal = cms.double(0.0022),
0286         phiXlocal = cms.double(5e-05),
0287         dYlocal = cms.double(0.0022),
0288         phiZlocal = cms.double(5e-05),
0289         dXlocal = cms.double(0.0022),
0290         phiYlocal = cms.double(5e-05)
0291     )
0292 )
0293 TECRings10pb_2D = cms.PSet(
0294     Dets = cms.PSet(
0295         dZlocal = cms.double(0.0022),
0296         phiXlocal = cms.double(5e-05),
0297         dYlocal = cms.double(0.0022),
0298         phiZlocal = cms.double(5e-05),
0299         dXlocal = cms.double(0.0022),
0300         phiYlocal = cms.double(5e-05)
0301     )
0302 )
0303 # now real scenario:
0304 Tracker10pbScenario = cms.PSet(
0305     MisalignmentScenarioSettings,
0306     TIBHalfBarrels = cms.PSet(
0307         TIBLayers = cms.PSet(
0308             dZlocal = cms.double(0.01),
0309             phiXlocal = cms.double(6.5e-05),
0310             dYlocal = cms.double(0.01),
0311             phiZlocal = cms.double(6.5e-05),
0312             dXlocal = cms.double(0.01),
0313             phiYlocal = cms.double(6.5e-05)
0314         ),
0315         scale = cms.double(1.0),
0316         TIBLayer3_4 = cms.PSet(
0317             DetUnits = cms.PSet(
0318                 dZlocal = cms.double(0.018),
0319                 phiXlocal = cms.double(0.000412),
0320                 dYlocal = cms.double(0.018),
0321                 phiZlocal = cms.double(0.000412),
0322                 dXlocal = cms.double(0.018),
0323                 phiYlocal = cms.double(0.000412)
0324             )
0325         ),
0326         scaleError = cms.double(1.0),
0327         TIBLayer1_2 = cms.PSet(
0328             Dets = cms.PSet(
0329                 dZlocal = cms.double(0.018),
0330                 phiXlocal = cms.double(0.000412),
0331                 dYlocal = cms.double(0.018),
0332                 phiZlocal = cms.double(0.000412),
0333                 dXlocal = cms.double(0.018),
0334                 phiYlocal = cms.double(0.000412)
0335             )
0336         ),
0337         distribution = cms.string('gaussian'),
0338         TIBStrings = cms.PSet(
0339             dZlocal = cms.double(0.01),
0340             phiXlocal = cms.double(6.5e-05),
0341             dYlocal = cms.double(0.01),
0342             phiZlocal = cms.double(6.5e-05),
0343             dXlocal = cms.double(0.01),
0344             phiYlocal = cms.double(6.5e-05)
0345         )
0346     ),
0347     P1PXBHalfBarrels = cms.PSet(
0348         scale = cms.double(1.0),
0349         DetUnits = cms.PSet(
0350             dZlocal = cms.double(0.006),
0351             phiXlocal = cms.double(0.00027),
0352             dYlocal = cms.double(0.006),
0353             phiZlocal = cms.double(0.00027),
0354             distribution = cms.string('gaussian'),
0355             dXlocal = cms.double(0.006),
0356             phiYlocal = cms.double(0.00027)
0357         ),
0358         P1PXBLayers = cms.PSet(
0359             phiXlocal = cms.double(7e-06),
0360             phiZlocal = cms.double(7e-06),
0361             dZ = cms.double(0.001),
0362             dX = cms.double(0.001),
0363             dY = cms.double(0.001),
0364             distribution = cms.string('gaussian'),
0365             phiYlocal = cms.double(7e-06)
0366         ),
0367         scaleError = cms.double(1.0),
0368         P1PXBLadders = cms.PSet(
0369             dZlocal = cms.double(0.001),
0370             phiXlocal = cms.double(7e-06),
0371             dYlocal = cms.double(0.001),
0372             phiZlocal = cms.double(7e-06),
0373             distribution = cms.string('gaussian'),
0374             dXlocal = cms.double(0.001),
0375             phiYlocal = cms.double(7e-06)
0376         )
0377     ),
0378     TOBHalfBarrels = cms.PSet(
0379         scale = cms.double(1.0),
0380         TOBLayer3_4_5_6 = cms.PSet(
0381             DetUnits = cms.PSet(
0382                 dZlocal = cms.double(0.0032),
0383                 phiXlocal = cms.double(7.5e-05),
0384                 dYlocal = cms.double(0.0032),
0385                 phiZlocal = cms.double(7.5e-05),
0386                 dXlocal = cms.double(0.0032),
0387                 phiYlocal = cms.double(7.5e-05)
0388             )
0389         ),
0390         scaleError = cms.double(1.0),
0391         TOBLayers = cms.PSet(
0392             dXlocal = cms.double(0.0),
0393             dZlocal = cms.double(0.0),
0394             dYlocal = cms.double(0.0)
0395         ),
0396         TOBLayer1_2 = cms.PSet(
0397             Dets = cms.PSet(
0398                 dZlocal = cms.double(0.0032),
0399                 phiXlocal = cms.double(7.5e-05),
0400                 dYlocal = cms.double(0.0032),
0401                 phiZlocal = cms.double(7.5e-05),
0402                 dXlocal = cms.double(0.0032),
0403                 phiYlocal = cms.double(7.5e-05)
0404             )
0405         ),
0406         TOBRods = cms.PSet(
0407             dZlocal = cms.double(0.01),
0408             phiXlocal = cms.double(4e-05),
0409             dYlocal = cms.double(0.01),
0410             phiZlocal = cms.double(4e-05),
0411             dXlocal = cms.double(0.01),
0412             phiYlocal = cms.double(4e-05)
0413         ),
0414         TOBHalfBarrels = cms.PSet(
0415             dZlocal = cms.double(0.01),
0416             phiXlocal = cms.double(1e-05),
0417             dYlocal = cms.double(0.006),
0418             phiZlocal = cms.double(1e-05),
0419             dXlocal = cms.double(0.006),
0420             phiYlocal = cms.double(1e-05)
0421         ),
0422         distribution = cms.string('gaussian')
0423     ),
0424     TECEndcaps = cms.PSet(
0425         scale = cms.double(1.0),
0426         TECDisk9 = cms.PSet(
0427             TECRing2 = cms.PSet(
0428                 TECRings10pb_2D
0429             ),
0430             TECRing1_3_4 = cms.PSet(
0431                 TECRings10pb_1D
0432             )
0433         ),
0434         scaleError = cms.double(1.0),
0435         TECPetals = cms.PSet(
0436             dZlocal = cms.double(0.007),
0437             phiXlocal = cms.double(3e-05),
0438             dYlocal = cms.double(0.007),
0439             phiZlocal = cms.double(3e-05),
0440             dXlocal = cms.double(0.007),
0441             phiYlocal = cms.double(3e-05)
0442         ),
0443         TECDisks = cms.PSet(
0444             dZlocal = cms.double(0.015),
0445             phiXlocal = cms.double(1.5e-05),
0446             dYlocal = cms.double(0.006),
0447             phiZlocal = cms.double(1.5e-05),
0448             dXlocal = cms.double(0.006),
0449             phiYlocal = cms.double(1.5e-05)
0450         ),
0451         TECDisk4_5_6 = cms.PSet(
0452             TECRing2_3_5_6 = cms.PSet(
0453                 TECRings10pb_1D
0454             ),
0455             TECRing1_4 = cms.PSet(
0456                 TECRings10pb_2D
0457             )
0458         ),
0459         TECDisk7_8 = cms.PSet(
0460             TECRing3 = cms.PSet(
0461                 TECRings10pb_2D
0462             ),
0463             TECRing1_2_4_5 = cms.PSet(
0464                 TECRings10pb_1D
0465             )
0466         ),
0467         distribution = cms.string('gaussian'),
0468         TECDisk1_2_3 = cms.PSet(
0469             TECRing3_4_6_7 = cms.PSet(
0470                 TECRings10pb_1D
0471             ),
0472             TECRing1_2_5 = cms.PSet(
0473                 TECRings10pb_2D
0474             )
0475         )
0476     ),
0477     P1PXECEndcaps = cms.PSet(
0478         P1PXECPanels = cms.PSet(
0479             dZlocal = cms.double(0.001),
0480             phiXlocal = cms.double(0.0002),
0481             dYlocal = cms.double(0.001),
0482             phiZlocal = cms.double(0.0002),
0483             dXlocal = cms.double(0.001),
0484             phiYlocal = cms.double(0.0002)
0485         ),
0486         scale = cms.double(1.0),
0487         scaleError = cms.double(1.0),
0488         P1PXECHalfDisks = cms.PSet(
0489             dZlocal = cms.double(0.001),
0490             phiXlocal = cms.double(1.5e-05),
0491             dYlocal = cms.double(0.001),
0492             phiZlocal = cms.double(1.5e-05),
0493             dXlocal = cms.double(0.001),
0494             phiYlocal = cms.double(1.5e-05)
0495         ),
0496         DetUnits = cms.PSet(
0497             dZlocal = cms.double(0.0005),
0498             phiXlocal = cms.double(0.0001),
0499             dYlocal = cms.double(0.0005),
0500             phiZlocal = cms.double(0.0001),
0501             dXlocal = cms.double(0.0005),
0502             phiYlocal = cms.double(0.0001)
0503         ),
0504         P1PXECBlades = cms.PSet(
0505             dZlocal = cms.double(0.001),
0506             phiXlocal = cms.double(1.5e-05),
0507             dYlocal = cms.double(0.001),
0508             phiZlocal = cms.double(1.5e-05),
0509             dXlocal = cms.double(0.001),
0510             phiYlocal = cms.double(1.5e-05)
0511         ),
0512         distribution = cms.string('gaussian')
0513     ),
0514     TIDEndcaps = cms.PSet(
0515         scale = cms.double(1.0),
0516         scaleError = cms.double(1.0),
0517         TIDRings = cms.PSet(
0518             dZlocal = cms.double(0.0185),
0519             phiXlocal = cms.double(0.00085),
0520             dYlocal = cms.double(0.0185),
0521             phiZlocal = cms.double(0.00085),
0522             dXlocal = cms.double(0.0185),
0523             phiYlocal = cms.double(0.00085)
0524         ),
0525         TIDRing1_2 = cms.PSet(
0526             Dets = cms.PSet(
0527                 dZlocal = cms.double(0.0054),
0528                 phiXlocal = cms.double(0.00025),
0529                 dYlocal = cms.double(0.0054),
0530                 phiZlocal = cms.double(0.00025),
0531                 dXlocal = cms.double(0.0054),
0532                 phiYlocal = cms.double(0.00025)
0533             )
0534         ),
0535         TIDDisks = cms.PSet(
0536             dZlocal = cms.double(0.025),
0537             phiXlocal = cms.double(0.00038),
0538             dYlocal = cms.double(0.025),
0539             phiZlocal = cms.double(0.00038),
0540             dXlocal = cms.double(0.025),
0541             phiYlocal = cms.double(0.00038)
0542         ),
0543         distribution = cms.string('gaussian'),
0544         TIDRing3 = cms.PSet(
0545             DetUnits = cms.PSet(
0546                 dZlocal = cms.double(0.0054),
0547                 phiXlocal = cms.double(0.00025),
0548                 dYlocal = cms.double(0.0054),
0549                 phiZlocal = cms.double(0.00025),
0550                 dXlocal = cms.double(0.0054),
0551                 phiYlocal = cms.double(0.00025)
0552             )
0553         )
0554     )
0555 )
0556 # 100 pb-1 misalignment scenario
0557 # See CMS IN 2007/036
0558 # first helper blocks for TEC:
0559 TECRings100pb_1D = cms.PSet(
0560     DetUnits = cms.PSet(
0561         dZlocal = cms.double(0.0022),
0562         phiXlocal = cms.double(5e-05),
0563         dYlocal = cms.double(0.0022),
0564         phiZlocal = cms.double(5e-05),
0565         dXlocal = cms.double(0.0022),
0566         phiYlocal = cms.double(5e-05)
0567     )
0568 )
0569 TECRings100pb_2D = cms.PSet(
0570     Dets = cms.PSet(
0571         dZlocal = cms.double(0.0022),
0572         phiXlocal = cms.double(5e-05),
0573         dYlocal = cms.double(0.0022),
0574         phiZlocal = cms.double(5e-05),
0575         dXlocal = cms.double(0.0022),
0576         phiYlocal = cms.double(5e-05)
0577     )
0578 )
0579 # now real scenario:
0580 Tracker100pbScenario = cms.PSet(
0581     MisalignmentScenarioSettings,
0582     TIBHalfBarrels = cms.PSet(
0583         TIBLayers = cms.PSet(
0584             dZlocal = cms.double(0.0015),
0585             phiXlocal = cms.double(1e-05),
0586             dYlocal = cms.double(0.0015),
0587             phiZlocal = cms.double(1e-05),
0588             dXlocal = cms.double(0.0015),
0589             phiYlocal = cms.double(1e-05)
0590         ),
0591         scale = cms.double(1.0),
0592         TIBLayer3_4 = cms.PSet(
0593             DetUnits = cms.PSet(
0594                 dZlocal = cms.double(0.003),
0595                 phiXlocal = cms.double(7e-05),
0596                 dYlocal = cms.double(0.003),
0597                 phiZlocal = cms.double(7e-05),
0598                 dXlocal = cms.double(0.003),
0599                 phiYlocal = cms.double(7e-05)
0600             )
0601         ),
0602         scaleError = cms.double(1.0),
0603         TIBLayer1_2 = cms.PSet(
0604             Dets = cms.PSet(
0605                 dZlocal = cms.double(0.003),
0606                 phiXlocal = cms.double(7e-05),
0607                 dYlocal = cms.double(0.003),
0608                 phiZlocal = cms.double(7e-05),
0609                 dXlocal = cms.double(0.003),
0610                 phiYlocal = cms.double(7e-05)
0611             )
0612         ),
0613         distribution = cms.string('gaussian'),
0614         TIBStrings = cms.PSet(
0615             dZlocal = cms.double(0.003),
0616             phiXlocal = cms.double(2e-05),
0617             dYlocal = cms.double(0.003),
0618             phiZlocal = cms.double(2e-05),
0619             dXlocal = cms.double(0.003),
0620             phiYlocal = cms.double(2e-05)
0621         )
0622     ),
0623     P1PXBHalfBarrels = cms.PSet(
0624         scale = cms.double(1.0),
0625         DetUnits = cms.PSet(
0626             dZlocal = cms.double(0.001),
0627             phiXlocal = cms.double(4.5e-05),
0628             dYlocal = cms.double(0.001),
0629             phiZlocal = cms.double(4.5e-05),
0630             distribution = cms.string('gaussian'),
0631             dXlocal = cms.double(0.001),
0632             phiYlocal = cms.double(4.5e-05)
0633         ),
0634         P1PXBLayers = cms.PSet(
0635             phiXlocal = cms.double(3e-06),
0636             phiZlocal = cms.double(3e-06),
0637             dZ = cms.double(0.0005),
0638             dX = cms.double(0.0005),
0639             dY = cms.double(0.0005),
0640             distribution = cms.string('gaussian'),
0641             phiYlocal = cms.double(3e-06)
0642         ),
0643         scaleError = cms.double(1.0),
0644         P1PXBLadders = cms.PSet(
0645             dZlocal = cms.double(0.001),
0646             phiXlocal = cms.double(7e-06),
0647             dYlocal = cms.double(0.001),
0648             phiZlocal = cms.double(7e-06),
0649             distribution = cms.string('gaussian'),
0650             dXlocal = cms.double(0.001),
0651             phiYlocal = cms.double(7e-06)
0652         )
0653     ),
0654     TOBHalfBarrels = cms.PSet(
0655         scale = cms.double(1.0),
0656         TOBLayer3_4_5_6 = cms.PSet(
0657             DetUnits = cms.PSet(
0658                 dZlocal = cms.double(0.0032),
0659                 phiXlocal = cms.double(7e-05),
0660                 dYlocal = cms.double(0.0032),
0661                 phiZlocal = cms.double(7e-05),
0662                 dXlocal = cms.double(0.0032),
0663                 phiYlocal = cms.double(7e-05)
0664             )
0665         ),
0666         scaleError = cms.double(1.0),
0667         TOBLayers = cms.PSet(
0668             dXlocal = cms.double(0.0),
0669             dZlocal = cms.double(0.0),
0670             dYlocal = cms.double(0.0)
0671         ),
0672         TOBLayer1_2 = cms.PSet(
0673             Dets = cms.PSet(
0674                 dZlocal = cms.double(0.0032),
0675                 phiXlocal = cms.double(7e-05),
0676                 dYlocal = cms.double(0.0032),
0677                 phiZlocal = cms.double(7e-05),
0678                 dXlocal = cms.double(0.0032),
0679                 phiYlocal = cms.double(7e-05)
0680             )
0681         ),
0682         TOBRods = cms.PSet(
0683 
0684             dZlocal = cms.double(0.004),
0685             phiXlocal = cms.double(1.5e-05),
0686             dYlocal = cms.double(0.004),
0687             phiZlocal = cms.double(1.5e-05),
0688             dXlocal = cms.double(0.004),
0689             phiYlocal = cms.double(1.5e-05)
0690         ),
0691         TOBHalfBarrels = cms.PSet(
0692             dZlocal = cms.double(0.002),
0693             phiXlocal = cms.double(5e-06),
0694             dYlocal = cms.double(0.002),
0695             phiZlocal = cms.double(5e-06),
0696             dXlocal = cms.double(0.002),
0697             phiYlocal = cms.double(5e-06)
0698         ),
0699         distribution = cms.string('gaussian')
0700     ),
0701     TECEndcaps = cms.PSet(
0702         scale = cms.double(1.0),
0703         TECDisk9 = cms.PSet(
0704             TECRing2 = cms.PSet(
0705                 TECRings100pb_2D
0706             ),
0707             TECRing1_3_4 = cms.PSet(
0708                 TECRings100pb_1D
0709             )
0710         ),
0711         scaleError = cms.double(1.0),
0712         TECPetals = cms.PSet(
0713             dZlocal = cms.double(0.0055),
0714             phiXlocal = cms.double(2e-05),
0715             dYlocal = cms.double(0.0055),
0716             phiZlocal = cms.double(2e-05),
0717             dXlocal = cms.double(0.0055),
0718             phiYlocal = cms.double(2e-05)
0719         ),
0720         TECDisks = cms.PSet(
0721             dZlocal = cms.double(0.003),
0722             phiXlocal = cms.double(5e-06),
0723             dYlocal = cms.double(0.003),
0724             phiZlocal = cms.double(5e-06),
0725             dXlocal = cms.double(0.003),
0726             phiYlocal = cms.double(5e-06)
0727         ),
0728         TECDisk4_5_6 = cms.PSet(
0729             TECRing2_3_5_6 = cms.PSet(
0730                 TECRings100pb_1D
0731             ),
0732             TECRing1_4 = cms.PSet(
0733                 TECRings100pb_2D
0734             )
0735         ),
0736         TECDisk7_8 = cms.PSet(
0737             TECRing3 = cms.PSet(
0738                 TECRings100pb_2D
0739             ),
0740             TECRing1_2_4_5 = cms.PSet(
0741                 TECRings100pb_1D
0742             )
0743         ),
0744         distribution = cms.string('gaussian'),
0745         TECDisk1_2_3 = cms.PSet(
0746             TECRing3_4_6_7 = cms.PSet(
0747                 TECRings100pb_1D
0748             ),
0749             TECRing1_2_5 = cms.PSet(
0750                 TECRings100pb_2D
0751             )
0752         )
0753     ),
0754     P1PXECEndcaps = cms.PSet(
0755         P1PXECPanels = cms.PSet(
0756             dZlocal = cms.double(0.001),
0757             phiXlocal = cms.double(2.2e-05),
0758             dYlocal = cms.double(0.001),
0759             phiZlocal = cms.double(2.2e-05),
0760             dXlocal = cms.double(0.001),
0761             phiYlocal = cms.double(2.2e-05)
0762         ),
0763         scale = cms.double(1.0),
0764         scaleError = cms.double(1.0),
0765         P1PXECHalfDisks = cms.PSet(
0766             dZlocal = cms.double(0.001),
0767             phiXlocal = cms.double(1.5e-05),
0768             dYlocal = cms.double(0.001),
0769             phiZlocal = cms.double(1.5e-05),
0770             dXlocal = cms.double(0.001),
0771             phiYlocal = cms.double(1.5e-05)
0772         ),
0773         DetUnits = cms.PSet(
0774             dZlocal = cms.double(0.0005),
0775             phiXlocal = cms.double(1.1e-05),
0776             dYlocal = cms.double(0.0005),
0777             phiZlocal = cms.double(1.1e-05),
0778             dXlocal = cms.double(0.0005),
0779             phiYlocal = cms.double(1.1e-05)
0780         ),
0781         P1PXECBlades = cms.PSet(
0782             dZlocal = cms.double(0.001),
0783             phiXlocal = cms.double(1.5e-05),
0784             dYlocal = cms.double(0.001),
0785             phiZlocal = cms.double(1.5e-05),
0786             dXlocal = cms.double(0.001),
0787             phiYlocal = cms.double(1.5e-05)
0788         ),
0789         distribution = cms.string('gaussian')
0790     ),
0791     TIDEndcaps = cms.PSet(
0792         scale = cms.double(1.0),
0793         scaleError = cms.double(1.0),
0794         TIDRing3 = cms.PSet(
0795             DetUnits = cms.PSet(
0796                 dZlocal = cms.double(0.005),
0797                 phiXlocal = cms.double(0.00023),
0798                 dYlocal = cms.double(0.005),
0799                 phiZlocal = cms.double(0.00023),
0800                 dXlocal = cms.double(0.005),
0801                 phiYlocal = cms.double(0.00023)
0802             )
0803         ),
0804         TIDRing1_2 = cms.PSet(
0805             Dets = cms.PSet(
0806                 dZlocal = cms.double(0.005),
0807                 phiXlocal = cms.double(0.00023),
0808                 dYlocal = cms.double(0.005),
0809                 phiZlocal = cms.double(0.00023),
0810                 dXlocal = cms.double(0.005),
0811                 phiYlocal = cms.double(0.00023)
0812             )
0813         ),
0814         TIDDisks = cms.PSet(
0815             dZlocal = cms.double(0.0025),
0816             phiXlocal = cms.double(4e-05),
0817             dYlocal = cms.double(0.0025),
0818             phiZlocal = cms.double(4e-05),
0819             dXlocal = cms.double(0.0025),
0820             phiYlocal = cms.double(4e-05)
0821         ),
0822         distribution = cms.string('gaussian'),
0823         TIDRings = cms.PSet(
0824             dZlocal = cms.double(0.005),
0825             phiXlocal = cms.double(0.00023),
0826             dYlocal = cms.double(0.005),
0827             phiZlocal = cms.double(0.00023),
0828             dXlocal = cms.double(0.005),
0829             phiYlocal = cms.double(0.00023)
0830         )
0831     )
0832 )
0833 # -----------------------------------------------------------------------
0834 # 1000 pb-1 misalignment scenario
0835 # See CMS IN 2007/036
0836 # first helper blocks for TEC:
0837 TECRings1000pb_1D = cms.PSet(
0838     DetUnits = cms.PSet(
0839         dZlocal = cms.double(0.0022),
0840         phiXlocal = cms.double(5e-05),
0841         dYlocal = cms.double(0.0022),
0842         phiZlocal = cms.double(5e-05),
0843         dXlocal = cms.double(0.0022),
0844         phiYlocal = cms.double(5e-05)
0845     )
0846 )
0847 TECRings1000pb_2D = cms.PSet(
0848     Dets = cms.PSet(
0849         dZlocal = cms.double(0.0022),
0850         phiXlocal = cms.double(5e-05),
0851         dYlocal = cms.double(0.0022),
0852         phiZlocal = cms.double(5e-05),
0853         dXlocal = cms.double(0.0022),
0854         phiYlocal = cms.double(5e-05)
0855     )
0856 )
0857 # now real scenario:
0858 Tracker1000pbScenario = cms.PSet(
0859     MisalignmentScenarioSettings,
0860     TIBHalfBarrels = cms.PSet(
0861         TIBLayers = cms.PSet(
0862             dZlocal = cms.double(0.001),
0863             phiXlocal = cms.double(5e-06),
0864             dYlocal = cms.double(0.001),
0865             phiZlocal = cms.double(5e-06),
0866             dXlocal = cms.double(0.001),
0867             phiYlocal = cms.double(5e-06)
0868         ),
0869         scale = cms.double(1.0),
0870         TIBLayer3_4 = cms.PSet(
0871             DetUnits = cms.PSet(
0872                 dZlocal = cms.double(0.001),
0873                 phiXlocal = cms.double(2e-05),
0874                 dYlocal = cms.double(0.001),
0875                 phiZlocal = cms.double(2e-05),
0876                 dXlocal = cms.double(0.001),
0877                 phiYlocal = cms.double(2e-05)
0878             )
0879         ),
0880         scaleError = cms.double(1.0),
0881         TIBLayer1_2 = cms.PSet(
0882             Dets = cms.PSet(
0883                 dZlocal = cms.double(0.001),
0884                 phiXlocal = cms.double(2e-05),
0885                 dYlocal = cms.double(0.001),
0886                 phiZlocal = cms.double(2e-05),
0887                 dXlocal = cms.double(0.001),
0888                 phiYlocal = cms.double(2e-05)
0889             )
0890         ),
0891         distribution = cms.string('gaussian'),
0892         TIBStrings = cms.PSet(
0893             dZlocal = cms.double(0.001),
0894             phiXlocal = cms.double(5e-06),
0895             dYlocal = cms.double(0.001),
0896             phiZlocal = cms.double(5e-06),
0897             dXlocal = cms.double(0.001),
0898             phiYlocal = cms.double(5e-06)
0899         )
0900     ),
0901     P1PXBHalfBarrels = cms.PSet(
0902         scale = cms.double(1.0),
0903         DetUnits = cms.PSet(
0904             dZlocal = cms.double(0.0005),
0905             phiXlocal = cms.double(2.2e-05),
0906             dYlocal = cms.double(0.0005),
0907             phiZlocal = cms.double(2.2e-05),
0908             distribution = cms.string('gaussian'),
0909             dXlocal = cms.double(0.0005),
0910             phiYlocal = cms.double(2.2e-05)
0911         ),
0912         P1PXBLayers = cms.PSet(
0913             phiXlocal = cms.double(3e-06),
0914             phiZlocal = cms.double(3e-06),
0915             dZ = cms.double(0.0005),
0916             dX = cms.double(0.0005),
0917             dY = cms.double(0.0005),
0918             distribution = cms.string('gaussian'),
0919             phiYlocal = cms.double(3e-06)
0920         ),
0921         scaleError = cms.double(1.0),
0922         P1PXBLadders = cms.PSet(
0923             dZlocal = cms.double(0.0005),
0924             phiXlocal = cms.double(3e-06),
0925             dYlocal = cms.double(0.0005),
0926             phiZlocal = cms.double(3e-06),
0927             distribution = cms.string('gaussian'),
0928             dXlocal = cms.double(0.0005),
0929             phiYlocal = cms.double(3e-06)
0930         )
0931     ),
0932     TOBHalfBarrels = cms.PSet(
0933         scale = cms.double(1.0),
0934         TOBLayer3_4_5_6 = cms.PSet(
0935             DetUnits = cms.PSet(
0936                 dZlocal = cms.double(0.0018),
0937                 phiXlocal = cms.double(4e-05),
0938                 dYlocal = cms.double(0.0018),
0939                 phiZlocal = cms.double(4e-05),
0940                 dXlocal = cms.double(0.0018),
0941                 phiYlocal = cms.double(4e-05)
0942             )
0943         ),
0944         scaleError = cms.double(1.0),
0945         TOBLayers = cms.PSet(
0946             dXlocal = cms.double(0.0),
0947             dZlocal = cms.double(0.0),
0948             dYlocal = cms.double(0.0)
0949         ),
0950         TOBLayer1_2 = cms.PSet(
0951             Dets = cms.PSet(
0952                 dZlocal = cms.double(0.0018),
0953                 phiXlocal = cms.double(4e-05),
0954                 dYlocal = cms.double(0.0018),
0955                 phiZlocal = cms.double(4e-05),
0956                 dXlocal = cms.double(0.0018),
0957                 phiYlocal = cms.double(4e-05)
0958             )
0959         ),
0960         TOBRods = cms.PSet(
0961             dZlocal = cms.double(0.0018),
0962             phiXlocal = cms.double(7e-06),
0963             dYlocal = cms.double(0.0018),
0964             phiZlocal = cms.double(7e-06),
0965             dXlocal = cms.double(0.0018),
0966             phiYlocal = cms.double(7e-06)
0967         ),
0968         TOBHalfBarrels = cms.PSet(
0969             dZlocal = cms.double(0.001),
0970             phiXlocal = cms.double(2e-06),
0971             dYlocal = cms.double(0.001),
0972             phiZlocal = cms.double(2e-06),
0973             dXlocal = cms.double(0.001),
0974             phiYlocal = cms.double(2e-06)
0975         ),
0976         distribution = cms.string('gaussian')
0977     ),
0978     TECEndcaps = cms.PSet(
0979         scale = cms.double(1.0),
0980         TECDisk9 = cms.PSet(
0981             TECRing2 = cms.PSet(
0982                 TECRings1000pb_2D
0983             ),
0984             TECRing1_3_4 = cms.PSet(
0985                 TECRings1000pb_1D
0986             )
0987         ),
0988         scaleError = cms.double(1.0),
0989         TECPetals = cms.PSet(
0990             dZlocal = cms.double(0.004),
0991             phiXlocal = cms.double(1.5e-05),
0992             dYlocal = cms.double(0.004),
0993             phiZlocal = cms.double(1.5e-05),
0994             dXlocal = cms.double(0.004),
0995             phiYlocal = cms.double(1.5e-05)
0996         ),
0997         TECDisks = cms.PSet(
0998             dZlocal = cms.double(0.002),
0999             phiXlocal = cms.double(5e-06),
1000             dYlocal = cms.double(0.002),
1001             phiZlocal = cms.double(5e-06),
1002             dXlocal = cms.double(0.002),
1003             phiYlocal = cms.double(5e-06)
1004         ),
1005         TECDisk4_5_6 = cms.PSet(
1006             TECRing2_3_5_6 = cms.PSet(
1007                 TECRings1000pb_1D
1008             ),
1009             TECRing1_4 = cms.PSet(
1010                 TECRings1000pb_2D
1011             )
1012         ),
1013         TECDisk7_8 = cms.PSet(
1014             TECRing3 = cms.PSet(
1015                 TECRings1000pb_2D
1016             ),
1017             TECRing1_2_4_5 = cms.PSet(
1018                 TECRings1000pb_1D
1019             )
1020         ),
1021         distribution = cms.string('gaussian'),
1022         TECDisk1_2_3 = cms.PSet(
1023             TECRing3_4_6_7 = cms.PSet(
1024                 TECRings1000pb_1D
1025             ),
1026             TECRing1_2_5 = cms.PSet(
1027                 TECRings1000pb_2D
1028             )
1029         )
1030     ),
1031     P1PXECEndcaps = cms.PSet(
1032         P1PXECPanels = cms.PSet(
1033             dZlocal = cms.double(0.0005),
1034             phiXlocal = cms.double(1.1e-05),
1035             dYlocal = cms.double(0.0005),
1036             phiZlocal = cms.double(1.1e-05),
1037             dXlocal = cms.double(0.0005),
1038             phiYlocal = cms.double(1.1e-05)
1039         ),
1040         scale = cms.double(1.0),
1041         scaleError = cms.double(1.0),
1042         P1PXECHalfDisks = cms.PSet(
1043             dZlocal = cms.double(0.0005),
1044             phiXlocal = cms.double(7e-06),
1045             dYlocal = cms.double(0.0005),
1046             phiZlocal = cms.double(7e-06),
1047             dXlocal = cms.double(0.0005),
1048             phiYlocal = cms.double(7e-06)
1049         ),
1050         DetUnits = cms.PSet(
1051             dZlocal = cms.double(0.0005),
1052             phiXlocal = cms.double(1.1e-05),
1053             dYlocal = cms.double(0.0005),
1054             phiZlocal = cms.double(1.1e-05),
1055             dXlocal = cms.double(0.0005),
1056             phiYlocal = cms.double(1.1e-05)
1057         ),
1058         P1PXECBlades = cms.PSet(
1059             dZlocal = cms.double(0.0005),
1060             phiXlocal = cms.double(7e-06),
1061             dYlocal = cms.double(0.0005),
1062             phiZlocal = cms.double(7e-06),
1063             dXlocal = cms.double(0.0005),
1064             phiYlocal = cms.double(7e-06)
1065         ),
1066         distribution = cms.string('gaussian')
1067     ),
1068     TIDEndcaps = cms.PSet(
1069         scale = cms.double(1.0),
1070         scaleError = cms.double(1.0),
1071         TIDRing3 = cms.PSet(
1072             DetUnits = cms.PSet(
1073                 dZlocal = cms.double(0.0025),
1074                 phiXlocal = cms.double(0.00011),
1075                 dYlocal = cms.double(0.0025),
1076                 phiZlocal = cms.double(0.00011),
1077                 dXlocal = cms.double(0.0025),
1078                 phiYlocal = cms.double(0.00011)
1079             )
1080         ),
1081         TIDRing1_2 = cms.PSet(
1082             Dets = cms.PSet(
1083                 dZlocal = cms.double(0.0025),
1084                 phiXlocal = cms.double(0.00011),
1085                 dYlocal = cms.double(0.0025),
1086                 phiZlocal = cms.double(0.00011),
1087                 dXlocal = cms.double(0.0025),
1088                 phiYlocal = cms.double(0.00011)
1089             )
1090         ),
1091         TIDDisks = cms.PSet(
1092             dZlocal = cms.double(0.0012),
1093             phiXlocal = cms.double(2e-05),
1094             dYlocal = cms.double(0.0012),
1095             phiZlocal = cms.double(2e-05),
1096             dXlocal = cms.double(0.0012),
1097             phiYlocal = cms.double(2e-05)
1098         ),
1099         distribution = cms.string('gaussian'),
1100         TIDRings = cms.PSet(
1101             dZlocal = cms.double(0.0025),
1102             phiXlocal = cms.double(0.00011),
1103             dYlocal = cms.double(0.0025),
1104             phiZlocal = cms.double(0.00011),
1105             dXlocal = cms.double(0.0025),
1106             phiYlocal = cms.double(0.00011)
1107         )
1108     )
1109 )
1110 # -----------------------------------------------------------------------
1111 # Survey&LAS only misalignment scenario
1112 # See CMS IN 2007/036, table 6, "Updated initial uncertainties"
1113 # first helper blocks for TEC:
1114 TECRingsSurveyLASOnly_1D = cms.PSet(
1115     DetUnits = cms.PSet(
1116         dZlocal = cms.double(0.0022),
1117         phiXlocal = cms.double(5e-05),
1118         dYlocal = cms.double(0.0022),
1119         phiZlocal = cms.double(5e-05),
1120         dXlocal = cms.double(0.0022),
1121         phiYlocal = cms.double(5e-05)
1122     )
1123 )
1124 TECRingsSurveyLASOnly_2D = cms.PSet(
1125     Dets = cms.PSet(
1126         dZlocal = cms.double(0.0022),
1127         phiXlocal = cms.double(5e-05),
1128         dYlocal = cms.double(0.0022),
1129         phiZlocal = cms.double(5e-05),
1130         dXlocal = cms.double(0.0022),
1131         phiYlocal = cms.double(5e-05)
1132     )
1133 )
1134 # now real scenario:
1135 TrackerSurveyLASOnlyScenario = cms.PSet(
1136     MisalignmentScenarioSettings,
1137     TIBHalfBarrels = cms.PSet(
1138         TIBLayers = cms.PSet(
1139             dZlocal = cms.double(0.075),
1140             phiXlocal = cms.double(0.000488),
1141             dYlocal = cms.double(0.075),
1142             phiZlocal = cms.double(0.000488),
1143             dXlocal = cms.double(0.075),
1144             phiYlocal = cms.double(0.000488)
1145         ),
1146         scale = cms.double(1.0),
1147         TIBLayer3_4 = cms.PSet(
1148             DetUnits = cms.PSet(
1149                 dZlocal = cms.double(0.018),
1150                 phiXlocal = cms.double(0.000412),
1151                 dYlocal = cms.double(0.018),
1152                 phiZlocal = cms.double(0.000412),
1153                 dXlocal = cms.double(0.018),
1154                 phiYlocal = cms.double(0.000412)
1155             )
1156         ),
1157         scaleError = cms.double(1.0),
1158         TIBLayer1_2 = cms.PSet(
1159             Dets = cms.PSet(
1160                 dZlocal = cms.double(0.018),
1161                 phiXlocal = cms.double(0.000412),
1162                 dYlocal = cms.double(0.018),
1163                 phiZlocal = cms.double(0.000412),
1164                 dXlocal = cms.double(0.018),
1165                 phiYlocal = cms.double(0.000412)
1166             )
1167         ),
1168         distribution = cms.string('gaussian'),
1169         TIBStrings = cms.PSet(
1170             dZlocal = cms.double(0.045),
1171             phiXlocal = cms.double(0.000293),
1172             dYlocal = cms.double(0.045),
1173             phiZlocal = cms.double(0.000293),
1174             dXlocal = cms.double(0.045),
1175             phiYlocal = cms.double(0.000293)
1176         )
1177     ),
1178     P1PXBHalfBarrels = cms.PSet(
1179         scale = cms.double(1.0),
1180         DetUnits = cms.PSet(
1181             dZlocal = cms.double(0.006),
1182             phiXlocal = cms.double(0.00027),
1183             dYlocal = cms.double(0.006),
1184             phiZlocal = cms.double(0.00027),
1185             distribution = cms.string('gaussian'),
1186             dXlocal = cms.double(0.006),
1187             phiYlocal = cms.double(0.00027)
1188         ),
1189         P1PXBLayers = cms.PSet(
1190             phiXlocal = cms.double(1e-05),
1191             phiZlocal = cms.double(1e-05),
1192             dZ = cms.double(0.0337),
1193             dX = cms.double(0.0225),
1194             dY = cms.double(0.0225),
1195             distribution = cms.string('gaussian'),
1196             phiYlocal = cms.double(1e-05)
1197         ),
1198         scaleError = cms.double(1.0),
1199         P1PXBLadders = cms.PSet(
1200             dZlocal = cms.double(0.005),
1201             phiXlocal = cms.double(2e-05),
1202             dYlocal = cms.double(0.005),
1203             phiZlocal = cms.double(2e-05),
1204             distribution = cms.string('flat'),
1205             dXlocal = cms.double(0.005),
1206             phiYlocal = cms.double(2e-05)
1207         )
1208     ),
1209     TOBHalfBarrels = cms.PSet(
1210         scale = cms.double(1.0),
1211         TOBLayer3_4_5_6 = cms.PSet(
1212             DetUnits = cms.PSet(
1213                 dZlocal = cms.double(0.0032),
1214                 phiXlocal = cms.double(7.5e-05),
1215                 dYlocal = cms.double(0.0032),
1216                 phiZlocal = cms.double(7.5e-05),
1217                 dXlocal = cms.double(0.0032),
1218                 phiYlocal = cms.double(7.5e-05)
1219             )
1220         ),
1221         scaleError = cms.double(1.0),
1222         TOBLayers = cms.PSet(
1223             dXlocal = cms.double(0.0),
1224             dZlocal = cms.double(0.0),
1225             dYlocal = cms.double(0.0)
1226         ),
1227         TOBLayer1_2 = cms.PSet(
1228             Dets = cms.PSet(
1229                 dZlocal = cms.double(0.0032),
1230                 phiXlocal = cms.double(7.5e-05),
1231                 dYlocal = cms.double(0.0032),
1232                 phiZlocal = cms.double(7.5e-05),
1233                 dXlocal = cms.double(0.0032),
1234                 phiYlocal = cms.double(7.5e-05)
1235             )
1236         ),
1237         TOBRods = cms.PSet(
1238             dZlocal = cms.double(0.01),
1239             phiXlocal = cms.double(4e-05),
1240             dYlocal = cms.double(0.01),
1241             phiZlocal = cms.double(4e-05),
1242             dXlocal = cms.double(0.01),
1243             phiYlocal = cms.double(4e-05)
1244         ),
1245         TOBHalfBarrels = cms.PSet(
1246             dZlocal = cms.double(0.05),
1247             phiXlocal = cms.double(1e-05),
1248             dYlocal = cms.double(0.006),
1249             phiZlocal = cms.double(1e-05),
1250             dXlocal = cms.double(0.006),
1251             phiYlocal = cms.double(1e-05)
1252         ),
1253         distribution = cms.string('gaussian')
1254     ),
1255     TECEndcaps = cms.PSet(
1256         scale = cms.double(1.0),
1257         TECDisk9 = cms.PSet(
1258             TECRing2 = cms.PSet(
1259                 TECRingsSurveyLASOnly_2D
1260             ),
1261             TECRing1_3_4 = cms.PSet(
1262                 TECRingsSurveyLASOnly_1D
1263             )
1264         ),
1265         scaleError = cms.double(1.0),
1266         TECPetals = cms.PSet(
1267             dZlocal = cms.double(0.007),
1268             phiXlocal = cms.double(3e-05),
1269             dYlocal = cms.double(0.007),
1270             phiZlocal = cms.double(3e-05),
1271             dXlocal = cms.double(0.007),
1272             phiYlocal = cms.double(3e-05)
1273         ),
1274         TECDisks = cms.PSet(
1275             dZlocal = cms.double(0.015),
1276             phiXlocal = cms.double(1.5e-05),
1277             dYlocal = cms.double(0.006),
1278             phiZlocal = cms.double(1.5e-05),
1279             dXlocal = cms.double(0.006),
1280             phiYlocal = cms.double(1.5e-05)
1281         ),
1282         TECDisk4_5_6 = cms.PSet(
1283             TECRing2_3_5_6 = cms.PSet(
1284                 TECRingsSurveyLASOnly_1D
1285             ),
1286             TECRing1_4 = cms.PSet(
1287                 TECRingsSurveyLASOnly_2D
1288             )
1289         ),
1290         TECDisk7_8 = cms.PSet(
1291             TECRing3 = cms.PSet(
1292                 TECRingsSurveyLASOnly_2D
1293             ),
1294             TECRing1_2_4_5 = cms.PSet(
1295                 TECRingsSurveyLASOnly_1D
1296             )
1297         ),
1298         distribution = cms.string('gaussian'),
1299         TECDisk1_2_3 = cms.PSet(
1300             TECRing3_4_6_7 = cms.PSet(
1301                 TECRingsSurveyLASOnly_1D
1302             ),
1303             TECRing1_2_5 = cms.PSet(
1304                 TECRingsSurveyLASOnly_2D
1305             )
1306         )
1307     ),
1308     P1PXECEndcaps = cms.PSet(
1309         P1PXECPanels = cms.PSet(
1310             dZlocal = cms.double(0.001),
1311             phiXlocal = cms.double(0.0002),
1312             dYlocal = cms.double(0.001),
1313             phiZlocal = cms.double(0.0002),
1314             dXlocal = cms.double(0.001),
1315             phiYlocal = cms.double(0.0002)
1316         ),
1317         scale = cms.double(1.0),
1318         scaleError = cms.double(1.0),
1319         P1PXECHalfDisks = cms.PSet(
1320             dZlocal = cms.double(0.005),
1321             phiXlocal = cms.double(0.001),
1322             dYlocal = cms.double(0.005),
1323             phiZlocal = cms.double(0.001),
1324             dXlocal = cms.double(0.005),
1325             phiYlocal = cms.double(0.001)
1326         ),
1327         P1PXECHalfCylinders = cms.PSet(
1328             dZlocal = cms.double(0.005),
1329             phiXlocal = cms.double(0.001),
1330             dYlocal = cms.double(0.005),
1331             phiZlocal = cms.double(0.001),
1332             dXlocal = cms.double(0.005),
1333             phiYlocal = cms.double(0.001)
1334         ),
1335         DetUnits = cms.PSet(
1336             dZlocal = cms.double(0.0005),
1337             phiXlocal = cms.double(0.0001),
1338             dYlocal = cms.double(0.0005),
1339             phiZlocal = cms.double(0.0001),
1340             dXlocal = cms.double(0.0005),
1341             phiYlocal = cms.double(0.0001)
1342         ),
1343         P1PXECBlades = cms.PSet(
1344             dZlocal = cms.double(0.001),
1345             phiXlocal = cms.double(0.0002),
1346             dYlocal = cms.double(0.001),
1347             phiZlocal = cms.double(0.0002),
1348             dXlocal = cms.double(0.001),
1349             phiYlocal = cms.double(0.0002)
1350         ),
1351         distribution = cms.string('gaussian')
1352     ),
1353     TIDEndcaps = cms.PSet(
1354         scale = cms.double(1.0),
1355         scaleError = cms.double(1.0),
1356         TIDEndcaps = cms.PSet(
1357             dZlocal = cms.double(0.045),
1358             phiXlocal = cms.double(0.000649),
1359             dYlocal = cms.double(0.045),
1360             phiZlocal = cms.double(0.000649),
1361             dXlocal = cms.double(0.045),
1362             phiYlocal = cms.double(0.000649)
1363         ),
1364         TIDRing3 = cms.PSet(
1365             DetUnits = cms.PSet(
1366                 dZlocal = cms.double(0.0054),
1367                 phiXlocal = cms.double(0.00025),
1368                 dYlocal = cms.double(0.0054),
1369                 phiZlocal = cms.double(0.00025),
1370                 dXlocal = cms.double(0.0054),
1371                 phiYlocal = cms.double(0.00025)
1372             )
1373         ),
1374         TIDRing1_2 = cms.PSet(
1375             Dets = cms.PSet(
1376                 dZlocal = cms.double(0.0054),
1377                 phiXlocal = cms.double(0.00025),
1378                 dYlocal = cms.double(0.0054),
1379                 phiZlocal = cms.double(0.00025),
1380                 dXlocal = cms.double(0.0054),
1381                 phiYlocal = cms.double(0.00025)
1382             )
1383         ),
1384         TIDDisks = cms.PSet(
1385             dZlocal = cms.double(0.035),
1386             phiXlocal = cms.double(0.000532),
1387             dYlocal = cms.double(0.035),
1388             phiZlocal = cms.double(0.000532),
1389             dXlocal = cms.double(0.035),
1390             phiYlocal = cms.double(0.000532)
1391         ),
1392         distribution = cms.string('gaussian'),
1393         TIDRings = cms.PSet(
1394             dZlocal = cms.double(0.0185),
1395             phiXlocal = cms.double(0.00085),
1396             dYlocal = cms.double(0.0185),
1397             phiZlocal = cms.double(0.00085),
1398             dXlocal = cms.double(0.0185),
1399             phiYlocal = cms.double(0.00085)
1400         )
1401     )
1402 )
1403 # -----------------------------------------------------------------------
1404 # Survey&LAS&Cosmics scenario
1405 # ----------------------------------------
1406 # ----------------- NOTE -----------------
1407 # Sufficient studies do not yet exist to
1408 # provide a reliable version of this
1409 # scenario (Survey+LAS+Cosmics alignment).
1410 #
1411 # This scenario is not supposed to be used
1412 # to make public(?) estimates of the
1413 # performance of the CMS.
1414 #
1415 # This scenario contains lots of guesses,
1416 # especially concerning the improvement
1417 # one can reach by using Cosmics in
1418 # track based alignment.
1419 # The guess is that with Cosmics, one
1420 # can reach for largest barrel-like parts
1421 # the average alignment accuracy of the
1422 # 10pb-1 and the SurveyLASOnly scenarios.
1423 #
1424 # The same applies also,but to a lesser
1425 # extent, to the 10pb-1 scenario.
1426 # ------------- NOTE ends ----------------
1427 # ----------------------------------------
1428 # first helper blocks for TEC:
1429 TECRingsSurveyLASCosmics_1D = cms.PSet(
1430     DetUnits = cms.PSet(
1431         dZlocal = cms.double(0.0022),
1432         phiXlocal = cms.double(5e-05),
1433         dYlocal = cms.double(0.0022),
1434         phiZlocal = cms.double(5e-05),
1435         dXlocal = cms.double(0.0022),
1436         phiYlocal = cms.double(5e-05)
1437     )
1438 )
1439 TECRingsSurveyLASCosmics_2D = cms.PSet(
1440     Dets = cms.PSet(
1441         dZlocal = cms.double(0.0022),
1442         phiXlocal = cms.double(5e-05),
1443         dYlocal = cms.double(0.0022),
1444         phiZlocal = cms.double(5e-05),
1445         dXlocal = cms.double(0.0022),
1446         phiYlocal = cms.double(5e-05)
1447     )
1448 )
1449 # now real scenario:
1450 TrackerSurveyLASCosmicsScenario = cms.PSet(
1451     MisalignmentScenarioSettings,
1452     TIBHalfBarrels = cms.PSet(
1453         TIBLayers = cms.PSet(
1454             dZlocal = cms.double(0.0425),
1455             phiXlocal = cms.double(0.000277),
1456             dYlocal = cms.double(0.0425),
1457             phiZlocal = cms.double(0.000277),
1458             dXlocal = cms.double(0.0425),
1459             phiYlocal = cms.double(0.000277)
1460         ),
1461         scale = cms.double(1.0),
1462         TIBLayer3_4 = cms.PSet(
1463             DetUnits = cms.PSet(
1464                 dZlocal = cms.double(0.018),
1465                 phiXlocal = cms.double(0.000412),
1466                 dYlocal = cms.double(0.018),
1467                 phiZlocal = cms.double(0.000412),
1468                 dXlocal = cms.double(0.018),
1469                 phiYlocal = cms.double(0.000412)
1470             )
1471         ),
1472         scaleError = cms.double(1.0),
1473         TIBLayer1_2 = cms.PSet(
1474             Dets = cms.PSet(
1475                 dZlocal = cms.double(0.018),
1476                 phiXlocal = cms.double(0.000412),
1477                 dYlocal = cms.double(0.018),
1478                 phiZlocal = cms.double(0.000412),
1479                 dXlocal = cms.double(0.018),
1480                 phiYlocal = cms.double(0.000412)
1481             )
1482         ),
1483         distribution = cms.string('gaussian'),
1484         TIBStrings = cms.PSet(
1485             dZlocal = cms.double(0.0275),
1486             phiXlocal = cms.double(0.000179),
1487             dYlocal = cms.double(0.0275),
1488             phiZlocal = cms.double(0.000179),
1489             dXlocal = cms.double(0.0275),
1490             phiYlocal = cms.double(0.000179)
1491         )
1492     ),
1493     P1PXBHalfBarrels = cms.PSet(
1494         scale = cms.double(1.0),
1495         DetUnits = cms.PSet(
1496             dZlocal = cms.double(0.006),
1497             phiXlocal = cms.double(0.00027),
1498             dYlocal = cms.double(0.006),
1499             phiZlocal = cms.double(0.00027),
1500             distribution = cms.string('gaussian'),
1501             dXlocal = cms.double(0.006),
1502             phiYlocal = cms.double(0.00027)
1503         ),
1504         P1PXBLayers = cms.PSet(
1505             phiXlocal = cms.double(9e-06),
1506             phiZlocal = cms.double(9e-06),
1507             dZ = cms.double(0.0174),
1508             dX = cms.double(0.0118),
1509             dY = cms.double(0.0118),
1510             distribution = cms.string('gaussian'),
1511             phiYlocal = cms.double(9e-06)
1512         ),
1513         scaleError = cms.double(1.0),
1514         P1PXBLadders = cms.PSet(
1515             dZlocal = cms.double(0.002),
1516             phiXlocal = cms.double(9e-06),
1517             dYlocal = cms.double(0.002),
1518             phiZlocal = cms.double(9e-06),
1519             distribution = cms.string('gaussian'),
1520             dXlocal = cms.double(0.002),
1521             phiYlocal = cms.double(9e-06)
1522         )
1523     ),
1524     TOBHalfBarrels = cms.PSet(
1525         scale = cms.double(1.0),
1526         TOBLayer3_4_5_6 = cms.PSet(
1527             DetUnits = cms.PSet(
1528                 dZlocal = cms.double(0.0032),
1529                 phiXlocal = cms.double(7.5e-05),
1530                 dYlocal = cms.double(0.0032),
1531                 phiZlocal = cms.double(7.5e-05),
1532                 dXlocal = cms.double(0.0032),
1533                 phiYlocal = cms.double(7.5e-05)
1534             )
1535         ),
1536         scaleError = cms.double(1.0),
1537         TOBLayers = cms.PSet(
1538             dXlocal = cms.double(0.0),
1539             dZlocal = cms.double(0.0),
1540             dYlocal = cms.double(0.0)
1541         ),
1542         TOBLayer1_2 = cms.PSet(
1543             Dets = cms.PSet(
1544                 dZlocal = cms.double(0.0032),
1545                 phiXlocal = cms.double(7.5e-05),
1546                 dYlocal = cms.double(0.0032),
1547                 phiZlocal = cms.double(7.5e-05),
1548                 dXlocal = cms.double(0.0032),
1549                 phiYlocal = cms.double(7.5e-05)
1550             )
1551         ),
1552         TOBRods = cms.PSet(
1553             dZlocal = cms.double(0.01),
1554             phiXlocal = cms.double(4e-05),
1555             dYlocal = cms.double(0.01),
1556             phiZlocal = cms.double(4e-05),
1557             dXlocal = cms.double(0.01),
1558             phiYlocal = cms.double(4e-05)
1559         ),
1560         TOBHalfBarrels = cms.PSet(
1561             dZlocal = cms.double(0.03),
1562             phiXlocal = cms.double(1e-05),
1563             dYlocal = cms.double(0.006),
1564             phiZlocal = cms.double(1e-05),
1565             dXlocal = cms.double(0.006),
1566             phiYlocal = cms.double(1e-05)
1567         ),
1568         distribution = cms.string('gaussian')
1569     ),
1570     TECEndcaps = cms.PSet(
1571         scale = cms.double(1.0),
1572         TECDisk9 = cms.PSet(
1573             TECRing2 = cms.PSet(
1574                 TECRingsSurveyLASCosmics_2D
1575             ),
1576             TECRing1_3_4 = cms.PSet(
1577                 TECRingsSurveyLASCosmics_1D
1578             )
1579         ),
1580         scaleError = cms.double(1.0),
1581         TECPetals = cms.PSet(
1582             dZlocal = cms.double(0.007),
1583             phiXlocal = cms.double(3e-05),
1584             dYlocal = cms.double(0.007),
1585             phiZlocal = cms.double(3e-05),
1586             dXlocal = cms.double(0.007),
1587             phiYlocal = cms.double(3e-05)
1588         ),
1589         TECDisks = cms.PSet(
1590             dZlocal = cms.double(0.015),
1591             phiXlocal = cms.double(1.5e-05),
1592             dYlocal = cms.double(0.006),
1593             phiZlocal = cms.double(1.5e-05),
1594             dXlocal = cms.double(0.006),
1595             phiYlocal = cms.double(1.5e-05)
1596         ),
1597         TECDisk4_5_6 = cms.PSet(
1598             TECRing2_3_5_6 = cms.PSet(
1599                 TECRingsSurveyLASCosmics_1D
1600             ),
1601             TECRing1_4 = cms.PSet(
1602                 TECRingsSurveyLASCosmics_2D
1603             )
1604         ),
1605         TECDisk7_8 = cms.PSet(
1606             TECRing3 = cms.PSet(
1607                 TECRingsSurveyLASCosmics_2D
1608             ),
1609             TECRing1_2_4_5 = cms.PSet(
1610                 TECRingsSurveyLASCosmics_1D
1611             )
1612         ),
1613         distribution = cms.string('gaussian'),
1614         TECDisk1_2_3 = cms.PSet(
1615             TECRing3_4_6_7 = cms.PSet(
1616                 TECRingsSurveyLASCosmics_1D
1617             ),
1618             TECRing1_2_5 = cms.PSet(
1619                 TECRingsSurveyLASCosmics_2D
1620             )
1621         )
1622     ),
1623     P1PXECEndcaps = cms.PSet(
1624         P1PXECPanels = cms.PSet(
1625             dZlocal = cms.double(0.001),
1626             phiXlocal = cms.double(0.0002),
1627             dYlocal = cms.double(0.001),
1628             phiZlocal = cms.double(0.0002),
1629             dXlocal = cms.double(0.001),
1630             phiYlocal = cms.double(0.0002)
1631         ),
1632         scale = cms.double(1.0),
1633         scaleError = cms.double(1.0),
1634         P1PXECHalfDisks = cms.PSet(
1635             dZlocal = cms.double(0.005),
1636             phiXlocal = cms.double(0.001),
1637             dYlocal = cms.double(0.005),
1638             phiZlocal = cms.double(0.001),
1639             dXlocal = cms.double(0.005),
1640             phiYlocal = cms.double(0.001)
1641         ),
1642         P1PXECHalfCylinders = cms.PSet(
1643             dZlocal = cms.double(0.005),
1644             phiXlocal = cms.double(0.001),
1645             dYlocal = cms.double(0.005),
1646             phiZlocal = cms.double(0.001),
1647             dXlocal = cms.double(0.005),
1648             phiYlocal = cms.double(0.001)
1649         ),
1650         DetUnits = cms.PSet(
1651             dZlocal = cms.double(0.0005),
1652             phiXlocal = cms.double(0.0001),
1653             dYlocal = cms.double(0.0005),
1654             phiZlocal = cms.double(0.0001),
1655             dXlocal = cms.double(0.0005),
1656             phiYlocal = cms.double(0.0001)
1657         ),
1658         P1PXECBlades = cms.PSet(
1659             dZlocal = cms.double(0.001),
1660             phiXlocal = cms.double(0.0002),
1661             dYlocal = cms.double(0.001),
1662             phiZlocal = cms.double(0.0002),
1663             dXlocal = cms.double(0.001),
1664             phiYlocal = cms.double(0.0002)
1665         ),
1666         distribution = cms.string('gaussian')
1667     ),
1668     TIDEndcaps = cms.PSet(
1669         scale = cms.double(1.0),
1670         scaleError = cms.double(1.0),
1671         TIDEndcaps = cms.PSet(
1672             dZlocal = cms.double(0.0225),
1673             phiXlocal = cms.double(0.000325),
1674             dYlocal = cms.double(0.0225),
1675             phiZlocal = cms.double(0.000325),
1676             dXlocal = cms.double(0.0225),
1677             phiYlocal = cms.double(0.000325)
1678         ),
1679         TIDRing3 = cms.PSet(
1680             DetUnits = cms.PSet(
1681                 dZlocal = cms.double(0.0054),
1682                 phiXlocal = cms.double(0.00025),
1683                 dYlocal = cms.double(0.0054),
1684                 phiZlocal = cms.double(0.00025),
1685                 dXlocal = cms.double(0.0054),
1686                 phiYlocal = cms.double(0.00025)
1687             )
1688         ),
1689         TIDRing1_2 = cms.PSet(
1690             Dets = cms.PSet(
1691                 dZlocal = cms.double(0.0054),
1692                 phiXlocal = cms.double(0.00025),
1693                 dYlocal = cms.double(0.0054),
1694                 phiZlocal = cms.double(0.00025),
1695                 dXlocal = cms.double(0.0054),
1696                 phiYlocal = cms.double(0.00025)
1697             )
1698         ),
1699         TIDDisks = cms.PSet(
1700             dZlocal = cms.double(0.03),
1701             phiXlocal = cms.double(0.000456),
1702             dYlocal = cms.double(0.03),
1703             phiZlocal = cms.double(0.000456),
1704             dXlocal = cms.double(0.03),
1705             phiYlocal = cms.double(0.000456)
1706         ),
1707         distribution = cms.string('gaussian'),
1708         TIDRings = cms.PSet(
1709             dZlocal = cms.double(0.0185),
1710             phiXlocal = cms.double(0.00085),
1711             dYlocal = cms.double(0.0185),
1712             phiZlocal = cms.double(0.00085),
1713             dXlocal = cms.double(0.0185),
1714             phiYlocal = cms.double(0.00085)
1715         )
1716     )
1717 )
1718 # -----------------------------------------------------------------------
1719 # TrackerNoKnowledge scenario
1720 # ----------------------------------------
1721 # ----------------- NOTE -----------------
1722 # This scenario is not supposed to be used
1723 # to make public(?) estimates of the
1724 # performance of the CMS.
1725 #
1726 # This scenario contains lots of guesses,
1727 # and is intended to be used as a stress
1728 # test for aligning with cosmics as well
1729 # as a initial misalignment for LAS studies
1730 # ------------- NOTE ends ----------------
1731 # ----------------------------------------
1732 # first helper blocks for TEC:
1733 TECRingsTrackerNoKnowledge_1D = cms.PSet(
1734     DetUnits = cms.PSet(
1735         dZlocal = cms.double(0.0054),
1736         phiXlocal = cms.double(0.0005),
1737         dYlocal = cms.double(0.0028),
1738         phiZlocal = cms.double(0.0003),
1739         dXlocal = cms.double(0.0028),
1740         phiYlocal = cms.double(0.0005)
1741     )
1742 )
1743 TECRingsTrackerNoKnowledge_2D = cms.PSet(
1744     Dets = cms.PSet(
1745         dZlocal = cms.double(0.0054),
1746         phiXlocal = cms.double(0.0005),
1747         dYlocal = cms.double(0.0028),
1748         phiZlocal = cms.double(0.0003),
1749         dXlocal = cms.double(0.0028),
1750         phiYlocal = cms.double(0.0005)
1751     )
1752 )
1753 # now actual scenario
1754 TrackerNoKnowledgeScenario = cms.PSet(
1755     MisalignmentScenarioSettings,
1756     TIBHalfBarrels = cms.PSet(
1757         TIBLayers = cms.PSet(
1758             dZlocal = cms.double(0.02),
1759             phiXlocal = cms.double(0.0006),
1760             dYlocal = cms.double(0.04),
1761             phiZlocal = cms.double(0.0006),
1762             dXlocal = cms.double(0.04),
1763             phiYlocal = cms.double(0.0006)
1764         ),
1765         scale = cms.double(1.0),
1766         TIBLayer3_4 = cms.PSet(
1767             DetUnits = cms.PSet(
1768                 dZlocal = cms.double(0.005),
1769                 phiXlocal = cms.double(0.001),
1770                 dYlocal = cms.double(0.005),
1771                 phiZlocal = cms.double(0.0005),
1772                 dXlocal = cms.double(0.005),
1773                 phiYlocal = cms.double(0.0005)
1774             )
1775         ),
1776         scaleError = cms.double(1.0),
1777         TIBHalfShells = cms.PSet(
1778             dZlocal = cms.double(0.015),
1779             phiXlocal = cms.double(0.0004),
1780             dYlocal = cms.double(0.03),
1781             phiZlocal = cms.double(0.0004),
1782             dXlocal = cms.double(0.03),
1783             phiYlocal = cms.double(0.0004)
1784         ),
1785         TIBBarrels = cms.PSet( # FIXME??
1786             dZlocal = cms.double(0.2),
1787             phiXlocal = cms.double(0.0017),
1788             dYlocal = cms.double(0.2),
1789             phiZlocal = cms.double(0.0017),
1790             dXlocal = cms.double(0.2),
1791             phiYlocal = cms.double(0.0017)
1792         ),
1793         TIBHalfBarrels = cms.PSet( # FIXME??
1794             dZlocal = cms.double(0.1),
1795             phiXlocal = cms.double(0.0008),
1796             dYlocal = cms.double(0.1),
1797             phiZlocal = cms.double(0.0008),
1798             dXlocal = cms.double(0.1),
1799             phiYlocal = cms.double(0.0008)
1800         ),
1801         TIBLayer1_2 = cms.PSet(
1802             Dets = cms.PSet(
1803                 dZlocal = cms.double(0.005),
1804                 phiXlocal = cms.double(0.001),
1805                 dYlocal = cms.double(0.005),
1806                 phiZlocal = cms.double(0.0005),
1807                 dXlocal = cms.double(0.005),
1808                 phiYlocal = cms.double(0.0005)
1809             )
1810         ),
1811         distribution = cms.string('gaussian'),
1812         TIBStrings = cms.PSet(
1813             dZlocal = cms.double(0.01),
1814             phiXlocal = cms.double(0.0004),
1815             dYlocal = cms.double(0.01),
1816             phiZlocal = cms.double(0.0002),
1817             dXlocal = cms.double(0.01),
1818             phiYlocal = cms.double(0.0002)
1819         ),
1820         TIBSurfaces = cms.PSet(
1821             dZlocal = cms.double(0.01),
1822             phiXlocal = cms.double(0.0004),
1823             dYlocal = cms.double(0.01),
1824             phiZlocal = cms.double(0.0002),
1825             dXlocal = cms.double(0.01),
1826             phiYlocal = cms.double(0.0002)
1827         )
1828     ),
1829     P1PXBHalfBarrels = cms.PSet(
1830         P1PXBHalfBarrels = cms.PSet( # FIXME??
1831             phiXlocal = cms.double(0.0008),
1832             phiZlocal = cms.double(0.0008),
1833             dZ = cms.double(0.05),
1834             dX = cms.double(0.05),
1835             dY = cms.double(0.05),
1836             distribution = cms.string('gaussian'),
1837             phiYlocal = cms.double(0.0008)
1838         ),
1839         scale = cms.double(1.0),
1840         scaleError = cms.double(1.0),
1841         P1PXBLadders = cms.PSet(
1842             dZlocal = cms.double(0.005),
1843             phiXlocal = cms.double(0.0002),
1844             dYlocal = cms.double(0.01),
1845             phiZlocal = cms.double(0.0002),
1846             distribution = cms.string('gaussian'),
1847             dXlocal = cms.double(0.01),
1848             phiYlocal = cms.double(0.0002)
1849         ),
1850         DetUnits = cms.PSet(
1851             dZlocal = cms.double(0.003),
1852             phiXlocal = cms.double(0.001),
1853             dYlocal = cms.double(0.005),
1854             phiZlocal = cms.double(0.001),
1855             distribution = cms.string('gaussian'),
1856             dXlocal = cms.double(0.006),
1857             phiYlocal = cms.double(0.001)
1858         ),
1859         P1PXBLayers = cms.PSet(
1860             phiXlocal = cms.double(0.0004),
1861             phiZlocal = cms.double(0.0004),
1862             dZ = cms.double(0.02),
1863             dX = cms.double(0.02),
1864             dY = cms.double(0.02),
1865             distribution = cms.string('gaussian'),
1866             phiYlocal = cms.double(0.0004)
1867         ),
1868         P1PXBBarrels = cms.PSet( # FIXME??
1869             phiXlocal = cms.double(0.003),
1870             phiZlocal = cms.double(0.003),
1871             dZ = cms.double(0.1),
1872             dX = cms.double(0.1),
1873             dY = cms.double(0.1),
1874             distribution = cms.string('gaussian'),
1875             phiYlocal = cms.double(0.003)
1876         )
1877     ),
1878     TOBHalfBarrels = cms.PSet(
1879         scale = cms.double(1.0),
1880         TOBBarrels = cms.PSet( # FIXME??
1881             dZlocal = cms.double(0.1),
1882             phiXlocal = cms.double(0.0005),
1883             dYlocal = cms.double(0.1),
1884             phiZlocal = cms.double(0.0005),
1885             dXlocal = cms.double(0.1),
1886             phiYlocal = cms.double(0.0005)
1887         ),
1888         scaleError = cms.double(1.0),
1889         TOBLayers = cms.PSet(
1890             dZlocal = cms.double(0.02),
1891             phiXlocal = cms.double(0.0001),
1892             dYlocal = cms.double(0.01),
1893             phiZlocal = cms.double(0.0001),
1894             dXlocal = cms.double(0.01),
1895             phiYlocal = cms.double(0.0001)
1896         ),
1897         TOBLayer1_2 = cms.PSet(
1898             Dets = cms.PSet(
1899                 dZlocal = cms.double(0.01),
1900                 phiXlocal = cms.double(0.0002),
1901                 dYlocal = cms.double(0.003),
1902                 phiZlocal = cms.double(0.0002),
1903                 dXlocal = cms.double(0.003),
1904                 phiYlocal = cms.double(0.0002)
1905             )
1906         ),
1907         TOBRods = cms.PSet(
1908             dZlocal = cms.double(0.01),
1909             phiXlocal = cms.double(0.0001),
1910             dYlocal = cms.double(0.02),
1911             phiZlocal = cms.double(0.0001),
1912             dXlocal = cms.double(0.01),
1913             phiYlocal = cms.double(0.0002)
1914         ),
1915         TOBHalfBarrels = cms.PSet( # FIXME??
1916             dZlocal = cms.double(0.02),
1917             phiXlocal = cms.double(0.0001),
1918             dYlocal = cms.double(0.01),
1919             phiZlocal = cms.double(0.0001),
1920             dXlocal = cms.double(0.01),
1921             phiYlocal = cms.double(0.0001)
1922         ),
1923         distribution = cms.string('gaussian'),
1924         TOBLayer3_4_5_6 = cms.PSet(
1925             DetUnits = cms.PSet(
1926                 dZlocal = cms.double(0.01),
1927                 phiXlocal = cms.double(0.0002),
1928                 dYlocal = cms.double(0.003),
1929                 phiZlocal = cms.double(0.0002),
1930                 dXlocal = cms.double(0.003),
1931                 phiYlocal = cms.double(0.0002)
1932             )
1933         )
1934     ),
1935     TECEndcaps = cms.PSet(
1936         scale = cms.double(1.0),
1937         TECDisk9 = cms.PSet(
1938             TECRing2 = cms.PSet(
1939                 TECRingsTrackerNoKnowledge_2D
1940             ),
1941             TECRing1_3_4 = cms.PSet(
1942                 TECRingsTrackerNoKnowledge_1D
1943             )
1944         ),
1945         TECDisk1_2_3 = cms.PSet(
1946             TECRing3_4_6_7 = cms.PSet(
1947                 TECRingsTrackerNoKnowledge_1D
1948             ),
1949             TECRing1_2_5 = cms.PSet(
1950                 TECRingsTrackerNoKnowledge_2D
1951             )
1952         ),
1953         scaleError = cms.double(1.0),
1954         TECEndcaps = cms.PSet( # FIXME??
1955             dZlocal = cms.double(0.0316),
1956             phiXlocal = cms.double(0.001),
1957             dYlocal = cms.double(0.05),
1958             phiZlocal = cms.double(0.001),
1959             dXlocal = cms.double(0.0316),
1960             phiYlocal = cms.double(0.001)
1961         ),
1962         TECDisk4_5_6 = cms.PSet(
1963             TECRing2_3_5_6 = cms.PSet(
1964                 TECRingsTrackerNoKnowledge_1D
1965             ),
1966             TECRing1_4 = cms.PSet(
1967                 TECRingsTrackerNoKnowledge_2D
1968             )
1969         ),
1970         TECPetals = cms.PSet(
1971             dZlocal = cms.double(0.0158),
1972             phiXlocal = cms.double(0.0005),
1973             dYlocal = cms.double(0.0086),
1974             phiZlocal = cms.double(0.0003),
1975             dXlocal = cms.double(0.0086),
1976             phiYlocal = cms.double(0.0005)
1977         ),
1978         TECDisks = cms.PSet(
1979             dZlocal = cms.double(0.0112),
1980             phiXlocal = cms.double(0.0002),
1981             dYlocal = cms.double(0.0206),
1982             phiZlocal = cms.double(0.0001),
1983             dXlocal = cms.double(0.0112),
1984             phiYlocal = cms.double(0.0001)
1985         ),
1986         TECDisk7_8 = cms.PSet(
1987             TECRing3 = cms.PSet(
1988                 TECRingsTrackerNoKnowledge_2D
1989             ),
1990             TECRing1_2_4_5 = cms.PSet(
1991                 TECRingsTrackerNoKnowledge_1D
1992             )
1993         ),
1994         distribution = cms.string('gaussian')
1995     ),
1996     P1PXECEndcaps = cms.PSet(
1997         P1PXECPanels = cms.PSet(
1998             dZlocal = cms.double(0.005),
1999             phiXlocal = cms.double(0.002),
2000             dYlocal = cms.double(0.01),
2001             phiZlocal = cms.double(0.002),
2002             dXlocal = cms.double(0.01),
2003             phiYlocal = cms.double(0.002)
2004         ),
2005         scale = cms.double(1.0),
2006         scaleError = cms.double(1.0),
2007         P1PXECHalfDisks = cms.PSet(
2008             dZlocal = cms.double(0.02),
2009             phiXlocal = cms.double(0.001),
2010             dYlocal = cms.double(0.02),
2011             phiZlocal = cms.double(0.001),
2012             dXlocal = cms.double(0.02),
2013             phiYlocal = cms.double(0.001)
2014         ),
2015         P1PXECEndcaps = cms.PSet( # FIXME??
2016             dZlocal = cms.double(0.1),
2017             phiXlocal = cms.double(0.0017),
2018             dYlocal = cms.double(0.1),
2019             phiZlocal = cms.double(0.0017),
2020             dXlocal = cms.double(0.1),
2021             phiYlocal = cms.double(0.0017)
2022         ),
2023         P1PXECHalfCylinders = cms.PSet(
2024             dZlocal = cms.double(0.05),
2025             phiXlocal = cms.double(0.0004),
2026             dYlocal = cms.double(0.05),
2027             phiZlocal = cms.double(0.0004),
2028             dXlocal = cms.double(0.05),
2029             phiYlocal = cms.double(0.0004)
2030         ),
2031         DetUnits = cms.PSet(
2032             dZlocal = cms.double(0.003),
2033             phiXlocal = cms.double(0.001),
2034             dYlocal = cms.double(0.005),
2035             phiZlocal = cms.double(0.001),
2036             dXlocal = cms.double(0.005),
2037             phiYlocal = cms.double(0.001)
2038         ),
2039         P1PXECBlades = cms.PSet(
2040             dZlocal = cms.double(0.01),
2041             phiXlocal = cms.double(0.001),
2042             dYlocal = cms.double(0.01),
2043             phiZlocal = cms.double(0.001),
2044             dXlocal = cms.double(0.01),
2045             phiYlocal = cms.double(0.001)
2046         ),
2047         distribution = cms.string('gaussian')
2048     ),
2049     TIDEndcaps = cms.PSet(
2050         TIDSides = cms.PSet(
2051             dZlocal = cms.double(0.005),
2052             phiXlocal = cms.double(0.0001),
2053             dYlocal = cms.double(0.005),
2054             phiZlocal = cms.double(0.0001),
2055             dXlocal = cms.double(0.005),
2056             phiYlocal = cms.double(0.0001)
2057         ),
2058         scale = cms.double(1.0),
2059         scaleError = cms.double(1.0),
2060         TIDEndcaps = cms.PSet( # FIXME??
2061             dZlocal = cms.double(0.1),
2062             phiXlocal = cms.double(0.0013),
2063             dYlocal = cms.double(0.1),
2064             phiZlocal = cms.double(0.0013),
2065             dXlocal = cms.double(0.1),
2066             phiYlocal = cms.double(0.0013)
2067         ),
2068         TIDRings = cms.PSet(
2069             dZlocal = cms.double(0.01),
2070             phiXlocal = cms.double(0.0001),
2071             dYlocal = cms.double(0.01),
2072             phiZlocal = cms.double(0.0001),
2073             dXlocal = cms.double(0.01),
2074             phiYlocal = cms.double(0.0001)
2075         ),
2076         TIDRing1_2 = cms.PSet(
2077             Dets = cms.PSet(
2078                 dZlocal = cms.double(0.005),
2079                 phiXlocal = cms.double(0.0005),
2080                 dYlocal = cms.double(0.005),
2081                 phiZlocal = cms.double(0.0005),
2082                 dXlocal = cms.double(0.005),
2083                 phiYlocal = cms.double(0.0005)
2084             )
2085         ),
2086         TIDDisks = cms.PSet(
2087             dZlocal = cms.double(0.05),
2088             phiXlocal = cms.double(0.0004),
2089             dYlocal = cms.double(0.05),
2090             phiZlocal = cms.double(0.0004),
2091             dXlocal = cms.double(0.05),
2092             phiYlocal = cms.double(0.0004)
2093         ),
2094         distribution = cms.string('gaussian'),
2095         TIDRing3 = cms.PSet(
2096             DetUnits = cms.PSet(
2097                 dZlocal = cms.double(0.005),
2098                 phiXlocal = cms.double(0.0005),
2099                 dYlocal = cms.double(0.005),
2100                 phiZlocal = cms.double(0.0005),
2101                 dXlocal = cms.double(0.005),
2102                 phiYlocal = cms.double(0.0005)
2103             )
2104         )
2105     )
2106 )
2107 
2108 
2109 
2110 # -----------------------------------------------------------------------
2111 # TrackerAfterCRAFTScenario
2112 # ----------------------------------------
2113 # ----------------- NOTE -----------------
2114 # This scenario is a simple merge of scenarios above:
2115 # It seems that after CRAFT alignment we have aligned TIB and TOB
2116 # as good as foreseen after 100 pb^-1 (at least what concerns residuals [DMR]),
2117 # while the rest of the tracker is at the level of the 10 pb^-1 scenario
2118 # or even still at that of SurveyLASOnlyScenario.
2119 # ------------- NOTE ends ----------------
2120 # ----------------------------------------
2121 TrackerCRAFTScenario = copy.deepcopy(Tracker10pbScenario)
2122 TrackerCRAFTScenario.TIBHalfBarrels = copy.deepcopy(Tracker100pbScenario.TIBHalfBarrels)
2123 TrackerCRAFTScenario.TOBHalfBarrels = copy.deepcopy(Tracker100pbScenario.TOBHalfBarrels)
2124 TrackerCRAFTScenario.P1PXECEndcaps = copy.deepcopy(TrackerSurveyLASOnlyScenario.P1PXECEndcaps)
2125 
2126 # -----------------------------------------------------------------------
2127 # Pixel Tracker Only z Shifts and Rotations
2128 # ----------------------------------------------------------------------
2129 PixelTrackerOnlyZShift = cms.PSet(MisalignmentScenarioSettings,
2130                                   P1PXBHalfBarrel1 = cms.PSet(distribution = cms.string('fixed'),
2131                                                             DetUnits = cms.PSet(dZ = cms.double(0.0015))
2132                                                             ),
2133                                   P1PXBHalfBarrel2 = cms.PSet(distribution = cms.string('fixed'),
2134                                                             DetUnits = cms.PSet(dZ = cms.double(-0.0015))
2135                                                             )
2136                                   )
2137 
2138 # -----------------------------------------------------------------------
2139 # Pixel Tracker Fixed Shifts and Rotations
2140 # ----------------------------------------------------------------------
2141 PixelTrackerFixedShiftsAndRotations = cms.PSet(MisalignmentScenarioSettings,
2142                                           P1PXBHalfBarrel1 = cms.PSet(distribution = cms.string('fixed'),
2143                                                                     DetUnits = cms.PSet(dX = cms.double(0.0005),
2144                                                                                         dY = cms.double(0.0010),
2145                                                                                         dZ = cms.double(0.0015),
2146                                                                                         phiX = cms.double(30e-6),
2147                                                                                         phiY = cms.double(30e-06),
2148                                                                                         phiZ = cms.double(30e-06)
2149                                                                                         )
2150                                                                     ),
2151                                           P1PXBHalfBarrel2 = cms.PSet(distribution = cms.string('fixed'),
2152                                                                     DetUnits = cms.PSet(dX = cms.double(-0.0005),
2153                                                                                         dY = cms.double(-0.0010),
2154                                                                                         dZ = cms.double(-0.0015),
2155                                                                                         phiX = cms.double(-30e-6),
2156                                                                                         phiY = cms.double(-30e-06),
2157                                                                                         phiZ = cms.double(-30e-06)
2158                                                                                         )
2159                                                                     )
2160                                           )
2161 
2162 
2163 # -----------------------------------------------------------------------
2164 # Pixel Tracker Random Shifts and Rotations
2165 # ----------------------------------------------------------------------
2166 
2167 PixelTrackerDicedShiftsAndRotations = cms.PSet(MisalignmentScenarioSettings,
2168                                                P1PXBBarrels = cms.PSet(distribution = cms.string('gaussian'),
2169                                                                      scale = cms.double(1.0),
2170                                                                      scaleError = cms.double(1.0),
2171                                                                      P1PXBHalfBarrels = cms.PSet(distribution = cms.string('flat'),
2172                                                                                                dX = cms.double(0.0005),
2173                                                                                                dY = cms.double(0.0010),
2174                                                                                                dZ = cms.double(0.0015),
2175                                                                                                phiX = cms.double(30e-6),
2176                                                                                                phiY = cms.double(30e-06),
2177                                                                                                phiZ = cms.double(30e-06)
2178                                                                                                )
2179                                                                      )
2180                                                )
2181 
2182 
2183 
2184 MisalignmentScenario_5mu = MisalignmentScenarioSettings.clone(
2185   setError = cms.bool(False),
2186   scale = cms.double(0.01), # shifts in 100um
2187 
2188   P1PXBHalfBarrels = cms.PSet(
2189     DetUnits = cms.PSet(
2190       dXlocal = cms.double(0.05),
2191       dYlocal = cms.double(0.05),
2192     ),
2193   ),
2194 
2195   TIBHalfBarrels = cms.PSet(
2196     DetUnits = cms.PSet(
2197       dXlocal = cms.double(0.05),
2198     ),
2199   ),
2200 
2201   TOBHalfBarrels = cms.PSet(
2202     DetUnits = cms.PSet(
2203       dXlocal = cms.double(0.05),
2204     ),
2205   ),
2206 
2207   P1PXECEndcaps = cms.PSet(
2208     DetUnits = cms.PSet(
2209       dXlocal = cms.double(0.05),
2210       dYlocal = cms.double(0.05),
2211     ),
2212   ),
2213 
2214   TIDEndcaps = cms.PSet(
2215     DetUnits = cms.PSet(
2216       dXlocal = cms.double(0.05),
2217     ),
2218   ),
2219 
2220   TECEndcaps = cms.PSet(
2221     DetUnits = cms.PSet(
2222       dXlocal = cms.double(0.05),
2223     ),
2224   ),
2225 )
2226 
2227 MisalignmentScenario_10mu = MisalignmentScenarioSettings.clone(
2228   setError = cms.bool(False),
2229   scale = cms.double(0.01), # shifts in 100um
2230 
2231   P1PXBHalfBarrels = cms.PSet(
2232     DetUnits = cms.PSet(
2233       dXlocal = cms.double(0.1),
2234       dYlocal = cms.double(0.1),
2235     ),
2236   ),
2237 
2238   TIBHalfBarrels = cms.PSet(
2239     DetUnits = cms.PSet(
2240       dXlocal = cms.double(0.1),
2241     ),
2242   ),
2243 
2244   TOBHalfBarrels = cms.PSet(
2245     DetUnits = cms.PSet(
2246       dXlocal = cms.double(0.1),
2247     ),
2248   ),
2249 
2250   P1PXECEndcaps = cms.PSet(
2251     DetUnits = cms.PSet(
2252       dXlocal = cms.double(0.1),
2253       dYlocal = cms.double(0.1),
2254     ),
2255   ),
2256 
2257   TIDEndcaps = cms.PSet(
2258     DetUnits = cms.PSet(
2259       dXlocal = cms.double(0.1),
2260     ),
2261   ),
2262 
2263   TECEndcaps = cms.PSet(
2264     DetUnits = cms.PSet(
2265       dXlocal = cms.double(0.1),
2266     ),
2267   ),
2268 )
2269 
2270 MisalignmentScenario_15mu = MisalignmentScenarioSettings.clone(
2271   setError = cms.bool(False),
2272   scale = cms.double(0.01), # shifts in 100um
2273 
2274   P1PXBHalfBarrels = cms.PSet(
2275     DetUnits = cms.PSet(
2276       dXlocal = cms.double(0.15),
2277       dYlocal = cms.double(0.15),
2278     ),
2279   ),
2280 
2281   TIBHalfBarrels = cms.PSet(
2282     DetUnits = cms.PSet(
2283       dXlocal = cms.double(0.15),
2284     ),
2285   ),
2286 
2287   TOBHalfBarrels = cms.PSet(
2288     DetUnits = cms.PSet(
2289       dXlocal = cms.double(0.15),
2290     ),
2291   ),
2292 
2293   P1PXECEndcaps = cms.PSet(
2294     DetUnits = cms.PSet(
2295       dXlocal = cms.double(0.15),
2296       dYlocal = cms.double(0.15),
2297     ),
2298   ),
2299 
2300   TIDEndcaps = cms.PSet(
2301     DetUnits = cms.PSet(
2302       dXlocal = cms.double(0.15),
2303     ),
2304   ),
2305 
2306   TECEndcaps = cms.PSet(
2307     DetUnits = cms.PSet(
2308       dXlocal = cms.double(0.15),
2309     ),
2310   ),
2311 )
2312 
2313 MisalignmentScenario_20mu = MisalignmentScenarioSettings.clone(
2314   setError = cms.bool(False),
2315   scale = cms.double(0.01), # shifts in 100um
2316 
2317   P1PXBHalfBarrels = cms.PSet(
2318     DetUnits = cms.PSet(
2319       dXlocal = cms.double(0.2),
2320       dYlocal = cms.double(0.2),
2321     ),
2322   ),
2323 
2324   TIBHalfBarrels = cms.PSet(
2325     DetUnits = cms.PSet(
2326       dXlocal = cms.double(0.2),
2327     ),
2328   ),
2329 
2330   TOBHalfBarrels = cms.PSet(
2331     DetUnits = cms.PSet(
2332       dXlocal = cms.double(0.2),
2333     ),
2334   ),
2335 
2336   P1PXECEndcaps = cms.PSet(
2337     DetUnits = cms.PSet(
2338       dXlocal = cms.double(0.2),
2339       dYlocal = cms.double(0.2),
2340     ),
2341   ),
2342 
2343   TIDEndcaps = cms.PSet(
2344     DetUnits = cms.PSet(
2345       dXlocal = cms.double(0.2),
2346     ),
2347   ),
2348 
2349   TECEndcaps = cms.PSet(
2350     DetUnits = cms.PSet(
2351       dXlocal = cms.double(0.2),
2352     ),
2353   ),
2354 )
2355 
2356 MisalignmentScenario_20muGlobalX = MisalignmentScenarioSettings.clone(
2357   setError = cms.bool(False),
2358   scale = cms.double(0.01), # shifts in 100um
2359 
2360   P1PXBHalfBarrels = cms.PSet(
2361     DetUnits = cms.PSet(
2362       dX = cms.double(0.2),
2363     ),
2364   ),
2365 
2366   TIBHalfBarrels = cms.PSet(
2367     DetUnits = cms.PSet(
2368       dX = cms.double(0.2),
2369     ),
2370   ),
2371 
2372   TOBHalfBarrels = cms.PSet(
2373     DetUnits = cms.PSet(
2374       dX = cms.double(0.2),
2375     ),
2376   ),
2377 
2378   P1PXECEndcaps = cms.PSet(
2379     DetUnits = cms.PSet(
2380       dX = cms.double(0.2),
2381     ),
2382   ),
2383 
2384   TIDEndcaps = cms.PSet(
2385     DetUnits = cms.PSet(
2386       dX = cms.double(0.2),
2387     ),
2388   ),
2389 
2390   TECEndcaps = cms.PSet(
2391     DetUnits = cms.PSet(
2392       dX = cms.double(0.2),
2393     ),
2394   ),
2395 )
2396 
2397 MisalignmentScenario_20muLocalX = MisalignmentScenarioSettings.clone(
2398   setError = cms.bool(False),
2399   scale = cms.double(0.01), # shifts in 100um
2400 
2401   P1PXBHalfBarrels = cms.PSet(
2402     DetUnits = cms.PSet(
2403       dXlocal = cms.double(0.2),
2404     ),
2405   ),
2406 
2407   TIBHalfBarrels = cms.PSet(
2408     DetUnits = cms.PSet(
2409       dXlocal = cms.double(0.2),
2410     ),
2411   ),
2412 
2413   TOBHalfBarrels = cms.PSet(
2414     DetUnits = cms.PSet(
2415       dXlocal = cms.double(0.2),
2416     ),
2417   ),
2418 
2419   P1PXECEndcaps = cms.PSet(
2420     DetUnits = cms.PSet(
2421       dXlocal = cms.double(0.2),
2422     ),
2423   ),
2424 
2425   TIDEndcaps = cms.PSet(
2426     DetUnits = cms.PSet(
2427       dXlocal = cms.double(0.2),
2428     ),
2429   ),
2430 
2431   TECEndcaps = cms.PSet(
2432     DetUnits = cms.PSet(
2433       dXlocal = cms.double(0.2),
2434     ),
2435   ),
2436 )
2437 
2438 MisalignmentScenario_20muGlobalY = MisalignmentScenarioSettings.clone(
2439   scale = cms.double(0.01), # shifts in 100um
2440 
2441   P1PXBHalfBarrels = cms.PSet(
2442     DetUnits = cms.PSet(
2443       dY = cms.double(0.2),
2444     ),
2445   ),
2446 
2447   TIBHalfBarrels = cms.PSet(
2448     DetUnits = cms.PSet(
2449       dY = cms.double(0.2),
2450     ),
2451   ),
2452 
2453   TOBHalfBarrels = cms.PSet(
2454     DetUnits = cms.PSet(
2455       dY = cms.double(0.2),
2456     ),
2457   ),
2458 
2459   P1PXECEndcaps = cms.PSet(
2460     DetUnits = cms.PSet(
2461       dY = cms.double(0.2),
2462     ),
2463   ),
2464 
2465   TIDEndcaps = cms.PSet(
2466     DetUnits = cms.PSet(
2467       dY = cms.double(0.2),
2468     ),
2469   ),
2470 
2471   TECEndcaps = cms.PSet(
2472     DetUnits = cms.PSet(
2473       dY = cms.double(0.2),
2474     ),
2475   ),
2476 )
2477 
2478 MisalignmentScenario_20muLocalY = MisalignmentScenarioSettings.clone(
2479   setError = cms.bool(False),
2480   scale = cms.double(0.01), # shifts in 100um
2481 
2482   P1PXBHalfBarrels = cms.PSet(
2483     DetUnits = cms.PSet(
2484       dYlocal = cms.double(0.2),
2485     ),
2486   ),
2487 
2488   TIBHalfBarrels = cms.PSet(
2489     DetUnits = cms.PSet(
2490       dYlocal = cms.double(0.2),
2491     ),
2492   ),
2493 
2494   TOBHalfBarrels = cms.PSet(
2495     DetUnits = cms.PSet(
2496       dYlocal = cms.double(0.2),
2497     ),
2498   ),
2499 
2500   P1PXECEndcaps = cms.PSet(
2501     DetUnits = cms.PSet(
2502       dYlocal = cms.double(0.2),
2503     ),
2504   ),
2505 
2506   TIDEndcaps = cms.PSet(
2507     DetUnits = cms.PSet(
2508       dYlocal = cms.double(0.2),
2509     ),
2510   ),
2511 
2512   TECEndcaps = cms.PSet(
2513     DetUnits = cms.PSet(
2514       dYlocal = cms.double(0.2),
2515     ),
2516   ),
2517 )
2518 
2519 MisalignmentScenario_20muGlobalZ = MisalignmentScenarioSettings.clone(
2520   setError = cms.bool(False),
2521   scale = cms.double(0.01), # shifts in 100um
2522 
2523   P1PXBHalfBarrels = cms.PSet(
2524     DetUnits = cms.PSet(
2525       dZ = cms.double(0.2),
2526     ),
2527   ),
2528 
2529   TIBHalfBarrels = cms.PSet(
2530     DetUnits = cms.PSet(
2531       dZ = cms.double(0.2),
2532     ),
2533   ),
2534 
2535   TOBHalfBarrels = cms.PSet(
2536     DetUnits = cms.PSet(
2537       dZ = cms.double(0.2),
2538     ),
2539   ),
2540 
2541   P1PXECEndcaps = cms.PSet(
2542     DetUnits = cms.PSet(
2543       dZ = cms.double(0.2),
2544     ),
2545   ),
2546 
2547   TIDEndcaps = cms.PSet(
2548     DetUnits = cms.PSet(
2549       dZ = cms.double(0.2),
2550     ),
2551   ),
2552 
2553   TECEndcaps = cms.PSet(
2554     DetUnits = cms.PSet(
2555       dZ = cms.double(0.2),
2556     ),
2557   ),
2558 )
2559 
2560 MisalignmentScenario_20muLocalZ = MisalignmentScenarioSettings.clone(
2561   setError = cms.bool(False),
2562   scale = cms.double(0.01), # shifts in 100um
2563 
2564   P1PXBHalfBarrels = cms.PSet(
2565     DetUnits = cms.PSet(
2566       dZlocal = cms.double(0.2),
2567     ),
2568   ),
2569 
2570   TIBHalfBarrels = cms.PSet(
2571     DetUnits = cms.PSet(
2572       dZlocal = cms.double(0.2),
2573     ),
2574   ),
2575 
2576   TOBHalfBarrels = cms.PSet(
2577     DetUnits = cms.PSet(
2578       dZlocal = cms.double(0.2),
2579     ),
2580   ),
2581 
2582   P1PXECEndcaps = cms.PSet(
2583     DetUnits = cms.PSet(
2584       dZlocal = cms.double(0.2),
2585     ),
2586   ),
2587 
2588   TIDEndcaps = cms.PSet(
2589     DetUnits = cms.PSet(
2590       dZlocal = cms.double(0.2),
2591     ),
2592   ),
2593 
2594   TECEndcaps = cms.PSet(
2595     DetUnits = cms.PSet(
2596       dZlocal = cms.double(0.2),
2597     ),
2598   ),
2599 )
2600 
2601 MisalignmentScenario_20muGlobalXY = MisalignmentScenarioSettings.clone(
2602   scale = cms.double(0.01), # shifts in 100um
2603 
2604   P1PXBHalfBarrels = cms.PSet(
2605     DetUnits = cms.PSet(
2606       dX = cms.double(0.2),
2607       dY = cms.double(0.2),
2608     ),
2609   ),
2610 
2611   TIBHalfBarrels = cms.PSet(
2612     DetUnits = cms.PSet(
2613       dX = cms.double(0.2),
2614       dY = cms.double(0.2),
2615     ),
2616   ),
2617 
2618   TOBHalfBarrels = cms.PSet(
2619     DetUnits = cms.PSet(
2620       dX = cms.double(0.2),
2621       dY = cms.double(0.2),
2622     ),
2623   ),
2624 
2625   P1PXECEndcaps = cms.PSet(
2626     DetUnits = cms.PSet(
2627       dX = cms.double(0.2),
2628       dY = cms.double(0.2),
2629     ),
2630   ),
2631 
2632   TIDEndcaps = cms.PSet(
2633     DetUnits = cms.PSet(
2634       dX = cms.double(0.2),
2635       dY = cms.double(0.2),
2636     ),
2637   ),
2638 
2639   TECEndcaps = cms.PSet(
2640     DetUnits = cms.PSet(
2641       dX = cms.double(0.2),
2642       dY = cms.double(0.2),
2643     ),
2644   ),
2645 )
2646 
2647 MisalignmentScenario_20muLocalXY = MisalignmentScenarioSettings.clone(
2648   setError = cms.bool(False),
2649   scale = cms.double(0.01), # shifts in 100um
2650 
2651   P1PXBHalfBarrels = cms.PSet(
2652     DetUnits = cms.PSet(
2653       dXlocal = cms.double(0.2),
2654       dYlocal = cms.double(0.2),
2655     ),
2656   ),
2657 
2658   TIBHalfBarrels = cms.PSet(
2659     DetUnits = cms.PSet(
2660       dXlocal = cms.double(0.2),
2661       dYlocal = cms.double(0.2),
2662     ),
2663   ),
2664 
2665   TOBHalfBarrels = cms.PSet(
2666     DetUnits = cms.PSet(
2667       dXlocal = cms.double(0.2),
2668       dYlocal = cms.double(0.2),
2669     ),
2670   ),
2671 
2672   P1PXECEndcaps = cms.PSet(
2673     DetUnits = cms.PSet(
2674       dXlocal = cms.double(0.2),
2675       dYlocal = cms.double(0.2),
2676     ),
2677   ),
2678 
2679   TIDEndcaps = cms.PSet(
2680     DetUnits = cms.PSet(
2681       dXlocal = cms.double(0.2),
2682       dYlocal = cms.double(0.2),
2683     ),
2684   ),
2685 
2686   TECEndcaps = cms.PSet(
2687     DetUnits = cms.PSet(
2688       dXlocal = cms.double(0.2),
2689       dYlocal = cms.double(0.2),
2690     ),
2691   ),
2692 )
2693 
2694 MisalignmentScenario_20muGlobalXYZ = MisalignmentScenarioSettings.clone(
2695   setError = cms.bool(False),
2696   scale = cms.double(0.01), # shifts in 100um
2697 
2698   P1PXBHalfBarrels = cms.PSet(
2699     DetUnits = cms.PSet(
2700       dX = cms.double(0.2),
2701       dY = cms.double(0.2),
2702       dZ = cms.double(0.2),
2703     ),
2704   ),
2705 
2706   TIBHalfBarrels = cms.PSet(
2707     DetUnits = cms.PSet(
2708       dX = cms.double(0.2),
2709       dY = cms.double(0.2),
2710       dZ = cms.double(0.2),
2711     ),
2712   ),
2713 
2714   TOBHalfBarrels = cms.PSet(
2715     DetUnits = cms.PSet(
2716       dX = cms.double(0.2),
2717       dY = cms.double(0.2),
2718       dZ = cms.double(0.2),
2719     ),
2720   ),
2721 
2722   P1PXECEndcaps = cms.PSet(
2723     DetUnits = cms.PSet(
2724       dX = cms.double(0.2),
2725       dY = cms.double(0.2),
2726       dZ = cms.double(0.2),
2727     ),
2728   ),
2729 
2730   TIDEndcaps = cms.PSet(
2731     DetUnits = cms.PSet(
2732       dX = cms.double(0.2),
2733       dY = cms.double(0.2),
2734       dZ = cms.double(0.2),
2735     ),
2736   ),
2737 
2738   TECEndcaps = cms.PSet(
2739     DetUnits = cms.PSet(
2740       dX = cms.double(0.2),
2741       dY = cms.double(0.2),
2742       dZ = cms.double(0.2),
2743     ),
2744   ),
2745 )
2746 
2747 MisalignmentScenario_20muLocalXYZ = MisalignmentScenarioSettings.clone(
2748   setError = cms.bool(False),
2749   scale = cms.double(0.01), # shifts in 100um
2750 
2751   P1PXBHalfBarrels = cms.PSet(
2752     DetUnits = cms.PSet(
2753       dXlocal = cms.double(0.2),
2754       dYlocal = cms.double(0.2),
2755       dZlocal = cms.double(0.2),
2756     ),
2757   ),
2758 
2759   TIBHalfBarrels = cms.PSet(
2760     DetUnits = cms.PSet(
2761       dXlocal = cms.double(0.2),
2762       dYlocal = cms.double(0.2),
2763       dZlocal = cms.double(0.2),
2764     ),
2765   ),
2766 
2767   TOBHalfBarrels = cms.PSet(
2768     DetUnits = cms.PSet(
2769       dXlocal = cms.double(0.2),
2770       dYlocal = cms.double(0.2),
2771       dZlocal = cms.double(0.2),
2772     ),
2773   ),
2774 
2775   P1PXECEndcaps = cms.PSet(
2776     DetUnits = cms.PSet(
2777       dXlocal = cms.double(0.2),
2778       dYlocal = cms.double(0.2),
2779       dZlocal = cms.double(0.2),
2780     ),
2781   ),
2782 
2783   TIDEndcaps = cms.PSet(
2784     DetUnits = cms.PSet(
2785       dXlocal = cms.double(0.2),
2786       dYlocal = cms.double(0.2),
2787       dZlocal = cms.double(0.2),
2788     ),
2789   ),
2790 
2791   TECEndcaps = cms.PSet(
2792     DetUnits = cms.PSet(
2793       dXlocal = cms.double(0.2),
2794       dYlocal = cms.double(0.2),
2795       dZlocal = cms.double(0.2),
2796     ),
2797   ),
2798 )
2799 
2800 MisalignmentScenario_BPIX20muGlobalX = MisalignmentScenarioSettings.clone(
2801   setError = cms.bool(False),
2802   scale = cms.double(0.01), # shifts in 100um
2803 
2804   P1PXBHalfBarrels = cms.PSet(
2805     DetUnits = cms.PSet(
2806       dX = cms.double(0.2),
2807     ),
2808   ),
2809 )
2810 
2811 MisalignmentScenario_BPIX20muGlobalY = MisalignmentScenarioSettings.clone(
2812   setError = cms.bool(False),
2813   scale = cms.double(0.01), # shifts in 100um
2814 
2815   P1PXBHalfBarrels = cms.PSet(
2816     DetUnits = cms.PSet(
2817       dY = cms.double(0.2),
2818     ),
2819   ),
2820 )
2821 
2822 MisalignmentScenario_BPIX20muGlobalZ = MisalignmentScenarioSettings.clone(
2823   setError = cms.bool(False),
2824   scale = cms.double(0.01), # shifts in 100um
2825 
2826   P1PXBHalfBarrels = cms.PSet(
2827     DetUnits = cms.PSet(
2828       dZ = cms.double(0.2),
2829     ),
2830   ),
2831 )
2832 
2833 MisalignmentScenario_BPIX20muLocalX = MisalignmentScenarioSettings.clone(
2834   setError = cms.bool(False),
2835   scale = cms.double(0.01), # shifts in 100um
2836 
2837   P1PXBHalfBarrels = cms.PSet(
2838     DetUnits = cms.PSet(
2839       dXlocal = cms.double(0.2),
2840     ),
2841   ),
2842 )
2843 
2844 MisalignmentScenario_BPIX20muLocalY = MisalignmentScenarioSettings.clone(
2845   setError = cms.bool(False),
2846   scale = cms.double(0.01), # shifts in 100um
2847 
2848   P1PXBHalfBarrels = cms.PSet(
2849     DetUnits = cms.PSet(
2850       dYlocal = cms.double(0.2),
2851     ),
2852   ),
2853 )
2854 
2855 MisalignmentScenario_BPIX20muLocalZ = MisalignmentScenarioSettings.clone(
2856   setError = cms.bool(False),
2857   scale = cms.double(0.01), # shifts in 100um
2858 
2859   P1PXBHalfBarrels = cms.PSet(
2860     DetUnits = cms.PSet(
2861       dZlocal = cms.double(0.2),
2862     ),
2863   ),
2864 )
2865 
2866 MisalignmentScenario_NonMisalignedBPIX = MisalignmentScenarioSettings.clone(
2867   setError = cms.bool(False),
2868   scale = cms.double(0.01), # shifts in 100um
2869 
2870   P1PXBHalfBarrels = cms.PSet(
2871     DetUnits = cms.PSet(
2872       #~ dYLocal = cms.double(0.1),
2873     ),
2874   ),
2875 
2876   TIBHalfBarrels = cms.PSet(
2877     DetUnits = cms.PSet(
2878       dXlocal = cms.double(0.25),
2879       dYlocal = cms.double(0.25),
2880       dZlocal = cms.double(0.25),
2881     ),
2882   ),
2883 
2884   TOBHalfBarrels = cms.PSet(
2885     DetUnits = cms.PSet(
2886       dXlocal = cms.double(0.25),
2887       dYlocal = cms.double(0.25),
2888       dZlocal = cms.double(0.25),
2889     ),
2890   ),
2891 
2892   P1PXECEndcaps = cms.PSet(
2893     DetUnits = cms.PSet(
2894       dXlocal = cms.double(0.25),
2895       dYlocal = cms.double(0.25),
2896       dZlocal = cms.double(0.25),
2897     ),
2898   ),
2899 
2900   TIDEndcaps = cms.PSet(
2901     DetUnits = cms.PSet(
2902       dXlocal = cms.double(0.25),
2903       dYlocal = cms.double(0.25),
2904       dZlocal = cms.double(0.25),
2905     ),
2906   ),
2907 
2908   TECEndcaps = cms.PSet(
2909     DetUnits = cms.PSet(
2910       dXlocal = cms.double(0.25),
2911       dYlocal = cms.double(0.25),
2912       dZlocal = cms.double(0.25),
2913     ),
2914   ),
2915 )
2916 
2917 MisalignmentScenarioDifferentSubdetectors = MisalignmentScenarioSettings.clone(
2918   setError = cms.bool(False),
2919   scale = cms.double(0.01), # shifts in 100um
2920 
2921   P1PXBHalfBarrels = cms.PSet(
2922     DetUnits = cms.PSet(
2923       #~ dYLocal = cms.double(0.1),
2924     ),
2925   ),
2926 
2927   TIBHalfBarrels = cms.PSet(
2928     DetUnits = cms.PSet(
2929       dYlocal = cms.double(0.5),
2930       dZlocal = cms.double(0.5),
2931     ),
2932   ),
2933 
2934   TOBHalfBarrels = cms.PSet(
2935     DetUnits = cms.PSet(
2936       dXlocal = cms.double(0.05),
2937     ),
2938   ),
2939 
2940   P1PXECEndcaps = cms.PSet(
2941     DetUnits = cms.PSet(
2942       dZlocal = cms.double(0.4),
2943     ),
2944   ),
2945 
2946   TIDEndcaps = cms.PSet(
2947     DetUnits = cms.PSet(
2948       dXlocal = cms.double(0.1),
2949       dYlocal = cms.double(0.5),
2950       dZlocal = cms.double(0.5),
2951     ),
2952   ),
2953 
2954   TECEndcaps = cms.PSet(
2955     DetUnits = cms.PSet(
2956       dXlocal = cms.double(0.3),
2957     ),
2958   ),
2959 )
2960 
2961 MisalignmentScenarioDifferentSubdetectorsLarge = MisalignmentScenarioSettings.clone(
2962   setError = cms.bool(False),
2963   scale = cms.double(0.01), # shifts in 100um
2964 
2965   P1PXBHalfBarrels = cms.PSet(
2966     DetUnits = cms.PSet(
2967       #~ dYLocal = cms.double(0.1),
2968     ),
2969   ),
2970 
2971   TIBHalfBarrels = cms.PSet(
2972     DetUnits = cms.PSet(
2973       dYlocal = cms.double(0.5),
2974       dZlocal = cms.double(0.5),
2975     ),
2976   ),
2977 
2978   TOBHalfBarrels = cms.PSet(
2979     DetUnits = cms.PSet(
2980       dXlocal = cms.double(0.25),
2981     ),
2982   ),
2983 
2984   P1PXECEndcaps = cms.PSet(
2985     DetUnits = cms.PSet(
2986       dZlocal = cms.double(0.4),
2987     ),
2988   ),
2989 
2990   TIDEndcaps = cms.PSet(
2991     DetUnits = cms.PSet(
2992       dXlocal = cms.double(0.15),
2993       dYlocal = cms.double(0.5),
2994       dZlocal = cms.double(0.5),
2995     ),
2996   ),
2997 
2998   TECEndcaps = cms.PSet(
2999     DetUnits = cms.PSet(
3000       dXlocal = cms.double(0.3),
3001     ),
3002   ),
3003 )
3004 
3005 MisalignmentScenarioDifferentSubdetectorsLocal = MisalignmentScenarioSettings.clone(
3006   setError = cms.bool(False),
3007   #~ scale = cms.double(0.01), # shifts in 100um
3008 
3009   P1PXBHalfBarrels = cms.PSet(
3010     DetUnits = cms.PSet(
3011       dYlocal = cms.double(0.001),
3012     ),
3013   ),
3014 
3015   TIBHalfBarrels = cms.PSet(
3016     DetUnits = cms.PSet(
3017       dZlocal = cms.double(0.002),
3018     ),
3019   ),
3020 
3021   TOBHalfBarrels = cms.PSet(
3022     DetUnits = cms.PSet(
3023       phiYlocal = cms.double(0.01),
3024     ),
3025   ),
3026 
3027   P1PXECEndcaps = cms.PSet(
3028     DetUnits = cms.PSet(
3029       dXlocal = cms.double(0.002),
3030     ),
3031   ),
3032 
3033   TIDEndcaps = cms.PSet(
3034     DetUnits = cms.PSet(
3035       phiXlocal = cms.double(0.02),
3036     ),
3037   ),
3038 
3039   TECEndcaps = cms.PSet(
3040     DetUnits = cms.PSet(
3041       phiZlocal = cms.double(0.01),
3042     ),
3043   ),
3044 )
3045 
3046 MisalignmentScenario10Mu = MisalignmentScenarioSettings.clone(
3047   setError = cms.bool(False),
3048   scale = cms.double(0.01), # shifts in 100um
3049 
3050   P1PXBHalfBarrels = cms.PSet(
3051     DetUnits = cms.PSet(
3052       dYlocal = cms.double(0.1),
3053       dXlocal = cms.double(0.1),
3054     ),
3055   ),
3056 
3057   TIBHalfBarrels = cms.PSet(
3058     DetUnits = cms.PSet(
3059       dYlocal = cms.double(0.1),
3060       dXlocal = cms.double(0.1),
3061     ),
3062   ),
3063 
3064   TOBHalfBarrels = cms.PSet(
3065     DetUnits = cms.PSet(
3066       dYlocal = cms.double(0.1),
3067       dXlocal = cms.double(0.1),
3068     ),
3069   ),
3070 
3071   P1PXECEndcaps = cms.PSet(
3072     DetUnits = cms.PSet(
3073       dYlocal = cms.double(0.1),
3074       dXlocal = cms.double(0.1),
3075     ),
3076   ),
3077 
3078   TIDEndcaps = cms.PSet(
3079     DetUnits = cms.PSet(
3080       dYlocal = cms.double(0.1),
3081       dXlocal = cms.double(0.1),
3082     ),
3083   ),
3084 
3085   TECEndcaps = cms.PSet(
3086     DetUnits = cms.PSet(
3087       dYlocal = cms.double(0.1),
3088       dXlocal = cms.double(0.1),
3089     ),
3090   ),
3091 )
3092 
3093 MisalignmentScenario10MuPhase2 = MisalignmentScenarioSettings.clone(
3094   setError = cms.bool(False),
3095   scale = cms.double(0.01), # shifts in 100um
3096 
3097   P2PXBHalfBarrels = cms.PSet(
3098     DetUnits = cms.PSet(
3099       dYlocal = cms.double(0.1),
3100       dXlocal = cms.double(0.1),
3101     ),
3102   ),
3103 
3104   P2OTBHalfBarrels = cms.PSet(
3105     DetUnits = cms.PSet(
3106       dYlocal = cms.double(0.1),
3107       dXlocal = cms.double(0.1),
3108     ),
3109   ),
3110 
3111   P2PXECEndcaps = cms.PSet(
3112     DetUnits = cms.PSet(
3113       dYlocal = cms.double(0.1),
3114       dXlocal = cms.double(0.1),
3115     ),
3116   ),
3117 
3118   P2OTECEndcaps = cms.PSet(
3119     DetUnits = cms.PSet(
3120       dYlocal = cms.double(0.1),
3121       dXlocal = cms.double(0.1),
3122     ),
3123   ),
3124 
3125 )
3126 
3127 MisalignmentScenario10MuPixelPhase2 = MisalignmentScenarioSettings.clone(
3128   setError = cms.bool(False),
3129   scale = cms.double(0.01), # shifts in 100um
3130 
3131   P2PXBHalfBarrels = cms.PSet(
3132     DetUnits = cms.PSet(
3133       dYlocal = cms.double(0.1),
3134       dXlocal = cms.double(0.1),
3135     ),
3136   ),
3137 
3138   P2PXECEndcaps = cms.PSet(
3139     DetUnits = cms.PSet(
3140       dYlocal = cms.double(0.1),
3141       dXlocal = cms.double(0.1),
3142     ),
3143   ),
3144 
3145 )
3146 
3147 MisalignmentScenario100Mu = MisalignmentScenarioSettings.clone(
3148   setError = cms.bool(False),
3149   scale = cms.double(0.01), # shifts in 100um
3150 
3151   P1PXBHalfBarrels = cms.PSet(
3152     DetUnits = cms.PSet(
3153       dZlocal = cms.double(1),
3154       dYlocal = cms.double(1),
3155       dXlocal = cms.double(1),
3156     ),
3157   ),
3158 
3159   TIBHalfBarrels = cms.PSet(
3160     DetUnits = cms.PSet(
3161       dZlocal = cms.double(1),
3162       dYlocal = cms.double(1),
3163       dXlocal = cms.double(1),
3164     ),
3165   ),
3166 
3167   TOBHalfBarrels = cms.PSet(
3168     DetUnits = cms.PSet(
3169       dZlocal = cms.double(1),
3170       dYlocal = cms.double(1),
3171       dXlocal = cms.double(1),
3172     ),
3173   ),
3174 
3175   P1PXECEndcaps = cms.PSet(
3176     DetUnits = cms.PSet(
3177       dZlocal = cms.double(1),
3178       dYlocal = cms.double(1),
3179       dXlocal = cms.double(1),
3180     ),
3181   ),
3182 
3183   TIDEndcaps = cms.PSet(
3184     DetUnits = cms.PSet(
3185       dZlocal = cms.double(1),
3186       dYlocal = cms.double(1),
3187       dXlocal = cms.double(1),
3188     ),
3189   ),
3190 
3191   TECEndcaps = cms.PSet(
3192     DetUnits = cms.PSet(
3193       dZlocal = cms.double(1),
3194       dYlocal = cms.double(1),
3195       dXlocal = cms.double(1),
3196     ),
3197   ),
3198 )
3199 
3200 
3201 MisalignmentScenario200Mu = MisalignmentScenarioSettings.clone(
3202   setError = cms.bool(False),
3203   scale = cms.double(0.01),# shifts in 100mum
3204 
3205   P1PXBHalfBarrels = cms.PSet(
3206     DetUnits = cms.PSet(
3207       dZlocal = cms.double(2),
3208       dYlocal = cms.double(2),
3209       dXlocal = cms.double(2),
3210     ),
3211   ),
3212 
3213   TIBHalfBarrels = cms.PSet(
3214     DetUnits = cms.PSet(
3215       dZlocal = cms.double(2),
3216       dYlocal = cms.double(2),
3217       dXlocal = cms.double(2),
3218     ),
3219   ),
3220 
3221   TOBHalfBarrels = cms.PSet(
3222     DetUnits = cms.PSet(
3223       dZlocal = cms.double(2),
3224       dYlocal = cms.double(2),
3225       dXlocal = cms.double(2),
3226     ),
3227   ),
3228 
3229   P1PXECEndcaps = cms.PSet(
3230     DetUnits = cms.PSet(
3231       dZlocal = cms.double(2),
3232       dYlocal = cms.double(2),
3233       dXlocal = cms.double(2),
3234     ),
3235   ),
3236 
3237   TIDEndcaps = cms.PSet(
3238     DetUnits = cms.PSet(
3239       dZlocal = cms.double(2),
3240       dYlocal = cms.double(2),
3241       dXlocal = cms.double(2),
3242     ),
3243   ),
3244 
3245   TECEndcaps = cms.PSet(
3246     DetUnits = cms.PSet(
3247       dZlocal = cms.double(2),
3248       dYlocal = cms.double(2),
3249       dXlocal = cms.double(2),
3250     ),
3251   ),
3252 )
3253 
3254 
3255 MisalignmentScenario300Mu = MisalignmentScenarioSettings.clone(
3256   setError = cms.bool(False),
3257   scale = cms.double(0.01),# shifts in 100mum
3258 
3259   P1PXBHalfBarrels = cms.PSet(
3260     DetUnits = cms.PSet(
3261       dZlocal = cms.double(3),
3262       dYlocal = cms.double(3),
3263       dXlocal = cms.double(3),
3264     ),
3265   ),
3266 
3267   TIBHalfBarrels = cms.PSet(
3268     DetUnits = cms.PSet(
3269       dZlocal = cms.double(3),
3270       dYlocal = cms.double(3),
3271       dXlocal = cms.double(3),
3272     ),
3273   ),
3274 
3275   TOBHalfBarrels = cms.PSet(
3276     DetUnits = cms.PSet(
3277       dZlocal = cms.double(3),
3278       dYlocal = cms.double(3),
3279       dXlocal = cms.double(3),
3280     ),
3281   ),
3282 
3283   P1PXECEndcaps = cms.PSet(
3284     DetUnits = cms.PSet(
3285       dZlocal = cms.double(3),
3286       dYlocal = cms.double(3),
3287       dXlocal = cms.double(3),
3288     ),
3289   ),
3290 
3291   TIDEndcaps = cms.PSet(
3292     DetUnits = cms.PSet(
3293       dZlocal = cms.double(3),
3294       dYlocal = cms.double(3),
3295       dXlocal = cms.double(3),
3296     ),
3297   ),
3298 
3299   TECEndcaps = cms.PSet(
3300     DetUnits = cms.PSet(
3301       dZlocal = cms.double(3),
3302       dYlocal = cms.double(3),
3303       dXlocal = cms.double(3),
3304     ),
3305   ),
3306 )
3307 
3308 
3309 
3310 MisalignmentScenarioBPIX100Mu = MisalignmentScenarioSettings.clone(
3311   setError = cms.bool(False),
3312   scale = cms.double(0.01),# shifts in 100mum
3313 
3314   P1PXBHalfBarrels = cms.PSet(
3315     DetUnits = cms.PSet(
3316       dZlocal = cms.double(1),
3317       dYlocal = cms.double(1),
3318       dXlocal = cms.double(1),
3319     ),
3320   ),
3321 )
3322 
3323 
3324 MisalignedP1PXB = MisalignmentScenarioSettings.clone(
3325   setError = cms.bool(False),
3326   scale = cms.double(0.01), # shifts in 100um
3327 
3328   P1PXBHalfBarrels = cms.PSet(
3329     DetUnits = cms.PSet(
3330       dZlocal = cms.double(1),
3331       dYlocal = cms.double(1),
3332       dXlocal = cms.double(1),
3333     )
3334   )
3335 )
3336 
3337 MisalignedP1PXEC = MisalignmentScenarioSettings.clone(
3338   setError = cms.bool(False),
3339   scale = cms.double(0.01), # shifts in 100um
3340 
3341   P1PXECEndcaps = cms.PSet(
3342     DetUnits = cms.PSet(
3343       dZlocal = cms.double(1),
3344       dYlocal = cms.double(1),
3345       dXlocal = cms.double(1),
3346     )
3347   )
3348 )
3349 
3350 MisalignedTIB = MisalignmentScenarioSettings.clone(
3351   setError = cms.bool(False),
3352   scale = cms.double(0.01), # shifts in 100um
3353 
3354   TIBHalfBarrels = cms.PSet(
3355     DetUnits = cms.PSet(
3356       dZlocal = cms.double(1),
3357       dYlocal = cms.double(1),
3358       dXlocal = cms.double(1),
3359     )
3360   )
3361 )
3362 
3363 MisalignedTOB = MisalignmentScenarioSettings.clone(
3364   setError = cms.bool(False),
3365   scale = cms.double(0.01), # shifts in 100um
3366 
3367   TOBHalfBarrels = cms.PSet(
3368     DetUnits = cms.PSet(
3369       dZlocal = cms.double(1),
3370       dYlocal = cms.double(1),
3371       dXlocal = cms.double(1),
3372     )
3373   )
3374 )
3375 
3376 MisalignedTID = MisalignmentScenarioSettings.clone(
3377   setError = cms.bool(False),
3378   scale = cms.double(0.01), # shifts in 100um
3379 
3380   TIDEndcaps = cms.PSet(
3381     DetUnits = cms.PSet(
3382       dZlocal = cms.double(1),
3383       dYlocal = cms.double(1),
3384       dXlocal = cms.double(1),
3385     )
3386   )
3387 )
3388 
3389 MisalignedTEC = MisalignmentScenarioSettings.clone(
3390   setError = cms.bool(False),
3391   scale = cms.double(0.01), # shifts in 100um
3392 
3393   TECEndcaps = cms.PSet(
3394     DetUnits = cms.PSet(
3395       dZlocal = cms.double(1),
3396       dYlocal = cms.double(1),
3397       dXlocal = cms.double(1),
3398     )
3399   )
3400 )
3401 
3402 
3403 MisalignmentAPEScenarioBase = MisalignmentScenarioSettings.clone(
3404   # Sigma in mum
3405   #   BPIX:   20
3406   #   BPIX-y: 10
3407   #   FPIX:   10
3408   #   FPIX-y: 20
3409   #   TEC:    20
3410   #   TIB:    10
3411   #   TID:    10
3412   #   TOB:    10
3413   setError = cms.bool(False),
3414   scale = cms.double(0.0001), # shifts in 1um
3415 
3416   P1PXBHalfBarrels = cms.PSet(
3417     DetUnits = cms.PSet(
3418       dZlocal = cms.double(20),
3419       dYlocal = cms.double(10),
3420       dXlocal = cms.double(20),
3421     ),
3422   ),
3423 
3424   TIBHalfBarrels = cms.PSet(
3425     DetUnits = cms.PSet(
3426       dZlocal = cms.double(10),
3427       dYlocal = cms.double(10),
3428       dXlocal = cms.double(10),
3429     ),
3430   ),
3431 
3432   TOBHalfBarrels = cms.PSet(
3433     DetUnits = cms.PSet(
3434       dZlocal = cms.double(10),
3435       dYlocal = cms.double(10),
3436       dXlocal = cms.double(10),
3437     ),
3438   ),
3439 
3440   P1PXECEndcaps = cms.PSet(
3441     DetUnits = cms.PSet(
3442       dZlocal = cms.double(20),
3443       dYlocal = cms.double(20),
3444       dXlocal = cms.double(10),
3445     ),
3446   ),
3447 
3448   TIDEndcaps = cms.PSet(
3449     DetUnits = cms.PSet(
3450       dZlocal = cms.double(10),
3451       dYlocal = cms.double(10),
3452       dXlocal = cms.double(10),
3453     ),
3454   ),
3455 
3456   TECEndcaps = cms.PSet(
3457     DetUnits = cms.PSet(
3458       dZlocal = cms.double(20),
3459       dYlocal = cms.double(20),
3460       dXlocal = cms.double(20),
3461     ),
3462   ),
3463 )
3464 
3465 MisalignmentScenario_PhaseI_PseudoAsymptotic = MisalignmentScenarioSettings.clone(
3466   # This scenarios was created to get a phase-1 scenario with similar
3467   # performance as the phase-0 asymptotic scenario by applying the RMS values
3468   # from the phase-0 pixel as gaussian smearing to the phase-1 pixel.
3469   # The values are documented here:
3470   # https://twiki.cern.ch/twiki/bin/view/CMS/TkAlPhaseIPreparations#Pseudo_asymptotic_scenario
3471 
3472   # --> Gaussian distribution from 'MisalignmentScenarioSettings'
3473   setError = cms.bool(False),
3474   scale = cms.double(0.0001), # shifts in 1um
3475 
3476   P1PXBBarrels = cms.PSet(
3477     DetUnits = cms.PSet(
3478       dXlocal = cms.double(0.45),
3479       dYlocal = cms.double(0.6),
3480       dZlocal = cms.double(0.8),
3481       phiXlocal = cms.double(0.07), # 0.07 * 0.0001 = 0.000007 rad -> 0.00040107 degree
3482       phiYlocal = cms.double(0.05),
3483       phiZlocal = cms.double(0.5),
3484     ),
3485   ),
3486 
3487   P1PXECEndcaps = cms.PSet(
3488     DetUnits = cms.PSet(
3489       dXlocal = cms.double(0.8),
3490       dYlocal = cms.double(1.0),
3491       dZlocal = cms.double(1.2),
3492       phiXlocal = cms.double(0.7),
3493       phiYlocal = cms.double(0.6),
3494       phiZlocal = cms.double(0.3),
3495     ),
3496   ),
3497 )
3498