Skip to content
Snippets Groups Projects
Commit cbda7ae7 authored by Wouter Deconinck's avatar Wouter Deconinck
Browse files

Fixes to benchmarks to run with ecce:main

parent 5df51095
Branches
No related tags found
1 merge request!252Fixes to benchmarks to run with ecce:main
......@@ -9,11 +9,19 @@ import ROOT
from Configurables import ApplicationMgr, EICDataSvc, PodioInput, PodioOutput, GeoSvc
from GaudiKernel.SystemOfUnits import MeV, GeV, mm, cm, mrad
detector_name = str(os.environ.get("JUGGLER_DETECTOR_CONFIG", "athena"))
detector_name = str(os.environ.get("JUGGLER_DETECTOR", "athena"))
detector_config = str(os.environ.get("JUGGLER_DETECTOR_CONFIG", detector_name))
detector_version = str(os.environ.get("JUGGLER_DETECTOR_VERSION", "master"))
detector_path = str(os.environ.get("DETECTOR_PATH", "."))
compact_path = os.path.join(detector_path, detector_name)
compact_path = os.path.join(detector_path, detector_config)
# Detector features that affect reconstruction
has_ecal_barrel_scfi = False
if 'athena' in detector_name:
has_ecal_barrel_scfi = True
if 'ecce' in detector_name and 'imaging' in detector_config:
has_ecal_barrel_scfi = True
# input arguments from calibration file
with open(f'{detector_path}/calibrations/emcal_barrel_calibration.json') as f:
......@@ -36,7 +44,7 @@ output_rec = str(os.environ["JUGGLER_REC_FILE"])
n_events = int(os.environ["JUGGLER_N_EVENTS"])
# geometry service
geo_service = GeoSvc("GeoSvc", detectors=["{}.xml".format(compact_path)], OutputLevel=INFO)
geo_service = GeoSvc("GeoSvc", detectors=["{}.xml".format(compact_path)], OutputLevel=WARNING)
# data service
podioevent = EICDataSvc("EventDataSvc", inputs=input_sims)
......@@ -56,12 +64,12 @@ from Configurables import Jug__Reco__ImagingClusterReco as ImagingClusterReco
# branches needed from simulation root file
sim_coll = [
"MCParticles",
"EcalBarrelHits",
"EcalBarrelHitsContributions",
"EcalEndcapNHits",
"EcalEndcapNHitsContributions",
"EcalEndcapPHits",
"EcalEndcapPHitsContributions",
"EcalBarrelHits",
"EcalBarrelHitsContributions",
"HcalBarrelHits",
"HcalBarrelHitsContributions",
"HcalEndcapPHits",
......@@ -70,7 +78,7 @@ sim_coll = [
"HcalEndcapNHitsContributions",
]
if 'athena' in detector_name:
if has_ecal_barrel_scfi:
sim_coll += [
"EcalBarrelScFiHits",
"EcalBarrelScFiHitsContributions",
......@@ -173,7 +181,7 @@ ci_ecal_clreco = RecoCoG("ci_ecal_clreco",
algs.append(ci_ecal_clreco)
# Central Barrel Ecal
if 'athena' in detector_name:
if has_ecal_barrel_scfi:
# Imaging calorimeter
cb_ecal_daq = dict(
dynamicRangeADC=3*MeV,
......
......@@ -9,10 +9,19 @@ import ROOT
from Configurables import ApplicationMgr, EICDataSvc, PodioInput, PodioOutput, GeoSvc
from GaudiKernel.SystemOfUnits import MeV, GeV, mm, cm, mrad
detector_name = str(os.environ.get("JUGGLER_DETECTOR_CONFIG", "athena"))
detector_name = str(os.environ.get("JUGGLER_DETECTOR", "athena"))
detector_config = str(os.environ.get("JUGGLER_DETECTOR_CONFIG", detector_name))
detector_version = str(os.environ.get("JUGGLER_DETECTOR_VERSION", "master"))
detector_path = str(os.environ.get("DETECTOR_PATH", "."))
compact_path = str(os.environ.get("JUGGLER_COMPACT_PATH", "{}.xml".format(os.path.join(detector_path, detector_name))))
# Detector features that affect reconstruction
has_ecal_barrel_scfi = False
if 'athena' in detector_name:
has_ecal_barrel_scfi = True
if 'ecce' in detector_name and 'imaging' in detector_config:
has_ecal_barrel_scfi = True
# input and output
input_sims = [f.strip() for f in str.split(os.environ["JUGGLER_SIM_FILE"], ",") if f.strip()]
output_rec = str(os.environ["JUGGLER_REC_FILE"])
......@@ -32,6 +41,9 @@ podioevent = EICDataSvc("EventDataSvc", inputs=input_sims)
# juggler components
from Configurables import Jug__Digi__CalorimeterHitDigi as CalHitDigi
from Configurables import Jug__Reco__CalorimeterHitReco as CalHitReco
from Configurables import Jug__Reco__CalorimeterHitsMerger as CalHitsMerger
from Configurables import Jug__Reco__CalorimeterIslandCluster as IslandCluster
from Configurables import Jug__Reco__ImagingPixelReco as ImCalPixelReco
from Configurables import Jug__Reco__ImagingTopoCluster as ImagingCluster
from Configurables import Jug__Reco__ImagingClusterReco as ImagingClusterReco
......@@ -43,11 +55,16 @@ sim_coll = [
"EcalBarrelHitsContributions",
]
algorithms = []
# input and output
podin = PodioInput("PodioReader", collections=sim_coll)
algorithms.append(podin)
podout = PodioOutput("out", filename=output_rec)
algorithms.append(podout)
# Central Barrel Ecal
if has_ecal_barrel_scfi:
# Central Barrel Ecal (Imaging Cal.)
cb_ecal_daq = dict(
dynamicRangeADC=3*MeV,
......@@ -60,6 +77,7 @@ cb_ecal_digi = CalHitDigi("cb_ecal_digi",
outputHitCollection="EcalBarrelImagingHitsDigi",
energyResolutions=[0., 0.02, 0.], # 2% flat resolution
**cb_ecal_daq)
algorithms.append(cb_ecal_digi)
cb_ecal_reco = ImCalPixelReco("cb_ecal_reco",
inputHitCollection=cb_ecal_digi.outputHitCollection,
......@@ -70,6 +88,7 @@ cb_ecal_reco = ImCalPixelReco("cb_ecal_reco",
layerField="layer", # field to get layer id
sectorField="module", # field to get sector id
**cb_ecal_daq)
algorithms.append(cb_ecal_reco)
cb_ecal_cl = ImagingCluster("cb_ecal_cl",
inputHitCollection=cb_ecal_reco.outputHitCollection,
......@@ -78,12 +97,55 @@ cb_ecal_cl = ImagingCluster("cb_ecal_cl",
layerDistEtaPhi=[10*mrad, 10*mrad], # adjacent layer
neighbourLayersRange=2, # id diff for adjacent layer
sectorDist=3.*cm) # different sector
algorithms.append(cb_ecal_cl)
cb_ecal_clreco = ImagingClusterReco("cb_ecal_clreco",
inputProtoClusters=cb_ecal_cl.outputProtoClusterCollection,
outputClusters="EcalBarrelImagingClusters",
outputLayers="EcalBarrelImagingLayers",
mcHits="EcalBarrelHits")
algorithms.append(cb_ecal_clreco)
else:
# SciGlass calorimeter
sciglass_ecal_daq = dict(
dynamicRangeADC=5.*GeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=3)
sciglass_ecal_digi = CalHitDigi("sciglass_ecal_digi",
inputHitCollection="EcalBarrelHits",
outputHitCollection="EcalBarrelHitsDigi",
energyResolutions=[0., 0.02, 0.], # 2% flat resolution
**sciglass_ecal_daq)
algorithms.append(sciglass_ecal_digi)
sciglass_ecal_reco = CalHitReco("sciglass_ecal_reco",
inputHitCollection=sciglass_ecal_digi.outputHitCollection,
outputHitCollection="EcalBarrelHitsReco",
thresholdFactor=3, # about 20 keV
readoutClass="EcalBarrelHits", # readout class
sectorField="sector", # field to get sector id
samplingFraction=0.998, # this accounts for a small fraction of leakage
**sciglass_ecal_daq)
algorithms.append(sciglass_ecal_reco)
sciglass_ecal_cl = IslandCluster("sciglass_ecal_cl",
inputHitCollection=sciglass_ecal_reco.outputHitCollection,
outputProtoClusterCollection="EcalBarrelProtoClusters",
splitCluster=False,
minClusterHitEdep=1.0*MeV, # discard low energy hits
minClusterCenterEdep=30*MeV,
sectorDist=5.0*cm)
algorithms.append(sciglass_ecal_cl)
sciglass_ecal_clreco = ImagingClusterReco("sciglass_ecal_clreco",
inputProtoClusters=sciglass_ecal_cl.outputProtoClusterCollection,
mcHits="EcalBarrelHits",
outputClusters="EcalBarrelClusters",
outputLayers="EcalBarrelLayers")
algorithms.append(sciglass_ecal_clreco)
podout.outputCommands = ['drop *',
'keep MCParticles',
......@@ -92,9 +154,7 @@ podout.outputCommands = ['drop *',
'keep *Cluster*']
ApplicationMgr(
TopAlg = [podin,
cb_ecal_digi, cb_ecal_reco, cb_ecal_cl, cb_ecal_clreco,
podout],
TopAlg = algorithms,
EvtSel = 'NONE',
EvtMax = n_events,
ExtSvc = [podioevent],
......
......@@ -44,5 +44,8 @@ imaging_ecal_pion_rejection:bench:
script:
- ls -lhtR
- compile_analyses.py imaging_ecal
- root -b -q benchmarks/imaging_ecal/analysis/emcal_barrel_pion_rejection_analysis.cxx+
#- bash run_pion_rej_analysis.sh
- |
if [[ ${JUGGLER_DETECTOR} =~ athena
|| ${JUGGLER_DETECTOR} =~ ecce && ${JUGGLER_DETECTOR_CONFIG} =~ imaging ]] ; then
root -b -q benchmarks/imaging_ecal/analysis/emcal_barrel_pion_rejection_analysis.cxx+
fi
......@@ -2,7 +2,7 @@ import json
import os
import ROOT
from Gaudi.Configuration import *
from GaudiKernel.SystemOfUnits import MeV, mm, cm, mrad, rad, ns
from GaudiKernel.SystemOfUnits import GeV, MeV, mm, cm, mrad, rad, ns
from Configurables import ApplicationMgr, EICDataSvc, PodioOutput, GeoSvc
from Configurables import PodioInput
......@@ -15,8 +15,19 @@ from Configurables import Jug__Reco__ImagingPixelReco as ImagingPixelReco
from Configurables import Jug__Reco__ImagingTopoCluster as ImagingTopoCluster
from Configurables import Jug__Reco__ImagingClusterReco as ImagingClusterReco
detector_name = str(os.environ.get("JUGGLER_DETECTOR", "athena"))
detector_config = str(os.environ.get("JUGGLER_DETECTOR_CONFIG", detector_name))
detector_version = str(os.environ.get("JUGGLER_DETECTOR_VERSION", "master"))
detector_path = str(os.environ.get("DETECTOR_PATH", "."))
# Detector features that affect reconstruction
has_ecal_barrel_scfi = False
if 'athena' in detector_name:
has_ecal_barrel_scfi = True
if 'ecce' in detector_name and 'imaging' in detector_config:
has_ecal_barrel_scfi = True
# input arguments from calibration file
with open(f'{detector_path}/calibrations/emcal_barrel_calibration.json') as f:
calib_data = json.load(f)['electron']
......@@ -49,11 +60,24 @@ sim_colls = [
'MCParticles',
'EcalBarrelHits',
'EcalBarrelHitsContributions',
]
ecal_barrel_scfi_collections = [
'EcalBarrelScFiHits',
'EcalBarrelScFiHitsContributions',
'EcalBarrelScFiHitsContributions'
]
if has_ecal_barrel_scfi:
sim_colls += ecal_barrel_scfi_collections
# list of algorithms
algorithms = []
podin = PodioInput('PodioReader', collections=sim_colls, OutputLevel=DEBUG)
podout = PodioOutput('podout', filename=kwargs['output'])
algorithms.append(podin)
# Central Barrel Ecal
if has_ecal_barrel_scfi:
# Central ECAL Imaging Calorimeter
# use the same daq_setting for digi/reco pair
imcaldaq = dict(
......@@ -62,13 +86,14 @@ imcaldaq = dict(
pedestalMean=400,
pedestalSigma=50) # 50/32767*3 MeV ~ 5 keV
imcaldigi = CalHitDigi('imcal_digi',
OutputLevel=DEBUG,
inputHitCollection='EcalBarrelHits',
outputHitCollection='DigiEcalBarrelImagingHits',
energyResolutions=[0., 0.02, 0.],
**imcaldaq)
algorithms.append(imcaldigi)
imcalreco = ImagingPixelReco('imcal_reco',
#OutputLevel=DEBUG,
inputHitCollection=imcaldigi.outputHitCollection,
......@@ -78,6 +103,7 @@ imcalreco = ImagingPixelReco('imcal_reco',
sectorField='module',
samplingFraction=kwargs['img_sf'],
**imcaldaq)
algorithms.append(imcalreco)
imcalcluster = ImagingTopoCluster('imcal_cluster',
#OutputLevel=DEBUG,
......@@ -88,12 +114,15 @@ imcalcluster = ImagingTopoCluster('imcal_cluster',
neighbourLayersRange=2,
minClusterEdep= 0.5*MeV/kwargs['img_sf'],
sectorDist=3.*cm)
algorithms.append(imcalcluster)
clusterreco = ImagingClusterReco('imcal_clreco',
#OutputLevel=DEBUG,
inputProtoClusters=imcalcluster.outputProtoClusterCollection,
outputLayers='EcalBarrelImagingClustersLayers',
outputClusters='EcalBarrelImagingClusters',
mcHits="EcalBarrelHits")
algorithms.append(clusterreco)
# scfi layers
scfi_barrel_daq = dict(
......@@ -106,6 +135,7 @@ scfi_barrel_digi = CalHitDigi("scfi_barrel_digi",
inputHitCollection="EcalBarrelScFiHits",
outputHitCollection="EcalBarrelScFiHitsDigi",
**scfi_barrel_daq)
algorithms.append(scfi_barrel_digi)
scfi_barrel_reco = CalHitReco("scfi_barrel_reco",
inputHitCollection=scfi_barrel_digi.outputHitCollection,
......@@ -117,6 +147,7 @@ scfi_barrel_reco = CalHitReco("scfi_barrel_reco",
localDetFields=["system", "module"], # use local coordinates in each module (stave)
samplingFraction=kwargs['scfi_sf'],
**scfi_barrel_daq)
algorithms.append(scfi_barrel_reco)
# merge hits in different layer (projection to local x-y plane)
scfi_barrel_merger = CalHitsMerger("scfi_barrel_merger",
......@@ -126,6 +157,7 @@ scfi_barrel_merger = CalHitsMerger("scfi_barrel_merger",
fields=["fiber"],
fieldRefNumbers=[1],
readoutClass="EcalBarrelScFiHits")
algorithms.append(scfi_barrel_merger)
scfi_barrel_cl = IslandCluster("scfi_barrel_cl",
#OutputLevel=DEBUG,
......@@ -135,14 +167,59 @@ scfi_barrel_cl = IslandCluster("scfi_barrel_cl",
minClusterCenterEdep=10.*MeV,
localDistXZ=[30*mm, 30*mm],
sectorDist=5.*cm)
algorithms.append(scfi_barrel_cl)
scfi_barrel_clreco = RecoCoG("scfi_barrel_clreco",
inputProtoClusterCollection=scfi_barrel_cl.outputProtoClusterCollection,
outputClusterCollection="EcalBarrelScFiClusters",
logWeightBase=6.2)
algorithms.append(scfi_barrel_clreco)
else:
# SciGlass calorimeter
sciglass_ecal_daq = dict(
dynamicRangeADC=5.*GeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=3)
sciglass_ecal_digi = CalHitDigi("sciglass_ecal_digi",
inputHitCollection="EcalBarrelHits",
outputHitCollection="EcalBarrelHitsDigi",
energyResolutions=[0., 0.02, 0.], # 2% flat resolution
**sciglass_ecal_daq)
algorithms.append(sciglass_ecal_digi)
sciglass_ecal_reco = CalHitReco("sciglass_ecal_reco",
inputHitCollection=sciglass_ecal_digi.outputHitCollection,
outputHitCollection="EcalBarrelHitsReco",
thresholdFactor=3, # about 20 keV
readoutClass="EcalBarrelHits", # readout class
sectorField="sector", # field to get sector id
samplingFraction=0.998, # this accounts for a small fraction of leakage
**sciglass_ecal_daq)
algorithms.append(sciglass_ecal_reco)
sciglass_ecal_cl = IslandCluster("sciglass_ecal_cl",
inputHitCollection=sciglass_ecal_reco.outputHitCollection,
outputProtoClusterCollection="EcalBarrelProtoClusters",
splitCluster=False,
minClusterHitEdep=1.0*MeV, # discard low energy hits
minClusterCenterEdep=30*MeV,
sectorDist=5.0*cm)
algorithms.append(sciglass_ecal_cl)
sciglass_ecal_clreco = ImagingClusterReco("sciglass_ecal_clreco",
inputProtoClusters=sciglass_ecal_cl.outputProtoClusterCollection,
mcHits="EcalBarrelHits",
outputClusters="EcalBarrelClusters",
outputLayers="EcalBarrelLayers")
algorithms.append(sciglass_ecal_clreco)
# TODO: merge two types of clusters
podout = PodioOutput('podout', filename=kwargs['output'])
podout.outputCommands = ['drop *',
'keep MCParticles',
'keep *Reco*',
......@@ -150,12 +227,10 @@ podout.outputCommands = ['drop *',
'keep *Cluster*',
'keep *Layer*',
]
algorithms.append(podout)
ApplicationMgr(
TopAlg=[podin,
imcaldigi, imcalreco, imcalcluster, clusterreco,
scfi_barrel_digi, scfi_barrel_reco, scfi_barrel_merger, scfi_barrel_cl, scfi_barrel_clreco,
podout],
TopAlg=algorithms,
EvtSel='NONE',
EvtMax=kwargs['nev'],
ExtSvc=[podioevent],
......
......@@ -12,8 +12,19 @@ from Configurables import Jug__Reco__CalorimeterHitsMerger as CalHitsMerger
from Configurables import Jug__Reco__CalorimeterIslandCluster as IslandCluster
from Configurables import Jug__Reco__ClusterRecoCoG as RecoCoG
detector_name = str(os.environ.get("JUGGLER_DETECTOR", "athena"))
detector_config = str(os.environ.get("JUGGLER_DETECTOR_CONFIG", detector_name))
detector_version = str(os.environ.get("JUGGLER_DETECTOR_VERSION", "master"))
detector_path = str(os.environ.get("DETECTOR_PATH", "."))
# Detector features that affect reconstruction
has_ecal_barrel_scfi = False
if 'athena' in detector_name:
has_ecal_barrel_scfi = True
if 'ecce' in detector_name and 'imaging' in detector_config:
has_ecal_barrel_scfi = True
# input arguments from calibration file
with open(f'{detector_path}/calibrations/emcal_barrel_calibration.json') as f:
calib_data = json.load(f)['electron']
......@@ -38,9 +49,24 @@ sf = float(os.environ.get('CB_EMCAL_SAMP_FRAC', '1.0'))
geo_service = GeoSvc("GeoSvc", detectors=kwargs['compact'].split(','), OutputLevel=INFO)
podioevent = EICDataSvc("EventDataSvc", inputs=kwargs['input'].split(','), OutputLevel=DEBUG)
podin = PodioInput("PodioReader", collections=["MCParticles", "EcalBarrelScFiHits", "EcalBarrelScFiHitsContributions"], OutputLevel=DEBUG)
sim_coll = [
"MCParticles",
]
if has_ecal_barrel_scfi:
sim_coll += [
"EcalBarrelHits",
"EcalBarrelHitsContributions",
]
algorithms = []
podin = PodioInput("PodioReader", collections=sim_coll, OutputLevel=DEBUG)
algorithms.append(podin)
podout = PodioOutput("out", filename=kwargs['output'])
algorithms.append(podout)
if has_ecal_barrel_scfi:
# use the same daq_setting for digi/reco pair
scfi_barrel_daq = dict(
dynamicRangeADC=50.*MeV,
......@@ -52,6 +78,7 @@ scfi_barrel_digi = CalHitDigi("scfi_barrel_digi",
inputHitCollection="EcalBarrelScFiHits",
outputHitCollection="EcalBarrelScFiHitsDigi",
**scfi_barrel_daq)
algorithms.append(scfi_barrel_digi)
scfi_barrel_reco = CalHitReco("scfi_barrel_reco",
inputHitCollection=scfi_barrel_digi.outputHitCollection,
......@@ -62,6 +89,7 @@ scfi_barrel_reco = CalHitReco("scfi_barrel_reco",
sectorField="module",
localDetFields=["system", "module"], # use local coordinates in each module (stave)
**scfi_barrel_daq)
algorithms.append(scfi_barrel_reco)
# merge hits in different layer (projection to local x-y plane)
scfi_barrel_merger = CalHitsMerger("scfi_barrel_merger",
......@@ -71,6 +99,7 @@ scfi_barrel_merger = CalHitsMerger("scfi_barrel_merger",
fields=["fiber"],
fieldRefNumbers=[1],
readoutClass="EcalBarrelScFiHits")
algorithms.append(scfi_barrel_merger)
scfi_barrel_cl = IslandCluster("scfi_barrel_cl",
# OutputLevel=DEBUG,
......@@ -79,6 +108,7 @@ scfi_barrel_cl = IslandCluster("scfi_barrel_cl",
splitCluster=False,
minClusterCenterEdep=10.*MeV,
localDistXZ=[30*mm, 30*mm])
algorithms.append(scfi_barrel_cl)
scfi_barrel_clreco = RecoCoG("scfi_barrel_clreco",
inputProtoClusterCollection=scfi_barrel.outputProtoClusterCollection,
......@@ -86,7 +116,7 @@ scfi_barrel_clreco = RecoCoG("scfi_barrel_clreco",
mcHits="EcalBarrelScFiHits",
logWeightBase=6.2,
samplingFraction=kwargs['sf'])
algorithms.append(scfi_barrel_clreco)
podout.outputCommands = ["keep *"]
......
......@@ -127,6 +127,8 @@ for iev in "${ADDR[@]}"; do
continue
fi
if [[ ${JUGGLER_DETECTOR} =~ athena
|| ${JUGGLER_DETECTOR} =~ ecce && ${JUGGLER_DETECTOR_CONFIG} =~ imaging ]] ; then
python ${CB_EMCAL_SCRIPT_DIR}/draw_cluster_layers.py \
${CB_EMCAL_REC_FILE} -e ${iev} --topo-size=1.0 --compact=${CB_EMCAL_COMPACT_PATH} -o results/${particle}
if [[ "$?" -ne "0" ]] ; then
......@@ -140,6 +142,7 @@ for iev in "${ADDR[@]}"; do
echo "ERROR running analysis script: draw_cluster"
exit 1
fi
fi
done
# FIXME energy_profile disabled due to change in layer encoding, needs work
......
......@@ -128,6 +128,8 @@ for iev in "${ADDR[@]}"; do
continue
fi
if [[ ${JUGGLER_DETECTOR} =~ athena
|| ${JUGGLER_DETECTOR} =~ ecce && ${JUGGLER_DETECTOR_CONFIG} =~ imaging ]] ; then
python ${CB_EMCAL_SCRIPT_DIR}/draw_cluster_layers.py \
${CB_EMCAL_REC_FILE} -e ${iev} --topo-size=1.0 --compact=${CB_EMCAL_COMPACT_PATH} -o results/${particle}
if [[ "$?" -ne "0" ]] ; then
......@@ -141,6 +143,7 @@ for iev in "${ADDR[@]}"; do
echo "ERROR running analysis script: draw_cluster"
exit 1
fi
fi
done
# FIXME energy_profile disabled due to change in layer encoding, needs work
......
......@@ -110,7 +110,7 @@ def get_all_mcp(path, evnums=None, branch='MCParticles'):
return pd.DataFrame(data=dbuf[:idb], columns=['event', 'px', 'py', 'pz', 'pid', 'status', 'vex', 'vey', 'vez'])
# read hits data from root file
def get_hits_data(path, evnums=None, branch='RecoEcalBarreImaginglHits'):
def get_hits_data(path, evnums=None, branch='RecoEcalBarrelImaginglHits'):
f = ROOT.TFile(path)
events = f.events
if evnums is None:
......
......@@ -4,8 +4,11 @@ ml_shower:tagging_epimuphka_100:
script:
- pwd
- ls -l
- python3 benchmarks/imaging_shower_ML/sim_rec_tag.py -t imcal_epimuphka_100 -n 100 --particles "electron,pion-,muon,photon,kaon-"
--pmin 0.5 --pmax 10
- |
if [[ ${JUGGLER_DETECTOR} =~ athena
|| ${JUGGLER_DETECTOR} =~ ecce && ${JUGGLER_DETECTOR_CONFIG} =~ imaging ]] ; then
python3 benchmarks/imaging_shower_ML/sim_rec_tag.py -t imcal_epimuphka_100 -n 100 --particles "electron,pion-,muon,photon,kaon-" --pmin 0.5 --pmax 10
fi
ml_shower:tagging_epimuphka:
extends: .rec_benchmark
......@@ -13,24 +16,33 @@ ml_shower:tagging_epimuphka:
stage: benchmarks1
script:
- ls -hal
- python3 benchmarks/imaging_shower_ML/sim_rec_tag.py -t imcal_epimuphka -n 10000 --particles "electron,pion-,muon,photon,kaon-"
--pmin 0.5 --pmax 10
- |
if [[ ${JUGGLER_DETECTOR} =~ athena
|| ${JUGGLER_DETECTOR} =~ ecce && ${JUGGLER_DETECTOR_CONFIG} =~ imaging ]] ; then
python3 benchmarks/imaging_shower_ML/sim_rec_tag.py -t imcal_epimuphka -n 10000 --particles "electron,pion-,muon,photon,kaon-" --pmin 0.5 --pmax 10
fi
ml_shower:tagging_e:
extends: .rec_benchmark
when: manual
stage: benchmarks1
script:
- python3 benchmarks/imaging_shower_ML/sim_rec_tag.py -t imcal_e -n 100
--particles "electron" --pmin 0.5 --pmax 10
- |
if [[ ${JUGGLER_DETECTOR} =~ athena
|| ${JUGGLER_DETECTOR} =~ ecce && ${JUGGLER_DETECTOR_CONFIG} =~ imaging ]] ; then
python3 benchmarks/imaging_shower_ML/sim_rec_tag.py -t imcal_e -n 100 --particles "electron" --pmin 0.5 --pmax 10
fi
ml_shower:tagging_pi:
extends: .rec_benchmark
when: manual
stage: benchmarks1
script:
- python3 benchmarks/imaging_shower_ML/sim_rec_tag.py -t imcal_pi -n 100
--particles "pion-" --pmin 0.5 --pmax 10
- |
if [[ ${JUGGLER_DETECTOR} =~ athena
|| ${JUGGLER_DETECTOR} =~ ecce && ${JUGGLER_DETECTOR_CONFIG} =~ imaging ]] ; then
python3 benchmarks/imaging_shower_ML/sim_rec_tag.py -t imcal_pi -n 100 --particles "pion-" --pmin 0.5 --pmax 10
fi
ml_shower:training_100:
extends: .rec_benchmark
......@@ -38,7 +50,11 @@ ml_shower:training_100:
needs: ["ml_shower:tagging_epimuphka_100"]#, "ml_shower:tagging_e", "ml_shower:tagging_pi"]
script:
- python3 -m pip install tensorflow particle
- python3 benchmarks/imaging_shower_ML/scripts/ml_training.py -t imcal_epimuphka_100 --pmin 0.5 --pmax 10
- |
if [[ ${JUGGLER_DETECTOR} =~ athena
|| ${JUGGLER_DETECTOR} =~ ecce && ${JUGGLER_DETECTOR_CONFIG} =~ imaging ]] ; then
python3 benchmarks/imaging_shower_ML/scripts/ml_training.py -t imcal_epimuphka_100 --pmin 0.5 --pmax 10
fi
ml_shower:training:
extends: .rec_benchmark
......@@ -47,7 +63,11 @@ ml_shower:training:
needs: ["ml_shower:tagging_epimuphka"]#, "ml_shower:tagging_e", "ml_shower:tagging_pi"]
script:
- python3 -m pip install tensorflow particle
- python3 benchmarks/imaging_shower_ML/scripts/ml_training.py -t imcal_epimuphka --pmin 0.5 --pmax 10
- |
if [[ ${JUGGLER_DETECTOR} =~ athena
|| ${JUGGLER_DETECTOR} =~ ecce && ${JUGGLER_DETECTOR_CONFIG} =~ imaging ]] ; then
python3 benchmarks/imaging_shower_ML/scripts/ml_training.py -t imcal_epimuphka --pmin 0.5 --pmax 10
fi
ml_shower:test:
extends: .rec_benchmark
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment