{"action":"created","issue":{"url":"https://api.github.com/repos/alisw/AliPhysics/issues/8636","repository_url":"https://api.github.com/repos/alisw/AliPhysics","labels_url":"https://api.github.com/repos/alisw/AliPhysics/issues/8636/labels{/name}","comments_url":"https://api.github.com/repos/alisw/AliPhysics/issues/8636/comments","events_url":"https://api.github.com/repos/alisw/AliPhysics/issues/8636/events","html_url":"https://github.com/alisw/AliPhysics/pull/8636","id":410089383,"node_id":"MDExOlB1bGxSZXF1ZXN0MjUyOTEyNjcy","number":8636,"title":"[WIP] Initial draft of jet tree for HFtree framework","user":{"login":"jdmulligan","id":16219745,"node_id":"MDQ6VXNlcjE2MjE5NzQ1","avatar_url":"https://avatars1.githubusercontent.com/u/16219745?v=4","gravatar_id":"","url":"https://api.github.com/users/jdmulligan","html_url":"https://github.com/jdmulligan","followers_url":"https://api.github.com/users/jdmulligan/followers","following_url":"https://api.github.com/users/jdmulligan/following{/other_user}","gists_url":"https://api.github.com/users/jdmulligan/gists{/gist_id}","starred_url":"https://api.github.com/users/jdmulligan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdmulligan/subscriptions","organizations_url":"https://api.github.com/users/jdmulligan/orgs","repos_url":"https://api.github.com/users/jdmulligan/repos","events_url":"https://api.github.com/users/jdmulligan/events{/privacy}","received_events_url":"https://api.github.com/users/jdmulligan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":10,"created_at":"2019-02-14T01:58:25Z","updated_at":"2019-02-27T08:30:49Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/alisw/AliPhysics/pulls/8636","html_url":"https://github.com/alisw/AliPhysics/pull/8636","diff_url":"https://github.com/alisw/AliPhysics/pull/8636.diff","patch_url":"https://github.com/alisw/AliPhysics/pull/8636.patch"},"body":"WIP: Please do not approve yet.\r\n\r\n@ginnocen, @nzardosh, @fgrosa, @lvermunt,\r\n\r\nPlease have a look at this first draft of the jet tree. The jet info itself is minimal at this point (pT, eta, phi, etc.), but the infrastructure is there to easily add more.\r\n\r\nThe basic idea is as follows: One should run a `JetFinder` task before the `TreeCreator` task (which will write a jet array to the InputEvent), and then in `TreeCreator::AddTask` one should add a line to attach a jet container corresponding to that jet array. This mimics the standard workflow in ALICE jet framework -- the idea of the jet container is to automatically handle access to the jet array, and to provide a configurable set of cuts. The `JetTreeHandler` will then construct a std::vector of all of the jets (subject to whatever criteria one wants to configure via the jet container) in each event. The jet info is encapsulated in a small class `AliJetInfoCompressed`, which takes advantage of the `Double32_t` type to minimize the footprint.  One can add as many jet finders as you like, one branch will be written for each.\r\n\r\nSome notes:\r\n* There is just a single JetTreeHandler at the moment, rather than an inheritance structure, but this can easily change depending what direction we decide to go. \r\n* I haven't added yet the MC tree info\r\n* Event selection will inherit whatever is used for the HF trees\r\n* Track selection should be configured independently of the HF track selection, using track containers (hybrid tracks)\r\n* I had to add a few dependencies to the treeHF compilation, I think it should not cause any problem but it would be good if someone more familiar with HF can verify.\r\n\r\nI have only run this locally on a small number of events, so it has not been tested super rigorously. But I wanted to get this draft out there so we can discuss. Please let me know what you think, and we can decide how to proceed. \r\n\r\nBest,\r\nJames"},"comment":{"url":"https://api.github.com/repos/alisw/AliPhysics/issues/comments/467770352","html_url":"https://github.com/alisw/AliPhysics/pull/8636#issuecomment-467770352","issue_url":"https://api.github.com/repos/alisw/AliPhysics/issues/8636","id":467770352,"node_id":"MDEyOklzc3VlQ29tbWVudDQ2Nzc3MDM1Mg==","user":{"login":"lvermunt","id":27001244,"node_id":"MDQ6VXNlcjI3MDAxMjQ0","avatar_url":"https://avatars1.githubusercontent.com/u/27001244?v=4","gravatar_id":"","url":"https://api.github.com/users/lvermunt","html_url":"https://github.com/lvermunt","followers_url":"https://api.github.com/users/lvermunt/followers","following_url":"https://api.github.com/users/lvermunt/following{/other_user}","gists_url":"https://api.github.com/users/lvermunt/gists{/gist_id}","starred_url":"https://api.github.com/users/lvermunt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lvermunt/subscriptions","organizations_url":"https://api.github.com/users/lvermunt/orgs","repos_url":"https://api.github.com/users/lvermunt/repos","events_url":"https://api.github.com/users/lvermunt/events{/privacy}","received_events_url":"https://api.github.com/users/lvermunt/received_events","type":"User","site_admin":false},"created_at":"2019-02-27T08:30:49Z","updated_at":"2019-02-27T08:30:49Z","author_association":"CONTRIBUTOR","body":"Hi @jdmulligan\r\n\r\nI went through your commit in detail, see my comments below. I'm not an expert on the jet framework, so about that part there was not a lot I could say. Maybe someone else can have a look there? Also @fgrosa and @afestant might want to have a look before it is merged (also because I will be offline from tomorrow on).\r\n\r\nThree general comments:\r\n * I see you created 8 'fFill*' variables for 8 branches (although not yet used). Is is possible to reduce this number? Because they should all be set in the arguments of the AddTask I guess, where we already have 22 parameters. For the HF TTrees we for example use an enum for different PID options and another one for single track variables. So we have several options to enable/disable branches with only two variables.\r\n * I remember a discussion about the EventCuts on Slack. What did you decide for this? It seems you are using the HF objects right? Fabrizio had a point here that he wanted to discuss with you.\r\n * Please make sure that you don't introduce memory leaks. As this is a heavy task, a big effort end January was needed to remove all (small) leaks so the task was able to run on PbPb (with a high success rate on the LEGO trains). We have not yet started this production for the HF mesons on PbPb, so it would be a pity if new memory leaks are introduced. I think I spotted a small one in your PR (you don't delete fRho), but I would suggest you run a check with valgrind before merging.\r\n\r\nAnd a few smaller ones:\r\n * You defined the functions SetFillPtUncorr till SetFillMatchingJetID twice, both in the JetTreeHandler and the JetTreeCreator. Is this intended? Or a leftover?\r\n * As this will be the first PR to AliPhysics, the ClassDefs should be just +1 right? Now you do +3 for the TreeCreator, and you start with 4 for the JetTreeHandler\r\n * You use Pt and pT in your variables/branch names, please use the same ('PtCorr' and 'pTD' for example). Or is this intended?\r\n\r\nCheers,\r\nLuuk"}}
{"actor":{"display_login":"lvermunt"}}