|
[Rivet] The rivet Python module could not be loadedHao Liu hao.l at cern.chMon Apr 28 18:45:57 BST 2014
Thank you so much Andy, I think I have another quick question here. I finally choose to run it on SLC6, since the setup is easy and straight forward. After I asetup 19.0.1, I tried rivet —help and athena —help. They both works perfectly. I was running athena and old version rivet on SLC5 before. So I have an executable after compilation from rivet 1.8 on SLC5. Just now I tried to run athena by doing: athena jobconf_rivet.py (this one works fine on SLC5). While it gives me error saying below: Shortened traceback (most recent user call last): File "./jobconf_rivet.py", line 21, in <module> rivet.File = lpath+'/'+file2+'.aida' AttributeError: 'Rivet_i' object has no attribute ‘File' I know that the aida would be cause some problem because we don’t use aida anymore in Rivet 2.X. While here I don’t think it’s caused by the aida thing. I am wondering is this because I am using the file compiled on SLC5 using an old version Rivet? I attached the jobconf_rivet.py below. The azh_lltautau is from a rivet code I wrote for the analysis. theApp.EvtMax = -1 import AthenaPoolCnvSvc.ReadAthenaPool import os lpath = os.path.abspath('.') input = lpath+'.txt' file = open(input) file2 = input.split('/')[-1][:-4] svcMgr.EventSelector.InputCollections = [] for line in file: if line[-1] == '\n': sline = line[:-1] svcMgr.EventSelector.InputCollections.append(sline) from AthenaCommon.AlgSequence import AlgSequence job = AlgSequence() from Rivet_i.Rivet_iConf import Rivet_i rivet = Rivet_i() rivet.AnalysisPath = '/afs/cern.ch/work/h/hao/public/AZh_sys_accept/AZh_lltautau_analysis'<http://cern.ch/work/h/hao/public/AZh_sys_accept/AZh_lltautau_analysis'> rivet.Analyses += ['azh_lltautau'] rivet.File = lpath+'/'+file2+'.aida' job += rivet Best, Hao On Apr 28, 2014, at 12:34 PM, Andy Buckley <andy.buckley at cern.ch<mailto:andy.buckley at cern.ch>> wrote: On 28/04/14 18:10, Hao Liu wrote: Hi Andy, I tried this one this time. */afs/cern.ch/sw/lcg/external/MCGenerators_lcgcmt65/rivet/2.1.1/x86_64-slc5-gcc47-opt/rivetenv.sh<http://cern.ch/sw/lcg/external/MCGenerators_lcgcmt65/rivet/2.1.1/x86_64-slc5-gcc47-opt/rivetenv.sh> <http://cern.ch/sw/lcg/external/MCGenerators_lcgcmt65/rivet/2.1.1/x86_64-slc5-gcc47-opt/rivetenv.sh>* * * while I got the same error. Is this caused by my environment? The python I am using right now is */usr/bin/python* The SLC5 (and 6) system Python and GCC aren't a supported LCG platform, so yes it's an environment thing. what do I need to do before I source this rivetenv.sh file? First of all, do you really need to use SLC5? SLC6 is much more up to date and is what's installed on grid nodes now. If you can use SLC6 then the system Python will be ok, I think, and maybe you can even get away with the system GCC but I always set up a newer CC like this: source /afs/cern.ch/sw/lcg/contrib/gcc/4.6/x86_64-slc6-gcc46-opt/setup.sh<http://cern.ch/sw/lcg/contrib/gcc/4.6/x86_64-slc6-gcc46-opt/setup.sh> (or use an even newer one like 4.7 or 4.8 if that's what the Genser builds require) To use a newer Python, do something like this: PATH=/afs/cern.ch/sw/lcg/external/Python/2.6.5/x86_64-slc5-gcc46-opt/bin:$PATH<http://cern.ch/sw/lcg/external/Python/2.6.5/x86_64-slc5-gcc46-opt/bin:$PATH> where the exact path depends on the Python version you need, whether you're using SLC5 or 6, and the GCC version. When I was setting up the old version rivet on slc5. I typed in the command below. *export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase<http://atlas.cern.ch/repo/ATLASLocalRootBase> <http://atlas.cern.ch/repo/ATLASLocalRootBase> source /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/user/atlasLocalSetup.sh<http://atlas.cern.ch/repo/ATLASLocalRootBase/user/atlasLocalSetup.sh> <http://atlas.cern.ch/repo/ATLASLocalRootBase/user/atlasLocalSetup.sh> asetup 17.2.3.3,slc5 source $SITEROOT/sw/lcg/external/MCGenerators_hepmc2.06.05/rivet/1.8.0.a/i686-slc5-gcc43-opt/rivetenv.sh* That's probably not the best idea, since you're then setting up an ATLAS environment (which contains a Rivet version of its own) and then hoping that the rivetenv.sh won't spoil that environment. It might work for Rivet but I don't think running ATLAS commands would be safe anymore! In fact, if you want this for ATLAS purposes then a better thing to do would be to call "asetup 19.0.1" which should automatically provide all the Rivet2 and YODA scripts, plus the ability to run it in Athena. the reason I want to use a new version of rivet is that I want to use the efficiency function in YODA which I believe does’t exist in older version. Great, a real use-case ;-) Please let us know if you need any help with this, or want to suggest improvements! Andy Hi Hao, That build, as the path indicates, is just for our experimental pre-release testing. It was built on SLC6 and hence can only be used from SLC6. And anyway it is old and will be removed/replaced shortly: the current released version is 2.1.1. The best way to use a pre-built up-to-date Rivet from AFS is to source it from a Genser repository at /afs/cern.ch/sw/lcg/external/MCGenerators_lcgcmt*<http://cern.ch/sw/lcg/external/MCGenerators_lcgcmt*> <http://cern.ch/sw/lcg/external/MCGenerators_lcgcmt*> In particular, for SLC5 and Rivet 2.1.1 lcgcmt65 looks "good": /afs/cern.ch/sw/lcg/external/MCGenerators_lcgcmt65/rivet/2.1.1/x86_64-slc5-gcc47-opt/rivetenv.sh<http://cern.ch/sw/lcg/external/MCGenerators_lcgcmt65/rivet/2.1.1/x86_64-slc5-gcc47-opt/rivetenv.sh> <http://cern.ch/sw/lcg/external/MCGenerators_lcgcmt65/rivet/2.1.1/x86_64-slc5-gcc47-opt/rivetenv.sh> Andy On 28/04/14 17:42, Hao Liu wrote: Dear Rivet experts, I encountered some problem when I am trying to setup Rivet on lxplus5 at CERN. I found that there is a 2.0 version rivet in our machine which is here: */afs/cern.ch/sw/lcg/experimental/rivet/setup.sh<http://cern.ch/sw/lcg/experimental/rivet/setup.sh> <http://cern.ch/sw/lcg/experimental/rivet/setup.sh> <http://cern.ch/sw/lcg/experimental/rivet/setup.sh>* but after I sourced this setup file. When I typed into rivet —help, I got the message below: [hao at lxplus438 ~]$ rivet --help *The rivet Python module could not be loaded: is your PYTHONPATH set correctly?* * * This version works fine on lxplus6 machine at CERN. I believe this has something to do with the gcc version but I am not so sure. Best, Hao _______________________________________________ Rivet mailing list Rivet at projects.hepforge.org<mailto:Rivet at projects.hepforge.org> <mailto:Rivet at projects.hepforge.org> https://www.hepforge.org/lists/listinfo/rivet -- Dr Andy Buckley, Royal Society University Research Fellow Particle Physics Expt Group, University of Glasgow / PH Dept, CERN -- Dr Andy Buckley, Royal Society University Research Fellow Particle Physics Expt Group, University of Glasgow / PH Dept, CERN -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://www.hepforge.org/lists-archive/rivet/attachments/20140428/01890624/attachment.html>
More information about the Rivet mailing list |