{"action":"created","issue":{"url":"https://api.github.com/repos/UHH2/UHH2/issues/962","repository_url":"https://api.github.com/repos/UHH2/UHH2","labels_url":"https://api.github.com/repos/UHH2/UHH2/issues/962/labels{/name}","comments_url":"https://api.github.com/repos/UHH2/UHH2/issues/962/comments","events_url":"https://api.github.com/repos/UHH2/UHH2/issues/962/events","html_url":"https://github.com/UHH2/UHH2/pull/962","id":335832642,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk3NDMyNTYz","number":962,"title":"[80v5] GenHOTVR/XCone producers","user":{"login":"raggleton","id":3728382,"node_id":"MDQ6VXNlcjM3MjgzODI=","avatar_url":"https://avatars0.githubusercontent.com/u/3728382?v=4","gravatar_id":"","url":"https://api.github.com/users/raggleton","html_url":"https://github.com/raggleton","followers_url":"https://api.github.com/users/raggleton/followers","following_url":"https://api.github.com/users/raggleton/following{/other_user}","gists_url":"https://api.github.com/users/raggleton/gists{/gist_id}","starred_url":"https://api.github.com/users/raggleton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/raggleton/subscriptions","organizations_url":"https://api.github.com/users/raggleton/orgs","repos_url":"https://api.github.com/users/raggleton/repos","events_url":"https://api.github.com/users/raggleton/events{/privacy}","received_events_url":"https://api.github.com/users/raggleton/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":24,"created_at":"2018-06-26T13:57:54Z","updated_at":"2018-08-10T08:35:32Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/UHH2/UHH2/pulls/962","html_url":"https://github.com/UHH2/UHH2/pull/962","diff_url":"https://github.com/UHH2/UHH2/pull/962.diff","patch_url":"https://github.com/UHH2/UHH2/pull/962.patch"},"body":"This moves the GenHOTVR and GenXCone clusterers into their own modules, out of UniversalGenCluster and Ntuplewriter. It also allows more flexibility in future with regards to inputs/configuration, and fewer bottlenecks when running multicore.\r\n\r\nAll the previous functionality is the same except:\r\n\r\n- I have removed the softdrop mass from genxcone as (a) it wasn't being used, (b) it requires more work to setup correctly to get the subjets. Let me know if you want it back in, it can be done.\r\n- The GenXConeProducer has the ability to find the highest pt lepton, and reduce the NJets by 1 for the jet closest to the lepton (as before), except now it isn't hardcoded for NJets=3, and you can also set a maximum DeltaR for a lepton to be considered matched to a jet.\r\n\r\nOne question though for @denschwarz, should the lepton be removed from list of constituents before the subjet clustering is done? At the moment it's left in, like in the UniversalGenClusterer.\r\n\r\nI tested on TTbar MC. \r\n\r\nSome timings for 300 events:\r\nFor HOTVR:\r\n```\r\nTimeReport   0.162737     0.162737     0.162737  hotvrCHS\r\nTimeReport   0.003650     0.003650     0.003650  hotvrGen\r\nTimeReport   0.077250     0.077250     0.077250  hotvrPuppi\r\n```\r\n\r\nFor XCone:\r\n```\r\nTimeReport   0.100796     0.100796     0.100796  xconeCHS\r\nTimeReport   0.089956     0.089956     0.089956  xconeGen23Lepton\r\nTimeReport   0.092013     0.092013     0.092013  xconeGen33\r\nTimeReport   0.089104     0.089104     0.089104  xconePuppi\r\n```\r\n\r\nThe ntuplewriter:\r\n```\r\nTimeReport   0.007634     0.007634     0.007634  MyNtuple \r\n```\r\n\r\nand in total:\r\n\r\n```\r\nTimeReport       event loop CPU/event = 2.111039\r\nTimeReport      event loop Real/event = 2.152348\r\nTimeReport     sum Streams Real/event = 2.148585\r\nTimeReport efficiency CPU/Real/thread = 0.980808\r\n```\r\n\r\nWeirdly, the Ntuplewriter went from ~0.02s/event to 0.007 pulling out the gen clustering. But the new modules take much longer than ~0.013s, so bit confused where the loss in speed is.\r\n\r\nAlso it failed to find a lepton in 10/300 events, which I guess would be where you have either a tau decay, or all-hadronic scenario?\r\n\r\nWill also port to master, 94, 101"},"comment":{"url":"https://api.github.com/repos/UHH2/UHH2/issues/comments/412015973","html_url":"https://github.com/UHH2/UHH2/pull/962#issuecomment-412015973","issue_url":"https://api.github.com/repos/UHH2/UHH2/issues/962","id":412015973,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMjAxNTk3Mw==","user":{"login":"karavdin","id":5495937,"node_id":"MDQ6VXNlcjU0OTU5Mzc=","avatar_url":"https://avatars1.githubusercontent.com/u/5495937?v=4","gravatar_id":"","url":"https://api.github.com/users/karavdin","html_url":"https://github.com/karavdin","followers_url":"https://api.github.com/users/karavdin/followers","following_url":"https://api.github.com/users/karavdin/following{/other_user}","gists_url":"https://api.github.com/users/karavdin/gists{/gist_id}","starred_url":"https://api.github.com/users/karavdin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karavdin/subscriptions","organizations_url":"https://api.github.com/users/karavdin/orgs","repos_url":"https://api.github.com/users/karavdin/repos","events_url":"https://api.github.com/users/karavdin/events{/privacy}","received_events_url":"https://api.github.com/users/karavdin/received_events","type":"User","site_admin":false},"created_at":"2018-08-10T08:35:32Z","updated_at":"2018-08-10T08:35:32Z","author_association":"CONTRIBUTOR","body":"I guess jet area is needed only for calculation of offset jet energy \ncorrection. For gen jets we won't need it, so  it's ok to have GenXCone \nwithout jet area stored.\nFor the issue with GenXCone producing < N jets, I would add warning so \nuser is aware of such cases.\n\n\nOn 08/10/2018 10:01 AM, Robin wrote:\n>\n> I think the modules are basically ready - the one issue with GenXCone \n> producing < N jets is an issue with XCone plugin (I think). I'm not \n> sure whether to add in a warning/error in those situations to alert \n> the user.\n>\n> There was one other consideration for these Gen modules - at the \n> moment, they do not calculate jet area. Calculating jet area is where \n> all the slowness happens, and is currently not needed for XCone/HOTVR \n> studies as I understand. However, you mentioned an interest in using \n> GenXCone - would you need the genjet area? I was thinking of perhaps \n> adding a bool to the module, and then calculate the area only if the \n> user requests it. But if no one ever needs it, then I won't bother \n> with it.\n>\n> —\n> You are receiving this because you commented.\n> Reply to this email directly, view it on GitHub \n> <https://github.com/UHH2/UHH2/pull/962#issuecomment-412007787>, or \n> mute the thread \n> <https://github.com/notifications/unsubscribe-auth/AFPcgWllXCjpk115P4Sj3JJTCkWz2vRbks5uPT3cgaJpZM4U3_0P>.\n>\n\n"}}
{"actor":{"display_login":"karavdin"}}