Newer
Older
from Gaudi.Configuration import *
from GaudiKernel.DataObjectHandleBase import DataObjectHandleBase
from Configurables import ApplicationMgr, EICDataSvc, PodioOutput, GeoSvc
geo_service = GeoSvc("GeoSvc",detectors=["topside/simple_topside.xml"])
podioevent = EICDataSvc("EventDataSvc", inputs=["test_hytop.root"])#, OutputLevel=DEBUG)
from Configurables import PodioInput
from Configurables import Jug__Digi__ExampleCaloDigi as ExampleCaloDigi
from Configurables import Jug__Digi__UFSDTrackerDigi as UFSDTrackerDigi
from Configurables import Jug__Reco__TrackerHitReconstruction as TrackerHitReconstruction
from Configurables import Jug__Reco__TrackerSourceLinker as TrackerSourceLinker
from Configurables import Jug__Reco__TrackParamTruthInit as TrackParamTruthInit
from Configurables import Jug__Reco__TrackFindingAlgorithm as TrackFindingAlgorithm

Whitney Armstrong
committed
from Configurables import Jug__Reco__ParticlesFromTrackFit as ParticlesFromTrackFit
podioinput = PodioInput("PodioReader", collections=["mcparticles","SiVertexBarrelHits"])#, OutputLevel=DEBUG)
#caldigi = ExampleCaloDigi(inputHitCollection="FAEC_ShHits",outputHitCollection="RawFAECShowerHits")
ufsd_digi = UFSDTrackerDigi("ufsd_digi", inputHitCollection="SiVertexBarrelHits",outputHitCollection="VertexRawHits",timeResolution=8)
trackpartruth = TrackParamTruthInit("trk_par_init",inputMCParticles="mcparticles",outputInitialTrackParameters="InitTrackParams")#,OutputLevel=DEBUG)
trackerhit = TrackerHitReconstruction("trk_hit_reco",inputHitCollection="VertexRawHits",outputHitCollection="VertexTrackHits")#,OutputLevel=DEBUG)
sourcelinker = TrackerSourceLinker("trk_srclinker",inputHitCollection="VertexTrackHits",outputSourceLinks="VertexTrackSourceLinks")#,OutputLevel=DEBUG)

Whitney Armstrong
committed
trk_find_alg = TrackFindingAlgorithm("trk_find_alg",inputSourceLinks="VertexTrackSourceLinks",inputInitialTrackParameters= "InitTrackParams", outputTrajectories="trajectories")
parts_from_fit = ParticlesFromTrackFit("parts_from_fit",inputTrajectories="trajectories",outputParticles="ReconstructedParticles")#,OutputLevel=DEBUG)
types = []
# this printout is useful to check that the type information is passed to python correctly
print("---------------------------------------\n")
print("---\n# List of input and output types by class")
for configurable in sorted([ PodioInput, EICDataSvc, PodioOutput,
TrackerHitReconstruction,ExampleCaloDigi,
UFSDTrackerDigi, TrackerSourceLinker,
PodioOutput],
key=lambda c: c.getType()):
print("\"{}\":".format(configurable.getType()))
props = configurable.getDefaultProperties()
for propname, prop in sorted(props.items()):
print(" prop name: {}".format(propname))
if isinstance(prop, DataObjectHandleBase):
types.append(prop.type())
print(" {}: \"{}\"".format(propname, prop.type()))
print("---")
out = PodioOutput("out", filename="jug_test.root")#,OutputLevel=DEBUG)

Whitney Armstrong
committed
out.outputCommands = ["keep *",
"drop VertexTrackSourceLinks",
"drop InitTrackParams",
"drop trajectories",
"drop VertexTrackSourceLinks",
"drop outputSourceLinks",
"drop outputInitialTrackParameters"

Whitney Armstrong
committed
]

Whitney Armstrong
committed
TopAlg = [podioinput,
ufsd_digi, trackerhit,
sourcelinker, trackpartruth,
trk_find_alg, parts_from_fit,
out