Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions examples/analysis_example.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@
from argparse import ArgumentParser

import ROOT
import rootUtils as ut
from experimental import analysis_toolkit
from backports import tdirectory634

import fairship.utils.root as ut
from fairship.experimental import analysis_toolkit
from fairship.backports import tdirectory634


def main():
Expand Down
3 changes: 2 additions & 1 deletion geometry/config_tester.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
#!/usr/bin/env python
import os
import json
from ShipGeoConfig import ConfigRegistry
import logging
import argparse

from fairship.ShipGeoConfig import ConfigRegistry

logging.info("")
logger = logging.getLogger()
logger.setLevel(logging.INFO)
Expand Down
5 changes: 3 additions & 2 deletions geometry/geometry_config.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import os

import shipunit as u
import yaml
from ShipGeoConfig import AttrDict, ConfigRegistry

import fairship.core.shipunit as u
from fairship.ShipGeoConfig import AttrDict, ConfigRegistry

# the following params should be passed through 'ConfigRegistry.loadpy' method
# nuTargetPassive = 1 #0 = with active layers, 1 = only passive
Expand Down
28 changes: 15 additions & 13 deletions macro/ShipAna.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,18 @@
import sys
import ROOT
import ctypes
import rootUtils as ut
import shipunit as u
from ShipGeoConfig import ConfigRegistry, load_from_root_file
import shipRoot_conf
from backports import tdirectory634
from argparse import ArgumentParser
import decorators

import fairship.utils.root as ut
import fairship.core.shipunit as u
from fairship.ShipGeoConfig import ConfigRegistry
from fairship.utils.rootpy_pickler import Unpickler
from fairship.utils.root_decorators import apply_decorators
import fairship.shipRoot_conf as shipRoot_conf
from fairship.backports import tdirectory634

shipRoot_conf.configure()
decorators.apply_decorators()
apply_decorators()
PDG = ROOT.TDatabasePDG.Instance()

chi2CutOff = 4.
Expand Down Expand Up @@ -47,7 +49,7 @@
dy = ShipGeo.Yheight/u.m

# -----Create geometry----------------------------------------------
import shipDet_conf
import fairship.shipDet_conf as shipDet_conf
run = ROOT.FairRunSim()
run.SetName("TGeant4") # Transport engine
run.SetSink(ROOT.FairRootFileSink(ROOT.TMemFile('output', 'recreate'))) # Dummy output file
Expand All @@ -56,7 +58,7 @@
# -----Create geometry----------------------------------------------
modules = shipDet_conf.configure(run,ShipGeo)

import geomGeant4
import fairship.geomGeant4 as geomGeant4
if hasattr(ShipGeo.Bfield,"fieldMap"):
fieldMaker = geomGeant4.addVMCFields(ShipGeo, '', True, withVirtualMC = False)
else:
Expand All @@ -77,7 +79,7 @@
i+=1

# prepare veto decisions
import shipVeto
import fairship.shipVeto as shipVeto
veto = shipVeto.Task(sTree)
vetoDets={}
log={}
Expand Down Expand Up @@ -120,7 +122,7 @@
ut.bookHist(h,'nrtracks','nr of tracks in signal selected',10,-0.5,9.5)
ut.bookHist(h,'nrSBT','nr of hits in SBT',100,-0.5,99.5)

import TrackExtrapolateTool
from fairship.utils.track_extrapolate import extrapolateToPlane

def VertexError(t1,t2,PosDir,CovMat,scalFac):
# with improved Vx x,y resolution
Expand Down Expand Up @@ -246,7 +248,7 @@ def checkFiducialVolume(sTree,tkey,dy):
inside = True
if not fiducialCut: return True
fT = sTree.FitTracks[tkey]
rc,pos,mom = TrackExtrapolateTool.extrapolateToPlane(fT,ShipGeo.Bfield.z)
rc,pos,mom = extrapolateToPlane(fT,ShipGeo.Bfield.z)
if not rc: return False
if not dist2InnerWall(pos.X(),pos.Y(),pos.Z())>0: return False
return inside
Expand Down Expand Up @@ -637,7 +639,7 @@ def myEventLoop(n):
# check extrapolation to TimeDet if exists
if hasattr(ShipGeo,"TimeDet"):
for fT in sTree.FitTracks:
rc,pos,mom = TrackExtrapolateTool.extrapolateToPlane(fT,ShipGeo.TimeDet.z)
rc,pos,mom = extrapolateToPlane(fT,ShipGeo.TimeDet.z)
if rc:
for aPoint in sTree.TimeDetPoint:
h['extrapTimeDetX'].Fill(pos.X()-aPoint.GetX())
Expand Down
21 changes: 12 additions & 9 deletions macro/ShipReco.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@ def mem_monitor():
print("memory: virtual = %5.2F MB physical = %5.2F MB"%(vmsize/1.0E3,pmsize/1.0E3))

import ROOT,os,sys
import global_variables
import rootUtils as ut
import shipunit as u
import shipRoot_conf
from backports import tdirectory634

import fairship.core.global_variables as global_variables
import fairship.utils.root as ut
import fairship.core.shipunit as u
import fairship.shipRoot_conf as shipRoot_conf
from fairship.backports import tdirectory634

shipRoot_conf.configure()

Expand Down Expand Up @@ -78,7 +79,9 @@ def mem_monitor():
fgeo = ROOT.TFile.Open(options.geoFile)
geoMat = ROOT.genfit.TGeoMaterialInterface() # if only called in ShipDigiReco -> crash, reason unknown

from ShipGeoConfig import ConfigRegistry, load_from_root_file
from fairship.ShipGeoConfig import ConfigRegistry, load_from_root_file
from fairship.utils.rootpy_pickler import Unpickler

#load Shipgeo dictionary
ShipGeo = load_from_root_file(fgeo, 'ShipGeo')

Expand All @@ -91,7 +94,7 @@ def mem_monitor():
ut.bookHist(h, 'nmeas', 'nr measurments', 100, 0., 50.)
ut.bookHist(h,'chi2','Chi2/DOF',100,0.,20.)

import shipDet_conf
import fairship.shipDet_conf as shipDet_conf
run = ROOT.FairRunSim()
run.SetName("TGeant4") # Transport engine
run.SetSink(ROOT.FairRootFileSink(ROOT.TMemFile('output', 'recreate'))) # Dummy output file
Expand All @@ -101,7 +104,7 @@ def mem_monitor():
modules = shipDet_conf.configure(run,ShipGeo)
# run.Init()
fgeo["FAIRGeom"]
import geomGeant4
import fairship.geomGeant4 as geomGeant4

if hasattr(ShipGeo.Bfield,"fieldMap"):
fieldMaker = geomGeant4.addVMCFields(ShipGeo, '', True,withVirtualMC = False)
Expand All @@ -121,7 +124,7 @@ def mem_monitor():
global_variables.iEvent = 0

# import reco tasks
import shipDigiReco
import fairship.shipDigiReco as shipDigiReco

SHiP = shipDigiReco.ShipDigiReco(outFile,fgeo)
options.nEvents = min(SHiP.sTree.GetEntries(),options.nEvents)
Expand Down
8 changes: 6 additions & 2 deletions macro/checkZpositions.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import ROOT,sys
from ShipGeoConfig import load_from_root_file
import ROOT
import sys

from fairship.ShipGeoConfig import load_from_root_file
from fairship.utils.rootpy_pickler import Unpickler

badBoys={}
f1,f2 = sys.argv[1], sys.argv[2]
fgeoOld=ROOT.TFile(f1)
Expand Down
16 changes: 8 additions & 8 deletions macro/create_field_perturbation.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import ROOT as r
import shipunit as u
import geomGeant4
from ShipGeoConfig import ConfigRegistry
import shipDet_conf
import saveBasicParameters
import os
import ShieldUtils
from argparse import ArgumentParser

import fairship.shipunit as u
import fairship.shipDet_conf as shipDet_conf
from fairship.utils.shield import find_shield_center
from fairship.geomGeant4 import addVMCFields
from fairship.ShipGeoConfig import ConfigRegistry


globalDesigns = {'dy': 10., 'dv': 6, 'ds': 9, 'nud': 3, 'caloDesign': 3, 'strawDesign': 10}

Expand Down Expand Up @@ -42,9 +42,9 @@ def create_csv_field_map(options):
run.SetGenerator(primGen)
run.SetStoreTraj(r.kFALSE)
run.Init()
fieldMaker = geomGeant4.addVMCFields(ship_geo, '', True)
fieldMaker = addVMCFields(ship_geo, '', True)

field_center, shield_half_length = ShieldUtils.find_shield_center(ship_geo)
field_center, shield_half_length = find_shield_center(ship_geo)
print("SHIELD ONLY: CENTER: {}, HALFLENGTH: {}, half_X: {}, half_Y: {}".format(field_center,
shield_half_length,
ship_geo.muShield.half_X_max,
Expand Down
8 changes: 5 additions & 3 deletions macro/dumpEvent.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# example for dumping an MC event
import ROOT,os,sys
import rootUtils as ut
import shipunit as u
import ShipGeoConfig

import fairship.utils.root as ut
import fairship.core.shipunit as u
import fairship.ShipGeoConfig as ShipGeoConfig

ship_geo = ShipGeoConfig.Config().loadpy("$FAIRSHIP/geometry/geometry_config.py")
PDG = ROOT.TDatabasePDG.Instance()

Expand Down
1 change: 1 addition & 0 deletions macro/evd_addParticleFollower.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import ROOT,evd_fillEnergy
gEve=ROOT.gEve
import eveGlobal

def execute():
if not gEve.GetViewers().FindChild('Bar Embedded Viewer side'):
slot = ROOT.TEveWindow.CreateWindowInTab(gEve.GetBrowser().GetTabRight())
Expand Down
4 changes: 2 additions & 2 deletions macro/evd_fillEnergy.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import ROOT
import shipunit as u
import eveGlobal
import eveGlobal

import fairship.core.shipunit as u

def collect_hits(lsOfGlobals, checked_muons):
MUON = 13
Expand Down
29 changes: 17 additions & 12 deletions macro/eventDisplay.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
#!/usr/bin/env python -i
#!/us/bin/env python -i
import ROOT
import os
import tkinter
import atexit
from argparse import ArgumentParser
from array import array

ROOT.gROOT.ProcessLine('#include "FairEventHeader.h"')
# only helps if class version in FairEventHeader.h is increased

from argparse import ArgumentParser
from ShipGeoConfig import ConfigRegistry, load_from_root_file
from array import array
import shipunit as u
import shipRoot_conf
import shipDet_conf
import decorators
from fairship.ShipGeoConfig import ConfigRegistry
from fairship.utils.rootpy_pickler import Unpickler
from fairship.utils.root_decorators import apply_decorators
import fairship.core.shipunit as u
import fairship.shipRoot_conf as shipRoot_conf
import fairship.shipDet_conf as shipDet_conf

shipRoot_conf.configure()
decorators.apply_decorators()
apply_decorators()


def evExit():
Expand Down Expand Up @@ -499,7 +500,7 @@ def DrawFittedTracks(self, option=""):
pid = fstate.getPDG()
zs = self.z_start
for i in range(self.niter):
rc, newpos, newmom = TrackExtrapolateTool.extrapolateToPlane(fT, zs)
rc, newpos, newmom = extrapolateToPlane(fT, zs)
if rc:
DTrack.SetNextPoint(newpos.X(), newpos.Y(), newpos.Z())
else:
Expand Down Expand Up @@ -1180,7 +1181,11 @@ def debugStraw(n):


# ----Load the default libraries------
from basiclibs import *
from fairship.utils.basiclibs import load_basic_libs
load_basic_libs()

# ----- Reconstruction run -------------------------------------------
fRun = ROOT.FairRunAna()
if options.geoFile:
fRun.SetGeomFile(options.geoFile)

Expand Down Expand Up @@ -1291,7 +1296,7 @@ def debugStraw(n):
fM = ROOT.genfit.FieldManager.getInstance()
fM.init(bfield)

import TrackExtrapolateTool
from fairship.utils.track_extrapolate import extrapolateToPlane

br = gEve.GetBrowser()
br.HideBottomTab() # make more space for graphics
Expand Down
5 changes: 3 additions & 2 deletions macro/flux_map.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@
import argparse
import numpy as np
import ROOT as r
import shipunit as u
import rootUtils as ut
import logger as log

import fairship.core.shipunit as u
import fairship.utils.root as ut


def main():
parser = argparse.ArgumentParser(description='Script to create flux maps.')
Expand Down
11 changes: 7 additions & 4 deletions macro/inspectGeant4Geo.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import sys
import ROOT
from ShipGeoConfig import load_from_root_file
import shipRoot_conf

from fairship.ShipGeoConfig import load_from_root_file
from fairship.utils.rootpy_pickler import Unpickler
import fairship.shipRoot_conf as shipRoot_conf

shipRoot_conf.configure()

fname = 'geofile_full.10.0.Pythia8-TGeant4.root'
Expand All @@ -10,7 +13,7 @@

fgeo = ROOT.TFile(fname)
sGeo = fgeo.Get("FAIRGeom")
import shipDet_conf
import fairship.shipDet_conf as shipDet_conf
run = ROOT.FairRunSim()
ShipGeo = load_from_root_file(fgeo, 'ShipGeo')
modules = shipDet_conf.configure(run, ShipGeo)
Expand All @@ -19,6 +22,6 @@
run.SetSink(ROOT.FairRootFileSink(ROOT.TMemFile('output', 'recreate')))
run.Init()
run.Run(0)
import geomGeant4
import fairship.geomGeant4 as geomGeant4
geomGeant4.printVMCFields()
geomGeant4.printWeightsandFields()
3 changes: 2 additions & 1 deletion macro/makeCascade.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import ROOT,time,os,sys,random,copy,argparse
from array import array
import rootUtils as ut

import fairship.utils.root as ut

ROOT.gROOT.LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C")
ROOT.basiclibs()
Expand Down
4 changes: 3 additions & 1 deletion macro/makeDecay.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
#Use Pythia8 to decay the signals (Charm/Beauty) as produced by makeCascade.
#Output is an ntuple with muon/neutrinos
import ROOT,time,os,sys,random,getopt
import rootUtils as ut

import fairship.utils.root as ut

ROOT.gROOT.LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C")
ROOT.basiclibs()

Expand Down
5 changes: 3 additions & 2 deletions macro/makeGenieEvents.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@
from collections.abc import Mapping, Sequence
from pathlib import Path

import fairship.shipRoot_conf as shipRoot_conf
import ROOT # type: ignore
import shipRoot_conf
from genie_interface import (
from fairship.utils.genie_interface import (
add_hists,
generate_genie_events,
get_1D_flux_name,
Expand All @@ -65,6 +65,7 @@
NUPDGLIST = [16, -16, 14, -14, 12, -12]

# ------------------------------ Helpers ---------------------------------------
shipRoot_conf.configure()


def extract_nu_over_nubar(
Expand Down
Loading
Loading