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)
14options = base.parser.parse_args()
17lcio_file = options.inFilename
18root_file = options.outFilename
20print(
'LCIO file: %s' % lcio_file)
21print(
'Root file: %s' % root_file)
27p.skip_events = options.skip_events
28p.max_events = options.nevents
31p.add_library(
"libprocessors")
54header.parameters[
"debug"] = 0
55header.parameters[
"headCollRoot"] =
"EventHeader"
56header.parameters[
"trigCollLcio"] =
"TriggerBank"
57header.parameters[
"rfCollLcio"] =
"RFHits"
60header.parameters[
"tsCollLcio"] =
"TSBank"
61header.parameters[
"tsCollRoot"] =
"TSBank"
64rawsvt.parameters[
"debug"] = 0
65rawsvt.parameters[
"hitCollLcio"] =
'SVTRawTrackerHits'
66rawsvt.parameters[
"hitfitCollLcio"] =
'SVTFittedRawTrackerHits'
67rawsvt.parameters[
"hitCollRoot"] =
'SVTRawTrackerHits'
70svthits.parameters[
"debug"] = 0
71svthits.parameters[
"hitCollLcio"] =
'RotatedHelicalTrackHits'
72svthits.parameters[
"hitCollRoot"] =
'RotatedHelicalTrackHits'
76track.parameters[
"debug"] = 0
77track.parameters[
"useTrackerHits"] = 1
78track.parameters[
"trkCollLcio"] =
'KalmanFullTracks'
79track.parameters[
"trkCollRoot"] =
'KalmanFullTracks'
80track.parameters[
"kinkRelCollLcio"] =
''
81track.parameters[
"trkRelCollLcio"] =
'KFTrackDataRelations'
82track.parameters[
"trkhitCollRoot"] =
'SiClustersOnTrack'
83track.parameters[
"hitFitsCollLcio"] =
'SVTFittedRawTrackerHits'
84track.parameters[
"rawhitCollRoot"] =
'SVTRawHitsOnTrack_KF'
85track.parameters[
"bfield"] = bfield[
str(options.year)]
87trackgbl.parameters[
"debug"] = 0
88trackgbl.parameters[
"useTrackerHits"] = 1
89trackgbl.parameters[
"trkCollLcio"] =
'GBLTracks'
90trackgbl.parameters[
"trkCollRoot"] =
'GBLTracks'
91trackgbl.parameters[
"kinkRelCollLcio"] =
'GBLKinkDataRelations'
92trackgbl.parameters[
"trkRelCollLcio"] =
'TrackDataRelations'
93trackgbl.parameters[
"trkhitCollRoot"] =
'RotatedHelicalOnTrackHits'
94trackgbl.parameters[
"hitFitsCollLcio"] =
'SVTFittedRawTrackerHits'
95trackgbl.parameters[
"rawhitCollRoot"] =
''
96trackgbl.parameters[
"bfield"] = bfield[
str(options.year)]
103ecal.parameters[
"debug"] = 0
104ecal.parameters[
"hitCollLcio"] =
'EcalCalHits'
105ecal.parameters[
"hitCollRoot"] =
'RecoEcalHits'
106ecal.parameters[
"clusCollLcio"] =
"EcalClustersCorr"
107ecal.parameters[
"clusCollRoot"] =
"RecoEcalClusters"
110vtx.parameters[
"debug"] = 0
111vtx.parameters[
"useTrackerHits"] = 1
112vtx.parameters[
"vtxCollLcio"] =
'UnconstrainedV0Vertices_KF'
113vtx.parameters[
"vtxCollRoot"] =
'UnconstrainedV0Vertices_KF'
114vtx.parameters[
"partCollRoot"] =
'ParticlesOnUVertices_KF'
115vtx.parameters[
"kinkRelCollLcio"] =
''
116vtx.parameters[
"trkRelCollLcio"] =
'KFTrackDataRelations'
118cvtx.parameters[
"debug"] = 0
119cvtx.parameters[
"useTrackerHits"] = 1
120cvtx.parameters[
"vtxCollLcio"] =
'TargetConstrainedV0Vertices_KF'
121cvtx.parameters[
"vtxCollRoot"] =
'TargetConstrainedV0Vertices_KF'
122cvtx.parameters[
"partCollRoot"] =
'ParticlesOnCVertices_KF'
123cvtx.parameters[
"kinkRelCollLcio"] =
''
124cvtx.parameters[
"trkRelCollLcio"] =
'KFTrackDataRelations'
127vtxgbl.parameters[
"debug"] = 0
128vtxgbl.parameters[
"useTrackerHits"] = 1
129vtxgbl.parameters[
"vtxCollLcio"] =
'UnconstrainedV0Vertices'
130vtxgbl.parameters[
"vtxCollRoot"] =
'UnconstrainedV0Vertices'
131vtxgbl.parameters[
"partCollRoot"] =
'ParticlesOnUVertices'
132vtxgbl.parameters[
"kinkRelCollLcio"] =
'GBLKinkDataRelations'
133vtxgbl.parameters[
"trkRelCollLcio"] =
'TrackDataRelations'
135cvtxgbl.parameters[
"debug"] = 0
136cvtxgbl.parameters[
"useTrackerHits"] = 1
137cvtxgbl.parameters[
"vtxCollLcio"] =
'TargetConstrainedV0Vertices'
138cvtxgbl.parameters[
"vtxCollRoot"] =
'TargetConstrainedV0Vertices'
139cvtxgbl.parameters[
"partCollRoot"] =
'ParticlesOnCVertices'
140cvtxgbl.parameters[
"kinkRelCollLcio"] =
'GBLKinkDataRelations'
141cvtxgbl.parameters[
"trkRelCollLcio"] =
'TrackDataRelations'
144mcpart.parameters[
"debug"] = 0
145mcpart.parameters[
"mcPartCollLcio"] =
'MCParticle'
146mcpart.parameters[
"mcPartCollRoot"] =
'MCParticle'
149fsp.parameters[
"debug"] = 0
150fsp.parameters[
"fspCollLcio"] =
"FinalStateParticles_KF"
151fsp.parameters[
"fspCollRoot"] =
"FinalStateParticles_KF"
152fsp.parameters[
"kinkRelCollLcio"] =
""
153fsp.parameters[
"trkRelCollLcio"] =
"KFTrackDataRelations"
155if(options.rawHits==1):
156 fsp.parameters[
"trkhitCollRoot"] =
"fspOnTrackHits"
157 fsp.parameters[
"rawhitCollRoot"] =
"fspOnTrackRawHits"
158 fsp.parameters[
"hitFitsCollLcio"] =
"SVTFittedRawTrackerHits"
160 fsp.parameters[
"trkhitCollRoot"] =
"fspOnTrackHits"
161 fsp.parameters[
"rawhitCollRoot"] =
""
162 fsp.parameters[
"hitFitsCollLcio"] =
""
165if (options.tracking ==
"KF"):
167 sequence = [header, vtx, cvtx, ecal, track]
169 if (options.truthHits > 0):
170 sequence.append(svthits)
171elif (options.tracking ==
"GBL"):
173 sequence = [header, vtxgbl, cvtxgbl, ecal, trackgbl]
175 if (options.truthHits > 0):
176 sequence.append(svthitsgbl)
177elif (options.tracking ==
"BOTH"):
178 sequence = [header, vtxgbl, cvtxgbl, trackgbl, vtx, cvtx, ecal, track]
180 if (options.truthHits > 0):
181 sequence.append(svthits)
182 sequence.append(svthitsgbl)
184 print(
"ERROR::Need to specify which tracks KF, GBL, or BOTH")
186if options.isData == -1:
187 print(
"Please specficy if this is Data or not via option -t")
188if (
not options.isData):
189 sequence.append(mcpart)
194p.input_files = lcio_file
195p.output_files = [root_file]