{"action":"created","issue":{"url":"https://api.github.com/repos/PFCal-dev/cmssw/issues/39","repository_url":"https://api.github.com/repos/PFCal-dev/cmssw","labels_url":"https://api.github.com/repos/PFCal-dev/cmssw/issues/39/labels{/name}","comments_url":"https://api.github.com/repos/PFCal-dev/cmssw/issues/39/comments","events_url":"https://api.github.com/repos/PFCal-dev/cmssw/issues/39/events","html_url":"https://github.com/PFCal-dev/cmssw/pull/39","id":174801467,"number":39,"title":"Reduce geometry memory","user":{"login":"jbsauvan","id":5569798,"avatar_url":"https://avatars.githubusercontent.com/u/5569798?v=3","gravatar_id":"","url":"https://api.github.com/users/jbsauvan","html_url":"https://github.com/jbsauvan","followers_url":"https://api.github.com/users/jbsauvan/followers","following_url":"https://api.github.com/users/jbsauvan/following{/other_user}","gists_url":"https://api.github.com/users/jbsauvan/gists{/gist_id}","starred_url":"https://api.github.com/users/jbsauvan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbsauvan/subscriptions","organizations_url":"https://api.github.com/users/jbsauvan/orgs","repos_url":"https://api.github.com/users/jbsauvan/repos","events_url":"https://api.github.com/users/jbsauvan/events{/privacy}","received_events_url":"https://api.github.com/users/jbsauvan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/PFCal-dev/cmssw/labels/TPG+BE","name":"TPG+BE","color":"c7def8"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-09-02T16:41:31Z","updated_at":"2016-09-05T16:26:28Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/PFCal-dev/cmssw/pulls/39","html_url":"https://github.com/PFCal-dev/cmssw/pull/39","diff_url":"https://github.com/PFCal-dev/cmssw/pull/39.diff","patch_url":"https://github.com/PFCal-dev/cmssw/pull/39.patch"},"body":"**Work in progress**. This Pull request is made now to collect comments. More commits will be pushed before it can be merged.\r\n\r\nUpdates included here:\r\n* Implement a new trigger geometry with a low memory footprint (about 1GB less memory used). \r\n  * Only the minimal information are stored in maps.\r\n  * The mapping methods make use of the detid properties. For instance a trigger cell id is just the cell id with a different cell field.\r\n  * Since mappings are partly computed on-the-fly, the processing time takes longer (about x2 more for the best choice codec, from 100ms to 200ms / event without PU). But optimizations might be possible.\r\n* The new class could not be derived from the current base geometry class, so a new \"lightweight\" base class has been written. This new base class is pretty much just an interface with almost all the methods being virtual.\r\n* A new trigger detid has been implemented, following the HGCalDetId structure\r\n* A test class for processing time studies of the best choice codec has been added\r\n\r\nWhat needs to be done:\r\n* For the moment, trigger cell and module positions cannot be retrieved. These positions will be computed on-the-fly based on cell positions. This might be improved by partially storing position information in order to reduce timing.\r\n* The new trigger detid could be derived from HGCalDetId to ensure that the underlying bit structure is really the same (this is needed for a correct cell <-> trigger cell mapping)\r\n* This new geometry is currently not used. \r\n  * Since the base class has changed it cannot be used in the same way as the previous geometry. \r\n  * But the previous base class could be derived from the new base class; this would mean a slightly more complicated inheritance pattern for the old geometry implementation, but both the old and new geometries could be used in the same transparent way."},"comment":{"url":"https://api.github.com/repos/PFCal-dev/cmssw/issues/comments/244781782","html_url":"https://github.com/PFCal-dev/cmssw/pull/39#issuecomment-244781782","issue_url":"https://api.github.com/repos/PFCal-dev/cmssw/issues/39","id":244781782,"user":{"login":"jbsauvan","id":5569798,"avatar_url":"https://avatars.githubusercontent.com/u/5569798?v=3","gravatar_id":"","url":"https://api.github.com/users/jbsauvan","html_url":"https://github.com/jbsauvan","followers_url":"https://api.github.com/users/jbsauvan/followers","following_url":"https://api.github.com/users/jbsauvan/following{/other_user}","gists_url":"https://api.github.com/users/jbsauvan/gists{/gist_id}","starred_url":"https://api.github.com/users/jbsauvan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbsauvan/subscriptions","organizations_url":"https://api.github.com/users/jbsauvan/orgs","repos_url":"https://api.github.com/users/jbsauvan/repos","events_url":"https://api.github.com/users/jbsauvan/events{/privacy}","received_events_url":"https://api.github.com/users/jbsauvan/received_events","type":"User","site_admin":false},"created_at":"2016-09-05T16:26:27Z","updated_at":"2016-09-05T16:26:27Z","body":"@lgray, @amarini, @baffioni this PR might be of interest for you since it changes the trigger geometry interface. \r\nBased on this new interface the concrete class of the hex geometry has been rewritten (HexImp2) and uses about 1GB less memory than before. \r\nThe old implementation (HexImp1) can still be used in a transparent way with the new interface, if needed.\r\nIn addition, further reduction of the front-end processing time has been obtained (3min / evt  -> 100ms before this PR -> 35ms now -- without PU).\r\n\r\nI intend to merge this PR soon and then make a PR to CMSSW. So please tell me if you have comments."}}
{"actor":{"display_login":"jbsauvan"}}