Skip to content
Snippets Groups Projects
crystal_calorimeter_reco.py 1.71 KiB
Newer Older
  • Learn to ignore specific revisions
  • from Gaudi.Configuration import *
      
    from GaudiKernel.DataObjectHandleBase import DataObjectHandleBase
    from Configurables import ApplicationMgr, EICDataSvc, PodioOutput, GeoSvc
    from GaudiKernel import SystemOfUnits as units
    
    geo_service  = GeoSvc("GeoSvc", detectors=["topside.xml"])
    podioevent   = EICDataSvc("EventDataSvc", inputs=["sim_emcal_electrons.root"], OutputLevel=DEBUG)
    
    from Configurables import PodioInput
    from Configurables import Jug__Digi__CrystalEndcapsDigi as CrystalEndcapsDigi
    from Configurables import Jug__Reco__CrystalEndcapsReco as CrystalEndcapsReco
    from Configurables import Jug__Reco__CalorimeterIslandCluster as IslandCluster
    from Configurables import Jug__Reco__ClusterRecoCoG as RecoCoG
    
    podioinput = PodioInput("PodioReader", collections=["mcparticles","CrystalEcalHits"], OutputLevel=DEBUG)
    emcaldigi = CrystalEndcapsDigi("ecal_digi", inputHitCollection="CrystalEcalHits", outputHitCollection="RawDigiEcalHits")
    emcalreco = CrystalEndcapsReco("ecal_reco", inputHitCollection="RawDigiEcalHits", outputHitCollection="RecoEcalHits",
                                   minModuleEdep=1.0*units.MeV)
    emcalcluster = IslandCluster("emcal_cluster", inputHitCollection="RecoEcalHits", outputClusterCollection="EcalClusters",
                                 minClusterCenterEdep=30*units.MeV, groupRange=2.0)
    clusterreco = RecoCoG("cluster_reco", clusterCollection="EcalClusters", logWeightBase=4.2, moduleDimZName="CrystalBox_z_length")
    
    out = PodioOutput("out", filename="sim_emcal_electrons_output.root")
    
    out.outputCommands = ["keep *"]
    
    ApplicationMgr(
        TopAlg = [podioinput, emcaldigi, emcalreco, emcalcluster, clusterreco, out],
        EvtSel = 'NONE',
        EvtMax   = 100000,
        ExtSvc = [podioevent],
        OutputLevel=DEBUG
     )