diff --git a/Tests/Rivet/EE/EE-10.58-sym.in b/Tests/Rivet/EE/EE-10.58-sym.in new file mode 100644 --- /dev/null +++ b/Tests/Rivet/EE/EE-10.58-sym.in @@ -0,0 +1,14 @@ +# -*- ThePEG-repository -*- +create ThePEG::LuminosityFunction /Herwig/EventHandlers/BFactoryLuminosity +set /Herwig/EventHandlers/BFactoryLuminosity:BeamEMaxA 5.29*GeV +set /Herwig/EventHandlers/BFactoryLuminosity:BeamEMaxB 5.29*GeV +set /Herwig/Generators/EventGenerator:EventHandler:Cuts:MHatMin 10.50 +set /Herwig/Particles/e-:PDF /Herwig/Partons/NoPDF +set /Herwig/Particles/e+:PDF /Herwig/Partons/NoPDF +set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction /Herwig/EventHandlers/BFactoryLuminosity + +# BELLE charged particle spectra +#insert /Herwig/Analysis/RivetAnalysis:Analyses 0 BELLE_2019_I1718551 +#insert /Herwig/Analysis/RivetAnalysis:Analyses 0 BELLE_2020_I1777678 +# BABAR azimuthal +insert /Herwig/Analysis/RivetAnalysis:Analyses 0 BABAR_2015_I1377201 \ No newline at end of file diff --git a/Tests/Rivet/EE/EE-10.58.in b/Tests/Rivet/EE/EE-10.58.in --- a/Tests/Rivet/EE/EE-10.58.in +++ b/Tests/Rivet/EE/EE-10.58.in @@ -1,12 +1,10 @@ # -*- ThePEG-repository -*- create ThePEG::LuminosityFunction /Herwig/EventHandlers/BFactoryLuminosity set /Herwig/EventHandlers/BFactoryLuminosity:BeamEMaxA 3.5*GeV set /Herwig/EventHandlers/BFactoryLuminosity:BeamEMaxB 8.*GeV set /Herwig/Generators/EventGenerator:EventHandler:Cuts:MHatMin 9.99 set /Herwig/Particles/e-:PDF /Herwig/Partons/NoPDF set /Herwig/Particles/e+:PDF /Herwig/Partons/NoPDF set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction /Herwig/EventHandlers/BFactoryLuminosity -# BELLE distributions -#insert /Herwig/Analysis/RivetAnalysis:Analyses 0 BELLE_2019_I1718551 # BABAR Xi_c production insert /Herwig/Analysis/RivetAnalysis:Analyses 0 BABAR_2005_S6181155 diff --git a/Tests/python/rivet_check b/Tests/python/rivet_check --- a/Tests/python/rivet_check +++ b/Tests/python/rivet_check @@ -1,136 +1,137 @@ #!/usr/bin/python from __future__ import print_function import glob,subprocess,os,optparse op = optparse.OptionParser(usage=__doc__) op.add_option("--obsolete", dest="obsolete" , default=False, action="store_true" , help="Warn if obsolete analyses not included") op.add_option("--search", dest="search" , default=False, action="store_true" , help="Warn if search analyses not included") op.add_option("--heavy-ion", dest="heavy_ion" , default=False, action="store_true" , help="Warn if heavy ion analyses not included") op.add_option("--MC", dest="MC" , default=False, action="store_true" , help="Warn if MC analyses not included") op.add_option("--print-descriptions", dest="output" , default=False, action="store_true" , help="Print analysis descriptions") opts, args = op.parse_args() # analyses to skip skip = [ "ATLAS_2010_I849050", # alias "TOTEM_2012_002" , # alias "TEST" , # test analysis "ATLAS_2015_I1351916", # same as _EL version "ATLAS_2015_CONF_2015_041", # superseeded "ALICE_2012_I1127497", # lead-lead "ALICE_2012_I930312", # lead-lead "ALICE_2015_PBPBCentrality", # lead-lead "ATLAS_PBPB_CENTRALITY", # lead-lead "ALICE_2015_PPBCentrality", # lead-p "ATLAS_pPb_Calib", # lead-p "BRAHMS_2004_AUAUCentrality",# heavy ion "STAR_2008_S7993412", # heavy ion "STAR_BES_CALIB", # heavy ion "DELPHI_2002_069_CONF_603", # superseeded "CMS_2015_I1370682_PARTON", # parton-level version ] searches=["ALEPH_2016_I1492968","ATLAS_2019_I1725190"] p=subprocess.Popen(["rivet","--list"],stdout=subprocess.PIPE) analyses={} for line in p.communicate()[0].decode("UTF-8").split("\n") : line=line.strip() if(line=="") : continue temp = line.split(None,1) if(len(temp)==2) : analyses[temp[0].strip()] = temp[1].strip() elif(len(temp)==1) : analyses[temp[0].strip()] = "" else : print (line) quit() # main line hw analyses at high energy hw_analyses={} files=[] for idir in glob.glob("Rivet/*") : if( "Powheg" in idir or "MCatNLO" in idir) : continue if ( not os.path.isdir(idir) ) : continue if ( "Templates" in idir ) : continue for ifile in glob.glob("%s/*.in" % idir) : fshort=ifile.split("/")[-1].replace(".in","") files.append(fshort) file=open(ifile) line=file.readline() while line: if("RivetAnalysis:Analyses" in line and line[0]!="#") : line=line.strip().split() anal = line[-1].strip().split(":")[0] if(anal not in hw_analyses) : hw_analyses[anal] = [fshort] else : hw_analyses[anal].append(fshort) line=file.readline() # low energy herwig analysis -p = subprocess.Popen(["./python/LowEnergy.py","--list","--process","All"],stdout=subprocess.PIPE) -lowEnergy = p.communicate()[0] -hw_low_energy_analyses=lowEnergy.strip().split() +hw_low_energy_analyses=[] +for executable in ["LowEnergy-EE","LowEnergy-Photon"] : + p = subprocess.Popen(["./python/%s.py"%executable,"--list","--process","All"],stdout=subprocess.PIPE) + lowEnergy = p.communicate()[0] + hw_low_energy_analyses+=lowEnergy.strip().split() # R analyses p = subprocess.Popen(["./python/R.py","--list"],stdout=subprocess.PIPE) Rlist = p.communicate()[0] -hw_R_analyses=Rlist.strip().split() +hw_low_energy_analyses += Rlist.strip().split() anatohepmc = open("anatohepmc.txt",'w') hepmctoana = open("hepmctoana.txt",'w') not_in_rivet=[] for val in hw_analyses.keys() : not_in_rivet.append(val) # check the analyses for analysis in sorted(analyses.keys()) : # we have it high energy if(analysis in hw_analyses) : anatohepmc.write("%s %s\n" % (analysis,' '.join(sorted(hw_analyses[analysis]))) ) if("[OBSOLETE]" in analyses[analysis]) : print ("WARNING Obsolete analysis %s included : %s" % (analysis,analyses[analysis])) if(analysis in not_in_rivet) : not_in_rivet.remove(analysis) # we have it low energy or R or skipping - elif (analysis in hw_low_energy_analyses or analysis in skip or - analysis in hw_R_analyses ) : + elif (analysis in hw_low_energy_analyses or analysis in skip) : if(analysis in not_in_rivet) : not_in_rivet.remove(analysis) continue # obsolete elif("[OBSOLETE]" in analyses[analysis]) : if(opts.obsolete) : print ("Obsolete analysis %s not included : %s" % (analysis,analyses[analysis])) # searches elif("Search" in analyses[analysis] or "search" in analyses[analysis] or analysis in searches) : if(opts.search) : print ("Search analysis %s not included : %s" % (analysis,analyses[analysis])) # mc only elif(analysis[0:3]=="MC_") : if(opts.MC) : print ("MC analysis %s not included : %s" % (analysis,analyses[analysis])) # examples elif("EXAMPLE" in analyses[analysis]) or "EXAMPLE" in analysis: continue # we don't have it else : p=subprocess.Popen(["rivet","--show-analysis",analysis],stdout=subprocess.PIPE) desc=p.communicate()[0].decode("UTF-8") beams=[] for line in desc.split("\n") : if("Beams:" in line) : beams=line.replace("Beams:","").split() nHeavy = sum((part=="Pb" or part=="Au") for part in beams) if(nHeavy == len(beams) or nHeavy+1 == len(beams)) : if(opts.heavy_ion) : print ("Heavy Ion analysis %s not included : %s" % (analysis,analyses[analysis])) else : print ("MISSING ANALYSIS",analysis,analyses[analysis]) if(opts.output) : print (desc) # output analyses missing from rivet for val in not_in_rivet: print ("NOT IN RIVET ",val) # output second file for rivet anatohepmc.close() for fname in sorted(files) : anals=[] for anal in hw_analyses : if(fname in hw_analyses[anal]) : anals.append(anal) hepmctoana.write("%s %s\n" % (fname,' '.join(sorted(anals))) ) hepmctoana.close()