Coder Social home page Coder Social logo

kdlong / cmssw Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cms-sw/cmssw

1.0 1.0 1.0 1.24 GB

CMS Offline Software

Home Page: http://cms-sw.github.io/

License: Apache License 2.0

C++ 64.34% C 3.51% Shell 0.92% Python 28.23% Perl 0.43% Tcl 0.02% Smarty 0.01% TeX 0.02% HTML 1.74% PHP 0.02% JavaScript 0.32% Makefile 0.02% Objective-C 0.16% Awk 0.01% CSS 0.02% Roff 0.02% PLSQL 0.14% Java 0.03% XSLT 0.01% R 0.05%

cmssw's People

Contributors

civanch avatar cmsbuild avatar davidlange6 avatar dr15jones avatar ekfriis avatar fabiocos avatar fwyzard avatar gartung avatar gpetruc avatar guitargeek avatar ianna avatar kpedro88 avatar ktf avatar lgray avatar makortel avatar martin-grunewald avatar mmusich avatar mtosi avatar mulhearn avatar nclopezo avatar pelmer avatar perrotta avatar rekovic avatar rovere avatar schneiml avatar smuzaffar avatar thomreis avatar vininn avatar vlimant avatar wddgit avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

agrohsje

cmssw's Issues

Clean up weight helper class

Especially the buildGroups function is too long and too stream-of conscious. It should be split into multiple functions

Clean up ScaleWeightGroup class

The different variations are stored in a vector in a predetermined order, but that order isn't advertised anywhere, and is accessed with unexplained "magic numbers." There should either be an enum explaining the indices, or the vector should be an unordered_map. There should also be a check in the getXIndex function that the entry exists.

Talking about these lines: https://github.com/kdlong/cmssw/blob/ImprovedParsing/SimDataFormats/GeneratorProducts/interface/ScaleWeightGroupInfo.h#L46-L64

There are also some unexplained "magic numbers" here: https://github.com/kdlong/cmssw/blob/ImprovedParsing/SimDataFormats/GeneratorProducts/src/ScaleWeightGroupInfo.cc#L42

Another small point is that the official CMSSW naming convention recommends not using "get" in the name of getting funcitons. So getDynNames, getScaleIndex --> dynNames, scaleIndex.

https://cms-sw.github.io/cms_coding_rules.html#2----naming-rules-1

@dteague are you able to implement this?

Detect MEParam weights

Extend parsing to detect MEParam weights. Most typical use case is a sample with MG reweighting, where the group is labed "mg_reweight," I believe.

Would also be good to capture explicit ME weights that are sometimes used in POWHEG. For the mW samples, these include "mass_variation," "width_variation," and "sthw2_variation"

Have similar functionality for PS weights as for scale

We can discuss this, but the PS weights follow a distinct patter that may not be clear. This could allow for just a few helper functions rather than the current get weight by label approach. The weights are:

  • FSR or ISR
  • Conservative, Default, or Reduced variation (variation of underlying param by 4, 2, sqrt(2))
    • OR: variations per parton splitting:
      • G2QQ (gluon to quarks), G2GG (gluon to gluons), XToXG (anything emitting a gluon, I think...)

So it might make sense to have

indexOfFullVariation(isISR, variationType, up/down)
indexOfSplittingVariation(splittingType, variation)

or something along these lines

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.