SND@LHC Software
Loading...
Searching...
No Matches
run_prod.py
Go to the documentation of this file.
1from __future__ import print_function
2import os,time,ROOT
3def makeProd(prefix,DY,y=False,phiRandom=False,X=None):
4 ncpu = 9
5 shipsoft = os.environ['SHIPSOFT'].replace('/dev','')
6 if not y:
7 f = shipsoft+'/data/pythia8_Geant4_onlyMuons.root'
8 cmd = "python $FAIRSHIP/macro/run_simScript.py --MuonBack -f " + f + " -Y "+str(float(DY)) # --display"
9 elif y=='Jpsi':
10 f = shipsoft+'/data/pythia8_Geant4_Jpsi_onlyMuons.root'
11 cmd = "python $FAIRSHIP/macro/run_simScript.py --MuonBack -f " + f + " -Y "+str(float(DY)) # --display"
12 else:
13 f = shipsoft+'/data/pythia8_Geant4_Yandex_onlyMuons.root'
14 cmd = "python $FAIRSHIP/macro/run_simScript.py --MuonBack -f " + f + " -Y "+str(float(DY)) # --display"
15 if phiRandom: cmd = cmd +' --phiRandom'
16 fn = ROOT.TFile(f)
17 sTree = fn.FindObjectAny('pythia8-Geant4')
18 ntot = sTree.GetEntries()
19 fn.Close()
20 ns = 0
21 n3 = int(ntot/ncpu)
22 for i in range(1,ncpu+1):
23 d = prefix+str(i)
24 if d not in os.listdir('.'): os.system('mkdir '+d)
25 os.chdir('./'+prefix+'1')
26 for i in range(1,ncpu+1):
27 if i==ncpu: n3 = ntot - (i-1)*n3
28 if X:
29 if X==i:
30 os.system('cp $FAIRSHIP/macro/run_simScript.py .')
31 os.system(cmd+" -n "+str(n3)+" -i "+str(ns) + " > log &")
32 else:
33 os.system('cp $FAIRSHIP/macro/run_simScript.py .')
34 os.system(cmd+" -n "+str(n3)+" -i "+str(ns) + " > log &")
35 time.sleep(5)
36 #print " -n "+str(n3)+" -i "+str(ns)
37 ns += n3
38 if i==ncpu:
39 os.chdir('../')
40 break
41 os.chdir('../'+prefix+str(i+1))
42#
43# 11-19 with QGSP_BERT_EMV instead of QGSP_BERT_HP_PEN
44# 51-59 passive shielding
45# 41-49 fixed field horizontal
46# 61-69 chamber with vacuum
47# 71-79 without field in the wings
48# 81-89 add shielding
49# 91-99 also 111-119 switch off muBrems, muPair
50# 101-109 vacuum tube as cone, Al->Steel
51# 121-129 switch off only muIoni
52# 151-159 vacuum tube as cone, Al->Steel, air in cave
53# 161-169 new geometry
54# 251-259 passive shielding with concrete walls
55# 171-179 new increased Bdl, 2.5m clearance from start, 9m space for tau
56# 181-189 even more field, narrow tunnel around first magnet, add 2m hadron absorber
57# 311-314 change numbering of veto volumes
58# 321-324 1 Teslas
59# 331-339 added TauSensitive, fixed C1, using muons from Yandex
60# 341-349 should be the same as 331-339
61# 351-354 fixed RpcPoints, fixed field ! also - 359 made on t3
62# 361-364 4m high magnets!
63# 371-374 new strawpoints with magC1 fixed
64# 381-389 yandex file, overwrite with magC1 fixed
65# 391-399 change to dY = 2m
66# 401-409 change to dY = 2m Yandex
67# 411-419 back to dY = 4m, add sensitive plance downstream det2
68# 421-429 reduce size of vaccum tank before veto station, add pdgcode for muonPoint, move det2 closer
69# 431-439 reduce size of vaccum tank before veto station, add pdgcode for muonPoint, move det2 closer Yandex
70# 441-449 try with increased tau mu detector, and reduced height of active muon shield, dy=1m
71# 451-459 try with increased tau mu detector, and reduced height of active muon shield, dy=1m Yandex
72# 461-469 dy=4m and then 1m, RPC fixed, display on
73# 471-479 dy=4m and then 1m, RPC fixed, Yandex
74# 481-489 dy=4m and then 1m, RPC fixed, display OFF
75# 491-499 back to dy=1m display on
76# 501-509 dy=4m for last magnet part, display on
77# 511-519 dy=2,3,4m for last magnet parts, display on
78# 521-529 removal of almost overlaps
79# 551-554 ultimate slim design
80# 561-564 fixing overlaps hcal and almost overlaps in magnets
81# 571-574 more undetected overlaps fixed
82# 581-584 test with replacing tungsten core with iron
83# reuse the following, minor mod det2 with shielding, different lengths, new fine tuned active shield, no hcal overlap
84# new scaling of L vs Y
85# 591-599 6m height
86# 601-609 6m height, Yandex data
87# 610-619 10m height
88# 620-629 10m height, Yandex data
89#
90# 630-639 10m height, change RPC width 4.5->3.6m
91# 640-649 6m height, change RPC width 4.5->3.6m
92#makeProd("muon59",6,False) #
93#makeProd("muon60",6,True) #
94#makeProd("muon61",10,False) #
95#makeProd("muon62",10,True) #
96
97# makeProd("muon63",10,False) #
98# makeProd("muon64",10,True) #
99# makeProd("muon65",6,False) #
100# makeProd("muon66",6,True) #
101
102# run more statistics, 61, 62
103#makeProd("muon611",10,False,True)
104#makeProd("muon621",10,True,True)
105#makeProd("muon612",10,False,True)
106#makeProd("muon622",10,True,True)
107#makeProd("muon613",10,False,True)
108#makeProd("muon623",10,True,True)
109#makeProd("muon614",10,False,True)
110#makeProd("muon624",10,True,True)
111#makeProd("muon615",10,False,True)
112#makeProd("muon625",10,True,True)
113#makeProd("muon616",10,False,True)
114#makeProd("muon626",10,True,True)
115#makeProd("muon617",10,False,True)
116#makeProd("muon627",10,True,True)
117#makeProd("muon618",10,False,True)
118#makeProd("muon628",10,True,True)
119#makeProd("muon619",10,False,True)
120#makeProd("muon629",10,True,True)
121#makeProd("muon700",10,False,False) # switch off field of active shielding # prefix,DY,y=False,phiRandom=False,X=None
122#makeProd("muon710",10,False,False) # start production with beam smeared on r=3cm disk
123#makeProd("muon720",10,True,False)
124#makeProd("muon711",10,False,True) # start production with beam smeared on r=3cm disk
125#makeProd("muon721",10,True,True)
126#makeProd("muon712",10,False,True) # start production with beam smeared on r=3cm disk
127#makeProd("muon722",10,True,True)
128#makeProd("muon713",10,False,True) # start production with beam smeared on r=3cm disk
129#makeProd("muon723",10,True,True)
130#makeProd("muon714",10,False,True) # start production with beam smeared on r=3cm disk
131#makeProd("muon724",10,True,True)
132#makeProd("muon715",10,False,True) # start production with beam smeared on r=3cm disk
133#makeProd("muon725",10,True,True)
134#makeProd("muon716",10,False,True) # start production with beam smeared on r=3cm disk
135#makeProd("muon726",10,True,True)
136#makeProd("muon717",10,False,True) # start production with beam smeared on r=3cm disk
137#makeProd("muon777",10,False,True) # in case the other one does not work 717
138#makeProd("muon727",10,True,True) # ?
139#makeProd("muon718",10,False,True) # start production with beam smeared on r=3cm disk
140#makeProd("muon728",10,True,True)
141#makeProd("muon719",10,False,True) # start production with beam smeared on r=3cm disk
142#makeProd("muon729",10,True,True) #
143#makeProd("muon730",10,'Jpsi',False) # made with E50
144#makeProd("muon731",10,'Jpsi',True) # made with E50
145#makeProd("muon732",10,'Jpsi',True) # made with E50
146#makeProd("muon733",10,'Jpsi',True) # back to pencil beam
147#makeProd("muon630",10,False,True) # test with new muonShield code, 3cm smearing
148#makeProd("muon631",10,False,True) # run with concrete wall enabled as sensitive
149#makeProd("muon632",10,False,True) # run with concrete wall enabled as sensitive, active shielding polarity fixed
150 # but wrong geometry
151#makeProd("muon810",10,False,False) # start production with latest geometry
152#makeProd("muon820",10,True,False)
153#makeProd("muon811",10,False,True) #
154#makeProd("muon821",10,True,True)
155
162
163#makeProd("muon814",10,False,True) #
164#makeProd("muon824",10,True,True)
165#makeProd("muon815",10,False,True)
166#makeProd("muon825",10,True,True)
167#makeProd("muon816",10,False,True)
168#makeProd("muon826",10,True,True)
169#makeProd("muon817",10,False,True)
170#makeProd("muon827",10,True,True)
171#makeProd("muon818",10,False,True)
172#makeProd("muon828",10,True,True)
173#makeProd("muon819",10,False,True)
174#makeProd("muon829",10,True,True)
175#makeProd("muon910",10,False,True)
176#makeProd("muon920",10,True,True)
177#makeProd("muon911",10,False,True)
178#makeProd("muon921",10,True,True)
179
180#makeProd("muon912",10,False,True)
181#makeProd("muon922",10,True,True)
182
183#makeProd("muon913",10,False,True)
184#makeProd("muon923",10,True,True)
185#makeProd("muon914",10,False,True)
186#makeProd("muon924",10,True,True)
187#makeProd("muon915",10,False,True)
188#makeProd("muon925",10,True,True)
189#makeProd("muon916",10,False,True)
190#makeProd("muon926",10,True,True)
191#makeProd("muon917",10,False,True)
192#makeProd("muon927",10,True,True)
193#makeProd("muon927",10,True,True,8)
194#makeProd("muon918",10,False,True)
195#makeProd("muon928",10,True,True)
196#makeProd("muon919",10,False,True)
197#makeProd("muon929",10,True,True)
198#makeProd("muon1019",10,False,True)
199#makeProd("muon1029",10,True,True)
200#makeProd("muon1018",10,False,True)
201#makeProd("muon1028",10,True,True)
202#makeProd("muon1017",10,False,True)
203#makeProd("muon1027",10,True,True)
204#makeProd("muon1016",10,False,True)
205#makeProd("muon1026",10,True,True)
206#makeProd("muon1015",10,False,True)
207#makeProd("muon1025",10,True,True)
208#makeProd("muon1014",10,False,True)
209#makeProd("muon1024",10,True,True)
210#makeProd("muon1013",10,False,True)
211#makeProd("muon1023",10,True,True)
212#makeProd("muon1012",10,False,True)
213#makeProd("muon1022",10,True,True)
214
216 import os
217 eos = "/afs/cern.ch/project/eos/installation/0.3.15/bin/eos.select"
218 for prod in [610,620]:
219 for run in range(0,10):
220 prefix = 'muon'+str(prod+run)
221 if prod in [610,620] and run == 0: prefix = 'muon'+str(int(prod/100))
222 for i in range(1,10):
223 # requires full path
224 cmd = eos+' cp -r '+os.path.abspath('.')+'/'+prefix+str(i)+'/ /eos/experiment/ship/data/muonBackground/'+prefix+str(i)+'/'
225 print(cmd)
226 os.system(cmd)
228 import os
229 eos = "/afs/cern.ch/project/eos/installation/0.3.15/bin/eos.select"
230 for prod in [610,620]:
231 for run in range(0,10):
232 prefix = 'muon'+str(prod+run)
233 if prod in [610,620] and run == 0: prefix = 'muon'+str(int(prod/100))
234 for i in range(1,10):
235 # requires full path
236 cmd = eos+' cp -r /eos/experiment/ship/data/muonBackground/'+prefix+str(i)+'/ ' +os.path.abspath('.')+'/'+prefix+str(i)+'/'
237 print(cmd)
238 os.system(cmd)
makeProd(prefix, DY, y=False, phiRandom=False, X=None)
Definition run_prod.py:3
copyFromEOS()
Definition run_prod.py:227
copy2EOS()
makeProd("muon812",10,False,True) # –< 831 copied back, done 16.3.2015 makeProd("muon822",...
Definition run_prod.py:215