Comments (1)
Here's an example cut string that produces a RecursionError
:
((1 && Ds_h1_PT > 800 && Ds_h1_P > 3000.0 && Ds_h1_Loki_MIPCHI2DV > 10.0 && Ds_h1_TRACK_CHI2NDOF < 3.0 && Ds_h1_Loki_nVeloHits > 9)||(1 && Ds_h2_PT > 800 && Ds_h2_P > 3000.0 && Ds_h2_Loki_MIPCHI2DV > 10.0 && Ds_h2_TRACK_CHI2NDOF < 3.0 && Ds_h2_Loki_nVeloHits > 9)||(1 && Ds_h3_PT > 800 && Ds_h3_P > 3000.0 && Ds_h3_Loki_MIPCHI2DV > 10.0 && Ds_h3_TRACK_CHI2NDOF < 3.0 && Ds_h3_Loki_nVeloHits > 9))&&1 && (ROOTex::Leading(Ds_h1_PT,Ds_h2_PT,Ds_h3_PT)) > 1000.0 && (ROOTex::SecondLeading(Ds_h1_PT,Ds_h2_PT,Ds_h3_PT)) > 400.0 && (ROOTex::ThirdLeading(Ds_h1_PT,Ds_h2_PT,Ds_h3_PT)) > 200.0 && Ds_h1_P > 2000.0 && Ds_h2_P > 2000.0 && Ds_h3_P > 2000.0 && Ds_h1_TRACK_CHI2NDOF < 3.0 && Ds_h2_TRACK_CHI2NDOF < 3.0 && Ds_h3_TRACK_CHI2NDOF < 3.0 && (ROOTex::Leading(Ds_h1_Loki_MIPCHI2DV,Ds_h2_Loki_MIPCHI2DV,Ds_h3_Loki_MIPCHI2DV)) > 50.0 && (ROOTex::SecondLeading(Ds_h1_Loki_MIPCHI2DV,Ds_h2_Loki_MIPCHI2DV,Ds_h3_Loki_MIPCHI2DV)) > 10.0 && (ROOTex::ThirdLeading(Ds_h1_Loki_MIPCHI2DV,Ds_h2_Loki_MIPCHI2DV,Ds_h3_Loki_MIPCHI2DV)) > 4.0 && Ds_M > 1889.0 && Ds_M < 2049.0 && Ds_ENDVERTEX_CHI2/Ds_ENDVERTEX_NDOF < 25.0 && Ds_DIRA_OWNPV > 0.9994 && Ds_FDCHI2_OWNPV > 16.0 && Ds_Loki_BPVLTIME > 0.00015&&1 && Ds_M > 1900 && Ds_M < 2050 && Ds_Loki_M12 > 999.46 && Ds_Loki_M12 < 1039.46 && Ds_ENDVERTEX_CHI2/Ds_ENDVERTEX_NDOF < 6.0 && Ds_DIRA_OWNPV > 0.9999 && Ds_h1_P > 3000.0 && Ds_h1_P < 100000.0 && Ds_h2_P > 3000.0 && Ds_h2_P < 100000.0 && Ds_h3_P > 3000.0 && Ds_h3_P < 100000.0 && Ds_h1_ETA > 2.0 && Ds_h1_ETA < 5.0 && Ds_h2_ETA > 2.0 && Ds_h2_ETA < 5.0 && Ds_h3_ETA > 2.0 && Ds_h3_ETA < 5.0 && Ds_h1_TRACK_GhostProb < 0.3 && Ds_h2_TRACK_GhostProb < 0.3 && Ds_h3_TRACK_GhostProb < 0.3&&(Ds_BKGCAT == 0 || Ds_BKGCAT == 10)&&(TMath::Sqrt(((Ds_h1_PE+Ds_h2_PE)*(Ds_h1_PE+Ds_h2_PE)) - (((Ds_h1_PX+Ds_h2_PX)*(Ds_h1_PX+Ds_h2_PX)) + ((Ds_h1_PY+Ds_h2_PY)*(Ds_h1_PY+Ds_h2_PY)) + ((Ds_h1_PZ+Ds_h2_PZ)*(Ds_h1_PZ+Ds_h2_PZ)))) > (1019.46-20.) && TMath::Sqrt(((Ds_h1_PE+Ds_h2_PE)*(Ds_h1_PE+Ds_h2_PE)) - (((Ds_h1_PX+Ds_h2_PX)*(Ds_h1_PX+Ds_h2_PX)) + ((Ds_h1_PY+Ds_h2_PY)*(Ds_h1_PY+Ds_h2_PY)) + ((Ds_h1_PZ+Ds_h2_PZ)*(Ds_h1_PZ+Ds_h2_PZ)))) < (1019.46+20.))
To reproduce, run:
python -m formulate --from-root $CUTSTRING --to-root
from formulate.
Related Issues (20)
- Add ROOT to travis tests HOT 1
- Add support for comparing Expression objects
- Add support for dividing Expression objects HOT 1
- Add support for TMath::Functions with variable numbers of arguments
- Add support for converting more TMath functions to numexpr equivlents
- Drop all dependencies except pyparsing HOT 1
- Get exact values of constants from ROOT HOT 4
- Evaluate Expression objects directly
- Return numexpr expression for given container HOT 3
- Add support for variable scoping HOT 6
- parsing `from_root` can be slow HOT 9
- more flexible to_string conversion to support ternary operators
- BUG: pow operator without whitespace errors HOT 1
- Add pypi password as secret for CD HOT 2
- Release tagging HOT 4
- idea: add sympy conversion HOT 1
- Add documentation to README
- Add constants
- Test against ROOT and numexpr
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from formulate.