* * quicky KUMAC to get decay spectra from GEANT simulations * (GEANT_LEMSR.KUMAC) * * TP, 03-Feb-1999, PSI * * [1] Geant Runnumber; for histogram titles * *---------------------------------------------------------------------- * if ( [1] .eq. ' ' .or. [1] .eq. '?' .or. [1] .eq. '!') then mess mess Missing GEANT RunNumber as parameter. mess Needed for Histogram titles. mess mess Syntax: mess mess GEANT_DOHIST RunNo mess exitm endif runno = [1] file = geant_[1].rz rFile = geant_[1].root * * cuts for e+ and e- and gammas * cut $20 btest(int(partcode),0).and.btest(int(partcode),4) |require gamma in both detec. cut $21 btest(int(partcode),1).and.btest(int(partcode),5) |require e+ in both detec. cut $22 btest(int(partcode),2).and.btest(int(partcode),6) |require e- in both detec. * cut $11 p0>30. cut $10 desci>0.and.desco>0 cut $1 de_left_i>0.and.de_left_o>0 cut $2 de_top_i>0.and.de_top_o>0 cut $3 de_rite_i>0.and.de_rite_o>0 cut $4 de_bot_i>0.and.de_bot_o>0 * cut $5 btest(int(volno),0).and.btest(int(volno),4) | bits for left in and out cut $6 btest(int(volno),1).and.btest(int(volno),5) | bits for top in and out cut $7 btest(int(volno),2).and.btest(int(volno),6) | bits for right in and out cut $8 btest(int(volno),3).and.btest(int(volno),7) | bits for bottom in and out * 1d 1 'GEANT '//[runno]//' volno, dE gt 0' 256 -.5 255.5 1d 2 'GEANT '//[runno]//' volno, dE gt 0, e+ bit or e- bit required' 256 -.5 255.5 1d 3 'GEANT '//[runno]//' volno, dE ge 0, only gammas' 256 -.5 255.5 1d 4 'GEANT '//[runno]//' volno, dE gt 0, only gammas' 256 -.5 255.5 1d 5 'GEANT '//[runno]//' volno, volno gt 0' 256 -.5 255.5 goto fine 1d 1604 'GEANT '//[runno]//' only left, de gt 0, 50ns bins' 220 0. 11000. 1d 1606 'GEANT '//[runno]//' only top, de gt 0, 50ns bins' 220 0. 11000. 1d 1607 'GEANT '//[runno]//' only right, de gt 0, 50ns bins' 220 0. 11000. 1d 1608 'GEANT '//[runno]//' only bottom, de gt 0, 50ns bins' 220 0. 11000. 1d 1504 'GEANT '//[runno]//' left , de gt 0, 50ns bins' 220 0. 11000. 1d 1506 'GEANT '//[runno]//' top , de gt 0, 50ns bins' 220 0. 11000. 1d 1507 'GEANT '//[runno]//' right, de gt 0, 50ns bins' 220 0. 11000. 1d 1508 'GEANT '//[runno]//' bottom, de gt 0, 50ns bins' 220 0. 11000. 1d 1404 'GEANT '//[runno]//' left , e+ or e- bit, de gt 0, 50ns bins' 220 0. 11000. 1d 1406 'GEANT '//[runno]//' top , e+ or e- bit, de gt 0, 50ns bins' 220 0. 11000. 1d 1407 'GEANT '//[runno]//' right , e+ or e- bit, de gt 0, 50ns bins' 220 0. 11000. 1d 1408 'GEANT '//[runno]//' bottom, e+ or e- bit, de gt 0, 50ns bins' 220 0. 11000. 1d 1704 'GEANT '//[runno]//' left , only gamma, de ge 0, 50ns bins' 220 0. 11000. 1d 1706 'GEANT '//[runno]//' top , only gamma, de ge 0, 50ns bins' 220 0. 11000. 1d 1707 'GEANT '//[runno]//' right , only gamma, de ge 0, 50ns bins' 220 0. 11000. 1d 1708 'GEANT '//[runno]//' bottom, only gamma, de ge 0, 50ns bins' 220 0. 11000. mess NTPlot left id=1404 nt/pl 111.tsci $1.and.$5.and.($21.or.$22) -1404 mess NTPlot top id=1406 nt/pl 111.tsci $2.and.$6.and.($21.or.$22) -1406 mess NTPlot rite id=1407 nt/pl 111.tsci $3.and.$7.and.($21.or.$22) -1407 mess NTPlot bot id=1408 nt/pl 111.tsci $4.and.$8.and.($21.or.$22) -1408 mess NTPlot left id=1504 nt/pl 111.tsci $1.and.$5 -1504 mess NTPlot top id=1506 nt/pl 111.tsci $2.and.$6 -1506 mess NTPlot rite id=1507 nt/pl 111.tsci $3.and.$7 -1507 mess NTPlot bot id=1508 nt/pl 111.tsci $4.and.$8 -1508 mess NTPlot left=1604 nt/pl 111.tsci volno=17.and.$10 -1604 mess NTPlot top =1606 nt/pl 111.tsci volno=34.and.$10 -1606 mess NTPlot right=1607 nt/pl 111.tsci volno=68.and.$10 -1607 mess NTPlot bottom=1608 nt/pl 111.tsci volno=136.and.$10 -1608 * goto cont * fine: 1d 404 'GEANT '//[runno]//' left , e+ or e- bit, de gt 0, 1ns bins' 11000 0.5 11000.5 1d 406 'GEANT '//[runno]//' top , e+ or e- bit, de gt 0, 1ns bins' 11000 0.5 11000.5 1d 407 'GEANT '//[runno]//' right , e+ or e- bit, de gt 0, 1ns bins' 11000 0.5 11000.5 1d 408 'GEANT '//[runno]//' bottom, e+ or e- bit, de gt 0, 1ns bins' 11000 0.5 11000.5 1d 504 'GEANT '//[runno]//' left , de gt 0, 1ns bins' 11000 0.5 11000.5 1d 506 'GEANT '//[runno]//' top , de gt 0, 1ns bins' 11000 0.5 11000.5 1d 507 'GEANT '//[runno]//' right, de gt 0, 1ns bins' 11000 0.5 11000.5 1d 508 'GEANT '//[runno]//' bottom, de gt 0, 1ns bins' 11000 0.5 11000.5 1d 604 'GEANT '//[runno]//' only left, de gt 0, 1ns bins' 11000 0.5 11000.5 1d 606 'GEANT '//[runno]//' only top, de gt 0, 1ns bins' 11000 0.5 11000.5 1d 607 'GEANT '//[runno]//' only right, de gt 0, 1ns bins' 11000 0.5 11000.5 1d 608 'GEANT '//[runno]//' only bottom, de gt 0, 1ns bins' 11000 0.5 11000.5 1d 704 'GEANT '//[runno]//' left , only gamma, de ge 0, 1ns bins' 11000 0.5 11000.5 1d 706 'GEANT '//[runno]//' top , only gamma, de ge 0, 1ns bins' 11000 0.5 11000.5 1d 707 'GEANT '//[runno]//' right , only gamma, de ge 0, 1ns bins' 11000 0.5 11000.5 1d 708 'GEANT '//[runno]//' bottom, only gamma, de ge 0, 1ns bins' 11000 0.5 11000.5 * mess Plot 1=Volno dE>0 nt/pl 111.volno volno>0.and.$10 -1 mess Plot 2=Volno dE>0 and e+ or e- bit reuqired nt/pl 111.volno volno>0.and.$10.and.($21.or.$22) -2 mess Plot 3=Volno dE>=0, only gammas nt/pl 111.volno volno>0.and.partcode=17 -3 mess Plot 4=Volno dE>0, only gammas nt/pl 111.volno volno>0.and.partcode=17.and.$10 -4 mess Plot 5=Volno volno>0 nt/pl 111.volno volno>0 -5 mess NTPlot left id=404 nt/pl 111.tsci $1.and.$5.and.($21.or.$22) -404 mess NTPlot top id=406 nt/pl 111.tsci $2.and.$6.and.($21.or.$22) -406 mess NTPlot rite id=407 nt/pl 111.tsci $3.and.$7.and.($21.or.$22) -407 mess NTPlot bot id=408 nt/pl 111.tsci $4.and.$8.and.($21.or.$22) -408 mess NTPlot left id=504 nt/pl 111.tsci $1.and.$5 -504 mess NTPlot top id=506 nt/pl 111.tsci $2.and.$6 -506 mess NTPlot rite id=507 nt/pl 111.tsci $3.and.$7 -507 mess NTPlot bot id=508 nt/pl 111.tsci $4.and.$8 -508 mess NTPlot left=604 nt/pl 111.tsci volno=17.and.$10 -604 mess NTPlot top =606 nt/pl 111.tsci volno=34.and.$10 -606 mess NTPlot right=607 nt/pl 111.tsci volno=68.and.$10 -607 mess NTPlot bottom=608 nt/pl 111.tsci volno=136.and.$10 -608 mess NTPlot left id=704 nt/pl 111.tsci partcode=17.and.$5 -704 mess NTPlot top id=706 nt/pl 111.tsci partcode=17.and.$6 -706 mess NTPlot rite id=707 nt/pl 111.tsci partcode=17.and.$7 -707 mess NTPlot bot id=708 nt/pl 111.tsci partcode=17.and.$8 -708 close 0 hi/file 20 [file] ! n hrou 0 close 20 mess mess Histograms written to [file] mess sh h2root [file] mess mess Histogram file [file] converted to root format. mess sh rm -vf [file] sh mv -v [rfile] ../data