1 |
import FWCore.ParameterSet.Config as cms
|
2 |
|
3 |
process = cms.Process("Refitting")
|
4 |
process.load("RecoTracker.TrackProducer.TrackRefitters_cff")
|
5 |
process.load("RecoVertex.BeamSpotProducer.BeamSpot_cff")
|
6 |
|
7 |
# "including" common configuration
|
8 |
from CondCore.DBCommon.CondDBSetup_cfi import *
|
9 |
|
10 |
# loading magnetic field and geometry
|
11 |
# process.load("MagneticField.Engine.uniformMagneticField_cfi")
|
12 |
process.load("Configuration.StandardSequences.Services_cff")
|
13 |
process.load("Configuration.StandardSequences.GeometryPilot2_cff")
|
14 |
process.load("Configuration.StandardSequences.MagneticField_38T_cff")
|
15 |
process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
|
16 |
process.GlobalTag.globaltag = 'START311_V2A::All'
|
17 |
process.GlobalTag.connect="frontier://FrontierProd/CMS_COND_31X_GLOBALTAG"
|
18 |
|
19 |
|
20 |
##################################
|
21 |
# to change geometry :
|
22 |
##################################
|
23 |
#from CondCore.DBCommon.CondDBSetup_cfi import *
|
24 |
#process.trackerAlignment = cms.ESSource("PoolDBESSource",
|
25 |
# CondDBSetup,
|
26 |
# timetype = cms.string('runnumber'),
|
27 |
# toGet = cms.VPSet(cms.PSet(
|
28 |
# record =
|
29 |
#cms.string('TrackerAlignmentRcd'),
|
30 |
# tag =
|
31 |
#cms.string('Alignments')
|
32 |
# )),
|
33 |
# connect =
|
34 |
#cms.string('sqlite_file:/afs/cern.ch/cms/CAF/CMSALCA/ALCA_TRACKERALIGN/PayLoads/SystematicMisalignmentsMoriond/mcScenarioMoriond/IDEALplusDelta_twistFreeVcosMintIOV.db')
|
35 |
#cms.string('sqlite_file:/afs/cern.ch/cms/CAF/CMSALCA/ALCA_TRACKERALIGN/PayLoads/SystematicMisalignmentsMoriond/mcScenarioMoriond/IDEALplusDelta_ichepVrealignedSagitta.db')
|
36 |
# )
|
37 |
#process.es_prefer_trackerAlignment = cms.ESPrefer("PoolDBESSource",
|
38 |
#"trackerAlignment")
|
39 |
|
40 |
##################################
|
41 |
|
42 |
|
43 |
#input sources
|
44 |
process.source = cms.Source("PoolSource", fileNames = cms.untracked.vstring("file:/tmp/econte/IdealAlignment.root"))
|
45 |
|
46 |
#all events
|
47 |
process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(-1))
|
48 |
|
49 |
#name of the output file containing the tree
|
50 |
process.TFileService = cms.Service("TFileService", fileName = cms.string("file:/tmp/econte/ideal1e9.root") )
|
51 |
|
52 |
#TRACK REFITTER 1
|
53 |
import RecoTracker.TrackProducer.TrackRefitters_cff
|
54 |
process.TrackRefitter1 = RecoTracker.TrackProducer.TrackRefitter_cfi.TrackRefitter.clone()
|
55 |
process.TrackRefitter1.src = 'ALCARECOTkAlZMuMu'
|
56 |
|
57 |
#
|
58 |
|
59 |
|
60 |
|
61 |
process.doConstraintKinFit = cms.EDProducer('ZmassConstraintsProd',
|
62 |
trackLabel = cms.InputTag('TrackRefitter1')
|
63 |
)
|
64 |
|
65 |
|
66 |
process.doConstraintTBD=cms.EDProducer("TwoBodyDecayMomentumConstraintProducer",
|
67 |
srcTrk = cms.InputTag('TrackRefitter1'),
|
68 |
srcBs = cms.InputTag('offlineBeamSpot'),
|
69 |
primaryMass = cms.double(91.1876),
|
70 |
primaryWidth = cms.double(1e-9),
|
71 |
secondaryMass=cms.double(0.105658),
|
72 |
EstimatorParameters = cms.PSet(
|
73 |
MaxIterationDifference = cms.untracked.double(0.01),
|
74 |
RobustificationConstant = cms.untracked.double(1.0),
|
75 |
MaxIterations = cms.untracked.int32(100),
|
76 |
UseInvariantMass = cms.untracked.bool(True),
|
77 |
UseBeamProfile = cms.untracked.bool(True)
|
78 |
)
|
79 |
)
|
80 |
|
81 |
process.TrackRefitter2TBD = process.TrackRefitter1.clone()
|
82 |
process.TrackRefitter2TBD.src = 'AlignmentTrackSelector'
|
83 |
process.TrackRefitter2TBD.constraint = cms.string('momentum')
|
84 |
#process.TrackRefitter2.constraint = cms.string('vertex')
|
85 |
|
86 |
process.TrackRefitter2TBD.srcConstr = cms.InputTag('doConstraintTBD')
|
87 |
#process.TrackRefitter2TBD.TrajectoryInEvent = True
|
88 |
#process.TrackRefitter2TBD.TTRHBuilder = "WithAngleAndTemplate"
|
89 |
|
90 |
|
91 |
|
92 |
process.TrackRefitter2KinFit = process.TrackRefitter1.clone()
|
93 |
process.TrackRefitter2KinFit.src = 'AlignmentTrackSelector'
|
94 |
process.TrackRefitter2KinFit.constraint = cms.string('momentum')
|
95 |
#process.TrackRefitter2.constraint = cms.string('vertex')
|
96 |
|
97 |
process.TrackRefitter2KinFit.srcConstr = cms.InputTag('doConstraintKinFit')
|
98 |
#process.TrackRefitter2KinFit.TrajectoryInEvent = True
|
99 |
#process.TrackRefitter2KinFit.TTRHBuilder = "WithAngleAndTemplate"
|
100 |
|
101 |
|
102 |
|
103 |
process.treeproducer1 = cms.EDAnalyzer('AlignmentTree',
|
104 |
trackLabel = cms.InputTag('TrackRefitter1'),
|
105 |
tkTraj = cms.InputTag('TrackRefitter1'),
|
106 |
labelTrajToTrack = cms.InputTag('TrackRefitter1'),
|
107 |
siStripClusters = cms.InputTag('TrackRefitter1'),
|
108 |
primaryVertexColl= cms.InputTag('offlinePrimaryVertices'),
|
109 |
isLaserRun = cms.bool(False),
|
110 |
isMC = cms.bool(True),
|
111 |
isTBD = cms.int32(0) # 0 no constr, 1 TBD, 2 KinFit
|
112 |
)
|
113 |
|
114 |
process.treeproducer2TBD = cms.EDAnalyzer('AlignmentTree',
|
115 |
trackLabel = cms.InputTag('TrackRefitter2TBD'),
|
116 |
tkTraj = cms.InputTag('TrackRefitter2TBD'),
|
117 |
labelTrajToTrack = cms.InputTag('TrackRefitter2TBD'),
|
118 |
siStripClusters = cms.InputTag('TrackRefitter2TBD'),
|
119 |
primaryVertexColl= cms.InputTag('offlinePrimaryVertices'),
|
120 |
isLaserRun = cms.bool(False),
|
121 |
isMC = cms.bool(True),
|
122 |
isTBD = cms.int32(1) # 0 no constr, 1 TBD, 2 KinFit
|
123 |
)
|
124 |
|
125 |
process.treeproducer2KinFit = cms.EDAnalyzer('AlignmentTree',
|
126 |
trackLabel = cms.InputTag('TrackRefitter2KinFit'),
|
127 |
tkTraj = cms.InputTag('TrackRefitter2KinFit'),
|
128 |
labelTrajToTrack = cms.InputTag('TrackRefitter2KinFit'),
|
129 |
siStripClusters = cms.InputTag('TrackRefitter2KinFit'),
|
130 |
primaryVertexColl= cms.InputTag('offlinePrimaryVertices'),
|
131 |
isLaserRun = cms.bool(False),
|
132 |
isMC = cms.bool(True),
|
133 |
isTBD = cms.int32(2) # 0 no constr, 1 TBD, 2 KinFit
|
134 |
)
|
135 |
|
136 |
process.TRACKS = cms.OutputModule("PoolOutputModule",
|
137 |
outputCommands = cms.untracked.vstring(
|
138 |
'keep *_*_*_*',
|
139 |
'keep recoTracks_*_*_*',
|
140 |
'keep recoTrackExtras_*_*_*',
|
141 |
'keep TrackingRecHitsOwned_*_*_*'
|
142 |
),
|
143 |
|
144 |
fileName = cms.untracked.string('file:/tmp/econte/refitterMomentum_ReSTARTUP.root')
|
145 |
)
|
146 |
|
147 |
process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) )
|
148 |
|
149 |
process.p = cms.Path(process.offlineBeamSpot
|
150 |
*process.TrackRefitter1
|
151 |
*process.treeproducer1
|
152 |
*process.doConstraintTBD
|
153 |
*process.TrackRefitter2TBD
|
154 |
*process.doConstraintKinFit
|
155 |
*process.TrackRefitter2KinFit
|
156 |
*process.treeproducer2TBD
|
157 |
*process.treeproducer2KinFit
|
158 |
)
|
159 |
|
160 |
process.outpath = cms.EndPath(process.TRACKS)
|