gaudino
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 30/08/23 B → τν updates * Fit alla molteplicità <12, perchè non <= * Purezza del Dstarellnu * Contare anche le sistematiche nel calcolo della significatività # 21/08/23 B → τν updates * Aggiornare la nota con sistematiche * Sistematiche sul singolo canale * Correlazioni Slope/Intercept # 22/05/23 B → τν meeting * Correzione del pi0 (acceso/spento) ci dice la sistematica del pi0 OK * Prolungare la correzione della molteplicità OK * Tabularli OK * Nelle sistematiche si può variare il risultato del fit per vedere l'errore # 15/05/23 B → τν meeting * Il fattore di scala dei BB va ridotto di un fattore legato alla luminosità dei dati. * Controllare off resonance versus MCqq con Eextra corretto (splitoff) * Vedere missingMassofEvent come in [questa nota](https://docs.belle2.org/record/3426/files/BELLE2-NOTE-PH-2023-010.pdf) * Fare l'ottimizzazione dei tagli a 362 fb * Come cambia la composizione dei fotoni extra al variare della molteplicità # 11/05/23 B → τν meeting * Controllo: Selezionare prima la traccia di segnale e poi BCS * Si possono salvare più punti di lavoro del pid (09,095,099) * si può salvare pi0eff40 , pi0eff50 etc * # 27/04/23 B → τν meeting * fotoni per regione * fotoni che vengono dal pi0 guardando i fotoni extra * energia cluster vs numero cluster * aggiungere ncluster per regione * wc e doubletag * scanner chi2 * massa pi0 massa rho, vedere effetto shift * invece che shif a tutti i fotoni, si può lavorare sul threshold * cambiando la molteplicità vedere come cambia eextra (ripesamento) * vedere come cambia eextra prima e dopo il taglio sulla fakePhotonSuppression e vedere come cambia lo shift * vedere per valori <0.1 della fakePhotonSuppression che tipi di fotoni sono * vedere la molteplicità per tipo di fotoni * eID, muID e piID prima e dopo la track isolation * scan della soglia minima dei fotoni extra tra 55 e 100 MeV con toy MC e vari plots come molteplicità ecc * cluster energy minore di 100MeV zoom # 18/04/23 B → τν meeting Nuovi Dataset confronto con vecchi ``` _ = ma.calculateTrackIsolation(f"e{sign}:corrected", mypath, *["CDC", "TOP", "ARICH", "ECL", "KLM"], reference_list_name=f"pi{sign}:ref") _ = ma.calculateTrackIsolation(f"mu{sign}:presel", mypath, *["CDC", "TOP", "ARICH", "ECL", "KLM"], root [29] file_conTrackIsolation->cd() (bool) true root [30] BTagBtaunu->GetEntries("d1_d0_dmID == 3") (long long) 18217 root [31] BTagBtaunu->GetEntries("d1_d0_dmID == 4") (long long) 5399 root [32] BTagBtaunu->GetEntries("d1_d0_dmID == 5") (long long) 146935 root [33] BTagBtaunu->GetEntries("d1_d0_dmID == 6") (long long) 122574 root [34] file_senzaTrackIsolation->cd() (bool) true root [35] BTagBtaunu->GetEntries("d1_d0_dmID == 3") (long long) 109931 root [36] BTagBtaunu->GetEntries("d1_d0_dmID == 4") (long long) 96375 root [37] BTagBtaunu->GetEntries("d1_d0_dmID == 5") (long long) 146935 root [38] BTagBtaunu->GetEntries("d1_d0_dmID == 6") (long long) 122574 ``` # 14/04/23 B → τν meeting Provare diverse definizioni di E extra: * Sottrarre gli splitoff facendo lo shift così da eliminare quelli che non passano la selezione dopo la modifica * Fare la stessa cosa con tutti i fotoni e non solo con gli splitoff * Modificare i pesi degli eventi in base a cosa ci dice il rapporto di eventi bin per bin della molteplicità di fotoni extra * plottare la massa invariante di tutte le coppie di fotoni # 11/04/23 B → τν meeting * fotoni per regione * fotoni che vengono dal pi0 guardando i fotoni extra * energia cluster vs numero cluster * aggiungere ncluster per regione * wc e doubletag * scanner chi2 # 24/03/23 B → τν meeting Michele ha mostrato la separazione dei fotoni extra nei tre gruppi: * hadronic splitoff * beambackground * true tramite la variabile mcPDG e la variabile clusterMCMatchWeight/clusterE e in tutti i canali la separazione è visibile come mostrato dall'analisi R(D). In queste nuove n-ple, è stato necessario aggiungere nelle variabili di input della BDT di reweight E_ECL. Possiamo considerare di studiare la misID della particle ID, per poter usare diverse scelte di Working Point Inoltre potrebbe essere utile vedere Theta vs p per capire il picco a 1 GeV degli elettroni a cosa è dovuto. Vedere Eextra con l'energia frazionaria. Cambio in percentuale dell'energia degli split off. Aggiungere al plot di split off supp i valori minori di 0.1 e plottare anche beam bkg supp. # 17/03/23 B → τν meeting ### TO DO LIST 1. controllare che il workflow su GitLab sia corretto e completo 2. Aggiungere l'analisi offline al workflow su gitlab (selezione + continuo MC correzione+ contiuno sopressione + correzioni MC + fit) 3. Applicare correzione Nagoya a MC E_Extra per controllare data MC agreement 3.1 a E_extra del MC finale e contronto su E_Extra sideband 3.2 a E_extra double tags 3.3 a E_extra wrong charge c'è un problema con la correzione del beam background della ricetta Nagoya, che usa il run dependent MC, assumendo che l'unica differenza rd/ri sia il beam background. > opzione a: Potremmo usare direttamente il loro risultato? (c'è una matrice di "trasferimento" che indica probabilità di migrazione dei bin. Chiediamo a loro) > opzione b: Si potrebbe trovare una correzione per entrambe le componenti (split-off e beam bkg) attraverso un fit che trovi un valore (o percentuale o energia fissa) per entrambe le distribuzioni usando i campioni double tags. # 15/03/23 Analysis workflow ### Ricostruzione Steering file unico per MC, Data e Data-OffRes, da terminale si può selezionare il tipo, ma anche se applicare TopoAna o no. Lo script si trova nella cartella *reconstruction_new/BtoTauNu*. Un esempio di comando gbasf2 può essere: ``` gbasf2 rec_Btag_BtoTauNu.py --basf2opt="--arg --dataType "DATA" --arg --TopoAna "false"" -s light-2212-foldex -d DESY-TMP-SE -p BTauNu_1103_data -i /belle/collection/test/11180500_proc13prompt_noEcl --cputime 600 --force > output_data.txt & gbasf2 rec_Btag_BtoTauNu.py --basf2opt="--arg --dataType "MC" --arg --TopoAna "true"" -s light-2212-foldex -d DESY-TMP-SE -p BTauNu_1103_MC --input_dslist collection_MC15ri.txt --cputime 600 --force > output_MC.txt & ``` Solo per i Dati, applichiamo le correzioni Energy Bias ai fotoni. Si definisce la good track, il taglio sul momento, il taglio sui fotoni e l'efficenza dei fotoni del pi0: ``` trackcuts= 'dr < 0.5 and abs(dz) < 2 and thetaInCDCAcceptance and nCDCHits > 20 and pt > 0.1 and E < 5.5' momentum_cut = 'pt > 0.1 and E < 5.5' photoncuts= '[[clusterReg==1 and E>0.080] or [clusterReg==2 and E>0.030] or [clusterReg==3 and E>0.060]] and minC2TDist>25 and beamBackgroundSuppression>0.5' pi0_eff40 = '[clusterNHits>1.5] and thetaInECLAcceptance and [[clusterReg==1 and E>0.080] or [clusterReg==2 and E>0.030] or [clusterReg==3 and E>0.060]] and abs(clusterTiming) < 200 and abs(clusterTiming/clusterErrorTiming) < 2.0' ``` Si ricostruisce il B di tag a partire dalla lista preskimmata: `B+:feiHadronic`. Si salva solo il candidato best `rank == 1`. Si crea il resto dell'evento rispetto al tag e si aggiungono le variabili di Continuum Suppression `d0_cosTBTO, d0_KSFWVariables_hso00 etc.` Si crea la lista di elettroni e muoni a partire dagli `stdLep` e la lista di pioni con `pionID_noSVD > 0.6 + momentum_cut`. Per gli elettroni usiamo la PID creata con la BDT e per i muoni quella creata con la likelihood come consigliato dal gruppo delle perfomance [qui](https://confluence.desy.de/display/BI/Recommendations+for+Lepton+ID+-+release+6). Applichiamo la global tag per farci salvare nel ntupla i pesi ottenuti dagli studi su Data/MC e i rispettivi errori statistici e sistematici. Per il canale ρ ricostruiamo il τ a partire dalla traccia π e dal π0 richiedendo la massa invariante attorno alla massa nominale della ρ in una finestra di 300 MeV. Tra tutti i candidati ρ, si sceglie quello con la massa più vicina a quella nominale. Si ricostruisce infine la Υ(4S) a partire dai due B. #### Rest of Event Si costruisce il resto dell'evento a partire dalla Υ(4S) e si creano 4 diverse maschere per fotoni nel calorimetro e tre diverse maschere per le tracce. ``` energy_cut = 'E > 0.055 and clusterNHits > 1.5' split_off_cut_v1 = 'hadronicSplitOffSuppression>0.1' split_off_cut_v2 = 'minC2TDist>25' background_cut_v1 = 'beamBackgroundSuppression>0.5' background_cut_v2 = 'abs(clusterTiming) < 200 and abs(clusterTiming/clusterErrorTiming) < 2.0' ROEClusters_v1_v1 = ('ROEClusters_v1_v1','',energy_cut + ' and ' + split_off_cut_v1 + ' and ' + background_cut_v1) ROEClusters_v1_v2 = ('ROEClusters_v1_v2','',energy_cut + ' and ' + split_off_cut_v1 + ' and ' + background_cut_v2) ROEClusters_v2_v1 = ('ROEClusters_v2_v1','',energy_cut + ' and ' + split_off_cut_v2 + ' and ' + background_cut_v1) ROEClusters_v2_v2 = ('ROEClusters_v2_v2','',energy_cut + ' and ' + split_off_cut_v2 + ' and ' + background_cut_v2) ``` in più richiediamo 0 extra tracce dure nel'evento (per vedere le extra tracce anche offline), successivamente si richiederà 0 extra tracce dall'ID: ``` ROETracksL = ('ROETracksL', trackcuts,'') ROETracksT = ('ROETracksT', trackcuts + ' and pt > 0.1', '') variables.addAlias('nAllROETracksLoose','nROE_Tracks(ROETracksL)') variables.addAlias('nAllROETracksTight','nROE_Tracks(ROETracksT)') applyCuts('Upsilon(4S):Btaunu','nAllROETracksTight==0',path=mypath) ``` Si costruisce: 1. Event kinematics 2. Event Shape 3. Energia totale nel calorimetro (per la FEI) #### Tree Resto dell'Evento Per le informazioni sui fotoni extra, creiamo un altro tree. ``` cut='isInRestOfEvent==1 and E > 0.055 and thetaInECLAcceptance' ``` solo negli eventi che soddisfano ``` selection='d0_sigProb>0.001 and d0_cosTBTO<0.8 and foxWolframR2<0.6', ``` # 14/03/23 B → τν meeting - [ ] Si scriverà un readme su gitlab in cui ci sarà il workflow dell'analisi in maniera semplice così da unificare l'analisi in maniera simile. - [ ] Va debuggato il codice per far convergere il TOY MC. ## Giovanni Double Tag: - [ ] Per vedere una cosa pura senza qqbar facendo un taglio a costheta a 0.5 # 10/03/23 B → τν meeting I jobs stanno girando e stiamo aspettando che finiscano. Bisogna applicare i pesi dal MCrd per i Beam Background. Come identificare gli splitoff | Ricette per fotoni || | -------- | -------- | | True γ | mcPDG == 22 | | Split-off showers | mcPDG !=22 | | Split-off showers | nan mcPDG & clusterTotalMCMatchWeight/clusterE ≥ 0.4 | | Beam BG clusters | nan mcPDG & clusterTotalMCMatchWeight/clusterE < 0.4 | Script correzione gamma Beam Background: ### Beam background: apply correction with fake photon ``` _EeclBB = _row[_EeclBBVarExpr] _iBinXBB = _histBB.GetXaxis().FindBin(_EeclBB) if (_iBinXBB > 0) and (_iBinXBB < _histBB.GetNbinsX() + 1): _rand = np.random.rand() _pdf = 0.0 for _iBinYBB in range(1, _histBB.GetNbinsY() + 1): _corrVal = _histBB.GetBinContent(_iBinXBB, _iBinYBB) _pdf += _corrVal if _rand <= _pdf: df.iloc[_iEntry, _iColumnBB] = _iBinYBB / _iBinXBB df.iloc[_iEntry, _iColumnBB] *= _EeclBB break ``` # 03/03/23 B → τν meeting [Indico Page](https://agenda.infn.it/event/34838/) ## General Uno studio da parte di Kojima spiega come dividere i sample di fotoni extra * True γ * Split Off * Beam Background Vedere slide di Kojima messe su indico. I job stanno girando per il Double Tag, a breve manderemo i job anche del τν. ## Michele Michele ha provato a separare i fotoni split-off con hadronicsplitoffsuppression (dato che non abbiamo le variabili adatte) e ha abbassato l'energia di questi fotoni ma non è così soddisfacente nel nostro caso. Quando saranno disponibili le nuove n-tuple vedremo le variabili di extra fotoni negli adroni e nei diversi canali (anche con tagli sulla continuum suppression). ## Giovanni Appena saranno finiti i Job, Giovanni farà lo spettro dei fotoni dei dati vs lo spettro del MC in cui si dividano fotoni veri, splitoff e beam background. # 28/02/23 WG1 meeting Si è parlato di una ricetta da aggiungere ai nostri cluster trovata da Kojima [qui](http://localhost:8125/lab?token=1e231b3b9f9255ab105ffcee9f8e2e6f26929f02131cbd35) per far sì che lo shift sia aggiusato: * Rimuovere 15 MeV dai fotoni Hadronic Split Off (attraverso una variabile che non ho capito) * Aggiungere i pesi del MCrd ai fotoni di Beam Background Peter ha chiesto di studiare bene i fotoni extra del double tag dato che saranno per la maggior parte provenienti dal split off adronici per capire che ha davvero senso che l'energia andrebbe shifata di 15 MeV. # 23/02/23 B → τν meeting [Indico Page](https://agenda.infn.it/event/34833/) ## General Si potrebbe presentare martedì una delle cose che stiamo mostrando. Presenta Giovanni sui control sample e poi in futuro Michele presenterà la correzione allo shift sui control sample e sui normal sample. ## Michele Aggiungere CS al double tag. Si può modificare il range del fit in bin di E_extra per vedere se migliora la linearità. Lo stesso procedimento può essere fatto per il wrongcharge control sample a partire da E_ECL che parte da 0. ## Giovanni - [ ] Controllare le tabelle dei fattori di calibrazione per vedere se sono corretti. - [ ] Ampliare asse x per missing quantities cinematiche. - [ ] Impulso della traccia nel sistema della B. - [ ] Ottimizzare il taglio su sigProb tra 10^-3 e 10^-2. - [ ] Aggiungere extra variables anche nel double tag. - [ ] Dividere E ecl in barrel, forward, backward. - [ ] clusterNHits da tenere sotto controllo. - [ ] minC2 aumentare l'asse x. - [ ] Aggiungere i cluster extra ai dataset del double tag e aggiustare le variabili di event shape. # 08/02/23 B → τν meeting ## General Si può calcolare il fattore di correzione nel control sample di Wrong Charge. Vedere come cambiano i fattori di calibrazione usando questi nuovi dataset usando tutto lo spettro di Eextra. ## Michele Nuove n-tuple con i B+B- coi Branching Ratio corretti ## Giovanni Nuove n-tuple con il control sample doubletag (hadronic or semileptonic) # 06/02/23 PreB2GM meeting Ci sono stati vari commenti sulla definizione di sideband e di come l'efficienza del MC possa essere diversa dall'efficienza dei dati. E_ECL > 0.5 GeV potrebbe creare un disagreement tra dati e MC, si potrebbe controllare aumentando di una percentuale piccola la presenza di eventi con KL per vedere se cambiano sostanzialmente i fattori di scala. # 01/02/23 B → τν meeting ## General Michele sta facendo runnare i jobs con le nuove maschere per le variabili di event shape e stiamo aspettando che i jobs finiscano. ## Michele ## Giovanni Si può ottimizzare il fit simultaneo invece delle singole componenti Plottare le energie dei cluster data/MC come Kojima per eliminare le regioni con più disagreement Aggiungere Klong veto nell'energia extra. # 25/01/23 B → τν meeting ## General Da indicazione di Peter, si potrebbe controllare quanti eventi passano la selezione del tautau con i due fotoni. Michele ha trovato un errore nel dataset della generazione delle n-tuple. Il file txt dei dati ha delle righe in più. Proverò a capire quali sono i doppioni presenti nella n-tupla Bisogna fare il control sample B→Dstar lnu nel canale più pulito possibile (Dstar→D(→Kπ)γ/π0) per vedere E_ECL se è ben ricostruito e ha un buon agreement. Approfondire l'embedding [qui](https://software.belle2.org/sphinx/light-2212-foldex/analysis/doc/embedding.html) ## Michele Guardando la presentazione di Michele, si potrebbe rimuovere R2 dalla lista delle input variables e vedere se i risultati sono simili e se R2 si modifica nella direzione giusta. Lo shift in E_extra è rimasto perché la nuova BDT non modifica molto la shape. Si può plottare l'onresonance in funzione dell'esperimento le diverse distribuzioni. ## Giovanni Cerchiamo di capire il miglior fit possibile, è meglio avere una situazione con tagli più tight. Allargare la x per quantità mancanti. Aggiungere variabili mancanti cinematiche allo steering, nel sistema del laboratorio e nel CMS. Plottare E_ECL con diversi tagli nel missing M2. # 24/01/23 WG1 meeting [Sito per Off resonance reweighting](https://publish.etp.kit.edu/record/22016) [Repository per off res reweight](https://github.com/b2-hive/CONTRE) # 19/01/23 B → τν meeting ## Generale * Eextra per elettroni e muoni sembra essere scavata dopo il taglio a missM2 * miss modelling per leptoni, forse con la nuova BDT si aggiusta? * Per pioni e rho si vede una correlazione tra eextra e p che potrebbe essere sfruttata ## Michele * aggiustare errori sottrazione * Controllare dati offres rispetto al periodo * Plottare le variabili BDT sottraendo continuo solo riscalato ## Giovanni * Tagli in missM2 progressivi e plot di Eextra * Segnale sopra negli stacked quando è visibile

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully