Code Monkey home page Code Monkey logo

laboratorio-muoni-cosmici's Introduction

Decadimento dei muoni cosmici in alluminio

                                 |
                                 | p
                                 |
                                 *
                                / \
                             π /   \ π
                              /     \
                             /\      \
                            /  \      \
                           /    \ ν    \
                          /      \      \
                         /        \      \
                        /                /\
                    µ  /                /  \
                      /              γ /    \ γ
                     /                /      \
                    /                /\
                   /             e  /  \ e
                                   /    \
                                         \

Contents:

  • README.md
  • env.sh: shell script da eseguire per rendere visibili gli eseguibili ovunque
  • Makefile: Makefile generale per compilare tutto il progetto

latex/

  • muon.tex: file principale
  • analApp.tex: appendici con i calcoli analitici e simulazioni
  • imgEff.tex: appendice con i grafici dell'efficienza
  • draw.tex: schema dell'apparato sperimentale
  • Scemi.tex: schemi dei circuiti
  • img: immagini

code/

  • efficiency/
    • eff.cc: macro ROOT per il plot delle efficienze
    • *.txt: data files per ogni PMT
  • TAC/
    • cal.C : macro ROOT per calibrare i TAC
    • openADC.cc : programma per visualizzare gli spettri prodotti dal multicanale
    • TAC_437/: dati calibrazione per il TAC nr. 437 (1° semestre)
      • semestre2/ : dati calibrazione rifatta nel secondo semestre
      • rumore/ : prove di start/stop artificiale del secondo semestre
    • TAC_467/: dati calibrazione per il TAC nr. 467 e start/stop artificiale (1° semestre)
  • analysis/
    • lifetime_nocalib_bkgr_sub.cc : programma per l'analisi (parziale 1° semestre)
    • analisiFinale.cc : programma per l'analisi (finale 2° semestre)
    • dati_semestre_1/ : directory contenenti tutti i file usati nell'analisi del 1° semestre
    • dati_semestre_2/ : directory contenente tutti i file usati nell'analisi del 2° semestre
  • montecarlo/
    • semestre1/ : macro e notebooks di Mathematica per la simulazione MonteCarlo delle coincidenze
    • semestre2/
      • baselineStart.cc : studio della stima della baseline con fit "pol0" al variare del punto iniziale nello spettro simulato exp+cost
      • fitexpStart.cc : studio della bontà del fit esponenziale al variare del punto iniziale nello spettro simulato exp+exp+cost
      • montecarlo_modifiedforbaseline.cc : confronto metodi di fit della baseline
      • montecarlo_SingleNsim.cc : simulazione montecarlo completa
      • montecarlo.cc : funzione-simulazione montecarlo completa adatta all'iterazione in main.cc
      • main.cc : matrice di simulazioni
  • luce_buio_slabs/
    • luce_buio.cc : crea il grafico conteggi di ogni PMT con luce e buio
  • simulazione_circuiti/ : simulazione coincidenze tra circuiti di start e di stop

Foto_Pb/ : Foto disposizione piombo prima della rimozione

Collaborative Git:

Ho creato due branches: master è la versione approvata e aggiornata della relazione, modifiche è riservata alle proposte di modifica tramite pull request. Potete lavorare su master e caricare le modifiche direttamente sulla versione finale oppure su modifiche per discuterne con gli altri.

La prima cosa da fare (dopo aver letto la man di gittutorial e configurato la propria identità con git config --global --edit) è copiare questa repository in locale tramite git clone; per cominciare a lavorare:

  • spostatevi sulla branch modifiche con git checkout modifiche;
  • fate le vostre modifiche e finalizzatele con git commit -a;
  • caricate tutto in remoto con git push bitbucket modifiche (può essere che voi dobbiate ridefinire l'alias bitbucket con il comando git remote add bitbucket [email protected]:luigipertoldi/relazionemuoni.git);
  • andate sulla pagina della repository e create una pull request. Chiunque può lavorare su modifiche e caricare le proprie modifiche lasciando la pull request in sospeso. Una volta che si è d'accordo si unisce il contenuto di modifiche con quello di master.

Nota Bene:

  • Ricordatevi di dire a git di ignorare file output di compilazione aggiungendoli al file .gitignore
  • Ricordatevi di mantenere sincronizzato il vostro lavoro con quello presente sulla repository tramite git pull
  • git pull semplicemente aggiunge ciò che trova nel remote al vostro lavoro, se volete essere certi di avere una lo stesso identico codice che si trova nella branch di riferimento nella repository dovete:
    • $ git fetch bitbucket : fa un download di quello che c'è nella repo senza fare il merge con il locale
    • $ git reset --hard bitbucket/branch_name : effettivamente rimpiazza ciò che avete in locale
  • Quando c'è una nuova branch nel remote e volete averla in locale dovete prima crearla e associarla a quella remota. Solo dopo potete fare pull:
    • $ git checkout -b newlocalbranchname bitbucket/branch-name
    • $ git pull
  • Se vi siete accorti che avete fatto una cazzata nell'ultimo commit e volete tornare indietro potete:
    • $ git reset HEAD~ : annulla il commit
    • $ git revert HEAD~ : crea un nuovo commit in cui eliminate le modifiche dell'ultimo
  • Ricordatevi di eliminare anche in locale la branch che avete eliminato in remoto, git non lo fa automaticamente!
    • $ git branch --list : vedere le branch esistenti
    • $ git branch -d branch_name : elimina la branch

La procedura di cui sopra è un esempio dei tanti modi in cui si possono proporre modifiche ad un progetto, git è un programma molto esteso, sbizzarritevi! Potete creare più branches, potete lavorare sulla vostra versione nella vostra repo e poi proporne l'unione con il master ecc... Leggete la man di git per qualunque dubbio.

Provate a modificare questo README.md per esercitarvi!

SSH config:

Avete bisogno di una coppia di chiavi ssh, pubblica e privata (se non esiste il file ~/.ssh/id_rsa allora non ce l'avete). Per generarle:

ssh-keygen -t rsa

e seguite le istruzioni (potete lasciare tutto default, la passphrase non è necessaria). Infine dovete dare a Bitbucket la vostra chiave pubblica, dimodochè la vostra macchina sia associata alla vostra identità, copiando il contenuto di ~/.ssh/id_rsa.pub nell'apposito form tra le impostazioni del vostro account.

laboratorio-muoni-cosmici's People

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.