ROOT ntuples
From Wiki Les Houches 09
(Difference between revisions)
Line 2: | Line 2: | ||
People interested: Joey Huston, Frank-Peter Schilling, Joanna Weng | People interested: Joey Huston, Frank-Peter Schilling, Joanna Weng | ||
+ | |||
+ | === ROOT ntuple content === | ||
Proposal for variables to be stored (the variables would appear in the ROOT tree | Proposal for variables to be stored (the variables would appear in the ROOT tree | ||
Line 25: | Line 27: | ||
// PDF reweights | // PDF reweights | ||
std::vector<float> m_pdf_weights; | std::vector<float> m_pdf_weights; | ||
+ | |||
+ | === Implementation === | ||
* The Fortran implementation could be based on FROOT http://hep.pa.msu.edu/cteq/public/froot/froot1.0.tar.gz which provides a Fortran wrapper for the necessary ROOT commands to book, fill and output a ROOT tree. It is already implemented in MCFM http://mcfm.fnal.gov/ | * The Fortran implementation could be based on FROOT http://hep.pa.msu.edu/cteq/public/froot/froot1.0.tar.gz which provides a Fortran wrapper for the necessary ROOT commands to book, fill and output a ROOT tree. It is already implemented in MCFM http://mcfm.fnal.gov/ | ||
- | * The C++ implementation would be based on two helper classes, which would shield | + | * The C++ implementation would be based on two helper classes, which would shield the technical details of creating the ROOT tree from the user |
- | the technical details of creating the ROOT tree from the user | + | |
** class LhaNLOEvent: it contains as data members the variables listed above. For every event, the information is stored in the LhaNLOEvent via setter functions, e.g. event->setWeight(wgt); | ** class LhaNLOEvent: it contains as data members the variables listed above. For every event, the information is stored in the LhaNLOEvent via setter functions, e.g. event->setWeight(wgt); | ||
** class LhaNLOTreeWriter: it crates a ROOT output file (name given in constructor) and tree. An event is filled to the tree via writer->writeEvent(evt); Comments can be stored as text strings via writer->writeComment(string); | ** class LhaNLOTreeWriter: it crates a ROOT output file (name given in constructor) and tree. An event is filled to the tree via writer->writeEvent(evt); Comments can be stored as text strings via writer->writeComment(string); | ||
* A first prototype of this interface is currently implemented and tested in the NLO calculation of ttbar+jet (Dittmaier, Uwer, Weinzierl) | * A first prototype of this interface is currently implemented and tested in the NLO calculation of ttbar+jet (Dittmaier, Uwer, Weinzierl) |
Revision as of 07:46, 16 June 2009
Aim: Define and implement a common ROOT ntuple output format for NLO programs
People interested: Joey Huston, Frank-Peter Schilling, Joanna Weng
ROOT ntuple content
Proposal for variables to be stored (the variables would appear in the ROOT tree without the preceding 'm_'
// 4-vectors of incoming and outgoing partons std::vector<float> m_px,m_py,m_pz,m_e; // x1 and x2 values float m_x1,m_x2; // initial state particle IDs // (PDG convention: 0=g,1=u,2=d,...,6=t,-1=ubar,...,-6=tbar) int m_id1,m_id2; // factorization and renormalization scale float m_fac_scale,m_ren_scale; // event weight float m_weight; // user weights std::vector<float> m_user_weights; // unique event number long m_evt_no; // pointers to related (real emission / counterterm) events std::vector<long> m_evt_pointers; // PDF reweights std::vector<float> m_pdf_weights;
Implementation
- The Fortran implementation could be based on FROOT http://hep.pa.msu.edu/cteq/public/froot/froot1.0.tar.gz which provides a Fortran wrapper for the necessary ROOT commands to book, fill and output a ROOT tree. It is already implemented in MCFM http://mcfm.fnal.gov/
- The C++ implementation would be based on two helper classes, which would shield the technical details of creating the ROOT tree from the user
- class LhaNLOEvent: it contains as data members the variables listed above. For every event, the information is stored in the LhaNLOEvent via setter functions, e.g. event->setWeight(wgt);
- class LhaNLOTreeWriter: it crates a ROOT output file (name given in constructor) and tree. An event is filled to the tree via writer->writeEvent(evt); Comments can be stored as text strings via writer->writeComment(string);
- A first prototype of this interface is currently implemented and tested in the NLO calculation of ttbar+jet (Dittmaier, Uwer, Weinzierl)