analysis tools in pandaroot
play

Analysis Tools in PandaRoot GlueX PANDA Workshop 2019 Washington, - PowerPoint PPT Presentation

Analysis Tools in PandaRoot GlueX PANDA Workshop 2019 Washington, GW, May 3 - 5, 2019 Klaus Gtzen GSI Darmstadt Topics Performing analysis Only briefly The Rho Analysis Framework discussed PandaRoot Tools Previewing


  1. Analysis Tools in PandaRoot GlueX PANDA Workshop 2019 Washington, GW, May 3 - 5, 2019 Klaus Götzen GSI Darmstadt

  2. Topics Performing analysis • Only briefly – The Rho Analysis Framework discussed – PandaRoot Tools Previewing signal/background reconstruction • – Fast Simulations Studying generic signal/background distributions • – Event Generators - Stand-Alone Usage Reduce computing demand (background simulation) • – Event Filtering Special Feature: • – Speeding up GlueX interactive analysis K. Götzen GlueX PANDA Workshop 2019 2

  3. Performing Analysis

  4. The Rho Analysis Framework Core based on the Rho Analysis Framework • – Inspired by the beta software/analysis framework of BaBar – Written by M. Kunze at Univ. Bochum – Fully ROOT based – Optimized for speed PandaROOT Analysis Toolset • – Analysis via ROOT Macros – Extends core by experiment specific features – PID, MC Truth match – Simple Analysis Tools – QA Tools K. Götzen GlueX PANDA Workshop 2019 4

  5. PANDA Analysis Toolset - Features Data access (PndAnalysis) • Particle candidates (RhoCandidate, FairRecoCandidate) • PID (PndAnalysis, PndPidCombiner) • Combinatorics (RhoCandList) • Particle Selectors (Rho...Selector, PndAnaPidSelector) • MC truth (tree) matching (PndAnalysis::McTruthMatch) • Fitting: POCA finder, vertex-, kinematic-, tree fitters • – PndVtxPoca,PndKalmanVtxFitter, PndKinVtxFitter, PndDecayTreeFitter, PndKinFitter, Pnd4CFitter N-tuples & QA Tools (RhoTuple, PndRhoTupleQA) • Quick Analysis (PndSimpleCombiner, PndSimpleCombinerTask) • Documentation (PandaRoot Wiki) • https://panda-wiki.gsi.de/foswiki/bin/view/Computing/PandaRootRhoTutorial K. Götzen GlueX PANDA Workshop 2019 5

  6. Basic Analysis

  7. Basic Analysis via ROOT Macro ... FairRunAna *fRun = new FairRunAna(); fRun->SetInputFile("pbarp_jpsi_pipipi0.root"); PndAnalysis *ana = new PndAnalysis(); RhoCandList eplus, eminus, piplus, piminus, gamma, pi0, jpsi, pbarp; while ( ana->GetEvent() ) { ana->FillList( eplus, "ElectronTightPlus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( eminus, "ElectronTightMinus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( piplus, "PionLoosePlus", "PidAlgoStt;PidAlgoDrc;PidAlgoMvd" ); ana->FillList( piminus, "PionLooseMinus", "PidAlgoStt;PidAlgoDrc;PidAlgoMvd" ); ana->FillList( gamma, "Neutral"); pi0->Combine(gamma, gamma); jpsi->Combine(eplus, eminus, "J/psi"); pbarp->Combine(jpsi, piplus, piminus, pi0, "pbarpSystem"); if (ana->McTruthMatch( pbarp[0] )) { RhoCandidate *truth = pbarp[0].GetMcTruth(); ... K. Götzen GlueX PANDA Workshop 2019 7

  8. Basic Analysis via ROOT Macro ... FairRunAna *fRun = new FairRunAna(); Object for data access fRun->SetInputFile("pbarp_jpsi_pipipi0.root"); PndAnalysis *ana = new PndAnalysis(); RhoCandList eplus, eminus, piplus, piminus, gamma, pi0, jpsi, pbarp; while ( ana->GetEvent() ) { ana->FillList( eplus, "ElectronTightPlus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( eminus, "ElectronTightMinus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( piplus, "PionLoosePlus", "PidAlgoStt;PidAlgoDrc;PidAlgoMvd" ); ana->FillList( piminus, "PionLooseMinus", "PidAlgoStt;PidAlgoDrc;PidAlgoMvd" ); ana->FillList( gamma, "Neutral"); pi0->Combine(gamma, gamma); jpsi->Combine(eplus, eminus, "J/psi"); pbarp->Combine(jpsi, piplus, piminus, pi0, "pbarpSystem"); if (ana->McTruthMatch( pbarp[0] )) { RhoCandidate *truth = pbarp[0].GetMcTruth(); ... K. Götzen GlueX PANDA Workshop 2019 8

  9. Basic Analysis via ROOT Macro ... FairRunAna *fRun = new FairRunAna(); Object for data access fRun->SetInputFile("pbarp_jpsi_pipipi0.root"); PndAnalysis *ana = new PndAnalysis(); Candidate Lists RhoCandList eplus, eminus, piplus, piminus, gamma, pi0, jpsi, pbarp; while ( ana->GetEvent() ) { ana->FillList( eplus, "ElectronTightPlus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( eminus, "ElectronTightMinus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( piplus, "PionLoosePlus", "PidAlgoStt;PidAlgoDrc;PidAlgoMvd" ); ana->FillList( piminus, "PionLooseMinus", "PidAlgoStt;PidAlgoDrc;PidAlgoMvd" ); ana->FillList( gamma, "Neutral"); pi0->Combine(gamma, gamma); jpsi->Combine(eplus, eminus, "J/psi"); pbarp->Combine(jpsi, piplus, piminus, pi0, "pbarpSystem"); if (ana->McTruthMatch( pbarp[0] )) { RhoCandidate *truth = pbarp[0].GetMcTruth(); ... K. Götzen GlueX PANDA Workshop 2019 9

  10. Basic Analysis via ROOT Macro ... FairRunAna *fRun = new FairRunAna(); Object for data access fRun->SetInputFile("pbarp_jpsi_pipipi0.root"); PndAnalysis *ana = new PndAnalysis(); Candidate Lists Candidate Lists RhoCandList eplus, eminus, piplus, piminus, gamma, pi0, jpsi, pbarp; while ( ana->GetEvent() ) PID Selection & PID Selection & { Algorithms Algorithms ana->FillList( eplus, "ElectronTightPlus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( eminus, "ElectronTightMinus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( piplus, " PionLoosePlus ", " PidAlgoStt;PidAlgoDrc;PidAlgoMvd " ); ana->FillList( piminus, "PionLooseMinus", "PidAlgoStt;PidAlgoDrc;PidAlgoMvd" ); ana->FillList( gamma, "Neutral"); pi0->Combine(gamma, gamma); jpsi->Combine(eplus, eminus, "J/psi"); pbarp->Combine(jpsi, piplus, piminus, pi0, "pbarpSystem"); if (ana->McTruthMatch( pbarp[0] )) { RhoCandidate *truth = pbarp[0].GetMcTruth(); ... K. Götzen GlueX PANDA Workshop 2019 10

  11. Basic Analysis via ROOT Macro ... FairRunAna *fRun = new FairRunAna(); Object for data access fRun->SetInputFile("pbarp_jpsi_pipipi0.root"); PndAnalysis *ana = new PndAnalysis(); Candidate Lists Candidate Lists RhoCandList eplus, eminus, piplus, piminus, gamma, pi0, jpsi, pbarp; while ( ana->GetEvent() ) PID Selection & PID Selection & { Algorithms Algorithms ana->FillList( eplus, "ElectronTightPlus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( eminus, "ElectronTightMinus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( piplus, "PionLoosePlus", "PidAlgoStt;PidAlgoDrc;PidAlgoMvd" ); ana->FillList( piminus, "PionLooseMinus", "PidAlgoStt;PidAlgoDrc;PidAlgoMvd" ); ana->FillList( gamma, "Neutral"); Combinatorics pi0->Combine(gamma, gamma); jpsi-> Combine (eplus, eminus, " J/psi "); pbarp->Combine(jpsi, piplus, piminus, pi0, "pbarpSystem"); if (ana->McTruthMatch( pbarp[0] )) { RhoCandidate *truth = pbarp[0].GetMcTruth(); ... K. Götzen GlueX PANDA Workshop 2019 11

  12. Basic Analysis via ROOT Macro ... FairRunAna *fRun = new FairRunAna(); Object for data access fRun->SetInputFile("pbarp_jpsi_pipipi0.root"); PndAnalysis *ana = new PndAnalysis(); Candidate Lists Candidate Lists RhoCandList eplus, eminus, piplus, piminus, gamma, pi0, jpsi, pbarp; while ( ana->GetEvent() ) PID Selection & PID Selection & { Algorithms Algorithms ana->FillList( eplus, "ElectronTightPlus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( eminus, "ElectronTightMinus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( piplus, "PionLoosePlus", "PidAlgoStt;PidAlgoDrc;PidAlgoMvd" ); ana->FillList( piminus, "PionLooseMinus", "PidAlgoStt;PidAlgoDrc;PidAlgoMvd" ); ana->FillList( gamma, "Neutral"); Combinatorics pi0->Combine(gamma, gamma); jpsi->Combine(eplus, eminus, "J/psi"); pbarp->Combine(jpsi, piplus, piminus, pi0, "pbarpSystem"); MC truth match if (ana-> McTruthMatch ( pbarp[0] )) { RhoCandidate *truth = pbarp[0].GetMcTruth(); ... K. Götzen GlueX PANDA Workshop 2019 12

  13. Basic Analysis via ROOT Macro ... FairRunAna *fRun = new FairRunAna(); Object for data access fRun->SetInputFile("pbarp_jpsi_pipipi0.root"); PndAnalysis *ana = new PndAnalysis(); Candidate Lists Candidate Lists RhoCandList eplus, eminus, piplus, piminus, gamma, pi0, jpsi, pbarp; while ( ana->GetEvent() ) PID Selection & PID Selection & { Algorithms Algorithms ana->FillList( eplus, "ElectronTightPlus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( eminus, "ElectronTightMinus", "PidAlgoEmcBayes;PidAlgoDrc" ); ana->FillList( piplus, "PionLoosePlus", "PidAlgoStt;PidAlgoDrc;PidAlgoMvd" ); ana->FillList( piminus, "PionLooseMinus", "PidAlgoStt;PidAlgoDrc;PidAlgoMvd" ); ana->FillList( gamma, "Neutral"); Combinatorics pi0->Combine(gamma, gamma); jpsi->Combine(eplus, eminus, "J/psi"); pbarp->Combine(jpsi, piplus, piminus, pi0, "pbarpSystem"); MC truth match if (ana->McTruthMatch( pbarp[0] )) { RhoCandidate *truth = pbarp[0].GetMcTruth(); ... K. Götzen GlueX PANDA Workshop 2019 13

  14. Output and QA

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend