ROOT ntuples

From Wiki Les Houches 09

Revision as of 07:50, 16 June 2009 by Fpschill (Talk | contribs)
Jump to: navigation, search

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 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)
Personal tools