ldmxsim.sh running on host cn001.int ldmxproduction.config: RandomSeed1SequenceStart=1 RandomSeed2SequenceStart=1 NumberofJobs=1 DetectorVersion=15-8gev BeamEnergy=8.0 ElectronNumber=1 PhysicsProcess=inclusive SampleId=v15-8GeV-1e-inclusive Scope=validation FileName=simoutput.root FieldMap=BmapCorrected3D_13k_unfolded_scaled_1.15384615385.dat IsRecon=Yes LdmxImage=prod.image:LDMX_pro-4.3.3.sif JobWallTime=1200 JobMemory=2 JobTemplate=ldmxjob-1e-inclusive-4.3.3_test.py.tpl BatchID=v4.3.3-1e-test FinalOutputDestination=LUND_GRIDFTP UserID=prod ImageLocation=gsiftp://hep-fs.lunarc.lu.se:2811/ldcs/prod/prod.image/v4.3.3_image/LDMX_pro-4.3.3.sif ImageLocationLocal=LDMX_pro-4.3.3.sif ImageFile=prod.image:LDMX_pro-4.3.3.sif RandomSeed1=1 RandomSeed2=1 runNumber=1 FinalOutputBasePath=gsiftp://hep-fs.lunarc.lu.se:2811/ldcs ldmxjob.py: -------------------------- #!/bin/python import sys import os import json # we need the ldmx configuration package to construct the object from LDMX.Framework import ldmxcfg # set a 'pass name' passName="sim" p=ldmxcfg.Process(passName) #import all processors from LDMX.SimCore import generators from LDMX.SimCore import simulator from LDMX.Biasing import filters from LDMX.Detectors.makePath import * from LDMX.SimCore import simcfg # # Instantiate the simulator. # sim = simulator.simulator("mySim") # # Set the path to the detector to use (pulled from job config) # detector = "ldmx-det-v15-8gev" sim.setDetector("ldmx-det-v15-8gev", False ) sim.scoringPlanes = makeScoringPlanesPath("ldmx-det-v15-8gev") sim.setDetector("ldmx-det-v15-8gev", True ) # # Set run parameters. These are all pulled from the job config # p.run = 1 nElectrons = 1 beamEnergy = 8.0 p.maxEvents = 100 sim.description = "Inclusive "+str(beamEnergy)+" GeV electron events, "+str(nElectrons)+"e" sim.beamSpotSmear = [20., 80., 0] from LDMX.SimCore import generators as gen sim.generators.append( gen.single_8gev_e_upstream_tagger() ) #Ecal and Hcal hardwired/geometry stuff import LDMX.Ecal.ecal_hardcoded_conditions from LDMX.Ecal import EcalGeometry #Hcal hardwired/geometry stuff from LDMX.Hcal import HcalGeometry import LDMX.Hcal.hcal_hardcoded_conditions from LDMX.Ecal import digi as eDigi from LDMX.Ecal import vetos from LDMX.Hcal import digi as hDigi from LDMX.Hcal import hcal from LDMX.Recon.simpleTrigger import TriggerProcessor from LDMX.TrigScint.trigScint import TrigScintDigiProducer from LDMX.TrigScint.trigScint import TrigScintQIEDigiProducer from LDMX.TrigScint.trigScint import TrigScintRecHitProducer from LDMX.TrigScint.trigScint import TrigScintClusterProducer from LDMX.TrigScint.trigScint import trigScintTrack # ecal digi chain ecalDigi =eDigi.EcalDigiProducer('EcalDigis') ecalReco =eDigi.EcalRecProducer('ecalRecon') ecalVeto =vetos.EcalVetoProcessor('ecalVetoBDT') #hcal digi chain hcalDigi =hDigi.HcalDigiProducer('hcalDigis') hcalReco =hDigi.HcalRecProducer('hcalRecon') hcalVeto =hcal.HcalVetoProcessor('hcalVeto') #TS old digi, needed mostly for reference/beamEfrac studies tsDigisTag =TrigScintDigiProducer.pad2() tsDigisUp =TrigScintDigiProducer.pad1() tsDigisDown =TrigScintDigiProducer.pad3() #TS digi + clustering + track chain ts_digis = [ TrigScintQIEDigiProducer.pad1(), TrigScintQIEDigiProducer.pad2(), TrigScintQIEDigiProducer.pad3(), ] for d in ts_digis : d.randomSeed = 1 ts_rechits = [ TrigScintRecHitProducer.pad1(), TrigScintRecHitProducer.pad2(), TrigScintRecHitProducer.pad3(), ] ts_clusters = [ TrigScintClusterProducer.pad1(), TrigScintClusterProducer.pad2(), TrigScintClusterProducer.pad3(), ] from LDMX.Recon.electronCounter import ElectronCounter eCount = ElectronCounter( nElectrons, "ElectronCounter") # first argument is number of electrons in simulation eCount.use_simulated_electron_number = False eCount.input_pass_name=passName eCount.input_collection="TriggerPadTracksY" p.sequence=[ sim, ecalDigi, ecalReco, ecalVeto, hcalDigi, hcalReco, hcalVeto, tsDigisTag, tsDigisUp, tsDigisDown, *ts_digis, *ts_rechits, *ts_clusters, trigScintTrack, eCount ] layers = [20,34] tList=[] for iLayer in range(len(layers)) : tp = TriggerProcessor("TriggerSumsLayer"+str(layers[iLayer])) tp.start_layer= 0 tp.end_layer= layers[iLayer] tp.trigger_collection= "TriggerSums"+str(layers[iLayer])+"Layers" tList.append(tp) p.sequence.extend( tList ) # ------- first attempt at tracking, taken directly from Tracking/exampleConfigs/reco.py ------- import math # Load the tracking module from LDMX.Tracking import tracking # This has to stay after defining the "TrackerReco" Process in order to load the geometry # From the conditions from LDMX.Tracking import geo p.sequence.extend( tracking.full_tracking_sequence() ) # ------------ end tracking -------------------------- # NOTE for the future: add a keep for tracker digis or rename them to not get dropped along with simhits p.keep = [ "drop MagnetScoringPlaneHits", "drop TrackerScoringPlaneHits", "drop HcalScoringPlaneHits", "drop .*SimHits.*"] p.outputFiles=["simoutput.root"] p.logger.termLevel = 1 # default is 2 (WARNING); but then logFrequency is ignored. level 1 = INFO. #print this many events to stdout (independent on number of events, edge case: round-off effects when not divisible. so can go up by a factor 2 or so) logEvents=20 if p.maxEvents < logEvents : logEvents = p.maxEvents p.logger.frequency = int( p.maxEvents/logEvents ) json.dumps(p.parameterDump(), indent=2) with open('parameterDump.json', 'w') as outfile: json.dump(p.parameterDump(), outfile, indent=4) -------------------------- echo singularity is /usr/bin/singularity Output data file is simoutput.root After init, using singularity image env var LDMX_pro-4.3.3.sif Check: is it in local dir? total 2.7G -rw------- 1 lene hep 47K Apr 17 16:38 ldmx-simprod-rte-helper.py -rwx------ 1 lene hep 3.0K Apr 17 16:38 ldmxsim.sh -rw------- 1 lene hep 4.8K Apr 17 16:38 ldmxjob.py -rw------- 1 lene hep 766 Apr 17 16:38 ldmxproduction.config -rw------- 1 lene hep 2.6G Apr 17 16:38 LDMX_pro-4.3.3.sif -rw------- 1 lene hep 5.8K Apr 17 16:38 stdout Starting Singularity image LDMX_pro-4.3.3.sif /etc/entry.sh: line 16: ldmxjob.py: command not found Singularity exited with code 127. Trying the run command that includes 'fire' ---- LDMXSW: Loading configuration -------- Traceback (most recent call last): File "ldmxjob.py", line 122, in tp = TriggerProcessor("TriggerSumsLayer"+str(layers[iLayer])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: TriggerProcessor.__init__() missing 1 required positional argument: 'beamEnergy' Configuration Error [Python] : Execution of python script failed. at /code/Framework/src/Framework/Configure/Python.cxx:392 in run Singularity exited with code 1. Exiting.