Too many variables - 4 things have to happen for each one to be used
Absolutely no code reuse - I have to make different methods for each lepton!
No branch checking - if it doesnt exist, lets keep running!
No FW tools available - I have completely re-written isolation tools that exist in FW in globe
No histogramming beautification ability
No way to debug, memory leaks are a time sync!
Ryan's list:
Too complicated. The user interface is too difficult to set up. It should be "easy to use correctly. difficult to use incorrectly"
Too many indices to keep track off. These should be pointers to references not indices.
No support for objects in the root file
Too difficult to modify, extend, or trouble shoot. All of the features are lumped into the same object (LoopAll? ). These should be factored out to clearly defined objects and built independently.
Should never use #include to modify code! That is a C++ no no because it promotes spaghetti code!
Cannot easily check in code. The General code should be stable and only user analysis should change on a daily basis. If I check in my area, there should be not confict with others--ever!
SetBranchStatus("..", 1) issues:
spent in access of 50 hours trouble shooting and it ended up being this issue. This should be handled at low level implementation and not at the analysis level. Poor design.
possible fix: implement a pointer to a function that initializes all the branch similar to the FW getByLabel(...).
Already implemented in FWLite
Hadd issues. The recombination sometimes crashes for large reductions
Reduction scripts rarely work out of the box.
Reduction scripts are not platform independent (CERN vs FNAL vs UCSD or version of ROOT)
Reductions scripts are not written in the same languange (PERL, BASH, C++)