cms-l1t-offline / cmssw

CMS Offline Software
cms-sw.github.io/cmssw
Apache License 2.0
17 stars 26 forks source link

Integration of Calo Layer1 with rest of L1T #149

Closed mulhearn closed 8 years ago

mulhearn commented 8 years ago

Both the Layer-1 unpacker and packer are now in the standard dev-recipes branch. I've created a copy of this branch for additional Layer1 work. The new recipe is:

cmsrel CMSSW_8_0_0_pre6
cd CMSSW_8_0_0_pre6/src/
cmsenv
git cms-merge-topic cms-l1t-offline:l1t-layer1-$CMSSW_VERSION
git checkout -b mydevel
scram b -j 8
# work ...
git add <changes>
git commit 
# when ready to push to cms-l1t-offline:
git remote add cms-l1t-offline git@github.com:cms-l1t-offline/cmssw.git
git fetch cms-l1t-offline
#always make sure only intended files are changed before pushing
git diff --name-only remotes/cms-l1t-offline/l1t-layer1-CMSSW_8_0_0_pre6 
# then push
git status # note current branch is "mydevel"
git push cms-l1t-offline mydevel:l1t-layer1-CMSSW_8_0_0_pre6

Outstanding issues:

mulhearn commented 8 years ago

@SridharaDasu @gomber lets follow up on the Layer1 integration here. I've gotten both unpacker and emulator in the "dev-recipe" branch. For MC simulation, it seems to work (i.e. stage-2 produces non-zero calo candidates) but it does not work for re-Emulation on RAW data. To see what is failing for me, please (1) follow recipe as above, (2) switch over to using Layer1 in the top-level Calo config file: L1Trigger/L1TCalorimeter/python/simDigis_cff.py by editing these lines:

# select one of the following two options:
# - layer1 from L1Trigger/L1TCalorimeter package
from L1Trigger.L1TCalorimeter.simCaloStage2Layer1Digis_cfi import simCaloStage2Layer1Digis
# - layer1 from L1Trigger/L1TCaloLayer1 package
#from L1Trigger.L1TCaloLayer1.simCaloStage2Layer1Digis_cfi import simCaloStage2Layer1Digis

then (3) run the test job:

cmsRun L1Trigger/L1TCommon/test/reEmul.py

from which I get the error:

UCTLayer1::setHCALData - Crate number is wrong - deadbeef (eta,phi)=(29,21)
mulhearn commented 8 years ago

The offline management requested that we put all our unpacker into a single package. I convinced them we at least needed two:

The point is your stuff is now in L1TXRawToDigi, and probably I broke your tests. Please have a look and fix as needed.

mulhearn commented 8 years ago

All the couts have been changed to message logger errors.

mulhearn commented 8 years ago

I think thats it...

SridharaDasu commented 8 years ago

I fixed the instructions : "l1t" not "1t" and "--name-only" not "-name-only". I changed the test python in L1TCaloLayer1/test and verified that it runs correctly. Next up is your report of error - we shouldn't be using tower 29 in Layer1, so somewhere there is a screwup. Shouldn't be too hard to avoid 29 :)

mulhearn commented 8 years ago

Uggghhh... thanks for fixing. Sorry I inflicted the same bugged recipe twice (the perils of cut and paste)!

SridharaDasu commented 8 years ago

OK - fixed the tower 29 issue. I was inadvertently letting using caloEta = -29 through to Layer1, which is a no-no just as well as caloEta=+29.

Now crashing on:

----- Begin Fatal Exception 10-Feb-2016 11:18:29 CET----------------------- An exception of category 'StdException' occurred while [0] Processing run: 256843 lumi: 325 event: 468519434 [1] Running path 'L1TPath' [2] Calling event method for module l1t::GtProducer/'simGtStage2Digis' Exception Message: A std::exception was thrown. vector::_M_range_check: __n (which is 2) >= this->size() (which is 0) ----- End Fatal Exception -------------------------------------------------

mulhearn commented 8 years ago

Thanks for the quick fix... that next one look like it is not your problem ;-)

jimbrooke commented 8 years ago

Mike, since the error is in GT it sounds like we should start testing with Layer 2. How should we proceed? We'll need to merge the changes on this branch with those on l1t-calostage2-CMSSW_8_0_0_pre5

mulhearn commented 8 years ago

My plan was to merge this stuff back into dev recipes (just the few fixes of Sridhara are missing) then rebase your branch onto dev recipes, test everything is working, and hand it off to you.

jimbrooke commented 8 years ago

Sounds good - this is next on my list of things to look at

mulhearn commented 8 years ago

This is delayed by some weirdness. I always check before pushing to dev-recipe branch that all standard test run... this is the whole point of that branch. But now I am getting this same crash reported above, even if I install an older tag that I formerly used successfully to produce plots. Sorry, I have to sort this out to proceed with any semblance of sanity.

mulhearn commented 8 years ago

Mystery solved: I've known since pre6 that L1TGlobal must have some missing lib dependency which requires checking it out manually until fixed... Sridhara, if you just "git cms-addpkg L1Trigger/L1TGlobal" and recompile, your code should run now... anyway, this will all be put into our integration branch now. It should go quickly now that I have regained my sanity and we have direct detection of gravitational waves under our belt.

mulhearn commented 8 years ago

OK, this is merged into dev-recipe branch now and everything appears to be working. Closed!