# Electron info
tc.add_col('ele_pt', 'ji[4].Select(lambda e: e.pt()/1000.0)')
tc.add_col('ele_eta', 'ji[4].Select(lambda e: e.eta()/1000.0)')
tc.add_col('ele_phi', 'ji[4].Select(lambda e: e.phi()/1000.0)')
It would seem if the "ele" in the first block is replaced with "e", then the two things stomp on each other and we get bad code. Not obvious why this is happening, though it is totally clear it should not be!
Two solutions:
Some simple bug is happening and needs to be fixed
When we parse a lambda, replace all arguments with something unique to make sure this doesn't happen.
In the following code (found in the output_z_peak.py file), note the parameter names for the Where on the cut on electron and muon quality:
Later on, when the columns are created:
It would seem if the "ele" in the first block is replaced with "e", then the two things stomp on each other and we get bad code. Not obvious why this is happening, though it is totally clear it should not be!
Two solutions: