4 alignmenttmp = os.environ[
"ALIGNMENT_ALIGNMENTTMP"].
split(
"\n")
5 if alignmenttmp == [
""]: alignmenttmp = []
6 iteration = int(os.environ[
"ALIGNMENT_ITERATION"])
7 mode = os.environ[
"ALIGNMENT_MODE"]
8 inputdb = os.environ[
"ALIGNMENT_INPUTDB"]
9 globaltag = os.environ[
"ALIGNMENT_GLOBALTAG"]
10 photogrammetry = (os.environ[
"ALIGNMENT_PHOTOGRAMMETRY"] ==
"True")
11 disks = (os.environ[
"ALIGNMENT_DISKS"] ==
"True")
13 minP = float(os.environ[
"ALIGNMENT_minP"])
14 minHitsPerChamber = int(os.environ[
"ALIGNMENT_minHitsPerChamber"])
15 maxdrdz = float(os.environ[
"ALIGNMENT_maxdrdz"])
16 maxRedChi2 = float(os.environ[
"ALIGNMENT_maxRedChi2"])
17 fiducial = (os.environ[
"ALIGNMENT_fiducial"] ==
"True")
18 useHitWeights = (os.environ[
"ALIGNMENT_useHitWeights"] ==
"True")
19 truncateSlopeResid = float(os.environ[
"ALIGNMENT_truncateSlopeResid"])
20 truncateOffsetResid = float(os.environ[
"ALIGNMENT_truncateOffsetResid"])
21 combineME11 = (os.environ[
"ALIGNMENT_combineME11"] ==
"True")
22 useTrackWeights = (os.environ[
"ALIGNMENT_useTrackWeights"] ==
"True")
23 errorFromRMS = (os.environ[
"ALIGNMENT_errorFromRMS"] ==
"True")
24 minTracksPerOverlap = int(os.environ[
"ALIGNMENT_minTracksPerOverlap"])
25 slopeFromTrackRefit = (os.environ[
"ALIGNMENT_slopeFromTrackRefit"] ==
"True")
26 minStationsInTrackRefits = int(os.environ[
"ALIGNMENT_minStationsInTrackRefits"])
28 process = cms.Process(
"ALIGN")
29 process.source = cms.Source(
"EmptySource")
30 process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(1))
32 process.load(
"Alignment.MuonAlignmentAlgorithms.CSCOverlapsAlignmentAlgorithm_cff")
35 process.looper.algoConfig.mode = mode
38 import Alignment.MuonAlignmentAlgorithms.CSCOverlapsAlignmentAlgorithm_diskfitters_cff
39 process.looper.algoConfig.fitters = Alignment.MuonAlignmentAlgorithms.CSCOverlapsAlignmentAlgorithm_diskfitters_cff.fitters
41 execfile(
"constraints_cff.py")
43 if photogrammetry
and mode !=
"phipos":
44 for f
in process.looper.algoConfig.fitters:
45 if "PGFrame" in f.alignables:
46 f.fixed = cms.string(
"PGFrame")
48 process.looper.algoConfig.writeTemporaryFile =
""
49 process.looper.algoConfig.readTemporaryFiles = cms.vstring(*alignmenttmp)
50 process.looper.algoConfig.doAlignment =
True
52 process.looper.algoConfig.minP = minP
53 process.looper.algoConfig.minHitsPerChamber = minHitsPerChamber
54 process.looper.algoConfig.maxdrdz = maxdrdz
55 process.looper.algoConfig.maxRedChi2 = maxRedChi2
56 process.looper.algoConfig.fiducial = fiducial
57 process.looper.algoConfig.useHitWeights = useHitWeights
58 process.looper.algoConfig.truncateSlopeResid = truncateSlopeResid
59 process.looper.algoConfig.truncateOffsetResid = truncateOffsetResid
60 process.looper.algoConfig.combineME11 = combineME11
61 process.looper.algoConfig.useTrackWeights = useTrackWeights
62 process.looper.algoConfig.errorFromRMS = errorFromRMS
63 process.looper.algoConfig.minTracksPerOverlap = minTracksPerOverlap
64 process.looper.algoConfig.slopeFromTrackRefit = slopeFromTrackRefit
65 process.looper.algoConfig.minStationsInTrackRefits = minStationsInTrackRefits
67 process.load(
"Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
68 process.GlobalTag.globaltag = cms.string(globaltag)
70 process.muonAlignment.connect = cms.string(
"sqlite_file:%s" % inputdb)
72 process.TFileService = cms.Service(
"TFileService", fileName = cms.string(
"plotting.root"))