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 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
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:
slicpandora = SLICPandora() slicpandora.setVersion(pandoraVers) slicpandora.setDetectorModel(detectorName) slicpandora.setPandoraSettings(pandoraSettings) slicpandora.getInputFromApp(lcsim_prepandora) slicpandora.setOutputFile('pandora.slcio') lcsim_postpandora = LCSIM() lcsim_postpandora.setVersion(lcsimVers) lcsim_postpandora.getInputFromApp(slicpandora) lcsim_postpandora.setSteeringFile(lcsimSteering2) lcsim_postpandora.setTrackingStrategy(strategies) lcsim_postpandora.setDetectorModel(detectorName) ### Now with overlay overlay = OverlayInput() overlay.setBXOverlay(60) overlay.setGGToHadInt(1.3) ##When running at 1.4TeV overlay.setDetectorModel("CLIC_SID_CDR") overlay.setBkgEvtType("gghad") lcsim_prepandora_ov = LCSIM() lcsim_prepandora_ov.setVersion(lcsimVers) lcsim_prepandora_ov.setSteeringFile(lcsimSteering1_ov) lcsim_prepandora_ov.setTrackingStrategy(strategies) lcsim_prepandora_ov.setDetectorModel(detectorName) lcsim_prepandora_ov.setOutputFile("prePandora.slcio") slicpandora_ov = SLICPandora() slicpandora_ov.setVersion(pandoraVers) slicpandora_ov.setDetectorModel(detectorName)
mo.setSteeringFile("ild_00.steer") ##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")
mo.setOutputFile("MyFile.slcio") mo.setNbEvts(n_evts_per_job) res = j.append(mo) if not res['OK']: print res['Message'] break ma = Marlin() ma.setVersion("v0111Prod") ma.setSteeringFile("clic_ild_cdr_steering.xml") ma.getInputFromApp(mo) ma.setOutputDstFile("mydst_no_ov_%s.slcio" % i) res = j.append(ma) if not res['OK']: print res['Message'] break ov = OverlayInput() ov.setBXOverlay(60) ov.setGGToHadInt(3.2) ov.setNbSigEvtsPerJob(n_evts_per_job) ov.setBkgEvtType("gghad") ov.setDetectorModel("CLIC_ILD_CDR") res = j.append(ov) if not res['OK']: print res['Message'] break ma2 = Marlin() ma2.setVersion("v0111Prod") ma2.setSteeringFile("clic_ild_cdr_steering_overlay.xml") ma2.getInputFromApp(mo) ma2.setOutputDstFile("mydst_ov_%s.slcio" % i)
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
def subOverlay(): # Decide parameters for a job outputSE = "KEK-SRM" isLocal = _clip.isLocal nbevts = 50 if _clip.numberOfEvents == 0 else _clip.numberOfEvents nbevts = 0 # To analize all input events outputFilePrefix = "overlay_example" if _clip.outputFilePrefix == "" else _clip.outputFilePrefix outputDir = _clip.outputDir inputFile = _clip.inputFile if inputFile == "": gLogger.error("Input file for ddsim does not given.") exit(-1) recfile = outputFilePrefix + ".rec.slcio" dstfile = outputFilePrefix + ".dst.slcio" detector_model = "ILD_l5_o1_v02" key = detector_model.split('_') sim_detectorModel = "_".join([key[0], key[1], key[3]]) # Create DIRAC objects for job submission dIlc = DiracILC() job = UserJob() job.setJobGroup("myoverlayjob") job.setName("myoverlay") job.setOutputSandbox(['*.log', '*.sh', '*.py', '*.xml']) job.setILDConfig("v02-00-02") # job.setInputSandbox(["a6-parameters.sin", "P2f_qqbar.sin"]) # job.setDestination(["LCG.KEK.jp", "LCG.DESY-HH.de"]) # job submission destination # job.setBannedSites([]) # a list of sites not to submit job # job.setCPUTime( cputime_limit_in_seconds_by_dirac_units ) # Create Overlay application ovldata = [{ "ProcessorName": "BgOverlayWW", "evttype": "aa_lowpt_WW", "ProdID": 10237, "expBG": 0.211, "subdir": "000" }, { "ProcessorName": "BgOverlayWB", "evttype": "aa_lowpt_WB", "ProdID": 10241, "expBG": 0.24605, "subdir": "000" }, { "ProcessorName": "BgOverlayBW", "evttype": "aa_lowpt_BW", "ProdID": 10239, "expBG": 0.243873, "subdir": "000" }, { "ProcessorName": "BgOverlayBB", "evttype": "aa_lowpt_BB", "ProdID": 10235, "expBG": 0.35063, "subdir": "000" }, { "ProcessorName": "PairBgOverlay", "evttype": "seeablepairs", "ProdID": 10233, "expBG": 1.0, "subdir": "100" }] BXOverlay = 1 NbSigEvtsPerJob = 100 numberOfSignalEvents = NbSigEvtsPerJob basebkgpath = "/ilc/prod/ilc/mc-opt-3/ild/sim/500-TDR_ws" energy = "500" for ovl in ovldata: print "### OverlayInput ... " + ovl["ProcessorName"] ovlapp = OverlayInput() ovlpath = "%s/%s/%s/v02-00-01/%8.8d/%s" % \ ( basebkgpath, ovl["evttype"], sim_detectorModel, ovl["ProdID"] , ovl["subdir"] ) print " OverlayPath ... " + ovlpath ovlapp.setMachine("ilc_dbd") # ovlapp.setEnergy(energy) # ovlapp.setDetectorModel(sim_detectorModel) ovlapp.setProcessorName(ovl["ProcessorName"]) ovlapp.setBkgEvtType(ovl["evttype"]) ovlapp.setPathToFiles(ovlpath) ovlapp.setGGToHadInt(ovl["expBG"]) ovlapp.setBXOverlay(BXOverlay) ovlapp.setNbSigEvtsPerJob(NbSigEvtsPerJob) ovlapp.setNumberOfSignalEventsPerJob(numberOfSignalEvents) res = job.append(ovlapp) if not res['OK']: print res['Message'] exit(1) # Create Marlin application marlin = Marlin() marlin.setVersion("ILCSoft-02-00-02_gcc49") marlin.setDetectorModel(detector_model) marlin.setSteeringFile("MarlinStdReco.xml") marlin.setInputFile(inputFile) marlin.setNumberOfEvents(nbevts) marlin.setOutputDstFile(dstfile) marlin.setOutputRecFile(recfile) extraCLIArguments = " --constant.DetectorModel=%s " % detector_model extraCLIArguments += " --constant.RunOverlay=true --constant.CMSEnergy=%s " % str( energy) extraCLIArguments += " --global.Verbosity=MESSAGE " marlin.setExtraCLIArguments(extraCLIArguments) job.append(marlin) if outputDir != "": job.setOutputData([dstfile, recfile], OutputPath=outputDir, OutputSE=outputSE) if isLocal: job.submit(dIlc, mode="local") else: job.submit(dIlc)
def setUp(self): """set up the objects""" self.olin = OverlayInput({})