diff --git a/Examples/options/tut_detsim_rec_SDT.py b/Examples/options/tut_detsim_rec_SDT.py deleted file mode 100644 index 02ac7612fa3904dba61f4ea9dceedf6d925e2548..0000000000000000000000000000000000000000 --- a/Examples/options/tut_detsim_rec_SDT.py +++ /dev/null @@ -1,322 +0,0 @@ -#!/usr/bin/env python -from Gaudi.Configuration import * - -from Configurables import k4DataSvc -dsvc = k4DataSvc("EventDataSvc") - -from Configurables import RndmGenSvc, HepRndm__Engine_CLHEP__RanluxEngine_ -seed = [10] -# rndmengine = HepRndm__Engine_CLHEP__RanluxEngine_() # The default engine in Gaudi -rndmengine = HepRndm__Engine_CLHEP__HepJamesRandom_("RndmGenSvc.Engine") # The default engine in Geant4 -rndmengine.SetSingleton = True -rndmengine.Seeds = seed - -rndmgensvc = RndmGenSvc("RndmGenSvc") -rndmgensvc.Engine = rndmengine.name() - -############################################################################## -# Event Data Svc -############################################################################## -from Configurables import k4DataSvc -dsvc = k4DataSvc("EventDataSvc") - - -# option for standalone tracker study -geometry_option = "CRD_o1_v01/CRD_o1_v01-onlyTracker.xml" -#geometry_option = "CRD_o1_v01/CRD_o1_v01-onlyTracker_noWire_18.xml" -#geometry_option = "CRD_o1_v01/CRD_o1_v01.xml" - -if not os.getenv("DETCRDROOT"): - print("Can't find the geometry. Please setup envvar DETCRDROOT." ) - sys.exit(-1) - -geometry_path = os.path.join(os.getenv("DETCRDROOT"), "compact", geometry_option) -if not os.path.exists(geometry_path): - print("Can't find the compact geometry file: %s"%geometry_path) - sys.exit(-1) - -from Configurables import GeomSvc -geosvc = GeomSvc("GeomSvc") -geosvc.compact = geometry_path - -############################################################################## -# Physics Generator -############################################################################## -from Configurables import GenAlgo -from Configurables import GtGunTool -from Configurables import StdHepRdr -from Configurables import SLCIORdr -from Configurables import HepMCRdr -from Configurables import GenPrinter -gun = GtGunTool("GtGunTool") -gun.Particles = ["mu-"] -gun.EnergyMins = [40] # GeV -gun.EnergyMaxs = [40] # GeV -gun.ThetaMins = [85] # deg -gun.ThetaMaxs = [85] # deg -gun.PhiMins = [0] # deg -gun.PhiMaxs = [360] # deg -# stdheprdr = StdHepRdr("StdHepRdr") -# stdheprdr.Input = "/cefs/data/stdhep/CEPC250/2fermions/E250.Pbhabha.e0.p0.whizard195/bhabha.e0.p0.00001.stdhep" -# lciordr = SLCIORdr("SLCIORdr") -# lciordr.Input = "/cefs/data/stdhep/lcio250/signal/Higgs/E250.Pbbh.whizard195/E250.Pbbh_X.e0.p0.whizard195/Pbbh_X.e0.p0.00001.slcio" -# hepmcrdr = HepMCRdr("HepMCRdr") -# hepmcrdr.Input = "example_UsingIterators.txt" - -genprinter = GenPrinter("GenPrinter") - -genalg = GenAlgo("GenAlgo") -genalg.GenTools = ["GtGunTool"] -#genalg.GenTools = ["StdHepRdr"] -# genalg.GenTools = ["StdHepRdr", "GenPrinter"] -# genalg.GenTools = ["SLCIORdr", "GenPrinter"] -# genalg.GenTools = ["HepMCRdr", "GenPrinter"] - -############################################################################## -# Detector Simulation -############################################################################## -from Configurables import DetSimSvc -detsimsvc = DetSimSvc("DetSimSvc") - -from Configurables import DetSimAlg -detsimalg = DetSimAlg("DetSimAlg") -detsimalg.RandomSeeds = seed -# detsimalg.VisMacs = ["vis.mac"] -detsimalg.RunCmds = [ - #"/tracking/verbose 1", -] -detsimalg.AnaElems = [ - # example_anatool.name() - # "ExampleAnaElemTool" - "Edm4hepWriterAnaElemTool" -] -detsimalg.RootDetElem = "WorldDetElemTool" - -from Configurables import AnExampleDetElemTool -example_dettool = AnExampleDetElemTool("AnExampleDetElemTool") - -dedxoption = "BetheBlochEquationDedxSimTool" -from Configurables import DriftChamberSensDetTool -dc_sensdettool = DriftChamberSensDetTool("DriftChamberSensDetTool") -dc_sensdettool.DedxSimTool = dedxoption - -from Configurables import DummyDedxSimTool -from Configurables import BetheBlochEquationDedxSimTool - -if dedxoption == "DummyDedxSimTool": - dedx_simtool = DummyDedxSimTool("DummyDedxSimTool") -elif dedxoption == "BetheBlochEquationDedxSimTool": - dedx_simtool = BetheBlochEquationDedxSimTool("BetheBlochEquationDedxSimTool") - dedx_simtool.material_Z = 2 - dedx_simtool.material_A = 4 - dedx_simtool.scale = 10 - dedx_simtool.resolution = 0.0001 - -from Configurables import MarlinEvtSeeder -evtseeder = MarlinEvtSeeder("EventSeeder") - -from Configurables import GearSvc -gearsvc = GearSvc("GearSvc") - -from Configurables import TrackSystemSvc -tracksystemsvc = TrackSystemSvc("TrackSystemSvc") - -# digitization -vxdhitname = "VXDTrackerHits" -sithitname = "SITTrackerHits" -dchitname = "DCTrackerHits" -sethitname = "SETTrackerHits" -setspname = "SETSpacePoints" -ftdhitname = "FTDTrackerHits" -ftdspname = "FTDSpacePoints" -from Configurables import PlanarDigiAlg -digiVXD = PlanarDigiAlg("VXDDigi") -digiVXD.SimTrackHitCollection = "VXDCollection" -digiVXD.TrackerHitCollection = vxdhitname -digiVXD.ResolutionU = [0.0028, 0.006, 0.004, 0.004, 0.004, 0.004] -digiVXD.ResolutionV = [0.0028, 0.006, 0.004, 0.004, 0.004, 0.004] -digiVXD.UsePlanarTag = True -#digiVXD.OutputLevel = DEBUG - -digiSIT = PlanarDigiAlg("SITDigi") -digiSIT.IsStrip = False -digiSIT.SimTrackHitCollection = "SITCollection" -digiSIT.TrackerHitCollection = sithitname -digiSIT.TrackerHitAssociationCollection = "SITTrackerHitAssociation" -digiSIT.ResolutionU = [0.0072] -digiSIT.ResolutionV = [0.086] -digiSIT.UsePlanarTag = True -#digiSIT.OutputLevel = DEBUG - -digiSET = PlanarDigiAlg("SETDigi") -digiSET.IsStrip = False -digiSET.SimTrackHitCollection = "SETCollection" -digiSET.TrackerHitCollection = sethitname -digiSET.TrackerHitAssociationCollection = "SETTrackerHitAssociation" -digiSET.ResolutionU = [0.0072] -digiSET.ResolutionV = [0.086] -digiSET.UsePlanarTag = True -#digiSET.OutputLevel = DEBUG - -digiFTD = PlanarDigiAlg("FTDDigi") -digiFTD.IsStrip = False -digiFTD.SimTrackHitCollection = "FTDCollection" -digiFTD.TrackerHitCollection = ftdhitname -digiFTD.TrackerHitAssociationCollection = "FTDTrackerHitAssociation" -digiFTD.ResolutionU = [0.003, 0.003, 0.0072, 0.0072, 0.0072, 0.0072, 0.0072] -digiFTD.ResolutionV = [0.003, 0.003, 0.0072, 0.0072, 0.0072, 0.0072, 0.0072] -digiFTD.UsePlanarTag = True -#digiFTD.OutputLevel = DEBUG - -from Configurables import DCHDigiAlg -digiDC = DCHDigiAlg("DCHDigi") -digiDC.DigiDCHitCollection = dchitname -digiDC.WriteAna = True -#digiDC.mom_threshold=98. -#digiDC.mom_threshold_high=102. -#digiDC.OutputLevel = DEBUG - -# two strip tracker hits -> one space point -from Configurables import SpacePointBuilderAlg -spFTD = SpacePointBuilderAlg("FTDBuilder") -spFTD.TrackerHitCollection = ftdhitname -spFTD.TrackerHitAssociationCollection = "FTDTrackerHitAssociation" -spFTD.SpacePointCollection = ftdspname -spFTD.SpacePointAssociationCollection = "FTDSpacePointAssociation" -#spFTD.OutputLevel = DEBUG - -# tracking -from Configurables import SiliconTrackingAlg -tracking = SiliconTrackingAlg("SiliconTracking") -tracking.HeaderCol = "EventHeader" -tracking.VTXHitCollection = vxdhitname -tracking.SITHitCollection = sithitname -tracking.FTDPixelHitCollection = ftdhitname -tracking.FTDSpacePointCollection = ftdspname -tracking.SITRawHitCollection = "NotNeedForPixelSIT" -tracking.FTDRawHitCollection = ftdhitname -tracking.UseSIT = True -tracking.SmoothOn = False -#tracking.OutputLevel = DEBUG - -from Configurables import ForwardTrackingAlg -forward = ForwardTrackingAlg("ForwardTracking") -forward.FTDPixelHitCollection = ftdhitname -forward.FTDSpacePointCollection = ftdspname -forward.FTDRawHitCollection = ftdhitname -forward.Chi2ProbCut = 0.0 -forward.HitsPerTrackMin = 3 -forward.BestSubsetFinder = "SubsetSimple" -forward.Criteria = ["Crit2_DeltaPhi","Crit2_StraightTrackRatio","Crit3_3DAngle","Crit3_ChangeRZRatio","Crit3_IPCircleDist","Crit4_3DAngleChange","Crit4_DistToExtrapolation", - "Crit2_DeltaRho","Crit2_RZRatio","Crit3_PT"] -forward.CriteriaMin = [0, 0.9, 0, 0.995, 0, 0.8, 0, 20, 1.002, 0.1, 0, 0.99, 0, 0.999, 0, 0.99, 0] -forward.CriteriaMax = [30, 1.02, 10, 1.015, 20, 1.3, 1.0, 150, 1.08, 99999999, 0.8, 1.01, 0.35, 1.001, 1.5, 1.01, 0.05] -#forward.OutputLevel = DEBUG - -from Configurables import TrackSubsetAlg -subset = TrackSubsetAlg("TrackSubset") -subset.TrackInputCollections = ["ForwardTracks", "SiTracks"] -subset.RawTrackerHitCollections = [vxdhitname, sithitname, ftdhitname, ftdspname] -subset.TrackSubsetCollection = "SubsetTracks" -#subset.OutputLevel = DEBUG - -##TODO: DC reconstruction, as preliminary, use Clupatra like as TPC -#from Configurables import ClupatraAlg -#clupatra = ClupatraAlg("Clupatra") -#clupatra.TPCHitCollection = dchitname -#clupatra.DistanceCut = 100. -#clupatra.MaxDeltaChi2 = 100. -#clupatra.Chi2Cut = 150. -##clupatra.OutputLevel = DEBUG -# -#from Configurables import FullLDCTrackingAlg -#full = FullLDCTrackingAlg("FullTracking") -#full.VTXTrackerHits = vxdhitname -#full.SITTrackerHits = sithitname -#full.TPCTrackerHits = dchitname # add TPC or DC tracker hit here, if TPC or DC track is set by full.TPCTracks -#full.SETTrackerHits = sethitname -#full.FTDPixelTrackerHits = ftdhitname -#full.FTDSpacePoints = ftdspname -#full.SITRawHits = "NotNeedForPixelSIT" -#full.SETRawHits = "NotNeedForPixelSET" -#full.FTDRawHits = ftdhitname -#full.TPCTracks = "ClupatraTracks" # add standalone TPC or DC track here -#full.SiTracks = "SubsetTracks" -#full.OutputTracks = "MarlinTrkTracks" -#full.SITHitToTrackDistance = 3. -#full.SETHitToTrackDistance = 5. -##full.OutputLevel = DEBUG -# -##TODO: more reconstruction, PFA etc. - -from Configurables import TruthTrackerAlg -truthTrackerAlg = TruthTrackerAlg("TruthTrackerAlg") -truthTrackerAlg.maxDigiCut=500 -truthTrackerAlg.useSi=True -truthTrackerAlg.hist=True -#truthTrackerAlg.useNoiseHits=True -truthTrackerAlg.smearHits=True -#truthTrackerAlg.useFirstHitForDC=True -#truthTrackerAlg.useIdealHit=False -truthTrackerAlg.DigiDCHitCollection="DCTrackerHits" -#truthTrackerAlg.OutputLevel=DEBUG -############################################################################## -# GenfitAlg -############################################################################## -from Configurables import RecGenfitAlgSDT -recGenfitAlgSDT = RecGenfitAlgSDT("RecGenfitAlgSDT") -recGenfitAlgSDT.debugPid=1 -#recGenfitAlgSDT.debug=10 -#recGenfitAlgSDT.debugGenfit=10000 -recGenfitAlgSDT.DigiDCHitCollection="DCTrackerHits" -recGenfitAlgSDT.SmearDCHitAssociationCollection = "SmearDCHitAssociationCollection" -#recGenfitAlgSDT.OutputLevel=DEBUG -recGenfitAlgSDT.measurementTypeSi=1 # -1: not use, 0:use space point, 1:use detector measurment -recGenfitAlgSDT.measurementTypeDC=1 # -1: not use, 0:use space point, 1:use detector measurment -#recGenfitAlgSDT.sigmaHitU=[0.11, 0.0028, 0.006, 0.004, 0.004, 0.004, 0.004] -#recGenfitAlgSDT.sigmaHitV=[0.2, 0.0028, 0.006, 0.004, 0.004, 0.004, 0.004] - -from Configurables import NTupleSvc -ntsvc = NTupleSvc("NTupleSvc") -ntsvc.Output = ["MyTuples DATAFILE='DCH_digi.root' OPT='NEW' TYP='ROOT'", - "TruthTrackerAlg DATAFILE='truthTracker.root' OPT='NEW' TYP='ROOT'", - "RecGenfitAlgSDT DATAFILE='fit.root' OPT='NEW' TYP='ROOT'" -] - -############################################################################### -## Event service -############################################################################### -#from Configurables import k4DataSvc -#dsvc = k4DataSvc("EventDataSvc", -# #input = "CRD-o1-v01-SimDigi00_1k.root" -# input = "test-detsim10.root" -#) -#from Configurables import PodioInput -#podioinput = PodioInput("PodioReader", collections=[ -# #"EventHeader", -# "MCParticle", -# "DriftChamberHitsCollection", -# "VXDCollection", -# "SITCollection", -# "SETCollection", -# #"DCHitAssociationCollection", -#]) - -# output -from Configurables import PodioOutput -out = PodioOutput("outputalg") -out.filename = "CRD-o1-v01-onlyTracker.root" -out.outputCommands = ["keep *"] - -# ApplicationMgr -from Configurables import ApplicationMgr -ApplicationMgr( - #TopAlg = [ genalg, detsimalg, digiVXD, digiSIT, digiSET, digiFTD, spFTD, digiDC, tracking, forward, subset, out], - #TopAlg = [podioinput, digiVXD, digiSIT, digiSET, digiFTD, spFTD, digiDC, tracking, forward, subset, truthTrackerAlg, recGenfitAlgSDT, out], - TopAlg = [genalg, detsimalg, digiVXD, digiSIT, digiSET, digiFTD, spFTD, digiDC, tracking, forward, subset, truthTrackerAlg, recGenfitAlgSDT, out], - EvtSel = 'NONE', - EvtMax = 10, - ExtSvc = [rndmengine, rndmgensvc, dsvc, evtseeder, geosvc, gearsvc, ntsvc], - HistogramPersistency = 'ROOT', - OutputLevel = ERROR -)