4import baseConfig
as base
5from baseConfig
import bfield
7base.parser.add_argument(
"-w",
"--tracking", type=str, dest=
"tracking",
8 help=
"Which tracking to use to make plots",
9 metavar=
"tracking", default=
"KF")
10base.parser.add_argument(
"-TS",
"--trackstate", type=str, dest=
"trackstate",
11 help=
"Specify Track State | 'AtECal', 'AtTarget'. Default is origin ", metavar=
"trackstate", default=
"")
12base.parser.add_argument(
"-s",
"--truthHits", type=int, dest=
"svtHits",
13 help=
"Get svt hits: 1=yes", metavar=
"svtHits", default=1)
14base.parser.add_argument(
"-r",
"--rawHits", type=int, dest=
"rawHits",
15 help=
"Keep raw svt hits: 1=yes", metavar=
"rawHits", default=1)
17options = base.parser.parse_args()
20lcio_file = options.inFilename
21root_file = options.outFilename
23print(
'LCIO file: %s' % lcio_file)
24print(
'Root file: %s' % root_file)
30p.skip_events = options.skip_events
31p.max_events = options.nevents
34p.add_library(
"libprocessors")
58header.parameters[
"debug"] = 0
59header.parameters[
"headCollRoot"] =
"EventHeader"
60header.parameters[
"trigCollLcio"] =
"TriggerBank"
61header.parameters[
"rfCollLcio"] =
"RFHits"
62header.parameters[
"vtpCollLcio"] =
"VTPBank"
63header.parameters[
"vtpCollRoot"] =
"VTPBank"
64header.parameters[
"tsCollLcio"] =
"TSBank"
65header.parameters[
"tsCollRoot"] =
"TSBank"
68rawsvt.parameters[
"debug"] = 0
69rawsvt.parameters[
"hitCollLcio"] =
'SVTRawTrackerHits'
70rawsvt.parameters[
"hitfitCollLcio"] =
'SVTFittedRawTrackerHits'
71rawsvt.parameters[
"hitCollRoot"] =
'SVTRawTrackerHits'
74svthits.parameters[
"debug"] = 0
75svthits.parameters[
"hitCollLcio"] =
'StripClusterer_SiTrackerHitStrip1D'
76svthits.parameters[
"hitCollRoot"] =
'SiClusters'
77svthits.parameters[
"mcPartRelLcio"] =
'SVTTrueHitRelations'
78svthits.parameters[
"hitFitCollLcio"] =
'SVTFittedRawTrackerHits'
81svthitsgbl.parameters[
"debug"] = 0
82svthitsgbl.parameters[
"hitCollLcio"] =
'RotatedHelicalTrackHits'
83svthitsgbl.parameters[
"hitCollRoot"] =
'RotatedHelicalTrackHits'
84svthitsgbl.parameters[
"mcPartRelLcio"] =
'RotatedHelicalTrackMCRelations'
87track.parameters[
"debug"] = 0
88track.parameters[
"trkCollLcio"] =
'KalmanFullTracks'
89track.parameters[
"trkCollRoot"] =
'KalmanFullTracks%s'%(options.trackstate)
90track.parameters[
"trackStateLocation"] = options.trackstate
91track.parameters[
"kinkRelCollLcio"] =
''
92track.parameters[
"trkRelCollLcio"] =
'KFTrackDataRelations'
93track.parameters[
"trkhitCollRoot"] =
'SiClustersOnTrack'
94track.parameters[
"hitFitsCollLcio"] =
'SVTFittedRawTrackerHits'
95track.parameters[
"bfield"] = bfield[
str(options.year)]
96track.parameters[
"rawhitCollRoot"] =
'SVTRawHitsOnTrack_KF'
99targtrack.parameters[
"debug"] = 0
100targtrack.parameters[
"trkCollLcio"] =
'KalmanFullTracks'
101targtrack.parameters[
"trkCollRoot"] =
'KalmanFullTracksAtTarget'
102targtrack.parameters[
"trackStateLocation"] =
'AtTarget'
103targtrack.parameters[
"kinkRelCollLcio"] =
''
104targtrack.parameters[
"trkRelCollLcio"] =
'KFTrackDataRelations'
105targtrack.parameters[
"trkhitCollRoot"] =
'SiClustersOnTrack'
106targtrack.parameters[
"hitFitsCollLcio"] =
'SVTFittedRawTrackerHits'
108targtrack.parameters[
"rawhitCollRoot"] =
'SVTRawHitsOnTrack_KF'
119trackgbl.parameters[
"debug"] = 0
120trackgbl.parameters[
"trkCollLcio"] =
'GBLTracks'
121trackgbl.parameters[
"trkCollRoot"] =
'GBLTracks'
122trackgbl.parameters[
"kinkRelCollLcio"] =
'GBLKinkDataRelations'
123trackgbl.parameters[
"trkRelCollLcio"] =
'TrackDataRelations'
124trackgbl.parameters[
"trkhitCollRoot"] =
'RotatedHelicalOnTrackHits'
125trackgbl.parameters[
"hitFitsCollLcio"] =
'SVTFittedRawTrackerHits'
129trackgbl.parameters[
"rawhitCollRoot"] =
'SVTRawHitsOnTrack'
137trackgbl.parameters[
"bfield"] = bfield[
str(options.year)]
140ecal.parameters[
"debug"] = 0
141ecal.parameters[
"hitCollLcio"] =
'EcalCalHits'
142ecal.parameters[
"hitCollRoot"] =
'RecoEcalHits'
143ecal.parameters[
"clusCollLcio"] =
"EcalClustersCorr"
144ecal.parameters[
"clusCollRoot"] =
"RecoEcalClusters"
147vtx.parameters[
"debug"] = 0
148vtx.parameters[
"vtxCollLcio"] =
'UnconstrainedV0Vertices_KF'
149vtx.parameters[
"vtxCollRoot"] =
'UnconstrainedV0Vertices_KF'
150vtx.parameters[
"partCollRoot"] =
'ParticlesOnUVertices_KF'
151vtx.parameters[
"kinkRelCollLcio"] =
''
152vtx.parameters[
"trkRelCollLcio"] =
'KFTrackDataRelations'
153vtx.parameters[
"trackStateLocation"] = options.trackstate
155cvtx.parameters[
"debug"] = 0
156cvtx.parameters[
"vtxCollLcio"] =
'TargetConstrainedV0Vertices_KF'
157cvtx.parameters[
"vtxCollRoot"] =
'TargetConstrainedV0Vertices_KF'
158cvtx.parameters[
"partCollRoot"] =
'ParticlesOnCVertices_KF'
159cvtx.parameters[
"kinkRelCollLcio"] =
''
160cvtx.parameters[
"trkRelCollLcio"] =
'KFTrackDataRelations'
161vtx.parameters[
"trackStateLocation"] = options.trackstate
163vtxgbl.parameters[
"debug"] = 0
164vtxgbl.parameters[
"vtxCollLcio"] =
'UnconstrainedV0Vertices'
165vtxgbl.parameters[
"vtxCollRoot"] =
'UnconstrainedV0Vertices'
166vtxgbl.parameters[
"partCollRoot"] =
'ParticlesOnUVertices'
167vtxgbl.parameters[
"kinkRelCollLcio"] =
'GBLKinkDataRelations'
168vtxgbl.parameters[
"trkRelCollLcio"] =
'TrackDataRelations'
170cvtxgbl.parameters[
"debug"] = 0
171cvtxgbl.parameters[
"vtxCollLcio"] =
'TargetConstrainedV0Vertices'
172cvtxgbl.parameters[
"vtxCollRoot"] =
'TargetConstrainedV0Vertices'
173cvtxgbl.parameters[
"partCollRoot"] =
'ParticlesOnCVertices'
174cvtxgbl.parameters[
"kinkRelCollLcio"] =
'GBLKinkDataRelations'
175cvtxgbl.parameters[
"trkRelCollLcio"] =
'TrackDataRelations'
178mcpart.parameters[
"debug"] = 0
179mcpart.parameters[
"mcPartCollLcio"] =
'MCParticle'
180mcpart.parameters[
"mcPartCollRoot"] =
'MCParticle'
182if (options.tracking ==
"KF"):
183 sequence = [header, vtx, ecal, track, targtrack]
185 if (options.svtHits > 0):
186 sequence.append(svthits)
187elif (options.tracking ==
"GBL"):
188 sequence = [header, vtxgbl, ecal, trackgbl]
190 if (options.truthHits > 0):
191 sequence.append(svthitsgbl)
192elif (options.tracking ==
"BOTH"):
193 sequence = [header, vtxgbl, trackgbl, vtx, ecal, track]
195 if (options.svtHits > 0):
196 sequence.append(svthits)
197 sequence.append(svthitsgbl)
199 print(
"ERROR::Need to specify which tracks KF, GBL, or BOTH")
202if (options.rawHits > 0):
203 sequence.append(rawsvt)
205if (
not options.isData):
206 sequence.append(mcpart)
210p.input_files = lcio_file
211p.output_files = [root_file]