ladamczy / STAR-Analysis

Repository for AGH-STAR analysis code
2 stars 0 forks source link

Generacja, symulacja detektora STAR, rekonstrukcja danych STAR, embedding przypadków PYTHIA8 #17

Open ladamczy opened 7 months ago

ladamczy commented 7 months ago

Bedziemy potrzebowac (szczególnie do analizy inkluzywnej) próbki różnych procesów przepuszczone przez symulacje detektora STAR, zrekonstruowac je tak jak dane STAR, dodać embedding. Zrobimy to dla PYTHIA8. Najnowsza wersja dostepna w STAR to 8.303. Aby generować próbki PYTHIA8 należy (po porawnym zalogowaniu na rcf)

mkdir my_pythia cd my_pythia starver pro cvs co StRoot/StarGenerator/macros

----- cvs co .... kopiuje zawartość StRoot/StarGenerator/macros do my_pythia . ----- mozna sobie zrobić kopie makra do generacji PYTHI8

cp StRoot/StarGenerator/macros/starsim.pythia8.C starsim.pythia8.C

----- następnie trzeba zmodyfikowac starsim.pythia8.C do swoich potrzeb. Modyfikujemy makro roota zatem nie musimy niczego ----- kompilować. Później opisze jak kompilowac biblioteki jesli wprowadzimy zmiany w oprogramowaniu. ----- Makro starsim.pythia8.C wymaga specjalnego oprogramowania. Nie da sie uruchomić poza BNL ani nie można uzywać ----- "zwykłego" roota. Do uruchamiania makr z oprogramowaniem STAR uzywamy specjalnej nakładki "root4star"

root4star -q -b starsim.pythia8.C\(1000\)

------ generuje 1000 przypadków PYTHIA8 i przepuszcza je przez symulacje detektora STAR. Powstaja dwa pliki ------ .root który zawiera poziom true PYTHIA8 (to nie jest format PYTHII to jest format STAR ) ------ .fzd który zawiera odpowiedź detektora STAR (symulacja GEANT3) na cząstki z poziomu true.

W pierwszej kolejności prosze wygenerować po 1000 przypadków następujacych procesów (patrz manual PYTHIA8 lub informacje ode mnie):

  1. elastyka
  2. pojedyncza dyfrakcja
  3. podwójna dyfrakcja
  4. centralna dyfrakcja
  5. procesy niedyfrakcyjne

    wszystko dla energii w układzie środka masy 510 GeV. Można analizować plik z rozszerzeniem .root ale ostatecznie będziemy dysponować plikami w formacje upcDst które juz wiecie jak analizować rownież z poziomu true.

Wiecej szczegółów później jak bede pierwsze próbki. Docelowo oprócz powyższych próbek wygenerujemy próbki z filtrem a) na protony w RP b) na K0 i Lambda w TPC.

AddahDraggon commented 7 months ago

Wygenerowałem ww. próbki, jak mogę we własnym zakresie zamienić pliki .fzd na upcDst?

ladamczy commented 7 months ago

Niech Pan kod umiesci w repozytorium abym miał kontrole nad parametrami PYTHII. Rozumiem, ze obecnie używa Pan ustawień domyślnych.

Byłoby dobrze jakby się Pan nauczył analizować pliki .root . One zawierają poziom true ale w innym formacie niż są w PYTHII (no i nie ma metod z PYTHII) . Tutaj mogę pomóc gdyby Pan miał problem z czytaniem tych plików. Ta umiejetność sie przyda aby sprawdzić czy generujemy to co chcemy zanim przepuścimy symulacje przez cały łańcuch programów na którego końcu jest upcDST. Najlepiej zacząć od centralnej dyfrakcji i wyprodukowaniu takich samych histogramów jakie Pan tworzył bezpośrednio w PYTHII. Dodatkowo w upcDST poziom true jest jakiś dziwny (okrojony) pewnych informacji brakuje. Zamiast poprawiać kod tworzący upcDST możemy połączyć pliki .root z generacji z plikamu upcDST i mieć do dyspozycji pełny poziom true.

Jeżeli uda się Panu to zrobić dla centralnej dyfrakcji to przejdziemy do pojedynćzej dyfrakcji. Tam oczywiście mamy tylko jeden proton dyfrakcyjny (czasami pojawi się drugi proton z fragmentacji). Dobrze jest zrobić rozklady xi protonu dyfrakcyjnego oraz ztego z fragmentacji oraz rozkłady krotności cząstek naładowanych w akceptancji TPC. Dla podwójnej dyfrakcji i niedyfrakcji beda tylko protony z fragmentacji.

W miedzy czasie poinstruuje Pana jak produkować upcDST.

AddahDraggon commented 7 months ago

W jaki sposób mogę umieścić tylko jeden folder ze STARa w repozytorium? Czy mam w jakiś sposób robić lokalną kopię u siebie?

AddahDraggon commented 3 months ago

Znalazłem skrypty do generowania, one są obecnie w /star/u/adamwatroba/STAR-Analysis/Inclusive_Analysis/pythia/STAR_scripts Plik run_all.sh <n_events> pozwala odpalić wszystkie 5 naraz z n_events jako parametr. Obecnie pownienem je jakoś dostosować żeby generowały K0 oraz były odpowiednie cięcia na obszary TPC czy raczej się skupić na łączeniu plików .fzd z .root?

ladamczy commented 3 months ago

Tak jak wspominałem na naszym spotkaniu pierwszym krokiem będzie napisanie programu który czyta pliki .root i tworzy dokladnie takie same histogramy jakie produkował Pan bezpośrednio z PYTHII.

Tam będzie kilka poprawek w tych makrach:

simple = "y2017a geant gstar usexgeom agml";

            SetSigma( 0.015, 0.015, 50.);

geometry("y2017a field=-5.0"); command("gkine -4 0");

Do rekonstrukcji prosze uzyć takiego skryptu

root4star -q -b bfc.C(0,100,\"DbV20200225,DbV20211220_TPC_Calibrations,StiCA,pp2017a,btof,mtd,mtd Calib,pp2pp,PicoVtxDefault,UseBTOFmatchOnly,VFStoreX,fmsDat,fmsPoint,fpsDat,BEmcChkStat,OSpaceZ2,O GridLeakFull,TpxClu,evout,-hitfilt,mtdsim,MiniMcMk,McAna,emcSim,EEfs,GeantOut,gen_T,geomT,sim_T,Tp cRS,-ittf,-tpc_daq,nodefault,fzin,ry2017a\",\"starsim.fzd\")

powinien powstać plik starsim.MuDst.root

kolejnym krokiem bedzie produkcji pliku UPCDst.root

AddahDraggon commented 3 months ago

Odpaliłem ten skrypt, powstały (przykładowo) pliki o wielkości i rozszerzeniach:

Jeśli dobrze rozumiem z informacji które gdzieś znalazłem, on przetwarza od 0-go do 100 eventu, a mimo to plik picoDst (z rozmiarem 21k) jest w zasadzie pusty. Czy istnieje jakieś pojedyncze miejsce gdzie mogę znaleźć prezentacje/dokumentację które wyjaśniają po kolei rzeczy w stylu "starver pro", cały pipeline od symulacji do analizowalnego pliku z wyjaśnieniem możliwych argumentów? Bo obecnie byłem w stanie wyszukać rzeczy w stylu

AddahDraggon commented 3 months ago

Pliki wygenerowane o których mówię powyżej są w /star/u/adamwatroba/STAR-Analysis/Inclusive_Analysis/pythia/STAR_scripts, wszystkie z nich mają 21kb, co wydaje mi się wskazuje tylko na obecność odpowiedniej struktury, i brak danych. Ponadto chciałbym się zapytać o sens tej linijki w skryptach: https://github.com/ladamczy/STAR-Analysis/blob/0b4d51b45d24af932f7a24063a9df02da2199a90/Inclusive_Analysis/pythia/STAR_scripts/centralDiffractive.C#L66 bo wygląda jakby bfc już było wywoływane