1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
import FWCore.ParameterSet.Config as cms
# process declaration
process = cms.Process('SiStripOnline')
#############################################
# General setup
#############################################
# message logger
process.load('DQM.SiStripCommissioningSources.OnlineMessageLogger_cff')
# DQM service
process.load('DQM.SiStripCommissioningSources.OnlineDQM_cff')
# config db settings
process.load('DQM.SiStripCommissioningSources.OnlineSiStripConfigDb_cff')
# input source
process.load('DQM.SiStripCommissioningSources.OnlineSource_cfi')
##############################################
# modules & path for analysis without tracking
##############################################
# tracker digi producer
process.load('EventFilter.SiStripRawToDigi.FedChannelDigis_cfi')
# filter to distinguish between runs not needing or needing tracking
process.load('DQM.SiStripCommissioningSources.TrackingRunTypeFilter_cfi')
# Commissioning source file production
process.load('DQM.SiStripCommissioningSources.CommissioningHistos_cfi')
process.CommissioningHistos.CommissioningTask = 'UNDEFINED' # <-- run type taken from event data, but can be overriden
# the path to run for analysis without tracking
process.p1 = cms.Path(
process.FedChannelDigis *
~process.trackingRunTypeFilter *
process.CommissioningHistos
)
#############################################
# setup to prepare tracking
#############################################
# reco inclusion ; cleanup? // was: I'd love to include less, but I fail...
process.load('Configuration.StandardSequences.Reconstruction_cff')
# geometry
process.load('DQM.SiStripCommissioningSources.P5Geometry_cff')
# magnetic field (0T by default)
process.load('MagneticField.Engine.uniformMagneticField_cfi')
# fake global position
process.load('Alignment.CommonAlignmentProducer.GlobalPosition_Fake_cff')
# fake conditions for gain
process.load('CalibTracker.Configuration.SiStripGain.SiStripGain_Fake_cff')
# empty quality fake, avoiding RunIfoRcd from DB
process.load("CalibTracker.SiStripESProducers.SiStripQualityESProducer_cfi")
process.siStripQualityESProducer.UseEmptyRunInfo = cms.bool(True)
process.siStripQualityESProducer.ListOfRecordToMerge = cms.VPSet()
# fake LA conditions
process.load('CalibTracker.SiStripESProducers.fake.SiStripLorentzAngleFakeESSource_cfi')
# fake conditions for threshold
process.load('CalibTracker.SiStripESProducers.fake.SiStripThresholdFakeESSource_cfi')
process.load('CalibTracker.SiPixelESProducers.SiPixelFakeLorentzAngleESSource_cfi')
# beam spot fake conditions
process.load('RecoVertex.BeamSpotProducer.BeamSpotFakeConditionsNominalCollision_cfi')
# rechit matcher
process.load('RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitMatcher_cfi')
# CPEs
process.load('RecoLocalTracker.SiStripRecHitConverter.StripCPEfromTrackAngle_cfi')
# TransientTrackingBuilder
process.load('RecoTracker.TransientTrackingRecHit.TransientTrackingRecHitBuilder_cfi')
process.ttrhbwr.PixelCPE = cms.string('PixelCPEfromTrackAngle')
# MeasurementTracker
process.load('RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cff')
process.MeasurementTracker.StripCPE = cms.string('StripCPEfromTrackAngle')
process.MeasurementTracker.PixelCPE = cms.string('PixelCPEfromTrackAngle')
process.MeasurementTracker.UseStripModuleQualityDB = cms.bool(False) # read Module status from SiStripQuality
process.MeasurementTracker.UseStripAPVFiberQualityDB = cms.bool(False) # read APV and Fiber status from SiStripQuality
process.MeasurementTracker.UseStripStripQualityDB = cms.bool(False) # read Strip status from SiStripQuality
#############################################
# modules & path for analysis with tracking
#############################################
# strips digi zero suppression
process.load('RecoLocalTracker.SiStripZeroSuppression.SiStripZeroSuppression_cfi')
process.siStripZeroSuppression.RawDigiProducersList = cms.VInputTag(
cms.InputTag('FedChannelDigis','VirginRaw'),
cms.InputTag('FedChannelDigis','ProcessedRaw'),
cms.InputTag('FedChannelDigis','ScopeMode')
)
# produce clusters from zero suppressed digis
process.load('RecoLocalTracker.SiStripClusterizer.SiStripClusterizer_cfi')
process.siStripClusters.DigiProducersList = cms.VInputTag(
cms.InputTag('FedChannelDigis','ZeroSuppressed'),
cms.InputTag('siStripZeroSuppression','VirginRaw'),
cms.InputTag('siStripZeroSuppression','ProcessedRaw'),
cms.InputTag('siStripZeroSuppression','ScopeMode')
)
# produce the rechits
process.load('RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi')
# find the seeds
process.load('DQM.SiStripCommissioningSources.P5SeedGenerator_cff')
# reconstruct track candidates
process.load('DQM.SiStripCommissioningSources.P5CosmicCandidateFinder_cff')
# reconstruct tracks
process.load('RecoTracker.TrackProducer.TrackProducer_cfi')
process.TrackProducer.src = cms.InputTag('cosmicCandidateFinder')
process.TrackProducer.Fitter = cms.string('RKFittingSmoother')
process.TrackProducer.TrajectoryInEvent = cms.bool(True)
process.TrackProducer.TTRHBuilder = cms.string('WithTrackAngle')
process.TrackProducer.AlgorithmName = cms.string('cosmic')
process.TrackProducer.alias=('') # can we drop this?
# do the fine delay analysis
process.load('DQM.SiStripCommissioningSources.SiStripFineDelayHit_cfi')
# Commissioning source file production
process.CommissioningHistosWithTracking = process.CommissioningHistos.clone(
InputModuleLabel = 'siStripFineDelayHit',
SignalToNoiseCut = cms.double(3.0)
)
# the path to run for analysis with tracking
process.p2 = cms.Path(
process.FedChannelDigis *
process.trackingRunTypeFilter *
process.offlineBeamSpot *
process.siStripZeroSuppression *
process.siStripClusters *
process.siStripMatchedRecHits *
process.cosmicseedfinder *
process.cosmicCandidateFinder *
process.TrackProducer *
process.siStripFineDelayHit *
process.CommissioningHistosWithTracking
)
#############################################
# output
#############################################
process.load('DQM.SiStripCommissioningSources.OnlineOutput_cfi')
process.outpath = cms.EndPath( process.consumer )
#############################################
|