def configure(darkphoton=None): ROOT.gROOT.ProcessLine('#include "'+os.environ["FAIRSHIP"]+'/shipdata/ShipGlobals.h"') pdg = ROOT.TDatabasePDG.Instance() # pythia stuff not known to ROOT pdg.AddParticle('system','system', 0., False, 0., 0., 'XXX', 90) pdg.AddParticle('Pomeron','Pomeron', 0., False, 0., 0., 'Pomeron', 990) pdg.AddParticle('p_diffr+','p_diffr+', 0., False, 0., 0., 'XXX', 9902210) pdg.AddParticle('n_diffr0','n_diffr0', 0., False, 0., 0., 'XXX', 9902110) pdg.AddParticle('J/psi[3PJ(8)]' ,'J/psi[3PJ(8)]' ,3.29692,False,0., 0.,'Meson', 9942003) pdg.AddParticle('J/psi[1S0(8)]' ,'J/psi[1S0(8)]' ,3.29692,False,0., 0.,'Meson', 9941003) pdg.AddParticle('f0(980)' ,'f0(980)' ,1.0, False,0.0, 0.,'Meson', 9010221) pdg.AddParticle('psi(3770)' ,'psi(3770)' ,3.77315,False,0.02720, 0, 'Meson', 30443) pdg.AddParticle('psi(3770)[3PJ(8)]','psi(3770)[3PJ(8)]',3.97315,False,0.0, 0, 'Meson', 9942033) pdg.AddParticle('J/psi[3S1(8)]' ,'J/psi[3S1(8)]' ,3.29692,False,0.0, 0, 'Meson', 9940003) pdg.AddParticle('chi_0c[3S1(8)]' ,'chi_0c[3S1(8)]' ,3.61475,False,0.0, 0, 'Meson', 9940011) pdg.AddParticle('psi(2S)[1S0(8)]' ,'psi(2S)[1S0(8)]' ,3.88611,False,0.0, 0, 'Meson', 9941103) pdg.AddParticle('psi(2S)[3S1(8)]' ,'psi(2S)[3S1(8)]' ,3.88611,False,0.0, 0, 'Meson', 9940103) pdg.AddParticle('psi(2S)[3PJ(8)]' ,'psi(2S)[3PJ(8)]' ,3.88611,False,0.0, 0, 'Meson', 9942103) pdg.AddParticle('chi_1c[3S1(8)]' ,'chi_1c[3S1(8)]' ,3.71066,False,0.0, 0, 'Meson', 9940023) pdg.AddParticle('chi_2c[3S1(8)]' ,'chi_2c[3S1(8)]' ,3.75620,False,0.0, 0, 'Meson', 9940005) pdg.AddParticle('Upsilon[3S1(8)]' ,'Upsilon[3S1(8)]' ,9.66030,False,0.0, 0, 'Meson', 9950003) atexit.register(pyExit) if darkphoton==0: return # will be added by pythia8_conf if (darkphoton): addDPtoROOT() else: addHNLtoROOT()
def configure(): #ROOT.gROOT.LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C") #ROOT.basiclibs() ROOT.gSystem.Load("libPythia6") ROOT.gSystem.Load("libpythia8") pdg = ROOT.TDatabasePDG.Instance() # pythia stuff not known to ROOT pdg.AddParticle('system', 'system', 0., False, 0., 0., 'XXX', 90) pdg.AddParticle('p_diffr+', 'p_diffr+', 0., False, 0., 0., 'XXX', 9902210) pdg.AddParticle('f0(980)', 'f0(980)', 0., False, 0.07, 0., 'f0(980)', 9010221) addHNLtoROOT() atexit.register(pyExit)
def configure(darkphoton=None): ROOT.gROOT.ProcessLine('#include "' + os.environ["FAIRSHIP"] + '/shipdata/ShipGlobals.h"') pdg = ROOT.TDatabasePDG.Instance() # pythia stuff not known to ROOT pdg.AddParticle('system', 'system', 0., False, 0., 0., 'XXX', 90) pdg.AddParticle('Pomeron', 'Pomeron', 0., False, 0., 0., 'Pomeron', 990) pdg.AddParticle('p_diffr+', 'p_diffr+', 0., False, 0., 0., 'XXX', 9902210) pdg.AddParticle('n_diffr0', 'n_diffr0', 0., False, 0., 0., 'XXX', 9902110) pdg.AddParticle('J/psi[3PJ(8)]', 'J/psi[3PJ(8)]', 3.29692, False, 0., 0., 'Meson', 9942003) pdg.AddParticle('J/psi[1S0(8)]', 'J/psi[1S0(8)]', 3.29692, False, 0., 0., 'Meson', 9941003) pdg.AddParticle('f0(980)', 'f0(980)', 1.0, False, 0.0, 0., 'Meson', 9010221) pdg.AddParticle('psi(3770)', 'psi(3770)', 3.77315, False, 0.02720, 0, 'Meson', 30443) pdg.AddParticle('psi(3770)[3PJ(8)]', 'psi(3770)[3PJ(8)]', 3.97315, False, 0.0, 0, 'Meson', 9942033) pdg.AddParticle('J/psi[3S1(8)]', 'J/psi[3S1(8)]', 3.29692, False, 0.0, 0, 'Meson', 9940003) pdg.AddParticle('chi_0c[3S1(8)]', 'chi_0c[3S1(8)]', 3.61475, False, 0.0, 0, 'Meson', 9940011) pdg.AddParticle('psi(2S)[1S0(8)]', 'psi(2S)[1S0(8)]', 3.88611, False, 0.0, 0, 'Meson', 9941103) pdg.AddParticle('psi(2S)[3S1(8)]', 'psi(2S)[3S1(8)]', 3.88611, False, 0.0, 0, 'Meson', 9940103) pdg.AddParticle('psi(2S)[3PJ(8)]', 'psi(2S)[3PJ(8)]', 3.88611, False, 0.0, 0, 'Meson', 9942103) pdg.AddParticle('chi_1c[3S1(8)]', 'chi_1c[3S1(8)]', 3.71066, False, 0.0, 0, 'Meson', 9940023) pdg.AddParticle('chi_2c[3S1(8)]', 'chi_2c[3S1(8)]', 3.75620, False, 0.0, 0, 'Meson', 9940005) pdg.AddParticle('Upsilon[3S1(8)]', 'Upsilon[3S1(8)]', 9.66030, False, 0.0, 0, 'Meson', 9950003) atexit.register(pyExit) if darkphoton == 0: return # will be added by pythia8_conf if (darkphoton): addDPtoROOT() else: addHNLtoROOT()
from array import array import shipunit as u import rootUtils as ut from ShipGeoConfig import ConfigRegistry if dy: ShipGeo = ConfigRegistry.loadpy("$FAIRSHIP/geometry/geometry_config.py", Yheight = dy, EcalGeoFile = ecalGeoFile ) else: ShipGeo = ConfigRegistry.loadpy("$FAIRSHIP/geometry/geometry_config.py", EcalGeoFile = ecalGeoFile ) # -----Create geometry---------------------------------------------- import shipDet_conf run = ROOT.FairRunSim() modules = shipDet_conf.configure(run,ShipGeo) builtin.debug = debug builtin.fitter = fitter builtin.ship_geo = ShipGeo # for shipPatRec addHNLtoROOT() def myVertex(t1,t2,PosDir): # closest distance between two tracks # d = |pq . u x v|/|u x v| a,u = PosDir[t1]['position'],PosDir[t1]['direction'] c,v = PosDir[t2]['position'],PosDir[t2]['direction'] pq = a-c uCrossv = u.Cross(v) dist = pq.Dot(uCrossv)/(uCrossv.Mag()+1E-8) # u.a - u.c + s*|u|**2 - u.v*t = 0 # v.a - v.c + s*v.u - t*|v|**2 = 0 E = u.Dot(a) - u.Dot(c) F = v.Dot(a) - v.Dot(c) A,B = u.Mag2(), -u.Dot(v) C,D = u.Dot(v), -v.Mag2()
from array import array import shipunit as u import rootUtils as ut from ShipGeoConfig import ConfigRegistry if dy: ShipGeo = ConfigRegistry.loadpy("$FAIRSHIP/geometry/geometry_config.py", Yheight=dy) else: ShipGeo = ConfigRegistry.loadpy("$FAIRSHIP/geometry/geometry_config.py") # -----Create geometry---------------------------------------------- import shipDet_conf run = ROOT.FairRunSim() modules = shipDet_conf.configure(run, ShipGeo) addHNLtoROOT() fout = ROOT.TFile(outFile, 'update') def myVertex(t1, t2, PosDir): # closest distance between two tracks # d = |pq . u x v|/|u x v| a = ROOT.TVector3(PosDir[t1]['position'](0), PosDir[t1]['position'](1), PosDir[t1]['position'](2)) u = ROOT.TVector3(PosDir[t1]['direction'](0), PosDir[t1]['direction'](1), PosDir[t1]['direction'](2)) c = ROOT.TVector3(PosDir[t2]['position'](0), PosDir[t2]['position'](1), PosDir[t2]['position'](2)) v = ROOT.TVector3(PosDir[t2]['direction'](0), PosDir[t2]['direction'](1), PosDir[t2]['direction'](2))