Hep MC Proposal Presentation of the proposal for
- Slides: 11
Hep. MC Proposal Presentation of the proposal for the new version of Hep. MC Lynn Garren July 25, 2006
background CMS requested Math. Core Gen. Vector n Others want no change to Lorentz vector n Concern about dependencies n Compromise proposed last week n A couple more unrelated requests n
The Proposal Remove all dependencies n Replace Hep. Lorentz. Vector with minimal simple vector n Prefer struct of four doubles n Need a bit more n n Continue to use existing code? n n Template constructor, but not class http: //lcgapp. cern. ch/project/simu/Hep. MC/download/
Simple. Vector. h n class Four. Vector n n class Three. Vector n n 4 -momentum or position Position Independent n Four. Vector does not have a Three. Vector
Four. Vector constructors Four. Vector( double x, double y, double z, double t=0) n Four. Vector(double t) n Four. Vector() n template <class T > inline Four. Vector( const T& v) n § n Uses x(), y(), z(), t() Side effect: problem with Four. Vector(0) n Seen, for instance, with Gen. Particle(0, …)
Four. Vector methods n n n n px() py() pz() e() m 2() perp 2() mag() x() y() z() theta() phi() rho() = == != pseudo. Rapidity() eta() set(, , , ) set. X() set. Y() set. Z() set. T() set. Px() set. Py() set. Pz() set. E()
Three. Vector methods x() y() z() n phi() theta() r() n mag() perp 2() perp() n = == != n set(, , ) set. X() set. Y() set. Z() n set. Phi() set. Theta() n
Rationale Methods used by Hep. MC n Similar methods that seem likely to be used n Don’t want a full vector class n
Pdf. Info n CMS requests Pdf. Info class n Hep. MC 1. 28? n Gen. Event has pointer (undefined by default) n n double x 1; // fraction of beam momentum carried by first parton ("beam side") double x 2; // fraction of beam momentum carried by second parton ("target side") int kf 1; // flavour code of first parton int kf 2; // flavour code of second parton double Qscale. PDF; // Q-scale used in evaluation of PDF's (Ge. V) double pdf 1; // PDF (kf 1, x 1, Q) double pdf 2; // PDF (kf 2, x 2, Q) n Needs to be discussed by LCG simulation n n
Generated Mass n n Expecting request from Monte Carlo authors Store generated mass n n Additional double Certainly there in HEPEVT common block Precision problem Might perhaps store px, py, pz, m n n Code breaks… Doesn’t make sense to calculate mass to store it • Must generated mass directly from generator
Conclusion n n Without templated constructor, not backwards compatible With templated constructor, partially backwards compatible n n n Templated constructor overrides default conversion (int to double) Possible obscure errors Four. Vector is not a full physics vector implementation Pere promised something to help when reading Is this proposal acceptable?