def getOverlay(self, nbevts): """ Create an overlay step """ pathToFiles = None from ILCDIRAC.Interfaces.API.NewInterface.Applications import OverlayInput overlay = OverlayInput() if self.energy == 350: if self.detectorModel == "ILD_o1_v05": pathToFiles = "/ilc/user/s/sailer/testFiles/overlay/ild_350/" if pathToFiles: overlay.setPathToFiles(pathToFiles) else: self.log.warn( "better define pathToFiles for this overlay: %s, %s, %s" % (self.energy, self.machine, self.backgroundType)) overlay.setMachine(self.machine) overlay.setEnergy(self.energy) overlay.setDetectorModel(self.detectorModel) overlay.setBkgEvtType(self.backgroundType) overlay.setBXOverlay(60) overlay.setGGToHadInt(0.3) overlay.setNumberOfSignalEventsPerJob(nbevts) return overlay
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 createOverlayApplication( self, energy ): """ create Overlay Application """ from ILCDIRAC.Interfaces.API.NewInterface.Applications import OverlayInput overlay = OverlayInput() overlay.setMachine( 'clic_opt' ) overlay.setEnergy( energy ) overlay.setBackgroundType( self._overlayEventType ) overlay.setDetectorModel( self.detectorModel ) try: overlayEnergy = energyToInt( self.overlayEvents ) if self.overlayEvents else energy self.overlayParameterDict().get( overlayEnergy ) ( overlay ) except TypeError: raise RuntimeError( "No overlay parameters defined for %r GeV and %s " % ( energy, self._overlayEventType ) ) if self.overlayEvents: overlay.setUseEnergyForFileLookup( False ) return overlay
def createOverlayApplication( self, energy ): """ create Overlay Application """ from ILCDIRAC.Interfaces.API.NewInterface.Applications import OverlayInput overlay = OverlayInput() overlay.setEnergy(energy) overlay.setBackgroundType(self.overlayEventType) overlay.setDetectorModel(self.detectorModel) try: overlayEnergy = energyToInt( self.overlayEvents ) if self.overlayEvents else energy self.setOverlayParameters(overlayEnergy, self._machine, overlay) except KeyError: raise RuntimeError("No overlay parameters defined for %r GeV and %s " % (energy, self.overlayEventType)) if self.overlayEvents: overlay.setUseEnergyForFileLookup( False ) self._setApplicationOptions("Overlay", overlay) return overlay
def getOverlay(self, nbevts): """ Create an overlay step """ pathToFiles = None from ILCDIRAC.Interfaces.API.NewInterface.Applications import OverlayInput overlay = OverlayInput() if self.energy==350: if self.detectorModel=="ILD_o1_v05": pathToFiles="/ilc/user/s/sailer/testFiles/overlay/ild_350/" if pathToFiles: overlay.setPathToFiles(pathToFiles) else: self.log.warn("better define pathToFiles for this overlay: %s, %s, %s" % (self.energy, self.machine, self.backgroundType) ) overlay.setMachine(self.machine) overlay.setEnergy(self.energy) overlay.setDetectorModel(self.detectorModel) overlay.setBkgEvtType(self.backgroundType) overlay.setBXOverlay(60) overlay.setGGToHadInt(0.3) overlay.setNumberOfSignalEventsPerJob(nbevts) return overlay
from DIRAC.Resources.Catalog.FileCatalogClient import FileCatalogClient fc = FileCatalogClient() meta = {} meta["ProdID"] = 651 res = fc.findFilesByMetadata(meta) if not res['OK']: print "Found no files" exit() lfns = res['Value'] print "found %s files" % len(lfns) ovi = OverlayInput() ovi.setEnergy(500.) ovi.setBXOverlay(300) ovi.setGGToHadInt(0.3) ovi.setNbSigEvtsPerJob(10) ovi.setBkgEvtType("gghad") ovi.setDetectorModel("CLIC_ILD_CDR") overlay = [True, False] for ov in overlay: d = DiracILC(True, "repo_overlay_%s.rep" % ov) for lfn in lfns: j = UserJob() steeringf = "clic_ild_cdr_steering.xml" if ov: steeringf = "clic_ild_cdr_steering_overlay.xml"
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
lcfivertex.getInputFromApp(slicpandora) lcfivertex.setSteeringFile() lcfivertex.setOutputFile("lcfivertex.slcio")#NEVER CHANGE THIS, this file is not stored in any case #Final step. Outpufile is resolved automatically lcsim_postpandora = LCSIM() lcsim_postpandora.setVersion('CLIC_CDR')#This will change only once lcsim_postpandora.getInputFromApp(lcfivertex) lcsim_postpandora.setSteeringFile("clic_cdr_postPandoraOverlay.lcsim")#This will change only once lcsim_postpandora.setTrackingStrategy(tracking_strategy) #lcsim_postpandora.setDetectorModel(detector_model) ## SID Reco w/o overlay overlay_sid_gg = OverlayInput() overlay_sid_gg.setBkgEvtType("gghad")#DO NOT TOUCH THIS overlay_sid_gg.setEnergy(energy) if energy == 1000.: overlay_sid_gg.setBXOverlay(1) overlay_sid_gg.setGGToHadInt(4.1)##When running at 3TeV else: print("Overlay SID: No overlay parameters defined for this energy") overlay_sid_gg.setDetectorModel("sidloi3")#DO NOT TOUCH THIS overlay_sid_pairs = OverlayInput() overlay_sid_pairs.setBkgEvtType("pairs")#DO NOT TOUCH THIS overlay_sid_pairs.setEnergy(energy) if energy == 1000.: overlay_sid_pairs.setBXOverlay(1) overlay_sid_pairs.setGGToHadInt(1)##When running at 3TeV else: print("Overlay SID: No overlay parameters defined for this energy")
ddsim = None if UseDD4hepGeometry: ddsim = DDSim() ddsim.setVersion(DDSimVer) ###SET HERE YOUR MOKKA VERSION, the software will come from the ILDConfig ddsim.setDetectorModel(detectorModel) ddsim.setSteeringFile("ddsim_steer.py") ##Split split = SLCIOSplit() split.setNumberOfEventsPerFile(nbevtsperfile) ##Define the overlay overlay = OverlayInput() overlay.setMachine("ilc_dbd") #Don't touch, this is how the system knows what files to get overlay.setEnergy(energy) #Don't touch, this is how the system knows what files to get overlay.setDetectorModel(detectorModel) #Don't touch, this is how the system knows what files to get if energy==500.: #here you chose the overlay parameters as this determines how many files you need #it does NOT affect the content of the marlin steering file whatsoever, you need to make sure the values #there are correct. Only the file names are handled properly so that you don't need to care overlay.setBXOverlay(BXOverlay) overlay.setGGToHadInt(GGToHadInt500) overlay.setBkgEvtType("aa_lowpt2") ## lowpt2: correct number of events (500), ## not increased to 2500 to reduce number ## of downloaded files elif energy == 1000.: overlay.setBXOverlay(BXOverlay) overlay.setGGToHadInt(GGToHadInt1000) overlay.setBkgEvtType("aa_lowpt") elif energy == 350.: overlay.setBXOverlay(BXOverlay)
##Simulation ILD mo = Mokka() mo.setVersion(MokkaVer) ###SET HERE YOUR MOKKA VERSION, the software will come from the ILDConfig mo.setDetectorModel(detectorModel) mo.setSteeringFile("bbudsc_3evt.steer") ### Do not include '.tgz' mo.setDbSlice(dbslice) ##Split split = SLCIOSplit() split.setNumberOfEventsPerFile(nbevtsperfile) ##Define the overlay overlay = OverlayInput() overlay.setMachine("ilc_dbd") #Don't touch, this is how the system knows what files to get overlay.setEnergy(energy) #Don't touch, this is how the system knows what files to get overlay.setDetectorModel(detectorModel) #Don't touch, this is how the system knows what files to get if energy == 500.: #here you chose the overlay parameters as this determines how many files you need #it does NOT affect the content of the marlin steering file whatsoever, you need to make sure the values #there are correct. Only the file names are handled properly so that you don't need to care overlay.setBXOverlay(BXOverlay) overlay.setGGToHadInt(GGToHadInt500) overlay.setBkgEvtType("aa_lowpt2") ## lowpt2: correct number of events (500), ## not increased to 2500 to reduce number ## of downloaded files elif energy == 1000.: overlay.setBXOverlay(BXOverlay) overlay.setGGToHadInt(GGToHadInt1000) overlay.setBkgEvtType("aa_lowpt") elif energy == 350.: overlay.setBXOverlay(BXOverlay)
##Simulation SID slic = SLIC() slic.setVersion('v2r9p8') slic.setSteeringFile('defaultClicCrossingAngle.mac') slic.setDetectorModel('clic_sid_cdr') ##Split split = SLCIOSplit() split.setNumberOfEventsPerFile(nbevtsperfile) overlay = OverlayInput() overlay.setMachine("clic_cdr") overlay.setEnergy(energy) overlay.setBkgEvtType("gghad") if energy==500.: overlay.setBXOverlay(300) overlay.setGGToHadInt(0.3)##When running at 500geV overlay.setDetectorModel("CLIC_ILD_CDR500") elif energy == 350.: overlay.setBXOverlay(300) overlay.setGGToHadInt(0.0464)##When running at 350geV overlay.setDetectorModel("CLIC_ILD_CDR500") elif energy == 3000.: overlay.setBXOverlay(60) overlay.setGGToHadInt(3.2)##When running at 3TeV overlay.setDetectorModel("CLIC_ILD_CDR") elif energy == 1400.: overlay.setBXOverlay(60)
"lcfivertex.slcio" ) #NEVER CHANGE THIS, this file is not stored in any case #Final step. Outpufile is resolved automatically lcsim_postpandora = LCSIM() lcsim_postpandora.setVersion('CLIC_CDR') #This will change only once lcsim_postpandora.getInputFromApp(lcfivertex) lcsim_postpandora.setSteeringFile( "clic_cdr_postPandoraOverlay.lcsim") #This will change only once lcsim_postpandora.setTrackingStrategy(tracking_strategy) #lcsim_postpandora.setDetectorModel(detector_model) ## SID Reco w/o overlay overlay_sid_gg = OverlayInput() overlay_sid_gg.setBkgEvtType("gghad") #DO NOT TOUCH THIS overlay_sid_gg.setEnergy(energy) if energy == 1000.: overlay_sid_gg.setBXOverlay(1) overlay_sid_gg.setGGToHadInt(4.1) ##When running at 3TeV else: print "Overlay SID: No overlay parameters defined for this energy" overlay_sid_gg.setDetectorModel("sidloi3") #DO NOT TOUCH THIS overlay_sid_pairs = OverlayInput() overlay_sid_pairs.setBkgEvtType("pairs") #DO NOT TOUCH THIS overlay_sid_pairs.setEnergy(energy) if energy == 1000.: overlay_sid_pairs.setBXOverlay(1) overlay_sid_pairs.setGGToHadInt(1) ##When running at 3TeV else: print "Overlay SID: No overlay parameters defined for this energy"
fc = FileCatalogClient() meta={} meta["ProdID"]=651 res = fc.findFilesByMetadata(meta) if not res['OK']: print("Found no files") exit() lfns = res['Value'] print("found %s files" % len(lfns)) ovi = OverlayInput() ovi.setEnergy(500.) ovi.setBXOverlay(300) ovi.setGGToHadInt(0.3) ovi.setNbSigEvtsPerJob(10) ovi.setBkgEvtType("gghad") ovi.setDetectorModel("CLIC_ILD_CDR") overlay = [True,False] for ov in overlay: d = DiracILC(True,"repo_overlay_%s.rep"%ov) for lfn in lfns: j = UserJob() steeringf = "clic_ild_cdr_steering.xml" if ov: steeringf = "clic_ild_cdr_steering_overlay.xml"
outdst = "toto-ovl.dst.slcio" #% i outrec = "toto-ovl.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("MarlinOverlayExample")#%i) j.setInputSandbox([setting_file]) ## Define the overlay ov = OverlayInput() ov.setMachine("ilc_dbd") ov.setEnergy(energy) ov.setNumberOfSignalEventsPerJob(n_events_per_job) ov.setBXOverlay(BXOverlay) ov.setGGToHadInt(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")