Start the docker pull electronioncolliderepicgui How to install

  • Slides: 38
Download presentation
Start the docker pull electronioncollider/epic-gui How to install docker: eic. gitlab. io / documents

Start the docker pull electronioncollider/epic-gui How to install docker: eic. gitlab. io / documents / quickstart EIC UG Yellow Pages 1 dsca 2 y 5 January 09, 2020

Entry point for EIC software Interactive tutorial Dmitry Romanov 2

Entry point for EIC software Interactive tutorial Dmitry Romanov 2

Start the docker pull electronioncollider/epic-gui eic. gitlab. io / documents / quickstart / EIC

Start the docker pull electronioncollider/epic-gui eic. gitlab. io / documents / quickstart / EIC UG Yellow Pages 3 January 09, 2020

Start the docker pull electronioncollider/epic-gui Plan: • Short introduction to our software • 1.

Start the docker pull electronioncollider/epic-gui Plan: • Short introduction to our software • 1. Hands on tutorial – running a simulation • 2. Hands on tutorial – adding a detector • Answering most common questions (presentation) • Adjourn! • Answering most tricky questions, showing some advanced stuff with Jupyter and our setup. EIC UG Yellow Pages 4 January 09, 2020

Software chain MC generators Fast detector simulation Full detector simulation Reconstruction and analysis EIC

Software chain MC generators Fast detector simulation Full detector simulation Reconstruction and analysis EIC UG Yellow Pages 5 January 09, 2020

Software chain MC generators Full simulation This Tutorials: tutorial January 29 coverage February 6

Software chain MC generators Full simulation This Tutorials: tutorial January 29 coverage February 6 Fast detector simulation Reconstruction and analysis EIC UG Yellow Pages 6 January 09, 2020

What software is in the docker container MC sample files Pythia Beagle Herwig Fast

What software is in the docker container MC sample files Pythia Beagle Herwig Fast simulation Full simulation Tutorials: January 29 February 6 EIC Smear Analysis & reconstruction e. JANA EIC UG Yellow Pages 7 January 09, 2020

What software is in the docker container MC sample files Pythia Beagle Fast simulation

What software is in the docker container MC sample files Pythia Beagle Fast simulation ejana = EIC Jana Community reference reconstruction Geant 4 Eic Pure Geant 4 implementation Herwig G 4 E EIC Smear (Geant 4) Analysis & reconstruction e. JANA EIC UG Yellow Pages 8 January 09, 2020

G 4 E – Geant 4 EIC https: //gitlab. com/jlab-eic/g 4 e Standalone C++

G 4 E – Geant 4 EIC https: //gitlab. com/jlab-eic/g 4 e Standalone C++ Geant 4 application Various EIC MC file formats: Beagle, Pythia 6, HEPMC Pythia 8, Herwig and others Integration with accelerator elements Infrastructure to import Geant 4 detector geometry and simulation code

Jupyterlab new interface to Jupyter EIC UG Yellow Pages 10 January 09, 2020

Jupyterlab new interface to Jupyter EIC UG Yellow Pages 10 January 09, 2020

Start the docker run --rm -it -p 8888: 8888 -p 6080: 6080 electronioncollider/epic-gui …

Start the docker run --rm -it -p 8888: 8888 -p 6080: 6080 electronioncollider/epic-gui … [I 20: 42: 19. 975 Lab. App] The Jupyter Notebook is running at: [I 20: 42: 19. 975 Lab. App] http: //127. 0. 0. 1: 8888/ [I 20: 42: 19. 975 Lab. App] Use Control-C to stop this server EIC UG Yellow Pages 11 January 09, 2020

Jupyter lab, Jupyter notebooks, EPW, epic… EIC UG Yellow Pages 12 January 09, 2020

Jupyter lab, Jupyter notebooks, EPW, epic… EIC UG Yellow Pages 12 January 09, 2020

Do we hide complexity? Jupyter lab, GUI, Python, scripts, analysis C++, e. JANA, plugins

Do we hide complexity? Jupyter lab, GUI, Python, scripts, analysis C++, e. JANA, plugins JANA, eic-smear, ROOT, Geant 4 EIC UG Yellow Pages 13 January 09, 2020

Transparency between layers • Jupyter. Lab -> Python/ROOT C++. Python -> Command line… EIC

Transparency between layers • Jupyter. Lab -> Python/ROOT C++. Python -> Command line… EIC UG Yellow Pages 14 January 09, 2020

Working with ROOT and CLI • Run docker with bash -docker run -it -p

Working with ROOT and CLI • Run docker with bash -docker run -it -p 8888: 8888 eicdev/epic: latest bash -To run jupyter lab environment > jlab • Run ROOT + C++ in notebooks: EIC UG Yellow Pages 15 January 09, 2020

Run on Open Science Grid Configuration Run (sim, recon, analysis) Tamper with code OSG

Run on Open Science Grid Configuration Run (sim, recon, analysis) Tamper with code OSG In preparation Introspect results EIC UG Yellow Pages 16 January 09, 2020

Ways to interact G 4 E with the docker 1. Jupyter. Lab (in browser)

Ways to interact G 4 E with the docker 1. Jupyter. Lab (in browser) 2. no. VNC (in browser) 3. Any VNC viewer 4. X 11 (directly or through ssh) 5. Remote debugging … or just install everything on your machine https: //gitlab. com/eic/ejpm EIC UG Yellow Pages 17 January 09, 2020

Part 2 – Importing a ready detector to G 4 E EIC UG Yellow

Part 2 – Importing a ready detector to G 4 E EIC UG Yellow Pages 18 January 09, 2020

https: //gitlab. com/jlab-eic/g 4 e Geant 4 Eic (g 4 e) • Keep close

https: //gitlab. com/jlab-eic/g 4 e Geant 4 Eic (g 4 e) • Keep close to raw Geant 4 • Small code base and fast compilation is good - KISS • Users coding in “Geant 4” paradigms • Coding is OK GOOD • Few interfaces are well defined and documented. E. g. -How to move in a detector -What is the output root file structure -etc. • It is up to users what to do, but there are Recommendations to commit code back EIC UG Yellow Pages 19 January 09, 2020

Main detectors – sub detectors Beamlines Future updates? JLEIC ERHIC Master detectors BEAST JLEIC

Main detectors – sub detectors Beamlines Future updates? JLEIC ERHIC Master detectors BEAST JLEIC e. Phenix Etc… Subdetectors Now 24 subdetectors EIC UG Yellow Pages 20 January 09, 2020

How one can add subdetecors to G 4 E 1. Create detector in place

How one can add subdetecors to G 4 E 1. Create detector in place (in this tutorial) 2. Import detector from a library (this tutorial) 3. Import detector from ROOT Geometry (example is upcoming) 4. Define geometry with Geant 4 py (official G 4 pyhon library). (with C++ running speed) Subdetectors are developed under its own repos It would be good at this point not to disturb it EIC UG Yellow Pages 21 January 09, 2020

Naming convention Names - <region>_<DETECTOR>_sub… Example – cb_VTX e ffe_ far forward electron p/A

Naming convention Names - <region>_<DETECTOR>_sub… Example – cb_VTX e ffe_ far forward electron p/A e central detector IP electron-endcap barrel ion-endcap ce_ cb_ ci_ forward ion (after D 1) fi_ EIC UG Yellow Pages far forward ion (after D 2) ffi_ 22 January 09, 2020

Naming sum up 1. Central Detector (c): • Barrel (cb) == Central Barrel •

Naming sum up 1. Central Detector (c): • Barrel (cb) == Central Barrel • Solenoid (cb_Solenoid) • Electron endcap (ce) == Central Electron endcap • GEM tracking (ce_GEM) • Ion endcap (ci) == Central detector Ion endcap • GEM tracking (ci_GEM) 2. Forward ion (fi) direction area near D 1 magnet: • Tracker detector 1 (fi_TRKD 1) 3. Far. Forward ion (ffi) direction area (near D 2, D 3 magnets) • Zero. Degree Calorimeter (ffi_ZDC) • Roman Pots (ffi_RPOTS) 4. Far forward electron (ffe) direction area • Low*Q 2 tagger (ffe_LQ 2) • Electron Polarimeter (ffe_CPOL) • Luminosity monitor (ffe_LUMI) EIC UG Yellow Pages 23 January 09, 2020

Volumes hierarchy • Each detector is placed in an outer placeholder volume EIC UG

Volumes hierarchy • Each detector is placed in an outer placeholder volume EIC UG Yellow Pages 24 January 09, 2020

Detector design interface detector_Conifg Subdetector implementation Master Detector Construction detector_Design EIC UG Yellow Pages

Detector design interface detector_Conifg Subdetector implementation Master Detector Construction detector_Design EIC UG Yellow Pages 25 January 09, 2020

Final improvements • Mapping User Actions action. Init = init. Context. Action. Initialization action.

Final improvements • Mapping User Actions action. Init = init. Context. Action. Initialization action. Init. Add. User. Action. Generator([&](){return new lumi: : Event. Action(); }); action. Init. Add. User. Action. Generator([&](){return new lumi: : Run. Action(); }); • Using global root output init. Context. Root. Manager->Get. Main. Root. File() init. Context. Arguments->Output. Base. Name • Adding ffe_LUMI_Config to master_Config EIC UG Yellow Pages 26 January 09, 2020

Configuration Master Config sub. Conifg Subdetector Master Detector Construction Subdetector sub. Conifg Subdetector EIC

Configuration Master Config sub. Conifg Subdetector Master Detector Construction Subdetector sub. Conifg Subdetector EIC UG Yellow Pages 27 January 09, 2020

Configuration Initialization. Context Master Config sub. Conifg Subdetector Master Detector Construction Subdetector sub. Conifg

Configuration Initialization. Context Master Config sub. Conifg Subdetector Master Detector Construction Subdetector sub. Conifg Subdetector EIC UG Yellow Pages 28 January 09, 2020

EIC UG Yellow Pages 29 January 09, 2020

EIC UG Yellow Pages 29 January 09, 2020

How can I save data? 1. Remove “remove” flag! docker run --rm -it -p

How can I save data? 1. Remove “remove” flag! docker run --rm -it -p 8888: 8888 electronioncollider/epic-gui 2. The project is a git repository. Jupyterlab-git is installed EIC UG Yellow Pages 30 January 09, 2020

How to process your file with this docker? • docker run -it --rm -p

How to process your file with this docker? • docker run -it --rm -p 8888: 8888 -p 6080: 6080 -v my_folder: /home/eicuser/epw/share electronioncollider/epic-gui • -v source: destination – flag to bind your and docker directories • /home/eicuser/epw/share – to instantly see in the default Jupyter. Lab directory • Windows – you will need -sharing a drive or… -use WSL 2 or… -Virtualbox EIC UG Yellow Pages 31 January 09, 2020

Full docker run string • docker run -it --rm -p 8888: 8888 -p 6080:

Full docker run string • docker run -it --rm -p 8888: 8888 -p 6080: 6080 -p 5901: 5901 --cap-add=SYS_PTRACE -security-opt seccomp=unconfined electronioncollider/epic-gui • --cap-add=SYS_PTRACE --security-opt seccomp=unconfined - enables debugging • 8888 – Jupyter. Lab, 6080 – no. VNC, 5901 – any VNC client EIC UG Yellow Pages 32 January 09, 2020

How to install things on my machine? Some effort Experts NO EFFORT AT ALL

How to install things on my machine? Some effort Experts NO EFFORT AT ALL Novice Efforts required axis Precompiled Binaries Farms (BNL, Jlab) Containers Workstation Compilation Conda, CVMFS EJPM EIC Jana Packet Build Managaer = ejpm This tutorials EIC UG Yellow Pages 33 January 09, 2020

Upcoming tutorials • Detector Full Simulation Tutorials: The tutorial will cover Geant 4 simulations

Upcoming tutorials • Detector Full Simulation Tutorials: The tutorial will cover Geant 4 simulations of EIC detectors and will show to modify existing detector concepts and how to integrate a new detector into one of the existing detector concepts. -Thursday, February 6 (TBC). Please stay tuned for the final date. • Remote access for both tutorials will be provided via Blue. Jeans. • Please register for the tutorials! Topics not covered in planned tutorials: EIC Smear, Jana 2 / e. JANA, ROOT 7, OSG, Data science tools, Jupyter. Lab, Reconstruction EIC UG Yellow Pages 34 January 09, 2020

Users input needed! We’ve built a base for our software stack. Users are welcome

Users input needed! We’ve built a base for our software stack. Users are welcome to steer and drive the further development EIC UG Yellow Pages 35 January 09, 2020

Grow with user input Develop Support Workflow environment for EICUG • to use (tools,

Grow with user input Develop Support Workflow environment for EICUG • to use (tools, documentation, support) and • to grow with user input (direction, documentation, tools) Involvement from EICUG EIC UG Yellow Pages 36 January 09, 2020

Support Thank you! https: //gitlab. com/jlab-eic/g 4 e https: //gitlab. com/eic/ejpm support team Users

Support Thank you! https: //gitlab. com/jlab-eic/g 4 e https: //gitlab. com/eic/ejpm support team Users weekly shifts Developers experience software-support@eicug. org http: //eicug. slack. com/ Mailing list (anyone can contact) Google forum (for archive of support requests and start of knowledge base) EICUG Slack workspace with software-support channel EIC UG Yellow Pages 37 January 09, 2020

e. JANA is JANA + plugins for EIC data reconstruction and analysis Generators Full

e. JANA is JANA + plugins for EIC data reconstruction and analysis Generators Full simulation e. JANA • tools to manage dependencies and run e. JANA in different environments • Integration with python and extensions to Jupyter Lab (ejpm, edock, pyjano, and others. . ) Directly opens various MC formats Fast simulation Reconstruction Eic smear Genfit Rave Analysis in (multithreaded C++) Python Jupyter e. JANA stands for EIC JANA ROOT But also: