{"action":"created","issue":{"url":"https://api.github.com/repos/cms-jet/JMEValidator/issues/2","labels_url":"https://api.github.com/repos/cms-jet/JMEValidator/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/cms-jet/JMEValidator/issues/2/comments","events_url":"https://api.github.com/repos/cms-jet/JMEValidator/issues/2/events","html_url":"https://github.com/cms-jet/JMEValidator/pull/2","id":73617188,"number":2,"title":"Initial code refactoring in preparation for other analyses","user":{"login":"blinkseb","id":386274,"avatar_url":"https://avatars.githubusercontent.com/u/386274?v=3","gravatar_id":"","url":"https://api.github.com/users/blinkseb","html_url":"https://github.com/blinkseb","followers_url":"https://api.github.com/users/blinkseb/followers","following_url":"https://api.github.com/users/blinkseb/following{/other_user}","gists_url":"https://api.github.com/users/blinkseb/gists{/gist_id}","starred_url":"https://api.github.com/users/blinkseb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blinkseb/subscriptions","organizations_url":"https://api.github.com/users/blinkseb/orgs","repos_url":"https://api.github.com/users/blinkseb/repos","events_url":"https://api.github.com/users/blinkseb/events{/privacy}","received_events_url":"https://api.github.com/users/blinkseb/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-05-06T13:18:59Z","updated_at":"2015-05-06T16:10:35Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/cms-jet/JMEValidator/pulls/2","html_url":"https://github.com/cms-jet/JMEValidator/pull/2","diff_url":"https://github.com/cms-jet/JMEValidator/pull/2.diff","patch_url":"https://github.com/cms-jet/JMEValidator/pull/2.patch"},"body":"Hi everyone,\r\n\r\nI'm the JERC contact for the development of the common framework. I've started to do some work on this framework, and this PR is the first step: a (large) code refactoring.\r\n\r\nI've not added any functionality, but mainly reworked the code structure to ease the inclusion of other analyzers. The final aim is to have one class per object, dumping informations into a tree (one tree per object). For the moment, only PUPPI and Jets are present, but we'll also need photons, met, muons and electrons for the others studies (I'll contact each JERC analyses to know what are their special needs here).\r\n\r\nIn this PR you'll also find:\r\n  * Switch from getByLabel to getByToken\r\n  * No more hardcoded InputTag in the code (read everything from the python configuration)\r\n\r\nAlso note that I've used a library of mine (https://github.com/blinkseb/TreeWrapper) to create the trees, you'll find it very easy to use :) If you want to test the PR, you'll need to grab this library:\r\n\r\n```sh\r\ngit clone git@github.com:blinkseb/TreeWrapper.git JMEAnalysis/TreeWrapper\r\nscram b -j8\r\n```\r\nI've also removed anything related to the reading of produced root file. All the analyses already have their own code to do that so it's redundant and hard to maintain.\r\n\r\nPlease don't hesitate if you have any remarks or concerns!\r\n\r\nCheers,\r\nSébastien"},"comment":{"url":"https://api.github.com/repos/cms-jet/JMEValidator/issues/comments/99525476","html_url":"https://github.com/cms-jet/JMEValidator/pull/2#issuecomment-99525476","issue_url":"https://api.github.com/repos/cms-jet/JMEValidator/issues/2","id":99525476,"user":{"login":"rappoccio","id":4267705,"avatar_url":"https://avatars.githubusercontent.com/u/4267705?v=3","gravatar_id":"","url":"https://api.github.com/users/rappoccio","html_url":"https://github.com/rappoccio","followers_url":"https://api.github.com/users/rappoccio/followers","following_url":"https://api.github.com/users/rappoccio/following{/other_user}","gists_url":"https://api.github.com/users/rappoccio/gists{/gist_id}","starred_url":"https://api.github.com/users/rappoccio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rappoccio/subscriptions","organizations_url":"https://api.github.com/users/rappoccio/orgs","repos_url":"https://api.github.com/users/rappoccio/repos","events_url":"https://api.github.com/users/rappoccio/events{/privacy}","received_events_url":"https://api.github.com/users/rappoccio/received_events","type":"User","site_admin":false},"created_at":"2015-05-06T16:10:35Z","updated_at":"2015-05-06T16:10:35Z","body":"Do we really need a home-cooked thin wrapper layer with only a slightly different interface than standard ROOT? If people are desperate, then fine, but I don't personally see the need. \r\n\r\nIt also uses a string-based map which is going to be abysmally slow. At the very least, use some kind of integer indexing with a hash or we'll be spending the next several years primarily waiting for string comparisons ;). \r\n"}}