Skip to content
Snippets Groups Projects
Commit 0424d62a authored by Wouter Deconinck's avatar Wouter Deconinck
Browse files

Use SimTrackingHitCollectors

parent 792d7e1f
No related branches found
No related tags found
1 merge request!242EDM4hep: mcparticles -> MCParticles
......@@ -22,11 +22,24 @@ input_sim_file = str(os.environ["JUGGLER_SIM_FILE"])
output_rec_file = str(os.environ["JUGGLER_REC_FILE"])
n_events = str(os.environ["JUGGLER_N_EVENTS"])
geo_service = GeoSvc("GeoSvc", detectors=["{}/{}.xml".format(detector_path,detector_name)], OutputLevel=WARNING)
## note: old version of material map is called material-maps.XXX, new version is materials-map.XXX
## these names are somewhat inconsistent, and should probably all be renamed to 'material-map.XXX'
## FIXME
if detector_version == 'acadia':
geo_service = GeoSvc("GeoSvc",
detectors=["{}/{}.xml".format(detector_path,detector_name)],
materials="config/material-maps.json",
OutputLevel=WARNING)
else:
geo_service = GeoSvc("GeoSvc",
detectors=["{}/{}.xml".format(detector_path,detector_name)],
materials="calibrations/materials-map.cbor",
OutputLevel=WARNING)
podioevent = EICDataSvc("EventDataSvc", inputs=[input_sim_file], OutputLevel=WARNING)
from Configurables import PodioInput
from Configurables import Jug__Digi__SimTrackerHitsCollector as SimTrackerHitsCollector
from Configurables import Jug__Digi__SiliconTrackerDigi as TrackerDigi
from Configurables import Jug__Reco__TrackerHitReconstruction as TrackerHitReconstruction
......@@ -46,48 +59,96 @@ from Configurables import Jug__Reco__SimpleClustering as SimpleClustering
algorithms = [ ]
input_collections = ['MCParticles','TrackerEndcapHits','TrackerBarrelHits','VertexBarrelHits','GEMTrackerEndcapHits']
tracker_endcap_collections = [
'TrackerEndcapHits1',
'TrackerEndcapHits2',
'TrackerEndcapHits3',
'TrackerEndcapHits4',
'TrackerEndcapHits5',
'TrackerEndcapHits6'
]
tracker_barrel_collections = [
'TrackerBarrelHits'
]
vertex_barrel_collections = [
'VertexBarrelHits'
]
gem_endcap_collections = [
'GEMTrackerEndcapHits1',
'GEMTrackerEndcapHits2',
'GEMTrackerEndcapHits3'
]
vertex_endcap_collections = [
'VertexEndcapHits'
]
mpgd_barrel_collections = [
'MPGDTrackerBarrelHits1',
'MPGDTrackerBarrelHits2'
]
input_collections = ['MCParticles'] + tracker_endcap_collections + tracker_barrel_collections + vertex_barrel_collections + gem_endcap_collections
if 'acadia' in detector_version:
input_collections.append('VertexEndcapHits')
input_collections += vertex_endcap_collections
else:
input_collections.append('MPGDTrackerBarrelHits')
podioinput = PodioInput("PodioReader",
collections=input_collections)#, OutputLevel=DEBUG)
input_collections += mpgd_barrel_collections
podioinput = PodioInput("PodioReader",
collections=input_collections)
algorithms.append( podioinput )
trk_b_digi = TrackerDigi("trk_b_digi",
inputHitCollection="TrackerBarrelHits",
outputHitCollection="TrackerBarrelRawHits",
trk_b_coll = SimTrackerHitsCollector("trk_b_coll",
inputSimTrackerHits = tracker_barrel_collections,
outputSimTrackerHits = "TrackerBarrelHits")
trk_b_digi = TrackerDigi("trk_b_digi",
inputHitCollection = trk_b_coll.outputSimTrackerHits,
outputHitCollection = "TrackerBarrelRawHits",
timeResolution=8)
algorithms.append( trk_b_digi )
trk_ec_digi = TrackerDigi("trk_ec_digi",
inputHitCollection="TrackerEndcapHits",
outputHitCollection="TrackerEndcapRawHits",
trk_ec_coll = SimTrackerHitsCollector("trk_ec_coll",
inputSimTrackerHits = tracker_endcap_collections,
outputSimTrackerHits = "TrackerEndcapHits")
trk_ec_digi = TrackerDigi("trk_ec_digi",
inputHitCollection = trk_ec_coll.outputSimTrackerHits,
outputHitCollection = "TrackerEndcapRawHits",
timeResolution=8)
algorithms.append( trk_ec_digi )
vtx_b_digi = TrackerDigi("vtx_b_digi",
inputHitCollection="VertexBarrelHits",
outputHitCollection="VertexBarrelRawHits",
vtx_b_coll = SimTrackerHitsCollector("vtx_b_coll",
inputSimTrackerHits = vertex_barrel_collections,
outputSimTrackerHits = "VertexBarrelHits")
vtx_b_digi = TrackerDigi("vtx_b_digi",
inputHitCollection = vtx_b_coll.outputSimTrackerHits,
outputHitCollection = "VertexBarrelRawHits",
timeResolution=8)
algorithms.append( vtx_b_digi )
if 'acadia' in detector_version:
vtx_ec_digi = TrackerDigi("vtx_ec_digi",
inputHitCollection="VertexEndcapHits",
outputHitCollection="VertexEndcapRawHits",
vtx_ec_coll = SimTrackerHitsCollector("vtx_ec_coll",
inputSimTrackerHits = vertex_endcap_collections,
outputSimTrackerHits = "VertexEndcapHits")
vtx_ec_digi = TrackerDigi("vtx_ec_digi",
inputHitCollection = vtx_ec_coll.outputSimTrackerHits,
outputHitCollection = "VertexEndcapRawHits",
timeResolution=8)
algorithms.append( vtx_ec_digi )
else:
mm_b_digi = TrackerDigi("mm_b_digi",
inputHitCollection="MPGDTrackerBarrelHits",
outputHitCollection="MPGDTrackerBarrelRawHits",
mm_b_coll = SimTrackerHitsCollector("mm_b_coll",
inputSimTrackerHits = mpgd_barrel_collections,
outputSimTrackerHits = "MPGDTrackerBarrelHits")
mm_b_digi = TrackerDigi("mm_b_digi",
inputHitCollection = mm_b_coll.outputSimTrackerHits,
outputHitCollection = "MPGDTrackerBarrelRawHits",
timeResolution=8)
algorithms.append( mm_b_digi )
gem_ec_coll = SimTrackerHitsCollector("gem_ec_coll",
inputSimTrackerHits = gem_endcap_collections,
outputSimTrackerHits = "GEMTrackerEndcapHits")
gem_ec_digi = TrackerDigi("gem_ec_digi",
inputHitCollection="GEMTrackerEndcapHits",
outputHitCollection="GEMTrackerEndcapRawHits",
inputHitCollection = gem_ec_coll.outputSimTrackerHits,
outputHitCollection = "GEMTrackerEndcapRawHits",
timeResolution=10)
algorithms.append(gem_ec_digi)
......
......@@ -22,18 +22,30 @@ input_sim_file = str(os.environ["JUGGLER_SIM_FILE"])
output_rec_file = str(os.environ["JUGGLER_REC_FILE"])
n_events = str(os.environ["JUGGLER_N_EVENTS"])
geo_service = GeoSvc("GeoSvc", detectors=["{}/{}.xml".format(detector_path,detector_name)], OutputLevel=WARNING)
## note: old version of material map is called material-maps.XXX, new version is materials-map.XXX
## these names are somewhat inconsistent, and should probably all be renamed to 'material-map.XXX'
## FIXME
if detector_version == 'acadia':
geo_service = GeoSvc("GeoSvc",
detectors=["{}/{}.xml".format(detector_path,detector_name)],
materials="config/material-maps.json",
OutputLevel=WARNING)
else:
geo_service = GeoSvc("GeoSvc",
detectors=["{}/{}.xml".format(detector_path,detector_name)],
materials="calibrations/materials-map.cbor",
OutputLevel=WARNING)
podioevent = EICDataSvc("EventDataSvc", inputs=[input_sim_file], OutputLevel=WARNING)
from Configurables import PodioInput
from Configurables import Jug__Digi__SimTrackerHitsCollector as SimTrackerHitsCollector
from Configurables import Jug__Digi__SiliconTrackerDigi as TrackerDigi
from Configurables import Jug__Reco__TrackerHitReconstruction as TrackerHitReconstruction
from Configurables import Jug__Reco__TrackingHitsCollector2 as TrackingHitsCollector
from Configurables import Jug__Reco__TrackerSourceLinker as TrackerSourceLinker
#from Configurables import Jug__Reco__TrackingHitsSourceLinker as TrackingHitsSourceLinker
from Configurables import Jug__Reco__TrackParamTruthInit as TrackParamTruthInit
from Configurables import Jug__Reco__TrackParamClusterInit as TrackParamClusterInit
from Configurables import Jug__Reco__TrackParamVertexClusterInit as TrackParamVertexClusterInit
......@@ -46,48 +58,96 @@ from Configurables import Jug__Reco__SimpleClustering as SimpleClustering
algorithms = [ ]
input_collections = ['MCParticles','TrackerEndcapHits','TrackerBarrelHits','VertexBarrelHits','GEMTrackerEndcapHits']
tracker_endcap_collections = [
'TrackerEndcapHits1',
'TrackerEndcapHits2',
'TrackerEndcapHits3',
'TrackerEndcapHits4',
'TrackerEndcapHits5',
'TrackerEndcapHits6'
]
tracker_barrel_collections = [
'TrackerBarrelHits'
]
vertex_barrel_collections = [
'VertexBarrelHits'
]
gem_endcap_collections = [
'GEMTrackerEndcapHits1',
'GEMTrackerEndcapHits2',
'GEMTrackerEndcapHits3'
]
vertex_endcap_collections = [
'VertexEndcapHits'
]
mpgd_barrel_collections = [
'MPGDTrackerBarrelHits1',
'MPGDTrackerBarrelHits2'
]
input_collections = ['MCParticles'] + tracker_endcap_collections + tracker_barrel_collections + vertex_barrel_collections + gem_endcap_collections
if 'acadia' in detector_version:
input_collections.append('VertexEndcapHits')
input_collections += vertex_endcap_collections
else:
input_collections.append('MPGDTrackerBarrelHits')
podioinput = PodioInput("PodioReader",
collections=input_collections)#, OutputLevel=DEBUG)
input_collections += mpgd_barrel_collections
podioinput = PodioInput("PodioReader",
collections=input_collections)
algorithms.append( podioinput )
trk_b_digi = TrackerDigi("trk_b_digi",
inputHitCollection="TrackerBarrelHits",
outputHitCollection="TrackerBarrelRawHits",
trk_b_coll = SimTrackerHitsCollector("trk_b_coll",
inputSimTrackerHits = tracker_barrel_collections,
outputSimTrackerHits = "TrackerBarrelHits")
trk_b_digi = TrackerDigi("trk_b_digi",
inputHitCollection = trk_b_coll.outputSimTrackerHits,
outputHitCollection = "TrackerBarrelRawHits",
timeResolution=8)
algorithms.append( trk_b_digi )
trk_ec_digi = TrackerDigi("trk_ec_digi",
inputHitCollection="TrackerEndcapHits",
outputHitCollection="TrackerEndcapRawHits",
trk_ec_coll = SimTrackerHitsCollector("trk_ec_coll",
inputSimTrackerHits = tracker_endcap_collections,
outputSimTrackerHits = "TrackerEndcapHits")
trk_ec_digi = TrackerDigi("trk_ec_digi",
inputHitCollection = trk_ec_coll.outputSimTrackerHits,
outputHitCollection = "TrackerEndcapRawHits",
timeResolution=8)
algorithms.append( trk_ec_digi )
vtx_b_digi = TrackerDigi("vtx_b_digi",
inputHitCollection="VertexBarrelHits",
outputHitCollection="VertexBarrelRawHits",
vtx_b_coll = SimTrackerHitsCollector("vtx_b_coll",
inputSimTrackerHits = vertex_barrel_collections,
outputSimTrackerHits = "VertexBarrelHits")
vtx_b_digi = TrackerDigi("vtx_b_digi",
inputHitCollection = vtx_b_coll.outputSimTrackerHits,
outputHitCollection = "VertexBarrelRawHits",
timeResolution=8)
algorithms.append( vtx_b_digi )
if 'acadia' in detector_version:
vtx_ec_digi = TrackerDigi("vtx_ec_digi",
inputHitCollection="VertexEndcapHits",
outputHitCollection="VertexEndcapRawHits",
vtx_ec_coll = SimTrackerHitsCollector("vtx_ec_coll",
inputSimTrackerHits = vertex_endcap_collections,
outputSimTrackerHits = "VertexEndcapHits")
vtx_ec_digi = TrackerDigi("vtx_ec_digi",
inputHitCollection = vtx_ec_coll.outputSimTrackerHits,
outputHitCollection = "VertexEndcapRawHits",
timeResolution=8)
algorithms.append( vtx_ec_digi )
else:
mm_b_digi = TrackerDigi("mm_b_digi",
inputHitCollection="MPGDTrackerBarrelHits",
outputHitCollection="MPGDTrackerBarrelRawHits",
mm_b_coll = SimTrackerHitsCollector("mm_b_coll",
inputSimTrackerHits = mpgd_barrel_collections,
outputSimTrackerHits = "MPGDTrackerBarrelHits")
mm_b_digi = TrackerDigi("mm_b_digi",
inputHitCollection = mm_b_coll.outputSimTrackerHits,
outputHitCollection = "MPGDTrackerBarrelRawHits",
timeResolution=8)
algorithms.append( mm_b_digi )
gem_ec_coll = SimTrackerHitsCollector("gem_ec_coll",
inputSimTrackerHits = gem_endcap_collections,
outputSimTrackerHits = "GEMTrackerEndcapHits")
gem_ec_digi = TrackerDigi("gem_ec_digi",
inputHitCollection="GEMTrackerEndcapHits",
outputHitCollection="GEMTrackerEndcapRawHits",
inputHitCollection = gem_ec_coll.outputSimTrackerHits,
outputHitCollection = "GEMTrackerEndcapRawHits",
timeResolution=10)
algorithms.append(gem_ec_digi)
......
......@@ -39,6 +39,7 @@ podioevent = EICDataSvc("EventDataSvc", inputs=[input_sim_file], OutputLevel=W
from Configurables import PodioInput
from Configurables import Jug__Digi__SimTrackerHitsCollector as SimTrackerHitsCollector
from Configurables import Jug__Digi__SiliconTrackerDigi as TrackerDigi
from Configurables import Jug__Reco__TrackerHitReconstruction as TrackerHitReconstruction
......@@ -58,50 +59,96 @@ from Configurables import Jug__Reco__SimpleClustering as SimpleClustering
algorithms = [ ]
input_collections = ['MCParticles','TrackerEndcapHits','TrackerBarrelHits','VertexBarrelHits','GEMTrackerEndcapHits']
tracker_endcap_collections = [
'TrackerEndcapHits1',
'TrackerEndcapHits2',
'TrackerEndcapHits3',
'TrackerEndcapHits4',
'TrackerEndcapHits5',
'TrackerEndcapHits6'
]
tracker_barrel_collections = [
'TrackerBarrelHits'
]
vertex_barrel_collections = [
'VertexBarrelHits'
]
gem_endcap_collections = [
'GEMTrackerEndcapHits1',
'GEMTrackerEndcapHits2',
'GEMTrackerEndcapHits3'
]
vertex_endcap_collections = [
'VertexEndcapHits'
]
mpgd_barrel_collections = [
'MPGDTrackerBarrelHits1',
'MPGDTrackerBarrelHits2'
]
input_collections = ['MCParticles'] + tracker_endcap_collections + tracker_barrel_collections + vertex_barrel_collections + gem_endcap_collections
if 'acadia' in detector_version:
input_collections.append('VertexEndcapHits')
input_collections += vertex_endcap_collections
else:
input_collections.append('MPGDTrackerBarrelHits')
podioinput = PodioInput("PodioReader",
collections=input_collections,
OutputLevel=DEBUG)
input_collections += mpgd_barrel_collections
podioinput = PodioInput("PodioReader",
collections=input_collections)
algorithms.append( podioinput )
trk_b_digi = TrackerDigi("trk_b_digi",
inputHitCollection="TrackerBarrelHits",
outputHitCollection="TrackerBarrelRawHits",
timeResolution=8,
OutputLevel=DEBUG)
trk_b_coll = SimTrackerHitsCollector("trk_b_coll",
inputSimTrackerHits = tracker_barrel_collections,
outputSimTrackerHits = "TrackerBarrelHits")
trk_b_digi = TrackerDigi("trk_b_digi",
inputHitCollection = trk_b_coll.outputSimTrackerHits,
outputHitCollection = "TrackerBarrelRawHits",
timeResolution=8)
algorithms.append( trk_b_digi )
trk_ec_digi = TrackerDigi("trk_ec_digi",
inputHitCollection="TrackerEndcapHits",
outputHitCollection="TrackerEndcapRawHits",
trk_ec_coll = SimTrackerHitsCollector("trk_ec_coll",
inputSimTrackerHits = tracker_endcap_collections,
outputSimTrackerHits = "TrackerEndcapHits")
trk_ec_digi = TrackerDigi("trk_ec_digi",
inputHitCollection = trk_ec_coll.outputSimTrackerHits,
outputHitCollection = "TrackerEndcapRawHits",
timeResolution=8)
algorithms.append( trk_ec_digi )
vtx_b_digi = TrackerDigi("vtx_b_digi",
inputHitCollection="VertexBarrelHits",
outputHitCollection="VertexBarrelRawHits",
vtx_b_coll = SimTrackerHitsCollector("vtx_b_coll",
inputSimTrackerHits = vertex_barrel_collections,
outputSimTrackerHits = "VertexBarrelHits")
vtx_b_digi = TrackerDigi("vtx_b_digi",
inputHitCollection = vtx_b_coll.outputSimTrackerHits,
outputHitCollection = "VertexBarrelRawHits",
timeResolution=8)
algorithms.append( vtx_b_digi )
if 'acadia' in detector_version:
vtx_ec_digi = TrackerDigi("vtx_ec_digi",
inputHitCollection="VertexEndcapHits",
outputHitCollection="VertexEndcapRawHits",
vtx_ec_coll = SimTrackerHitsCollector("vtx_ec_coll",
inputSimTrackerHits = vertex_endcap_collections,
outputSimTrackerHits = "VertexEndcapHits")
vtx_ec_digi = TrackerDigi("vtx_ec_digi",
inputHitCollection = vtx_ec_coll.outputSimTrackerHits,
outputHitCollection = "VertexEndcapRawHits",
timeResolution=8)
algorithms.append( vtx_ec_digi )
else:
mm_b_digi = TrackerDigi("mm_b_digi",
inputHitCollection="MPGDTrackerBarrelHits",
outputHitCollection="MPGDTrackerBarrelRawHits",
mm_b_coll = SimTrackerHitsCollector("mm_b_coll",
inputSimTrackerHits = mpgd_barrel_collections,
outputSimTrackerHits = "MPGDTrackerBarrelHits")
mm_b_digi = TrackerDigi("mm_b_digi",
inputHitCollection = mm_b_coll.outputSimTrackerHits,
outputHitCollection = "MPGDTrackerBarrelRawHits",
timeResolution=8)
algorithms.append( mm_b_digi )
gem_ec_coll = SimTrackerHitsCollector("gem_ec_coll",
inputSimTrackerHits = gem_endcap_collections,
outputSimTrackerHits = "GEMTrackerEndcapHits")
gem_ec_digi = TrackerDigi("gem_ec_digi",
inputHitCollection="GEMTrackerEndcapHits",
outputHitCollection="GEMTrackerEndcapRawHits",
inputHitCollection = gem_ec_coll.outputSimTrackerHits,
outputHitCollection = "GEMTrackerEndcapRawHits",
timeResolution=10)
algorithms.append(gem_ec_digi)
......@@ -156,8 +203,7 @@ algorithms.append( trk_hit_col )
sourcelinker = TrackerSourceLinker("sourcelinker",
inputHitCollection=trk_hit_col.trackingHits,
outputSourceLinks="TrackSourceLinks",
outputMeasurements="TrackMeasurements",
OutputLevel=VERBOSE)
outputMeasurements="TrackMeasurements")
algorithms.append( sourcelinker )
## Track param init
......@@ -178,13 +224,11 @@ parts_from_fit = ParticlesFromTrackFit("parts_from_fit",
inputTrajectories="trajectories",
outputParticles="ReconstructedParticles",
outputTrackParameters="outputTrackParameters")
#OutputLevel=DEBUG)
algorithms.append( parts_from_fit )
#trajs_from_fit = TrajectoryFromTrackFit("trajs_from_fit",
#inputTrajectories = trk_find_alg.outputTrajectories,
#outputTrajectoryParameters = "outputTrajectoryParameters")
#OutputLevel=DEBUG)
#algorithms.append(trajs_from_fit)
out = PodioOutput("out", filename=output_rec_file)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment