def getJob(jobid, jobpara): iser=jobid+1 outdst = "toto-ovl-%5.5i.dst.slcio"%iser outrec = "toto-ovl-%5.5i.rec.slcio"%iser ###In case one wants a loop: comment the folowing. #for i in range(2): j = UserJob() j.setJobGroup("Tutorial") j.setName("MarlinOverlayParametric%i"%iser) j.setInputSandbox(jobpara["setting_file"]) ## Define the overlay ov = OverlayInput() ov.setMachine("ilc_dbd") ov.setEnergy(energy) ov.setNumberOfSignalEventsPerJob(int(jobpara["n_events_per_job"])) ov.setBXOverlay(int(jobpara["BXOverlay"])) ov.setGGToHadInt(float(jobpara["GGToHadInt500"])) ov.setBkgEvtType("aa_lowpt") # ov.setBackgroundType("aa_lowpt") ov.setDetectorModel("ILD_o1_v05") res = j.append(ov) if not res['OK']: print res['Message'] exit(1) ## Define Marlin job ma = Marlin() ma.setDebug() ma.setVersion("ILCSoft-01-17-09") ma.setSteeringFile("marlin_ovl_stdreco.xml") ma.setGearFile("GearOutput.xml") # ma.setInputFile(simfile) ma.setInputFile(simlists[jobid]) ma.setOutputDstFile(outdst) ma.setOutputRecFile(outrec) res = j.append(ma) if not res['OK']: print res['Message'] exit(1) j.setOutputData([outdst,outrec],"myprod2/test","PNNL-SRM") j.setOutputSandbox(["*.log","*.xml","*.sh","TaggingEfficiency.root","PfoAnalysis.root"]) j.setCPUTime(10000) j.dontPromptMe() return j
def createMarlinApplication(self, energy, cliReco, over): """Create Marlin application with or without overlay.""" from ILCDIRAC.Interfaces.API.NewInterface.Applications import Marlin marlin = Marlin() marlin.setDebug() marlin.setVersion( self.softwareVersion ) marlin.setDetectorModel( self.detectorModel ) marlin.detectortype = self.detectorModel marlin.setKeepRecFile(False) if over: self.addOverlayOptionsToMarlin( energy ) self.cliReco = ' '.join([self.cliRecoOption, self.cliReco, cliReco]).strip() marlin.setExtraCLIArguments(self.cliReco) self.cliReco = '' marlin.setSteeringFile(self.marlinSteeringFile) self._setApplicationOptions("Marlin", marlin) return marlin
def createMarlinApplication( self, energy ): """ create Marlin Application without overlay """ from ILCDIRAC.Interfaces.API.NewInterface.Applications import Marlin marlin = Marlin() marlin.setDebug() marlin.setVersion( self.softwareVersion ) marlin.setDetectorModel( self.detectorModel ) marlin.detectortype = self.detectorModel if self._flags.over: self.addOverlayOptionsToMarlin( energy ) marlin.setExtraCLIArguments( self.cliReco ) steeringFile = { 350. : "clicReconstruction.xml", 380. : "clicReconstruction.xml", 420. : "clicReconstruction.xml", 1400.: "clicReconstruction.xml", 3000.: "clicReconstruction.xml", }.get( energy, 'clicReconstruction.xml' ) marlin.setSteeringFile( steeringFile ) return marlin
def getJob(dirac, jobid, jobpara): iser=jobid+100 outdir = "/ilc/user/a/amiyamoto/myprod2/test/" outdst = "toto-ovl-%5.5i.dst.slcio"%iser outrec = "toto-ovl-%5.5i.rec.slcio"%iser dstlfn = outdir+"dst/"+outdst reclfn = outdir+"rec/"+outrec outsrm = "CERN-SRM" ###In case one wants a loop: comment the folowing. #for i in range(2): j = UserJob() j.setJobGroup("Tutorial") j.setName("MarlinOverlayParametric%i"%iser) j.setInputSandbox(jobpara["setting_file"]) ## Define the overlay ov = OverlayInput() ov.setMachine("ilc_dbd") ov.setEnergy(energy) ov.setNumberOfSignalEventsPerJob(int(jobpara["n_events_per_job"])) ov.setBXOverlay(int(jobpara["BXOverlay"])) ov.setGGToHadInt(float(jobpara["GGToHadInt500"])) ov.setBkgEvtType("aa_lowpt") # ov.setBackgroundType("aa_lowpt") ov.setDetectorModel("ILD_o1_v05") res = j.append(ov) if not res['OK']: print res['Message'] exit(1) ## Define Marlin job ma = Marlin() ma.setDebug() ma.setVersion("ILCSoft-01-17-09") ma.setSteeringFile("marlin_stdreco.xml") ma.setGearFile("GearOutput.xml") # ma.setInputFile(simfile) ma.setInputFile(simlists[jobid]) ma.setOutputDstFile(outdst) ma.setOutputRecFile(outrec) res = j.append(ma) if not res['OK']: print res['Message'] exit(1) # Upload files to different directories upload_script="upload%i.sh"%iser upload = GenericApplication() # Create a script to upload files. shfile = open(upload_script,"w") shfile.write("#!/bin/bash\n") shfile.write("/bin/ls -l \n") shfile.write("dirac-dms-add-file -ddd "+dstlfn+" "+outdst+" "+outsrm+" \n") shfile.write("dirac-dms-add-file -ddd "+reclfn+" "+outrec+" "+outsrm+" \n") shfile.close() os.chmod(upload_script,0755) upload.setScript(upload_script) res = j.append(upload) if not res['OK'] : print res['Message'] exit(1) # j.setOutputData([outdst,outrec],"myprod2/test","PNNL-SRM") j.setInputSandbox([ setting_file, upload_script ] ) j.setOutputSandbox(["*.log","*.xml","*.sh","TaggingEfficiency.root","PfoAnalysis.root"]) j.setCPUTime(10000) j.dontPromptMe() res = j.submit(dirac) if not res["OK"] : print "Failed submit job, jobid=%s" %jobid print res os.remove(upload_script) return j
gearfile=basedir+"GearOutput.xml" outdst = "toto.dst.slcio" #% i outrec = "toto.rec.slcio" #% i d= DiracILC(True,"repo.rep") ###In case one wants a loop: comment the folowing. #for i in range(2): j = UserJob() j.setJobGroup("Tutorial") j.setName("MarlinExample")#%i) ma = Marlin() ma.setDebug() # ma.setLogLevel("verbose") # ma.setILDConfig("v01-16-p05_500") ma.setVersion("v01-16-02") ma.setSteeringFile("marlin_stdreco.xml") ma.setGearFile(gearfile) ma.setInputFile([simfile, pandoraLikelihoodData, bg_aver]) ma.setOutputDstFile(outdst) ma.setOutputRecFile(outrec) res = j.append(ma) if not res['OK']: print res['Message'] exit(1)
overlay.setBkgEvtType("aa_lowpt") elif energy == 350.: overlay.setBXOverlay(BXOverlay) overlay.setGGToHadInt(GGToHadInt350) overlay.setBkgEvtType("aa_lowpt") elif energy == 250.: overlay.setBXOverlay(BXOverlay) overlay.setGGToHadInt(GGToHadInt250) overlay.setBkgEvtType("aa_lowpt") else: print "Overlay ILD: No overlay parameters defined for this energy" ##Reconstruction ILD with overlay mao = Marlin() mao.setDebug() mao.setVersion(MarlinVer) ##PUT HERE YOUR MARLIN VERSION if ild_rec_ov: if energy in [250.0, 350.0, 500.0, 1000.0]: if UseDD4hepGeometry: mao.setSteeringFile("bbudsc_3evt_stdreco_dd4hep.xml") mao.setGearFile("GearOutput.xml") mao.setDetectorModel(detectorModel) else: mao.setSteeringFile("bbudsc_3evt_stdreco.xml") mao.setGearFile("GearOutput.xml") else: print "Marlin: No reconstruction suitable for this energy" ##Reconstruction ILD w/o overlay
ov.setDetectorType("ILD") ov.setBXOverlay(60) ov.setGGToHadInt(3.2) ov.setNbSigEvtsPerJob(1) res = j.append(ov) if not res["OK"]: print res["Message"] dexit(1) ma = Marlin() ma.setVersion("v0111Prod") ma.setSteeringFile("clic_ild_cdr_steering_overlay.xml") ma.setGearFile("clic_ild_cdr.gear") ma.getInputFromApp(mo) ma.setDebug(True) res = j.append(ma) if not res["OK"]: print res["Message"] dexit(1) # print appplication's attributes. ma.listAttributes() j.setName("test") j.setOutputSandbox("*.log") res = dirac.checkparams(j) if not res["OK"]: print res["Message"] dexit(1)
ov.setBXOverlay(60) ov.setGGToHadInt(3.2) ov.setNbSigEvtsPerJob(1) ov.setBkgEvtType("gghad") res = j.append(ov) if not res['OK']: print res['Message'] dexit(1) ma = Marlin() ma.setVersion("v0111Prod") ma.setSteeringFile("clic_ild_cdr_steering_overlay.xml") ma.setGearFile("clic_ild_cdr.gear") ma.getInputFromApp(mo) ma.setDebug(True) res = j.append(ma) if not res['OK']: print res['Message'] dexit(1) #print appplication's attributes. ma.listAttributes() j.setName("test") j.setOutputSandbox("*.log") res = dirac.checkparams(j) if not res['OK']: print res['Message'] dexit(1)