SND@LHC Software
Loading...
Searching...
No Matches
saveBasicParameters.py
Go to the documentation of this file.
1# save python objects as pickle object in ROOT file
2from rootpyPickler import Pickler
3from ShipGeoConfig import AttrDict
4from ShipGeoConfig import ConfigRegistry
5import ROOT,os,subprocess
7 # record some basic information about version of software:
8 if "FAIRSHIP_HASH" in os.environ:
9 o.FairShip = os.environ['FAIRSHIP_HASH']
10 o.FairSoft = '0000000000000000000000000000000000000000'
11 o.FairRoot = os.environ['FAIRROOT_HASH']
12 else:
13 tmp = os.environ['FAIRSHIP']+'/.git/refs/remotes/origin/master'
14 if os.path.isfile(tmp):
15 x = subprocess.check_output(['more',tmp]).replace('\n','')
16 o.FairShip = AttrDict(origin=x)
17 tmp = os.environ['FAIRSHIP']+'/.git/refs/heads/master'
18 if os.path.isfile(tmp):
19 x = subprocess.check_output(['more',tmp]).replace('\n','')
20 o.FairShip = AttrDict(local=x)
21 tmp = os.environ['SIMPATH']+'/../FairSoft/.git/refs/heads/master'
22 if os.path.isfile(tmp):
23 x = subprocess.check_output(['more',tmp]).replace('\n','')
24 o.FairSoft = AttrDict(master=x)
25 tmp = os.environ['SIMPATH']+'/../FairSoft/.git/refs/heads/dev'
26 if os.path.isfile(tmp):
27 x = subprocess.check_output(['more',tmp]).replace('\n','')
28 o.FairSoft = AttrDict(dev=x)
29 tmp = os.environ['FAIRROOTPATH']+'/../FairRoot/.git/refs/heads/dev'
30 if os.path.isfile(tmp):
31 x = subprocess.check_output(['more',tmp]).replace('\n','')
32 o.FairRoot = AttrDict(dev=x)
33 tmp = os.environ['FAIRROOTPATH']+'/../FairRoot/.git/refs/heads/master'
34 if os.path.isfile(tmp):
35 x = subprocess.check_output(['more',tmp]).replace('\n','')
36 o.FairRoot = AttrDict(master=x)
37 return o
38def execute(f,ox,name='ShipGeo'):
39 if type(ox) == type(''): ox = ConfigRegistry.register_config("basic")
40 o = retrieveGitTags(ox)
41 if type(f)==type("s"): fg = ROOT.TFile.Open(f,'update')
42 else: fg = f
43 pkl = Pickler(fg)
44 pkl.dump(o,name)
45 if type(f)==type("s"): fg.Close()
46
47
execute(f, ox, name='ShipGeo')