Skip to content

Commit

Permalink
revamp need statement
Browse files Browse the repository at this point in the history
  • Loading branch information
Saransh-cpp committed Feb 22, 2025
1 parent 0761df4 commit 6808c6b
Show file tree
Hide file tree
Showing 3 changed files with 213 additions and 19 deletions.
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ repos:
rev: v2.4.1
hooks:
- id: codespell
args: ["-LOnd,HEP,Leary"]
args: ["-LOnd,HEP,Leary,Paret,Parma"]
exclude: ^docs/usage/intro.ipynb$

- repo: https://github.com/rbubley/mirrors-prettier
Expand Down
190 changes: 190 additions & 0 deletions paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -221,3 +221,193 @@ @inproceedings{Ansel:2024
url = {https://pytorch.org/assets/pytorch2-2.pdf},
year = {2024}
}

@software{hepvector,
author = {Henry Schreiner},
title = {{HEPvector}: NumPy based vectors for general purpose calculation and physics},
url = {https://github.com/henryiii/hepvector},
}

@software{LorentzVectorHEP:2023,
author = {Jerry Ling and Moritz Terwissen and Graeme A Stewart},
title = {LorentzVectorHEP.jl: x, y, z, t and pt, eta, phi, M Lorentz Vectors as used in collider experiments at CERN and other places},
url = {https://github.com/JuliaHEP/LorentzVectorHEP.jl},
version = {0.1.16},
year = {2023},
}

@article{Held:2022sfw,
author = "Held, Alexander and Shadura, Oksana",
title = "{The IRIS-HEP Analysis Grand Challenge}",
doi = "10.22323/1.414.0235",
journal = "PoS",
volume = "ICHEP2022",
pages = "235",
month = "11",
year = "2022"
}

@book{Aberle:2749422,
author = "Aberle, O. and Béjar Alonso, I and Brüning, O and
Fessia, P and Rossi, L and Tavian, L and Zerlauth, M and
Adorisio, C. and Adraktas, A. and Ady, M. and Albertone, J.
and Alberty, L. and Alcaide Leon, M. and Alekou, A. and
Alesini, D. and Ferreira, B. Almeida and Lopez, P. Alvarez
and Ambrosio, G. and Andreu Munoz, P. and Anerella, M. and
Angal-Kalinin, D. and Antoniou, F. and Apollinari, G. and
Apollonio, A. and Appleby, R. and Arduini, G. and Alonso,
B. Arias and Artoos, K. and Atieh, S. and Auchmann, B. and
Badin, V. and Baer, T. and Baffari, D. and Baglin, V. and
Bajko, M. and Ball, A. and Ballarino, A. and Bally, S. and
Bampton, T. and Banfi, D. and Barlow, R. and Barnes, M. and
Barranco, J. and Barthelemy, L. and Bartmann, W. and
Bartosik, H. and Barzi, E. and Battistin, M. and
Baudrenghien, P. and Alonso, I. Bejar and Belomestnykh, S.
and Benoit, A. and Ben-Zvi, I. and Bertarelli, A. and
Bertolasi, S. and Bertone, C. and Bertran, B. and Bestmann,
P. and Biancacci, N. and Bignami, A. and Bliss, N. and
Boccard, C. and Body, Y. and Borburgh, J. and Bordini, B.
and Borralho, F. and Bossert, R. and Bottura, L. and
Boucherie, A. and Bozzi, R. and Bracco, C. and Bravin, E.
and Bregliozzi, G. and Brett, D. and Broche, A. and
Brodzinski, K. and Broggi, F. and Bruce, R. and Brugger, M.
and Brüning, O. and Buffat, X. and Burkhardt, H. and
Burnet, J. and Burov, A. and Burt, G. and Cabezas, R. and
Cai, Y. and Calaga, R. and Calatroni, S. and Capatina, O.
and Capelli, T. and Cardon, P. and Carlier, E. and Carra,
F. and Carvalho, A. and Carver, L.R. and Caspers, F. and
Cattenoz, G. and Cerutti, F. and Chancé, A. and Rodrigues,
M. Chastre and Chemli, S. and Cheng, D. and Chiggiato, P.
and Chlachidze, G. and Claudet, S. and Coello De Portugal,
JM. and Collazos, C. and Corso, J. and Costa Machado, S.
and Costa Pinto, P. and Coulinge, E. and Crouch, M. and
Cruikshank, P. and Cruz Alaniz, E. and Czech, M. and
Dahlerup-Petersen, K. and Dalena, B. and Daniluk, G. and
Danzeca, S. and Day, H. and De Carvalho Saraiva, J. and De
Luca, D. and De Maria, R. and De Rijk, G. and De Silva, S.
and Dehning, B. and Delayen, J. and Deliege, Q. and
Delille, B. and Delsaux, F. and Denz, R. and Devred, A. and
Dexter, A. and Di Girolamo, B. and Dietderich, D. and
Dilly, J.W. and Doherty, A. and Dos Santos, N. and Drago,
A. and D.Drskovic and Ramos, D. Duarte and Ducimetière, L.
and Efthymiopoulos, I. and Einsweiler, K. and Esposito, L.
and Esteban Muller, J. and Evrard, S. and Fabbricatore, P.
and Farinon, S. and Fartoukh, S. and Faus-Golfe, A. and
Favre, G. and Felice, H. and Feral, B. and Ferlin, G. and
Ferracin, P. and Ferrari, A. and Ferreira, L. and Fessia,
P. and Ficcadenti, L. and Fiotakis, S. and Fiscarelli, L.
and Fitterer, M. and Fleiter, J. and Foffano, G. and Fol,
E. and Folch, R. and Foraz, K. and Foussat, A. and Frankl,
M. and Frasciello, O. and Fraser, M. and Menendez, P.
Freijedo and Fuchs, J-F. and Furuseth, S. and Gaddi, A. and
Gallilee, M. and Gallo, A. and Alia, R. Garcia and Gavela,
H. Garcia and Matos, J. Garcia and Garcia Morales, H. and
Valdivieso, A. Garcia-Tabares and Garino, C. and Garion, C.
and Gascon, J. and Gasnier, Ch. and Gentini, L. and
Gentsos, C. and Ghosh, A. and Giacomel, L. and Hernandez,
K. Gibran and Gibson, S. and Ginburg, C. and Giordano, F.
and Giovannozzi, M. and Goddard, B. and Gomes, P. and
Gonzalez De La Aleja Cabana, M. and Goudket, P. and
Gousiou, E. and Gradassi, P. and Costa, A. Granadeiro and
Grand-Clément, L. and Grillot, S. and Guillaume, JC. and
Guinchard, M. and Hagen, P. and Hakulinen, T. and Hall, B.
and Hansen, J. and Heredia Garcia, N. and Herr, W. and
Herty, A. and Hill, C. and Hofer, M. and Höfle, W. and
Holzer, B. and Hopkins, S. and Hrivnak, J. and Iadarola, G.
and Infantino, A. and Bermudez, S. Izquierdo and Jakobsen,
S. and Jebramcik, M.A. and Jenninger, B. and Jensen, E. and
Jones, M. and Jones, R. and Jones, T. and Jowett, J. and
Juchno, M. and Julie, C. and Junginger, T. and Kain, V. and
Kaltchev, D. and Karastathis, N. and Kardasopoulos, P. and
Karppinen, M. and Keintzel, J. and Kersevan, R. and
Killing, F. and Kirby, G. and Korostelev, M. and Kos, N.
and Kostoglou, S. and Kozsar, I. and Krasnov, A. and Krave,
S. and Krzempek, L. and Kuder, N. and Kurtulus, A. and
Kwee-Hinzmann, R. and Lackner, F. and Lamont, M. and
Lamure, A.L. and m, L. Lari and Lazzaroni, M. and Le
Garrec, M. and Lechner, A. and Lefevre, T. and Leuxe, R.
and Li, K. and Li, Z. and Lindner, R. and Lindstrom, B. and
Lingwood, C. and Löffler, C. and Lopez, C. and
Lopez-Hernandez, LA. and Losito, R. and Maciariello, F. and
Macintosh, P. and Maclean, E.H. and Macpherson, A. and
Maesen, P. and Magnier, C. and Durand, H. Mainaud and
Malina, L. and Manfredi, M. and Marcellini, F. and
Marchevsky, M. and Maridor, S. and Marinaro, G. and
Marinov, K. and Markiewicz, T. and Marsili, A. and Martinez
Urioz, P. and Martino, M. and Masi, A. and Mastoridis, T.
and Mattelaer, P. and May, A. and Mazet, J. and Mcilwraith,
S. and McIntosh, E. and Medina Medrano, L. and Mejica
Rodriguez, A. and Mendes, M. and Menendez, P. and Mensi, M.
and Mereghetti, A. and Mergelkuhl, D. and Mertens, T. and
Mether, L. and Métral, E. and Migliorati, M. and Milanese,
A. and Minginette, P. and Missiaen, D. and Mitsuhashi, T.
and Modena, M. and Mokhov, N. and Molson, J. and Monneret,
E. and Montesinos, E. and Moron-Ballester, R. and Morrone,
M. and Mostacci, A. and Mounet, N. and Moyret, P. and
Muffat, P. and Muratori, B. and Muttoni, Y. and Nakamoto,
T. and Navarro-Tapia, M. and Neupert, H. and Nevay, L. and
Nicol, T. and Nilsson, E. and Ninin, P. and Nobrega, A. and
Noels, C. and Nolan, E. and Nosochkov, Y. and Nuiry, FX.
and Oberli, L. and Ogitsu, T. and Ohmi, K. and Olave R. and
Oliveira, J. and Orlandi, Ph. and Ortega, P. and Osborne,
J. and Otto, T. and Palumbo, L. and Papadopoulou, S. and
Papaphilippou, Y. and Paraschou, K. and Parente, C. and
Paret, S. and Park, H. and Parma, V. and Pasquino, Ch. and
Patapenka, A. and Patnaik, L. and Pattalwar, S. and Payet,
J. and Pechaud, G. and Pellegrini, D. and Pepinster, P. and
Perez, J. and Espinos, J. Perez and Marcone, A. Perillo and
Perin, A. and Perini, P. and Persson, T.H.B. and Peterson,
T. and Pieloni, T. and Pigny, G. and Pinheiro de Sousa,
J.P. and Pirotte, O. and Plassard, F. and Pojer, M. and
Pontercorvo, L. and Poyet, A. and Prelipcean, D. and Prin,
H. and Principe, R. and Pugnat, T. and Qiang, J. and
Quaranta, E. and Rafique, H. and Rakhno, I. and Duarte, D.
Ramos and Ratti, A. and Ravaioli, E. and Raymond, M. and
Redaelli, S. and Renaglia, T. and Ricci, D. and Riddone, G.
and Rifflet, J. and Rigutto, E. and Rijoff, T. and
Rinaldesi, R. and Riu Martinez, O. and Rivkin, L. and
Rodriguez Mateos, F. and Roesler, S. and Romera Ramirez, I.
and Rossi, A. and Rossi, L. and Rude, V. and Rumolo, G. and
Rutkovksi, J. and Sabate Gilarte, M. and Sabbi, G. and
Sahner, T. and Salemme, R. and Salvant, B. and Galan, F.
Sanchez and Santamaria Garcia, A. and Santillana, I. and
Santini, C. and Santos, O. and Diaz, P. Santos and Sasaki,
K. and Savary, F. and Sbrizzi, A. and Schaumann, M. and
Scheuerlein, C. and Schmalzle, J. and Schmickler, H. and
Schmidt, R. and Schoerling, D. and Segreti, M. and Serluca,
M. and Serrano, J. and Sestak, J. and Shaposhnikova, E. and
Shatilov, D. and Siemko, A. and Sisti, M. and Sitko, M. and
Skarita, J. and Skordis, E. and Skoufaris, K. and Skripka,
G. and Smekens, D. and Sobiech, Z. and Sosin, M. and
Sorbio, M. and Soubelet, F. and Spataro, B. and Spiezia, G.
and Stancari, G. and Staterao, M. and Steckert, J. and
Steele, G. and Sterbini, G. and Struik, M. and Sugano, M.
and Szeberenyi, A. and Taborelli, M. and Tambasco, C. and
Rego, R. Tavares and Tavian, L. and Teissandier, B. and
Templeton, N. and Therasse, M. and Thiesen, H. and Thomas,
E. and Toader, A. and Todesco, E. and Tomás, R. and Toral,
F. and Torres-Sanchez, R. and Trad, G. and Triantafyllou,
N. and Tropin, I. and Tsinganis, A. and Tuckamantel, J. and
Uythoven, J. and Valishev, A. and Van Der Veken, F. and Van
Weelderen, R. and Vande Craen, A. and Vazquez De Prada, B.
and Velotti, F. and Verdu Andres, S. and Verweij, A. and
Shetty, N. Vittal and Vlachoudis, V. and Volpini, G. and
Wagner, U. and Wanderer, P. and Wang, M. and Wang, X. and
Wanzenberg, R. and Wegscheider, A. and Weisz, S. and
Welsch, C. and Wendt, M. and Wenninger, J. and Weterings,
W. and White, S. and Widuch, K. and Will, A. and Willering,
G. and Wollmann, D. and Wolski, A. and Wozniak, J. and Wu,
Q. and Xiao, B. and Xiao, L. and Xu, Q. and Yakovlev, Y.
and Yammine, S. and Yang, Y. and Yu, M. and Zacharov, I.
and Zagorodnova, O. and Zannini, C. and Zanoni, C. and
Zerlauth, M. and Zimmermann, F. and Zlobin, A. and Zobov,
M. and Zurbano Fernandez, I.",
title = "{High-Luminosity Large Hadron Collider (HL-LHC): Technical
design report}",
publisher = "CERN",
address = "Geneva",
series = "CERN Yellow Reports: Monographs",
year = "2020",
url = "https://cds.cern.ch/record/2749422",
doi = "10.23731/CYRM-2020-0010",
}
40 changes: 22 additions & 18 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,34 +62,38 @@ high energy physics experiments.

# Statement of need

Vector is the only actively developed Lorentz vector library with
a Pythonic interface but a compiled (through Awkward Array [@Pivarski:2018])
computational backend. Vector integrates seamlessly with the existing high energy
physics ecosystem and the broader scientific Python ecosystem, including libraries
like Dask [@rocklin:2015] and Numba [@lam:2015]. The library implements a variety
of backends for several purposes. Although vector was written with high energy
physics in mind, it is a general-purpose library that can be used for any
scientific or engineering application. The library houses a set of diverse
backends, 3 numerical backends for experimental physicists and 1 symbolic
backend for theoretical physicists. These backends include:
Vector is one of the few Lorentz vector libraries that offer
a Pythonic interface but a compiled computational backend, with the others
being Coffea's vector module (depends on vector), PyROOT [@root:2020]'s
LorentzVectors and TLorentzVector classes, and hepvector [@hepvector] (deprecated
in favor of vector). Although vector was written with high energy physics in mind,
it is a general-purpose library that can be used for any scientific or engineering
application. The library houses a set of diverse backends, three numerical backends
for experimental physicists and one symbolic backend for theoretical physicists.
These backends are:

- a pure Python object (builtin) backend for scalar computations,
- a NumPy backend for computations on regular collection-type data,
- a SymPy [@Meurer:2017] backend for symbolic computations, and
- an Awkward backend for computations on ragged collection-type data
- an Awkward [@Pivarski:2018] backend for computations on ragged collection-type data

There also exists implementations of the Object and the Awkward backend in Numba
for just-in-time compilable operations. Further, support for JAX [@Bradbury:2018]
and Dask is provided through the Awkward backend, which enables vector
functionalities to support automatic differentiation and parallel computing.
Moreover, vector is the first Lorentz vector library to offer multiple
computational backends, as well as both numerical and symbolic backends. Furthermore,
akin to PyROOT and LorentzVectorHEP.jl [@LorentzVectorHEP:2023], vector supports
just-in-time compilation through Numba extensions [@lam:2015], implemented for both
the Object and Awkward backends. Vector also includes support for JAX [@Bradbury:2018]
and Dask [@rocklin:2015] for the Awkward backend, enabling the library to support
automatic differentiation and parallel computing, which are required for introducing
automatic differentiation in Analysis Grand Challenge [@Held:2022sfw] and to meet
the computational needs of High Luminosity LHC [@Aberle:2749422].

## Impact

Besides PyROOT's LorentzVectors and TLorentzVector [@root:2020], vector has
Besides PyROOT's LorentzVectors and TLorentzVector, vector has
become a popular choice for mathematical manipulations in Python based high energy
physics analysis pipelines. Along with being utilized directly in
analysis pipelines at LHC [@Kling:2023; @Held:2024; @Qu:2022], the library is
being used in other high energy physics experiments asn as a dependency in other
analysis pipelines at LHC [@Kling:2023; @Held:2024; @Qu:2022], the library is also
being used in other high energy physics experiments and as a dependency in other
user-facing frameworks, such as, Coffea, MadMiner [@Brehmer:2020], FastJet
[@aryan:2023], Spyral [@spyral-utils:2024], Weaver [@weaver-core:2024], and pylhe
[@pylhe]. The library is also used in multiple teaching materials for graduate
Expand Down

0 comments on commit 6808c6b

Please sign in to comment.