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", metavar=
"tracking", default=
"KF")
9base.parser.add_argument(
"-sh",
"--truthHits", type=int, dest=
"truthHits",
10 help=
"Get svt truth hits: 1=yes", metavar=
"truthHits", default=0)
11base.parser.add_argument(
"-r",
"--rawHits", type=int, dest=
"rawHits",
12 help=
"Keep raw svt hits: 1=yes", metavar=
"rawHits", default=0)
13base.parser.add_argument(
"-b",
"--useBField", type=int, dest=
"useBField",
14 help=
'Use the bField at center of SVT for momentum calculation? 1=yes',
15 metavar=
"useBField", default=0)
18options = base.parser.parse_args()
21lcio_file = options.inFilename
22root_file = options.outFilename
24print(
'LCIO file: %s' % lcio_file)
25print(
'Root file: %s' % root_file)
31p.skip_events = options.skip_events
32p.max_events = options.nevents
35p.add_library(
"libprocessors")
58header.parameters[
"debug"] = 0
59header.parameters[
"headCollRoot"] =
"EventHeader"
60header.parameters[
"trigCollLcio"] =
"TriggerBank"
61header.parameters[
"rfCollLcio"] =
"RFHits"
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"] =
'RotatedHelicalTrackHits'
76svthits.parameters[
"hitCollRoot"] =
'RotatedHelicalTrackHits'
80track.parameters[
"debug"] = 0
81track.parameters[
"useTrackerHits"] = 1
82track.parameters[
"trkCollLcio"] =
'KalmanFullTracks'
83track.parameters[
"trkCollRoot"] =
'KalmanFullTracks'
84track.parameters[
"kinkRelCollLcio"] =
''
85track.parameters[
"trkRelCollLcio"] =
'KFTrackDataRelations'
86track.parameters[
"trkhitCollRoot"] =
'SiClustersOnTrack'
87track.parameters[
"hitFitsCollLcio"] =
'SVTFittedRawTrackerHits'
88track.parameters[
"rawhitCollRoot"] =
'SVTRawHitsOnTrack_KF'
89track.parameters[
"trackStateLocation"]=
'AtTarget'
92 track.parameters[
"bfield"] = bfield[
str(options.year)]
94trackgbl.parameters[
"debug"] = 0
95trackgbl.parameters[
"useTrackerHits"] = 1
96trackgbl.parameters[
"trkCollLcio"] =
'GBLTracks'
97trackgbl.parameters[
"trkCollRoot"] =
'GBLTracks'
98trackgbl.parameters[
"kinkRelCollLcio"] =
'GBLKinkDataRelations'
99trackgbl.parameters[
"trkRelCollLcio"] =
'TrackDataRelations'
100trackgbl.parameters[
"trkhitCollRoot"] =
'RotatedHelicalOnTrackHits'
101trackgbl.parameters[
"hitFitsCollLcio"] =
'SVTFittedRawTrackerHits'
102trackgbl.parameters[
"rawhitCollRoot"] =
''
103if(options.useBField):
104 trackgbl.parameters[
"bfield"] = bfield[
str(options.year)]
111ecal.parameters[
"debug"] = 0
112ecal.parameters[
"hitCollLcio"] =
'EcalCalHits'
113ecal.parameters[
"hitCollRoot"] =
'RecoEcalHits'
114ecal.parameters[
"clusCollLcio"] =
"EcalClustersCorr"
115ecal.parameters[
"clusCollRoot"] =
"RecoEcalClusters"
118vtx.parameters[
"debug"] = 0
119vtx.parameters[
"useTrackerHits"] = 1
120vtx.parameters[
"vtxCollLcio"] =
'UnconstrainedV0Vertices_KF'
121vtx.parameters[
"vtxCollRoot"] =
'UnconstrainedV0Vertices_KF'
122vtx.parameters[
"partCollRoot"] =
'ParticlesOnUVertices_KF'
123vtx.parameters[
"kinkRelCollLcio"] =
''
124vtx.parameters[
"trkRelCollLcio"] =
'KFTrackDataRelations'
126cvtx.parameters[
"debug"] = 0
127cvtx.parameters[
"useTrackerHits"] = 1
128cvtx.parameters[
"vtxCollLcio"] =
'TargetConstrainedV0Vertices_KF'
129cvtx.parameters[
"vtxCollRoot"] =
'TargetConstrainedV0Vertices_KF'
130cvtx.parameters[
"partCollRoot"] =
'ParticlesOnCVertices_KF'
131cvtx.parameters[
"kinkRelCollLcio"] =
''
132cvtx.parameters[
"trkRelCollLcio"] =
'KFTrackDataRelations'
135vtxgbl.parameters[
"debug"] = 0
136vtxgbl.parameters[
"useTrackerHits"] = 1
137vtxgbl.parameters[
"vtxCollLcio"] =
'UnconstrainedV0Vertices'
138vtxgbl.parameters[
"vtxCollRoot"] =
'UnconstrainedV0Vertices'
139vtxgbl.parameters[
"partCollRoot"] =
'ParticlesOnUVertices'
140vtxgbl.parameters[
"kinkRelCollLcio"] =
'GBLKinkDataRelations'
141vtxgbl.parameters[
"trkRelCollLcio"] =
'TrackDataRelations'
143cvtxgbl.parameters[
"debug"] = 0
144cvtxgbl.parameters[
"useTrackerHits"] = 1
145cvtxgbl.parameters[
"vtxCollLcio"] =
'TargetConstrainedV0Vertices'
146cvtxgbl.parameters[
"vtxCollRoot"] =
'TargetConstrainedV0Vertices'
147cvtxgbl.parameters[
"partCollRoot"] =
'ParticlesOnCVertices'
148cvtxgbl.parameters[
"kinkRelCollLcio"] =
'GBLKinkDataRelations'
149cvtxgbl.parameters[
"trkRelCollLcio"] =
'TrackDataRelations'
152mcpart.parameters[
"debug"] = 0
153mcpart.parameters[
"mcPartCollLcio"] =
'MCParticle'
154mcpart.parameters[
"mcPartCollRoot"] =
'MCParticle'
157fsp.parameters[
"debug"] = 0
158fsp.parameters[
"fspCollLcio"] =
"FinalStateParticles_KF"
159fsp.parameters[
"fspCollRoot"] =
"FinalStateParticles_KF"
160fsp.parameters[
"kinkRelCollLcio"] =
""
161fsp.parameters[
"trkRelCollLcio"] =
"KFTrackDataRelations"
163if(options.rawHits==1):
164 fsp.parameters[
"trkhitCollRoot"] =
"fspOnTrackHits"
165 fsp.parameters[
"rawhitCollRoot"] =
"fspOnTrackRawHits"
166 fsp.parameters[
"hitFitsCollLcio"] =
"SVTFittedRawTrackerHits"
168 fsp.parameters[
"trkhitCollRoot"] =
"fspOnTrackHits"
169 fsp.parameters[
"rawhitCollRoot"] =
""
170 fsp.parameters[
"hitFitsCollLcio"] =
""
173if (options.tracking ==
"KF"):
175 sequence = [header, vtx, cvtx, ecal, track]
177 if (options.truthHits > 0):
178 sequence.append(svthits)
179elif (options.tracking ==
"GBL"):
181 sequence = [header, vtxgbl, cvtxgbl, ecal, trackgbl]
183 if (options.truthHits > 0):
184 sequence.append(svthitsgbl)
185elif (options.tracking ==
"BOTH"):
186 sequence = [header, vtxgbl, cvtxgbl, trackgbl, vtx, cvtx, ecal, track]
188 if (options.truthHits > 0):
189 sequence.append(svthits)
190 sequence.append(svthitsgbl)
192 print(
"ERROR::Need to specify which tracks KF, GBL, or BOTH")
194if options.isData == -1:
195 print(
"Please specficy if this is Data or not via option -t")
196if (
not options.isData):
197 sequence.append(mcpart)
202p.input_files = lcio_file
203p.output_files = [root_file]