CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
autoMagneticFieldProducer_cfi.py
Go to the documentation of this file.
2 
3 # This cfi contains everything needed to use a field engine that is built using
4 # the current value provided in the ES.
5 
6 magfield = cms.ESSource("XMLIdealGeometryESSource",
7  geomXMLFiles = cms.vstring('Geometry/CMSCommonData/data/normal/cmsextent.xml',
8  'Geometry/CMSCommonData/data/cms.xml',
9  'Geometry/CMSCommonData/data/cmsMagneticField.xml',
10  'MagneticField/GeomBuilder/data/MagneticFieldVolumes_1103l.xml',
11  'MagneticField/GeomBuilder/data/MagneticFieldParameters_07_2pi.xml',
12  'Geometry/CMSCommonData/data/materials.xml'),
13  rootNodeName = cms.string('cmsMagneticField:MAGF')
14 )
15 
16 # avoid interference with EmptyESSource in uniformMagneticField.cfi
17 es_prefer_magfield = cms.ESPrefer("XMLIdealGeometryESSource","magfield")
18 
19 
20 # Configue all possible slave (parametrized) fields
21 
22 SlaveField0 = cms.ESProducer("UniformMagneticFieldESProducer",
23  ZFieldInTesla = cms.double(0.0),
24  label = cms.untracked.string('slave_0')
25 )
26 
27 SlaveField20 = cms.ESProducer("ParametrizedMagneticFieldProducer",
28  version = cms.string('OAE_1103l_071212'),
29  parameters = cms.PSet(
30  BValue = cms.string('2_0T')
31  ),
32  label = cms.untracked.string('slave_20')
33 )
34 
35 SlaveField30 = SlaveField20.clone()
36 SlaveField30.parameters.BValue = '3_0T'
37 SlaveField30.label = 'slave_30'
38 
39 SlaveField35 = SlaveField20.clone()
40 SlaveField35.parameters.BValue = '3_5T'
41 SlaveField35.label = 'slave_35'
42 
43 SlaveField38 = SlaveField20.clone()
44 SlaveField38.parameters.BValue= '3_8T'
45 SlaveField38.label = 'slave_38'
46 
47 SlaveField40 = SlaveField20.clone()
48 SlaveField40.parameters.BValue= '4_0T'
49 SlaveField40.label = 'slave_40'
50 
51 
52 VBF0 = cms.ESProducer("VolumeBasedMagneticFieldESProducer",
53  label = cms.untracked.string('0t'),
54  useParametrizedTrackerField = cms.bool(True),
55  paramLabel = cms.string('slave_0'),
56  version = cms.string('grid_1103l_071212_2t'),
57  debugBuilder = cms.untracked.bool(False),
58  cacheLastVolume = cms.untracked.bool(True),
59  overrideMasterSector = cms.bool(True),
60  scalingVolumes = cms.vint32(),
61  scalingFactors = cms.vdouble()
62 )
63 
64 VBF20 = VBF0.clone()
65 VBF20.version = 'grid_1103l_071212_2t'
66 VBF20.paramLabel = 'slave_20'
67 VBF20.label = '071212_2t'
68 
69 VBF30 = VBF0.clone()
70 VBF30.version = 'grid_1103l_071212_3t'
71 VBF30.paramLabel = 'slave_30'
72 VBF30.label = '071212_3t'
73 
74 VBF35 = VBF0.clone()
75 VBF35.version = 'grid_1103l_071212_3_5t'
76 VBF35.paramLabel = 'slave_35'
77 VBF35.label = '071212_3_5t'
78 
79 #3.8T map: apply scaling factors; use sector-specific maps (overrideMasterSector=False)
81 VBF38 = VBF0.clone()
82 VBF38.version = 'grid_1103l_090322_3_8t'
83 VBF38.paramLabel = 'slave_38'
84 VBF38.label = '090322_3_8t'
85 VBF38.overrideMasterSector = False
86 VBF38.scalingVolumes = fieldScaling.scalingVolumes
87 VBF38.scalingFactors = fieldScaling.scalingFactors
88 
89 VBF40 = VBF0.clone()
90 VBF40.version = 'grid_1103l_071212_4t'
91 VBF40.paramLabel = 'slave_40'
92 VBF40.label = '071212_4t'
93 
94 
95 AutoMagneticFieldESProducer = cms.ESProducer("AutoMagneticFieldESProducer",
96  # if positive, set B value (in kGauss), overriding the current reading from DB
97  valueOverride = cms.int32(-1),
98  nominalCurrents = cms.untracked.vint32(-1, 0,9558,14416,16819,18268,19262),
99  mapLabels = cms.untracked.vstring("090322_3_8t",
100  "0t",
101  "071212_2t",
102  "071212_3t",
103  "071212_3_5t",
104  "090322_3_8t",
105  "071212_4t"),
106  label = cms.untracked.string(''),
107  )
108