{"action":"created","issue":{"url":"https://api.github.com/repos/cms-l1t-offline/cmssw/issues/164","repository_url":"https://api.github.com/repos/cms-l1t-offline/cmssw","labels_url":"https://api.github.com/repos/cms-l1t-offline/cmssw/issues/164/labels{/name}","comments_url":"https://api.github.com/repos/cms-l1t-offline/cmssw/issues/164/comments","events_url":"https://api.github.com/repos/cms-l1t-offline/cmssw/issues/164/events","html_url":"https://github.com/cms-l1t-offline/cmssw/issues/164","id":134567243,"number":164,"title":"L1T Private Integration Branch and PR-based Development Work Flow.","user":{"login":"mulhearn","id":5119251,"avatar_url":"https://avatars.githubusercontent.com/u/5119251?v=3","gravatar_id":"","url":"https://api.github.com/users/mulhearn","html_url":"https://github.com/mulhearn","followers_url":"https://api.github.com/users/mulhearn/followers","following_url":"https://api.github.com/users/mulhearn/following{/other_user}","gists_url":"https://api.github.com/users/mulhearn/gists{/gist_id}","starred_url":"https://api.github.com/users/mulhearn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mulhearn/subscriptions","organizations_url":"https://api.github.com/users/mulhearn/orgs","repos_url":"https://api.github.com/users/mulhearn/repos","events_url":"https://api.github.com/users/mulhearn/events{/privacy}","received_events_url":"https://api.github.com/users/mulhearn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":42,"created_at":"2016-02-18T12:23:58Z","updated_at":"2016-02-26T10:32:55Z","closed_at":null,"body":"Integration of continuing L1T developments will be made on our private L1T integration branch at:\r\n\r\nhttps://github.com/cms-l1t-offline/cmssw/tree/l1t-integration-CMSSW_8_0_0_pre6\r\n\r\nOnly mulhearn should merge or push to this branch, however, developers are encouraged to make PRs to this branch when their effort has matured.\r\n\r\nThe TSG integration branch is simply a lagging version of this branch.  Only changes first integrated, and tested here, will be merged onto dev recipes and given a \"l1t-tsg-vX\" type tag.\r\n\r\nTo check out a defined working tag:\r\n```\r\ncmsrel CMSSW_8_0_0_pre6\r\ncd CMSSW_8_0_0_pre6/src\r\ncmsenv\r\ngit cms-init\r\ngit remote add cms-l1t-offline git@github.com:cms-l1t-offline/cmssw.git\r\ngit fetch cms-l1t-offline\r\ngit cms-merge-topic cms-l1t-offline:l1t-integration-v7.0\r\ngit cms-addpkg L1Trigger/L1TCommon\r\nscram b -j 8\r\n```\r\nto run the officially supported cmsDriver-based version of L1T Re-Emulation:\r\n`cmsDriver.py l1NtupleRECO -s RAW2DIGI --era=Run2_2016 --customise=L1Trigger/Configuration/customiseReEmul.L1TReEmulFromRAW --customise=L1Trigger/L1TNtuples/customiseL1Ntuple.L1NtupleAODEMU --customise=L1Trigger/Configuration/customiseUtils.L1TTurnOffUnpackStage2GtGmtAndCalo --conditions=auto:run2_data -n 200 --data --no_exec --no_output --filein=/store/data/Run2015D/DoubleEG/RAW-RECO/ZElectron-PromptReco-v4/000/260/627/00000/12455212-1E85-E511-8913-02163E014472.root --geometry=Extended2016,Extended2016Reco --customise=L1Trigger/Configuration/customiseReEmul.L1TEventSetupForHF1x1TPs`\r\nand then:\r\n```\r\ncmsRun l1NtupleRECO_RAW2DIGI.py\r\nroot -x L1Trigger/L1TCommon/macros/rates.C\r\nroot -x L1Trigger/L1TCommon/macros/kin.C\r\n```\r\nNote to former users of `reEmul.py`:  that example config file has been deprecated in favor of the far more versatile cmsDriver sequence above.  Note that the location of the re-emulated tree has changed, see rate.C and kin.C macros for example of how to access the data in `L1Ntuple.root`.\r\n\r\nAlso note that to run over RAW only, droping reco, one simply omits AOD from the ntuple customization file name:\r\n`--customise=L1Trigger/L1TNtuples/customiseL1Ntuple.L1NtupleAODEMU`\r\nis replaced by:\r\n`--customise=L1Trigger/L1TNtuples/customiseL1Ntuple.L1NtupleEMU`\r\n\r\nMost recent integrations tags are:\r\n - l1t-integration-v7.0 BMTF eta fix, plus switch to BMTF FW version 2.\r\n - l1t-integration-v6.1 layer1 bugfix for HF 1x1 TPs, no effect since this module is off by default.\r\n - l1t-integration-v6.0 add calo parameter updates for improved HT sum performance\r\n - l1t-integration-v5.0: muon dev branch up to 79e370fd5faa04b542f5b44f2674df2ef000ca8b plus cherry-pick d066c7bc54d6f9f57294ec5ae42adcb7ffa8677a these updates from thomreis improve muon quality and cancel-out treatment\r\n - l1t-integration-v4.1: deprecate customise_Stage2Calo.py\r\n - l1t-integration-v4.0: layer1 dev branch up to d84459e69fe955fea755c2b39ada03ecb843d4ef, which adds non-unity HF LUTS for Layer1, but no effect to standard sequence since stand-in Layer-1 emulator is still default.\r\n - l1t-integration-v3.1: cleanup/unify the various re-emulation customizations, and deprecate reEmul.py\r\n - l1t-integration-v2:  merge muon dev branch at 737703aaec5170445092f4a0b7402cd72a952165\r\n - l1t-integration-v1:  merge calo dev branch at 3bf1b931b88a9c8ad8417e9a8546e8e676880cb7 which includes HF 1x1 TP re-emulation capability.\r\n\r\nThe control plots from a short 10k run of l1t-integration-v7.0 are here:\r\nhttp://mulhearn.web.cern.ch/mulhearn/plots/l1t-integration-v7.0/\r\nKinematic distributions from a DiMuon skim are here:\r\nhttp://mulhearn.web.cern.ch/mulhearn/plots/l1t-integration-v7.0/dimuon\r\n\r\nTHE REMAINING STEPS ARE UNDER DEVELOPMENT.... COMMANDS NOT YET TESTED:\r\n\r\nNow that most development branches have been integrated, the recommended workflows for continuing L1T development is moving to a model based on making PRs to this integration branch.  \r\n\r\nThe process includes:\r\n - compiling the most recent integration tag, as above, or simply the latest and greatest from this branch: \r\n```\r\ncmsrel CMSSW_8_0_0_pre6\r\ncd CMSSW_8_0_0_pre6/src\r\ncmsenv\r\ngit cms-init\r\ngit remote add cms-l1t-offline git@github.com:cms-l1t-offline/cmssw.git\r\ngit cms-merge-topic cms-l1t-offline:l1t-integration-CMSSW_8_0_0_pre6\r\nscram b -j 8\r\n```\r\n - pick a local branch name for your to work.  This doesn't really matter, no one but you will ever see this local branch name.  In the examples below we assume you've done:\r\n```\r\ngit checkout -b mydevel\r\n```\r\n - work, commit, work, commit, as usual\r\n```\r\n# work work work\r\ngit add <files>\r\ngit commit -m \"work work work\"\r\n# repeating as needed...\r\n```\r\n - and push to either (1) your own private branch:\r\n```\r\ngit push my-cmssw mydevel:my-private-work-work-work-branch-$CMSSW_VERISON  \r\n```\r\n- or (2) a collaborative branch on cms-l1t-offline, in case several people are going to work on the same issue:\r\n```\r\ngit push cms-l1t-offline mydevel:our-shared-work-work-work-branch-$CMSSW_VERISON  \r\n```\r\n - I recommend we keep the explicit CMSSW version in branch names, especially when several people are involved, to avoid the most common pitfalls of CMSSW+git.\r\n\r\n- If you ever need to re-start your work in a fresh area or bring in a new team member, they simply follow the recipe above but use your common development branch at cms-merge-topic stage:\r\n```\r\n git cms-merge-topic cms-l1t-offline:our-shared-work-work-work-branch-$CMSSW_VERISON\r\n```\r\n- If you simply need to merge in updates from other collaborators you would do:\r\n```\r\ngit pull cms-l1t-offline our-shared-work-work-work-branch-$CMSSW_VERISON\r\n```\r\n- When your fix or new feature is ready, find your branch on github, ... TO BE CONTINUED..."},"comment":{"url":"https://api.github.com/repos/cms-l1t-offline/cmssw/issues/comments/189209946","html_url":"https://github.com/cms-l1t-offline/cmssw/issues/164#issuecomment-189209946","issue_url":"https://api.github.com/repos/cms-l1t-offline/cmssw/issues/164","id":189209946,"user":{"login":"mulhearn","id":5119251,"avatar_url":"https://avatars.githubusercontent.com/u/5119251?v=3","gravatar_id":"","url":"https://api.github.com/users/mulhearn","html_url":"https://github.com/mulhearn","followers_url":"https://api.github.com/users/mulhearn/followers","following_url":"https://api.github.com/users/mulhearn/following{/other_user}","gists_url":"https://api.github.com/users/mulhearn/gists{/gist_id}","starred_url":"https://api.github.com/users/mulhearn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mulhearn/subscriptions","organizations_url":"https://api.github.com/users/mulhearn/orgs","repos_url":"https://api.github.com/users/mulhearn/repos","events_url":"https://api.github.com/users/mulhearn/events{/privacy}","received_events_url":"https://api.github.com/users/mulhearn/received_events","type":"User","site_admin":false},"created_at":"2016-02-26T10:32:55Z","updated_at":"2016-02-26T10:32:55Z","body":"@thomreis requests inclusion of PR #168."}}