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",
"--targetTracks", type=int, dest=
"targetTracks",
11 help=
"Include Target Tracks as separate collection", metavar=
"targetTracks", default=0)
12base.parser.add_argument(
"-s",
"--truthHits", type=int, dest=
"svtHits",
13 help=
"Get svt hits: 1=yes", metavar=
"svtHits", default=0)
14base.parser.add_argument(
"-r",
"--rawHits", type=int, dest=
"rawHits",
15 help=
"Keep raw svt hits: 1=yes", metavar=
"rawHits", default=0)
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'
90track.parameters[
"trackStateLocation"] =
''
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"] =
'SiClustersOnTrackAtTarget'
106targtrack.parameters[
"hitFitsCollLcio"] =
'SVTFittedRawTrackerHits'
107targtrack.parameters[
"rawhitCollRoot"] =
'SVTRawHitsOnTrack_KF_AtTarget'
117trackgbl.parameters[
"debug"] = 0
118trackgbl.parameters[
"trkCollLcio"] =
'GBLTracks'
119trackgbl.parameters[
"trkCollRoot"] =
'GBLTracks'
120trackgbl.parameters[
"kinkRelCollLcio"] =
'GBLKinkDataRelations'
121trackgbl.parameters[
"trkRelCollLcio"] =
'TrackDataRelations'
122trackgbl.parameters[
"trkhitCollRoot"] =
'RotatedHelicalOnTrackHits'
123trackgbl.parameters[
"hitFitsCollLcio"] =
'SVTFittedRawTrackerHits'
127trackgbl.parameters[
"rawhitCollRoot"] =
'SVTRawHitsOnTrack'
135trackgbl.parameters[
"bfield"] = bfield[
str(options.year)]
138ecal.parameters[
"debug"] = 0
139ecal.parameters[
"hitCollLcio"] =
'EcalCalHits'
140ecal.parameters[
"hitCollRoot"] =
'RecoEcalHits'
141ecal.parameters[
"clusCollLcio"] =
"EcalClustersCorr"
142ecal.parameters[
"clusCollRoot"] =
"RecoEcalClusters"
145vtx.parameters[
"debug"] = 0
146vtx.parameters[
"vtxCollLcio"] =
'UnconstrainedV0Vertices_KF'
147vtx.parameters[
"vtxCollRoot"] =
'UnconstrainedV0Vertices_KF'
148vtx.parameters[
"partCollRoot"] =
'ParticlesOnUVertices_KF'
149vtx.parameters[
"kinkRelCollLcio"] =
''
150vtx.parameters[
"trkRelCollLcio"] =
'KFTrackDataRelations'
151vtx.parameters[
"trackStateLocation"] =
''
153cvtx.parameters[
"debug"] = 0
154cvtx.parameters[
"vtxCollLcio"] =
'TargetConstrainedV0Vertices_KF'
155cvtx.parameters[
"vtxCollRoot"] =
'TargetConstrainedV0Vertices_KF'
156cvtx.parameters[
"partCollRoot"] =
'ParticlesOnCVertices_KF'
157cvtx.parameters[
"kinkRelCollLcio"] =
''
158cvtx.parameters[
"trkRelCollLcio"] =
'KFTrackDataRelations'
159vtx.parameters[
"trackStateLocation"] =
''
161vtxgbl.parameters[
"debug"] = 0
162vtxgbl.parameters[
"vtxCollLcio"] =
'UnconstrainedV0Vertices'
163vtxgbl.parameters[
"vtxCollRoot"] =
'UnconstrainedV0Vertices'
164vtxgbl.parameters[
"partCollRoot"] =
'ParticlesOnUVertices'
165vtxgbl.parameters[
"kinkRelCollLcio"] =
'GBLKinkDataRelations'
166vtxgbl.parameters[
"trkRelCollLcio"] =
'TrackDataRelations'
168cvtxgbl.parameters[
"debug"] = 0
169cvtxgbl.parameters[
"vtxCollLcio"] =
'TargetConstrainedV0Vertices'
170cvtxgbl.parameters[
"vtxCollRoot"] =
'TargetConstrainedV0Vertices'
171cvtxgbl.parameters[
"partCollRoot"] =
'ParticlesOnCVertices'
172cvtxgbl.parameters[
"kinkRelCollLcio"] =
'GBLKinkDataRelations'
173cvtxgbl.parameters[
"trkRelCollLcio"] =
'TrackDataRelations'
176mcpart.parameters[
"debug"] = 0
177mcpart.parameters[
"mcPartCollLcio"] =
'MCParticle'
178mcpart.parameters[
"mcPartCollRoot"] =
'MCParticle'
180if (options.tracking ==
"KF"):
181 sequence = [header, vtx, ecal, track]
183 if options.targetTracks > 0:
184 sequence.append(targtrack)
186 if (options.svtHits > 0):
187 sequence.append(svthits)
188elif (options.tracking ==
"GBL"):
189 sequence = [header, vtxgbl, ecal, trackgbl]
191 if (options.truthHits > 0):
192 sequence.append(svthitsgbl)
193elif (options.tracking ==
"BOTH"):
194 sequence = [header, vtxgbl, trackgbl, vtx, ecal, track]
196 if (options.svtHits > 0):
197 sequence.append(svthits)
198 sequence.append(svthitsgbl)
200 print(
"ERROR::Need to specify which tracks KF, GBL, or BOTH")
203if (options.rawHits > 0):
204 sequence.append(rawsvt)
206if (
not options.isData):
207 sequence.append(mcpart)
211p.input_files = lcio_file
212p.output_files = [root_file]