Recent Releases of framework

framework - v2.4.3 (Steven Weinberg release)

What's Changed

  • Remove Parabolic and Hyperbolic mirror restrictions by @jovoy in https://github.com/rest-for-physics/framework/pull/469
  • Helper method to retrieve version components by @lobis in https://github.com/rest-for-physics/framework/pull/510
  • Add option to PID prefix on downloads to avoid faults by @lobis in https://github.com/rest-for-physics/framework/pull/511
  • Fixes MacOs installation and adding options to restListMacros by @jgalan in https://github.com/rest-for-physics/framework/pull/509
  • TRestDataSetGainMap improvements and bug fixes by @AlvaroEzq in https://github.com/rest-for-physics/framework/pull/512
  • Update pipeline by @lobis in https://github.com/rest-for-physics/framework/pull/513
  • Fix Typo by @JPorron in https://github.com/rest-for-physics/framework/pull/518
  • Sensitivity classes updated, axionlib upgrade, new version header will be generated 2.4.3 by @jgalan in https://github.com/rest-for-physics/framework/pull/508

Full Changelog: https://github.com/rest-for-physics/framework/compare/v2.4.2...v2.4.3

- C++
Published by jgalan almost 2 years ago

framework - v2.4.2 (Henry Primakoff release)

What's Changed

  • Automated Doxygen documentation by @lobis in https://github.com/rest-for-physics/framework/pull/498
  • Minor fixes by @jgalan in https://github.com/rest-for-physics/framework/pull/504
  • Implementation of experimental sensitivity classes by @jgalan in https://github.com/rest-for-physics/framework/pull/355

Full Changelog: https://github.com/rest-for-physics/framework/compare/v2.4.1...v2.4.2

- C++
Published by jgalan about 2 years ago

framework - v2.4.1 (Igor G. Irastorza release)

What's Changed

  • Simplifying opening of TRestRun and TRestDataSet files by @juanangp in https://github.com/rest-for-physics/framework/pull/447
  • Updating restRoot behaviour by @jgalan in https://github.com/rest-for-physics/framework/pull/441
  • Updating hit positions scaling in Eve scene by @jgalan in https://github.com/rest-for-physics/framework/pull/454
  • Adding TRestEvent ptr while opening input file by @juanangp in https://github.com/rest-for-physics/framework/pull/453
  • TRestMySQLToAnalysisProcess will continue even if no DB was found. by @jgalan in https://github.com/rest-for-physics/framework/pull/461
  • REST_OpenInputFile.C. Fixing instance name containing minus sign by @jgalan in https://github.com/rest-for-physics/framework/pull/462
  • Add VETO hits type by @lobis in https://github.com/rest-for-physics/framework/pull/468
  • Addressing warning on TResHits_Iterator in latest compiler (12.2.0) by @juanangp in https://github.com/rest-for-physics/framework/pull/463
  • Add support for std::pair by @lobis in https://github.com/rest-for-physics/framework/pull/467
  • Removal of custom typedef any since it is misleading with std::any by @juanangp in https://github.com/rest-for-physics/framework/pull/471
  • RML metadata instances will allow now env variables in the name definition. by @jgalan in https://github.com/rest-for-physics/framework/pull/473
  • Compute hits energy by @lobis in https://github.com/rest-for-physics/framework/pull/472
  • Increasing default verbose level of restManager to Info by @jgalan in https://github.com/rest-for-physics/framework/pull/460
  • Save geometry after processing by @lobis in https://github.com/rest-for-physics/framework/pull/477
  • Add Merge method to base metadata class by @lobis in https://github.com/rest-for-physics/framework/pull/476
  • Improve support for remote metadata files by @lobis in https://github.com/rest-for-physics/framework/pull/480
  • Remove PandaX from validation pipeline by @lobis in https://github.com/rest-for-physics/framework/pull/475
  • Dataset merge issue by @juanangp in https://github.com/rest-for-physics/framework/pull/487
  • Adding CRY to LDLIBRARYPATH inside thisREST.sh by @jgalan in https://github.com/rest-for-physics/framework/pull/489
  • Adding method to apply a calibration with gain correction. by @AlvaroEzq in https://github.com/rest-for-physics/framework/pull/484
  • Some core but minor changes. Including some non-critical fixes. by @jgalan in https://github.com/rest-for-physics/framework/pull/490
  • Dictionary generation not working on batch jobs (condor) by @lobis in https://github.com/rest-for-physics/framework/pull/485
  • 01.alphaTrack README fixing typo by @jgalan in https://github.com/rest-for-physics/framework/pull/491
  • Minor updates by @jgalan in https://github.com/rest-for-physics/framework/pull/493
  • fix: REST_HOME is now dynamically set to the user's home by @lobis in https://github.com/rest-for-physics/framework/pull/494
  • TRestDataSetOdds fix and some more by @AlvaroEzq in https://github.com/rest-for-physics/framework/pull/492
  • TRestDataSetGainMap improvements by @AlvaroEzq in https://github.com/rest-for-physics/framework/pull/495
  • Release v2.4.1 by @jgalan in https://github.com/rest-for-physics/framework/pull/497

New Contributors

  • @AlvaroEzq made their first contribution in https://github.com/rest-for-physics/framework/pull/484

Full Changelog: https://github.com/rest-for-physics/framework/compare/v2.4.0...v2.4.1

- C++
Published by jgalan about 2 years ago

framework - v2.4.0 (Alexander Friedmann release)

What's Changed

  • use [[(]]) instead of <<(>>) for analysis plots to correct invalid xml syntax by @lobis in https://github.com/rest-for-physics/framework/pull/362
  • Few minor fixes by @jgalan in https://github.com/rest-for-physics/framework/pull/364
  • Upgrading root installation to root-6.26.10 by @juanangp in https://github.com/rest-for-physics/framework/pull/361
  • Add pre-commit hooks by @lobis in https://github.com/rest-for-physics/framework/pull/360
  • Sync pre-commit strategy accross submodules by @lobis in https://github.com/rest-for-physics/framework/pull/373
  • Fixing issue with [[ ]] formatting, replacing by {{ }} by @jgalan in https://github.com/rest-for-physics/framework/pull/370
  • Update pre-commit check script to work for auto-updates by @lobis in https://github.com/rest-for-physics/framework/pull/376
  • Adding submodule validation inside framework by @juanangp in https://github.com/rest-for-physics/framework/pull/371
  • Replacing custom branch pipeline by master by @juanangp in https://github.com/rest-for-physics/framework/pull/377
  • Addressing bug in pull-submodules by @juanangp in https://github.com/rest-for-physics/framework/pull/378
  • REST_ValidateGeometry.C. Updating to new GDML REST format by @jgalan in https://github.com/rest-for-physics/framework/pull/383
  • Improve pre-commit files check script by @lobis in https://github.com/rest-for-physics/framework/pull/381
  • Updating validation file of PandaX-III by @jgalan in https://github.com/rest-for-physics/framework/pull/385
  • Implementing TRestCut inside TRestDataSet by @juanangp in https://github.com/rest-for-physics/framework/pull/391
  • Adding possibility to add a cut on observable parameters in TRestDataSet by @juanangp in https://github.com/rest-for-physics/framework/pull/386
  • TRestAnalysisTree::GetIntegral and GetContour methods added by @jgalan in https://github.com/rest-for-physics/framework/pull/387
  • TRestAnalysisTree. Reviewing documentation by @jgalan in https://github.com/rest-for-physics/framework/pull/343
  • clear-install-dir is performed before add-subdir by @nkx111 in https://github.com/rest-for-physics/framework/pull/394
  • New metadata classes to perform calibration and odds analysis over a TRestDataSet by @juanangp in https://github.com/rest-for-physics/framework/pull/392
  • Fix bug when processing files with a single event by @nkx111 in https://github.com/rest-for-physics/framework/pull/393
  • TRestAnalysisTree add branch types of unsigned xx by @nkx111 in https://github.com/rest-for-physics/framework/pull/396
  • Update framework validation with restG4 by @juanangp in https://github.com/rest-for-physics/framework/pull/403
  • TRestAnalysisTree fixing observable estimators by @jgalan in https://github.com/rest-for-physics/framework/pull/409
  • Updating installROOT.sh by @raulena333 in https://github.com/rest-for-physics/framework/pull/410
  • Addressing compilation issue in macOS introduced on TRestDataSetOdds by @juanangp in https://github.com/rest-for-physics/framework/pull/415
  • Fixing MacOs libraries identification by @jgalan in https://github.com/rest-for-physics/framework/pull/419
  • MacroRootDict. Improving the identification of structures for dictionary generation by @jgalan in https://github.com/rest-for-physics/framework/pull/421
  • Fixing bug on TRestStringHelper::isANumber by @jgalan in https://github.com/rest-for-physics/framework/pull/424
  • Update restG4 framework validation to point to master by @juanangp in https://github.com/rest-for-physics/framework/pull/414
  • Adding uninstall target and proper handling of pcm files by @juanangp in https://github.com/rest-for-physics/framework/pull/397
  • Fix on TRestMetadata and TRestDataSet add-ons by @jgalan in https://github.com/rest-for-physics/framework/pull/427
  • TRestHits: error in gaussian fit is now defined by the user by @cmargalejo in https://github.com/rest-for-physics/framework/pull/428
  • Minor TRestDataSet and TRestRun fixes by @jgalan in https://github.com/rest-for-physics/framework/pull/430
  • REST_StringHelper::isAExpression. Fixing a bug by @jgalan in https://github.com/rest-for-physics/framework/pull/431
  • Updating validation.yml for using new readout validation by @jgalan in https://github.com/rest-for-physics/framework/pull/433
  • Masks debugging by @jgalan in https://github.com/rest-for-physics/framework/pull/437
  • Updating pipelines for readout updates by @jgalan in https://github.com/rest-for-physics/framework/pull/438
  • Changing visualization GEOM_SCALE to 1 by @jgalan in https://github.com/rest-for-physics/framework/pull/440
  • Adjust metadata writing sequence to avoid StreamerInfo missing by @nkx111 in https://github.com/rest-for-physics/framework/pull/435
  • TRestDataSet now allows new user defined columns at the dataset initialisation stage. by @jgalan in https://github.com/rest-for-physics/framework/pull/432
  • New class TRestDataSetPlot to perform plots over datasets by @juanangp in https://github.com/rest-for-physics/framework/pull/400
  • Add macro to find library version from git by @lobis in https://github.com/rest-for-physics/framework/pull/450

New Contributors

  • @raulena333 made their first contribution in https://github.com/rest-for-physics/framework/pull/410

Full Changelog: https://github.com/rest-for-physics/framework/compare/v2.3.15...v2.4.0

- C++
Published by jgalan over 2 years ago

framework - v2.3.15 (David R. Nygren release)

What's Changed

  • Fixes replicated backup entries appearing on output file by @jgalan in https://github.com/rest-for-physics/framework/pull/349
  • TRestAnalysisPlot. Fixing conflict between batch and previewPlot by @jgalan in https://github.com/rest-for-physics/framework/pull/354
  • Cmake fixes to clean up warnings during compilation by @jgalan in https://github.com/rest-for-physics/framework/pull/350
  • cmake/MacroRootDict.cmake adding std:: containing struct to dictionary by @jgalan in https://github.com/rest-for-physics/framework/pull/356
  • Fix processes streamer by @jgalan in https://github.com/rest-for-physics/framework/pull/357

  • axionlib updated to release 1.1

Full Changelog: https://github.com/rest-for-physics/framework/compare/v2.3.14...v2.3.15

- C++
Published by jgalan about 3 years ago

framework - v2.3.14 (Henri Becquerel release)

What's Changed

  • REST_GenerateResponseMatrix removed. by @jgalan in https://github.com/rest-for-physics/framework/pull/318
  • TRestAnalysisTree: recover GetHistogram() for splitted files by @nkx111 in https://github.com/rest-for-physics/framework/pull/321
  • Adding new library wimplib by @juanangp in https://github.com/rest-for-physics/framework/pull/319
  • Adding foreach to pull-submodules.py by @juanangp in https://github.com/rest-for-physics/framework/pull/320
  • Add direct support for REST classes in PyROOT (Python) by @lobis in https://github.com/rest-for-physics/framework/pull/323
  • Update GitHub Actions concurrency policy to keep only latest pushed commit workflow running by @lobis in https://github.com/rest-for-physics/framework/pull/324
  • TRestMetadata documentation revision by @jgalan in https://github.com/rest-for-physics/framework/pull/328
  • Fixing an issue with masks not rotating by @jgalan in https://github.com/rest-for-physics/framework/pull/326
  • fix source geant4 from thisREST on zsh shell by @lobis in https://github.com/rest-for-physics/framework/pull/332
  • CMakeLists.txt requiring minimum ROOT version 6.24 by @jgalan in https://github.com/rest-for-physics/framework/pull/335
  • fix browser for newer root versions (6.26./10) and add icons to buttons by @lobis in https://github.com/rest-for-physics/framework/pull/336
  • Adding an internal circular region inside a spider mask by @jgalan in https://github.com/rest-for-physics/framework/pull/329
  • Fixes MacOs installation by @jgalan in https://github.com/rest-for-physics/framework/pull/337
  • cleaning and better string handling of TRestAnalysisTree and TRestEventProcess by @lobis in https://github.com/rest-for-physics/framework/pull/339
  • Remove repeated value for the speed of light by @Oscar-PL in https://github.com/rest-for-physics/framework/pull/341
  • Adding a fix on system of units by @jgalan in https://github.com/rest-for-physics/framework/pull/340
  • ApplyCut will be always called by @jgalan in https://github.com/rest-for-physics/framework/pull/334
  • REST_MakeMetadata. Fixing minor issues by @jgalan in https://github.com/rest-for-physics/framework/pull/330
  • Pull submodules recursively by @juanangp in https://github.com/rest-for-physics/framework/pull/351
  • Implementation of TRestDataSet by @jgalan in https://github.com/rest-for-physics/framework/pull/345
  • Release v2.3.14 by @jgalan in https://github.com/rest-for-physics/framework/pull/347
  • Updating rawlib to release 1.8 by @jgalan in https://github.com/rest-for-physics/framework/pull/352

New Contributors

  • @Oscar-PL made their first contribution in https://github.com/rest-for-physics/framework/pull/341

Full Changelog: https://github.com/rest-for-physics/framework/compare/v2.3.13...v2.3.14

Library and package updates: - Geant4lib updated to release 2.0. - RestG4 updated to release 1.9 - Axionlib updated to release 1.0 - Rawlib updated to release 1.8

- C++
Published by jgalan about 3 years ago

framework - v2.3.13 (Niels Bohr release)

Library, packages and project updates (Check their respective repositories to know about changes there):

What's Changed

  • Alpha ana by @jgalan in https://github.com/rest-for-physics/framework/pull/124
  • Adding a REST macro to generate templates of TRestMetadata classes by @jgalan in https://github.com/rest-for-physics/framework/pull/191
  • TRestSystemOfUnits minor update by @jgalan in https://github.com/rest-for-physics/framework/pull/192
  • Update TRestEventRateAnalysisProcess.cxx by @DavidDiezIb in https://github.com/rest-for-physics/framework/pull/194
  • TRestTools. Adding forgotten USE_Curl encapsulation by @jgalan in https://github.com/rest-for-physics/framework/pull/195
  • Few TRestTools upgrades motivated by TRestAxionSolarFlux implementations by @jgalan in https://github.com/rest-for-physics/framework/pull/184
  • Minor updates for TRestGDMLParser by @lobis in https://github.com/rest-for-physics/framework/pull/202
  • Improving clang formatting by @juanangp in https://github.com/rest-for-physics/framework/pull/203
  • REST_MakeMetadata. Adding Getters/Setters. And fixing minor issues by @jgalan in https://github.com/rest-for-physics/framework/pull/196
  • Minor but urgent fixes by @jgalan in https://github.com/rest-for-physics/framework/pull/206
  • Adding requirement for C++17 by @juanangp in https://github.com/rest-for-physics/framework/pull/207
  • Bump minimum CMake version to 3.16 by @lobis in https://github.com/rest-for-physics/framework/pull/200
  • Format rml files in a similar way as clang format by @lobis in https://github.com/rest-for-physics/framework/pull/208
  • Event Process Update by @lobis in https://github.com/rest-for-physics/framework/pull/189
  • Added GitHub citation file by @lobis in https://github.com/rest-for-physics/framework/pull/199
  • Try to fix error in string replace at CMake by @juanangp in https://github.com/rest-for-physics/framework/pull/211
  • .gitlab-ci.yml adding axionlib to build and install by @jgalan in https://github.com/rest-for-physics/framework/pull/212
  • Implement compression and splitting option in TRestProcessRunner by @nkx111 in https://github.com/rest-for-physics/framework/pull/201
  • Adding override and const to templates after recent changes in framework by @juanangp in https://github.com/rest-for-physics/framework/pull/219
  • pull-submodules.py update for -latest flag by @DavidDiezIb in https://github.com/rest-for-physics/framework/pull/204
  • pull-submodules.py general improvement. Added option --onlylibs by @jgalan in https://github.com/rest-for-physics/framework/pull/224
  • CMakeLists.txt adding std++fs linking by @jgalan in https://github.com/rest-for-physics/framework/pull/226
  • Adding new Angle unit by @lobis in https://github.com/rest-for-physics/framework/pull/221
  • Renaming endl to RESTendl and other loggers functions by @juanangp in https://github.com/rest-for-physics/framework/pull/225
  • Work around to avoid return when test are enabled by @juanangp in https://github.com/rest-for-physics/framework/pull/228
  • Fix potential issue in pre-commit submodule hooks by @juanangp in https://github.com/rest-for-physics/framework/pull/227
  • Simplified some of TRestTools methods using <filesystem> and avoid usage of env variables by @lobis in https://github.com/rest-for-physics/framework/pull/229
  • Adding pattern mask classes by @jgalan in https://github.com/rest-for-physics/framework/pull/198
  • Fixes issue with pre-compiler directives. by @jgalan in https://github.com/rest-for-physics/framework/pull/222
  • Adding new library legacylib by @juanangp in https://github.com/rest-for-physics/framework/pull/230
  • TRestAnalysisPlot - it now accepts substrings of a runtag by @cmargalejo in https://github.com/rest-for-physics/framework/pull/240
  • Using whoami when USER is not defined instead of default user by @lobis in https://github.com/rest-for-physics/framework/pull/241
  • Fixes installation issue in CMake > 3.21 by @lobis in https://github.com/rest-for-physics/framework/pull/237
  • Windows compilation by @nkx111 in https://github.com/rest-for-physics/framework/pull/231
  • TRestMetadata::InstantiateChildMetadata method added by @jgalan in https://github.com/rest-for-physics/framework/pull/233
  • pull-submodules.py minor update by @jgalan in https://github.com/rest-for-physics/framework/pull/242
  • Github pipeline by @juanangp in https://github.com/rest-for-physics/framework/pull/245
  • updated thisREST script to work when root/Geant4 is installed in /usr by @lobis in https://github.com/rest-for-physics/framework/pull/243
  • Updated validation GitHub Action by @juanangp in https://github.com/rest-for-physics/framework/pull/246
  • Use latest dependencies in pipeline image by @lobis in https://github.com/rest-for-physics/framework/pull/239
  • Reorganizing projects directory by @jgalan in https://github.com/rest-for-physics/framework/pull/247
  • Enabling workflow call from submodules by @juanangp in https://github.com/rest-for-physics/framework/pull/249
  • TRestAnalysisPlot. Now addFile supports filename patterns by @jgalan in https://github.com/rest-for-physics/framework/pull/251
  • Minor updates by @jgalan in https://github.com/rest-for-physics/framework/pull/255
  • TRestTools::LoadRESTLibrary - Added possibility to ignore libraries by @lobis in https://github.com/rest-for-physics/framework/pull/256
  • Updated validation image tag to rest-for-physics by @lobis in https://github.com/rest-for-physics/framework/pull/257
  • Added a pointer to TRestRun in TRestEvent by @lobis in https://github.com/rest-for-physics/framework/pull/260
  • Addons required by XMM Wolter optics integration inside axionlib by @jgalan in https://github.com/rest-for-physics/framework/pull/235
  • Try to fix issue of pipeline failing due to artifacts by @juanangp in https://github.com/rest-for-physics/framework/pull/262
  • Nkx111 patch 4 by @nkx111 in https://github.com/rest-for-physics/framework/pull/244
  • Minor updates by @lobis in https://github.com/rest-for-physics/framework/pull/263
  • update validateProcesses.py to fix pipeline by @nkx111 in https://github.com/rest-for-physics/framework/pull/264
  • Fixing metadata retrieval from entries that contain chidren at TRestRun and TRestProcessRunner by @jgalan in https://github.com/rest-for-physics/framework/pull/265
  • Few string and TRestAnalysisPlot enhancements by @jgalan in https://github.com/rest-for-physics/framework/pull/267
  • Gauss hit zeroes fit by @cmargalejo in https://github.com/rest-for-physics/framework/pull/254
  • TRestEventRateAnalysisProcess: auto adjust under single/multi thread condition by @nkx111 in https://github.com/rest-for-physics/framework/pull/171
  • TRestTools::isRootFile improving filename extension identification by @jgalan in https://github.com/rest-for-physics/framework/pull/271
  • TRestBrowser added event selection bar by @nkx111 in https://github.com/rest-for-physics/framework/pull/272
  • Adding MPFR library at the framework level by @jgalan in https://github.com/rest-for-physics/framework/pull/276
  • validateProcesses.py adding a quick fix while searching ProcessEvent method by @jgalan in https://github.com/rest-for-physics/framework/pull/270
  • TRestPhysics.h added parabolic/hyperbolic interaction by @jovoy in https://github.com/rest-for-physics/framework/pull/281
  • Fix pipeline using PandaXIII example from restG4 by @lobis in https://github.com/rest-for-physics/framework/pull/279
  • Fix macros from libraries not loading correctly by @lobis in https://github.com/rest-for-physics/framework/pull/283
  • Update TRestMetadata classes default title and name by @lobis in https://github.com/rest-for-physics/framework/pull/280
  • New angle units by @jgalan in https://github.com/rest-for-physics/framework/pull/284
  • Fixed crashes when dir parallel to z axis by @jovoy in https://github.com/rest-for-physics/framework/pull/285
  • Implementation of complex numbers with real floating precision by @jgalan in https://github.com/rest-for-physics/framework/pull/286
  • Revert "fixed reading of REST v2.2 files" by @jgalan in https://github.com/rest-for-physics/framework/pull/289
  • TRestRun::SetInputEvent now updates the content inside the new event by @jgalan in https://github.com/rest-for-physics/framework/pull/291
  • GetObservableValue input obs name without process name prefix by @nkx111 in https://github.com/rest-for-physics/framework/pull/290
  • TRestHits fix typo in GetGaussSigmaZ by @cmargalejo in https://github.com/rest-for-physics/framework/pull/293
  • Fixing restG4 pipeline! by @jgalan in https://github.com/rest-for-physics/framework/pull/295
  • TRestRun::OpenInputFile. Preventing segmentation fault by @jgalan in https://github.com/rest-for-physics/framework/pull/297
  • Writing objects with kOverwrite flag instead of kWriteDelete by @lobis in https://github.com/rest-for-physics/framework/pull/298
  • Updates to Geant4 event viewer by @lobis in https://github.com/rest-for-physics/framework/pull/300
  • Fix not ignoring restG4 library on restRoot by @lobis in https://github.com/rest-for-physics/framework/pull/299
  • pull-submodules.py adding an option to download data by @jgalan in https://github.com/rest-for-physics/framework/pull/294
  • Linking mpfr library fix by @jgalan in https://github.com/rest-for-physics/framework/pull/301
  • Update reference root files in validation for PandaX by @lobis in https://github.com/rest-for-physics/framework/pull/273
  • Added fmt as external dependency and printing example by @lobis in https://github.com/rest-for-physics/framework/pull/278
  • ValidateTrees.C rounding to 2-decimal digits by @jgalan in https://github.com/rest-for-physics/framework/pull/306
  • Adding loading macros validation by @jgalan in https://github.com/rest-for-physics/framework/pull/292
  • update main CMakeLists to set mpfr optional by @nkx111 in https://github.com/rest-for-physics/framework/pull/302
  • TRestPatternMask is not pure virtual anymore by @jgalan in https://github.com/rest-for-physics/framework/pull/304
  • Small changes to thisREST.cmake / thisREST.sh by @lobis in https://github.com/rest-for-physics/framework/pull/308
  • Validation.yml dummy update by @jgalan in https://github.com/rest-for-physics/framework/pull/309
  • Fixing pipelines by @jgalan in https://github.com/rest-for-physics/framework/pull/311
  • Fixing GitLab pipeline by @jgalan in https://github.com/rest-for-physics/framework/pull/310
  • TRestTools::ReadASCIITable upgraded to allow csv files reading by @jgalan in https://github.com/rest-for-physics/framework/pull/312
  • Response matrix macro by @jgalan in https://github.com/rest-for-physics/framework/pull/313
  • Do not throw error if TRestRun is opened in a non writeable path by @lobis in https://github.com/rest-for-physics/framework/pull/314
  • V2.3.13 by @jgalan in https://github.com/rest-for-physics/framework/pull/307

New Contributors

  • @jovoy made their first contribution in https://github.com/rest-for-physics/framework/pull/281

Full Changelog: https://github.com/rest-for-physics/framework/compare/v2.3.12...v2.3.13

- C++
Published by jgalan over 3 years ago

framework - v2.3.12

Library, packages and project updates (Check their respective repositories to know about changes there):

What's Changed

  • Garfield compilation fix by @jgalan in https://github.com/rest-for-physics/framework/pull/158
  • TRestEventProcess::Begin/EndOfEventProcess are now virtual by @jgalan in https://github.com/rest-for-physics/framework/pull/170
  • Support for testing framework by @lobis in https://github.com/rest-for-physics/framework/pull/129
  • TRestRun::TRestRun(string) constructor supports both root file and rml file initialization. by @nkx111 in https://github.com/rest-for-physics/framework/pull/165
  • It adds a method at TRestTools to do http POST requests by @jgalan in https://github.com/rest-for-physics/framework/pull/172
  • Updating PR template by @jgalan in https://github.com/rest-for-physics/framework/pull/161
  • TRestReflector. Updating hot compilation flags by @jgalan in https://github.com/rest-for-physics/framework/pull/177
  • Made some methods const by @lobis in https://github.com/rest-for-physics/framework/pull/174
  • Encapsulating the use of CURL libraries by @jgalan in https://github.com/rest-for-physics/framework/pull/176
  • Removing override, looks problematic with root by @juanangp in https://github.com/rest-for-physics/framework/pull/179
  • restRoot.cxx adding TRestPhysics.h and TRestStringHelper.h by @jgalan in https://github.com/rest-for-physics/framework/pull/178
  • Removed using namespace std from header files and fix errors by @lobis in https://github.com/rest-for-physics/framework/pull/168
  • Added templated TRestRun::GetInputEvent by @lobis in https://github.com/rest-for-physics/framework/pull/181
  • Few TRestTools/TRestPhysics/TRestStringHelper upgrades motivated by TRestAxionOpticsMirror by @jgalan in https://github.com/rest-for-physics/framework/pull/175
  • Added preprocessor definition via cmake STRING by @lobis in https://github.com/rest-for-physics/framework/pull/185
  • Added 01.alphaTrack example and pipeline (https://github.com/rest-for-physics/framework/commit/db0391452d33a11f1c38c9dd90592ef35b1a4ee9)
  • Added AlphaCAMM project as a submodule to the repository (https://github.com/rest-for-physics/framework/commit/019fba6d2ac37c90ce24251f736ff53007ab9af1)
  • Fixing different pipilelines/examples after removal of TRestZeroSuppressionProcess

New Contributors

  • @juanangp made their first contribution in https://github.com/rest-for-physics/framework/pull/179

Full Changelog: https://github.com/rest-for-physics/framework/compare/v2.3.11...v2.3.12

- C++
Published by juanangp almost 4 years ago

framework - v2.3.11

  • Support for latest Garfield++ version while maintaining support for older versions for the time being.


    Library, packages and project updates (Check their respective repositories to know about changes there):

  • detectorlib updated to version 1.5.

  • geant4lib updated to version 1.7.

  • rawlib updated to version 1.5.

  • restG4 updated to version 1.6.

What's Changed

  • New class: TRestCut by @nkx111 in https://github.com/rest-for-physics/framework/pull/114
  • Alphas example by @jgalan in https://github.com/rest-for-physics/framework/pull/122
  • Pipeline/trexdm Removing forking feature to fix the pipeline by @jgalan in https://github.com/rest-for-physics/framework/pull/127
  • Updating main README.md by @jgalan in https://github.com/rest-for-physics/framework/pull/128
  • Minor readme fix by @jgalan in https://github.com/rest-for-physics/framework/pull/131
  • New TRestEventRateAnalysisProcess implementation by @jgalan in https://github.com/rest-for-physics/framework/pull/130
  • TRestPhysics::DistanceToAxis method added by @jgalan in https://github.com/rest-for-physics/framework/pull/132
  • Fix FindROOT.cmake in case thisroot.sh wasn't sourced by @Vindaar in https://github.com/rest-for-physics/framework/pull/136
  • updated github actions by @lobis in https://github.com/rest-for-physics/framework/pull/138
  • Uploading image for doxygen documentation by @jgalan in https://github.com/rest-for-physics/framework/pull/139
  • TRestPhysics adding AU and solarRadius constants by @jgalan in https://github.com/rest-for-physics/framework/pull/140
  • TRestMetadata::InitFromConfigFile is now implemented by @jgalan in https://github.com/rest-for-physics/framework/pull/143
  • New CMake ROOT usage / Minor feature in libraries / Pipeline image change by @lobis in https://github.com/rest-for-physics/framework/pull/145
  • fixed calling of external process's endprocess() method by @nkx111 in https://github.com/rest-for-physics/framework/pull/141
  • Updated CMake for inclusion of REST via find_package by @lobis in https://github.com/rest-for-physics/framework/pull/147
  • Fix installation issue due to Garfield by @lobis in https://github.com/rest-for-physics/framework/pull/149
  • REST_MakeProcess.C adding default documentation that needs to be updated by user by @jgalan in https://github.com/rest-for-physics/framework/pull/148

Full Changelog: https://github.com/rest-for-physics/framework/compare/v2.3.10...v2.3.11

- C++
Published by lobis almost 4 years ago

framework -

  • Added new example, 01.alphaTracks containing full MonteCarlo response, raw signal processing and event reconstruction of alpha tracks.

  • TRestAnalysisPlot, now we can define histo color/line/file styles with directly string in TRestAnalysisPlot. See #121.

  • TRestMetadata fixed an issue appearing when unit strings were identified at data members where units are not allowed. See #117

  • TRestRun adding protection against segmentation fault.

  • TRestTools added two new methods , ChangeDirectory and ReturnToPreviousDirectory.

  • TRestMetadata undefined = operator method overload. See #116.

  • New badges added to README.md.

  • Now we use the standard CMAKE_INSTALL_PREFIX variable. See #107.

  • GEOM_SCALE is back to 1. See #103.

  • Few other great improvements.


    Library, packages and project updates (Check their respective repositories to know about changes there):

  • detectorlib updated to version 1.5.

  • geant4lib updated to version 1.6.

  • restG4 updated to version 1.5.

- C++
Published by jgalan about 4 years ago

framework -

  • Implemented error notifications at the end of restManager execution, ref #94.

  • Fixes in TRestAnalysisPlot, ref. #99.

  • Fix a bug in TRestRun when test run if off, and the returned event is NULL from the process. The NULL returned event will not be cloned to the output event, ref #95.

  • Few other minor improvements.


    Library, packages and project updates (Check their respective repositories to know about changes there):

  • rawlib updated to version 1.4.

  • detectorlib updated to version 1.4.

  • tracklib updated to version 1.2.

- C++
Published by cmargalejo over 4 years ago

framework -

  • TRestEventProcess::InitFromConfigFile implements now a replacement of metadata members in the form [MetadataName::MemberName] to use parameters from other metadata classes as initialization.

  • pipeline/trexdm. Added a test to use [TRestDetector::fPressure] as a parameter insideTRestDetectorHitsToSignalProcess`.

  • pipeline/trexdm. Validation.root has been updated. Some observables calculation was affected from using a different drift velocity.

  • Few other minor improvements.


Library, packages and project updates (Check their respective repositories to know about changes there):

- C++
Published by jgalan over 4 years ago

framework -

  • TRestStringHelper::CreateTF1FromString implemented.

  • TRestRun::ReplaceMetadataMembers fixing a potential bug when using square brackets [ ] in CreateTF1FromString.

  • TRestMesh::AddSphericalNode fixing a bug at initialization from spherical hits, and few other bugs connected to TVector3 initialization.

  • TRestMessengerAndReceiver renamed to TRestMessenger.

    • TRestRealTimeDrawingProcess was updated.
  • TRestHits updates in gaussian sigma observables.

  • Now REST is compatible with c++17

  • Improved REST reflection so that we are able to change number precision, specially for timestamps.


Library, packages and project updates (Check their respective repositories to know about changes there):

- C++
Published by jgalan over 4 years ago

framework -

  • Added SVG logos.

  • Added pipeline badges at README.md and at PR integrating a GitHub application Pull Request Badge.

  • Implemented output event sorting (useful in Multi-threading data processing) through the definition of TRestProcessRunner::fSortOutputEvents. It is enabled by default.

  • Fixed bugs at TRestMesh, TRestMetadata::GetParametersList,

  • TRestStringHelper added method DiffString. It is useful to identify misspelling of keywords, i.e. 1-character mismatch between RML parameter and metadata member.

  • TRestReflector added Long64_t data type support.

  • TRestStringHelper::DataMemberNameToParameterName now checks the second character of metadata member.

  • TRestProcessRunner now follows regular data member naming and it is linked to RML parameters following standard conventions. Examples updated accordingly.

  • Many updates on gitlab pipelines.

  • TRestRawFFT was recovered from quarantine.

  • TRestMesh was quickly adapted to be able to operate with spherical coordinates.

  • REST_MakeProcess macro updated to avoid implementation of InitFromConfigFile.

  • pull-submodules.py includes now an option to exclude different submodules `python3 pull-submodules.py --exclude:axionlib,restg4,geant4lib

  • script checkoutRemoteBranch.sh added to pull a particular branchName. If it does not exist it will attempt to pull master. This is used for pipelines.

  • pull-submodules.py --latest will now attempt to pull the branchName submodule named as the framework branch, if it does not exist it will just pull the master branch. This is useful for pipeline validation.

  • Important fixes on TRestReflector.


Library, packages and project updates (Check their respective repositories to know about changes there):

- C++
Published by jgalan over 4 years ago

framework -

  • Zenodo reference has been added to the README.md

  • TRestRawSignalChannelActivity bug fixing and added to validation pipeline.

  • Added a new restRootMacros alias that loads restRoot with macros available.

  • Project migrated to C++14 standards.

  • TRestStringHelper. Added few new Trim methods.

  • TRestEventSelectionProcess has been implemented. It will allow to define few rules on a pre-processed ROOT file analysisTree, to re-process the original event file with a specific/reduced event selection fulfilling the conditions. It also accepts a text file with a list of event IDs.

  • Updating institutional logos, and re-organized miscellaneous directory.

  • TRestMetadata::ReadAllParameters has been split into GetParameterList and ReadParameterList.

  • TRestEventProcess::InitFromConfigFile now will attempt to replace metadata members inside the parameters space. I.e. using [TRestDetector::fSampling]. See trexdm-quickAna repository, inside autoAnalysis/RMLs/03_hits.rml for an example.

  • New ValidateDetectorParams.C macro to validate the reading of detector parameters from filename.

  • TRestRun::ReplaceMetadataMembers << >> delimiters changed by [ ].

  • Fixed many bugs and errors.

    • Important fix related to resizing of window.
    • Fixed an issue when defining analysisTree conditions using &&. Now we define && and || inside RMLs as AND and OR.

Library, packages and project updates (Check their respective repositories to know about changes there):

- C++
Published by jgalan almost 5 years ago

framework -

  • This release fixes the first properly versioned libraries, setting each library to an initial version 1.0.

  • A validationLibrary.py script included at each library will assure metadata classes include the library version.

  • TODO. List other changes.

- C++
Published by jgalan about 5 years ago

framework -

  • Fixed an issue with REST_G4 variable that was not having effect at thisREST.sh.

  • Improved cmake compilation system to accept a REST_ALL_LIBS variable that allows to enable/disable all libraries/packages at once. For example using: cmake -DREST_ALL_LIBS=ON -DRESTLIB_TRACK=OFF ../. See closed issue #5.

  • Improved cmake compilation system to automatically identify the source/libraries/libname with RESTLIB_LIBNAME and source/packages/restPkg with REST_PKG. See closed issue #17.

  • dataURL has been removed from user space at $HOME/.rest to avoid problems when updating the file. See closed issue #9

  • Fixed compilation issue when enabling feature REST_DECAY0. See closed issue #6.

  • pull-submodules.py accepts now few new options: --clean, --force, --lfna, --sjtu and --latest. We may for example use it to:

    • python3 pull-submodules.py --lfna --latest: Pull submodules including lfna repositories and each submodule at its latest development stage.
    • python3 pull-submodules.py --clean: It will remove any local changes and place the local repository at a clean state with submodules pointing to the official reference.

- C++
Published by jgalan about 5 years ago

framework -

  • Improvements on the cmake compilation system. New COMPILELIB and DIRNAME2LIBNAME cmake functions that allow to define a standard way to relate packages and libraries to their compilation option.

  • Submodules have been updated accordingly.

  • thisREST.sh now will also load the ROOT, Geant4 and Garfield versions used during the compilation of REST. Simplifying the loading of REST-ROOT environment to source /path/to/install/thisREST.sh. Therefore, the user does not need to care which ROOT version should use with a particular REST version that could be installed officially at a given computing infrastructure.

- C++
Published by jgalan about 5 years ago

framework - v2.3.1

  • Two new members have been added to TRestMetadata: fOfficialRelease and fCleanState. The values of those members are initialised through rest-config --release and rest-config --clean.

    • fOfficialRelease will be set to Yes if the commit at which REST was compiled corresponds with a tagged commit.
    • fCleanState will be set to Yes if there were no local modifications at the local source repository. Submodules should also be pointing to their official repository. It is possible to use source clean-state.sh to get at this state.
  • Few other minor fixes and arrangements

- C++
Published by jgalan about 5 years ago

framework -

Completely new directory structure:

  • We have differentiated the main framework classes at source/framework. Subdivided into:

    • analysis: Basic metadata classes and processes for pure analysis purposes.
    • tools: Basic helper classes, strings, physics, simple geometrical calculations, etc.
    • core: Main C++ classes prototyping REST classes, and providing REST basic artifacts, such as analysis tree, plotting tools, and event data or metadata visualisation.
      • The libraries are now placed under the directory source/libraries/. Any library is now outside the main repository and it is installed as a submodule.
      • The packages are also connected to this main repository through submodules as source/packages/.
      • There is a new directory at the repository named projects that we dedicate to host different standalone REST projects with public or restricted access.

Few considerations when moving from 2.2 to 2.3.

  • All public libraries and submodules can be downloaded using python3.X pull-submodules.py.

  • All private libraries and submodules were you got access rights can be downloaded using python3.X pull-submodules.py --private.

  • Libraries must be enabled at compilation time, when executing cmake. For example the detector library will be enabled using -DRESTLIB_DETECTOR=ON or the raw library will be enabled using -DRESTLIB_RAW=ON. Following always the convention -DRESTLIB_LIBDIRNAME=ON.

  • Packages compilation flag convention is similar. a restPackage will be added for compilation as REST_PACKAGE. Just as restG4 will be enabled using -DREST_G4=ON.

  • A new script has been added at the root directory, clean-state.sh that can be sourced source clean-state.sh in order to assure the recover a clean git repository state that is identical to the remote repository. WARNING this will erase any local modifications or commits!

  • We adopt for the first time a naming convention for c++ classes inside libraries. TRestLibName... For example, detector library classes will always start by TRestDetector. This will help to identify all the classes that have a common relation, by using auto-completion inside restRoot. Usually all library processes and metadata structures share a common event data type.

  • This new naming convention has forced us to produce the renaming of many classes to follow the new library organisation. All renamed classes have been registered at the framework/renamed.classes file.

  • There is a new script updateClassNamesToV2.3.py. This script uses the renamed.classes file to apply a find and replace to the files with a given extension found in specific absolute or relative path. I.e. using it as: python3.X updateClassNamesToV2.3.py PATH FILE_EXTENSION. Such as python3.5 updateClassNamesToV2.3.py ../projects/ rml.

- C++
Published by jgalan about 5 years ago

framework -

  • TRestElectronDiffusionProcess stochastic electron processes and energy units are now controlled using two new boolean parameters: poissonElectronExcitation and unitElectronEnergy.

  • TRestSignalToHitsProcess : New method to provide the resulting hit the averaged position of all the signal samples, and the average energy of the samples. This method is enabled with the keyword qCenter, i.e. <parameter name="method" value="qCenter" />

- C++
Published by jgalan about 5 years ago

framework -

  • TRestElectronDiffusionProcess introduces a new option ElectronNumberSampling to generate poissonian statistics in the number of electrons generated.

  • Added a simple analysisTree validation pipeline.

  • REST logo has been uploaded as PNG image.

  • tsp/trackMinimization.cc errors have been fixed.

  • TRestStringHelper::StringToElements added to simplify capturing {x1,x2,x3, ..., xn} elements into an std::vector.

  • Upgraded TRestRawVetoAnalysisProcess so that it allows the integration of multi-channel.

  • TRestCommonNoiseReductionProcess now it operates by blocks.

  • TRestRawSignalAnalysisProcess added new MinEventValue observable.

  • Fixed some issues when TRestGas was stored on ROOT file and it was not loading the gas Magboltz file, this also solves some problems observed during data processing and access to gas data properties.

- C++
Published by jgalan about 5 years ago

framework -

Major changes to consider in this release are:

  1. Few updates and corrections on TRestG4Metadata documentation and CONTRIBUTING.md.

  2. TRestRun::BeginOfInit fixed a bug when the path is absolute.

  3. TRestRun. Fixed a bug when reading old REST version files without event tree.

  4. TRestBrowser. Fixed a bug that may set pureAnalysis output to true when reading inputFile.

  5. materials.xml : Replicas on REST_v2 repository have been substituted by symlinks to inputData/definitions/materials.xml which is used as reference.

- C++
Published by jgalan about 5 years ago

framework -

Major changes on TRestGas have been introduced to be completely connect to a remote gasFile server database.

We keep in sultan server a list of gasFiles. TRestGas will always give priority to this server, even if the files exist locally. Although we can optionally change this.

A database of gas definitions can be found now in the server. Therefore, we can launch now TRestGas without specifying a RML file, using only the keyword "server".

TRestGas *gas = new TRestGas( "server", "Xenon-Isobutane 5Pct 10-10E3Vcm" );

This will use definitions in the remote gasFile server.

It must be noticed that any user generating a new gas mixture using TRestGas will upload the new gas mixture to the server and it will be made available to everybody. Contributing to populate the database.

Please, check details provided in the new gases.rml file deployed in the repository. All gas definitions have disappeared since they will be now publicly available in the server.

Also, gasFiles have been removed from the repository.

Other changes to consider in this release

  1. TRestMetadata::fVersion is Initialized to REST_RELEASE now on the constructor.

  2. TRestReadoutPlane::GetX,Y. Fixed errors related to coordinates rotation, and improved methods.

  3. TRestGas solved issues on gasGeneration when enabling generation through third TRestGas constructor argument.

  4. TRestStringHelper::RemoveAbsolutePath added.

  5. TRestMetadata::WriteConfigBuffer( name ) added.

  6. TRestMetadata has now another display format named :success. It is at the same level as Info but with another Green color scheme.

- C++
Published by jgalan about 5 years ago

framework -

  1. Major changeTRestGas definition in rml file supports web download, we can use:
    <TRestGas name="Xenon-TMA 1Pct 10-10E3Vcm" pressure="10" file="server"/>
  2. Fix a bug in TRestReadout GetX(), GetY()
  3. Fix a bug in restG4's example: matreials.xml. We recommend to remove ${REST_PATH}/example/restG4template before installation.
  4. Fix a bug in TRestRawSignal::GetIntegralWithThreshold()
  5. Changed process: TRestSignalZeroSuppresionProcess, TRestHitsToSignalProcess, TRestSignalToHitsProcess. They are in accordance with sampling unit.
  6. Defined ci testing with restG4 generation, events processing, etc.
  7. More TRestRawToSignalProcess now supports progressbar.
  8. Reduced space consumption for process saving in TRestAnalysisTree, by clearing the config buffer
  9. updateREST.py: fix a problem in tag sync

- C++
Published by jgalan about 5 years ago

framework -

  • TRestWebFile and related features to download remote files have been moved to v2.2.7devhttp. For independent testing and development. Problems of compatibility at compilation time architecture dependent.

- C++
Published by jgalan about 5 years ago

framework -

  1. TRestTrackAnalysisProcess. Several fixes and changes on observables names.

  2. restG4 now accepts a **new particle field, charge, to be able to launch charged ions as primary particles.

  3. TRestParticle and TRestParticleSource added fCharge member in consequence.

  4. TRestG4Track::PrintEvent increased precision of hit information.

  5. Fixed array protection index in method TRestTrackEvent::GetTrack(n)

  6. TRestGas::FindGasFile improved output when gas file is not found.

  7. Increased compatibility with MacOs.

- C++
Published by jgalan about 5 years ago

framework -

  1. userRESTLibrary example: Improved compatibility with MacOs and fixed compilation issue on Linux.

  2. Refurbished and improved cmake scripts and macros.

  3. TRestEventProcess : BeginOfEventProcess and EndOfEventProcess are not virtual anymore. They cannot be re-implemented at specific processes.

  4. Fixed assignment of runNumber when the first process is an external process. I.e. fExternal=true.

  5. Event IDs are now properly propagated through the processing chain using TRestEventProcess::BeginOfEventProcess.

  6. restRoot aesthetic changes. By default we only print out the REST libraries loaded in ROOT environment. restRoot --debug will additionally show the macros being loaded. restRoot --silent will print out nothing.

  7. Improved error output and syntax identification on RML files. And added fix related to reading the verboseLevel from included RML section.

  8. TRestSystemOfUnits : Magnetic field units added.

  9. CMakeLists.txt : Garfield compilation is now disabled by default.

  10. inputData directory has been renamed to data. Since we do not expect to have an outputData directory.

  11. Added new REST_Physics namespace to define physics constants.

  12. TRestMultiCoBoAsAdToSignalProcess : Improved handling of signal loss.

  13. materials.xml : Added new Acrylic material.

- C++
Published by jgalan about 5 years ago

framework -

  1. TRestTools::ReadASCIITable added to load the contents of a text file with values into a vector <vector <Double_t> >.

  2. Improved thisREST.sh to be able to switch REST version in a clean way.

  3. TRestEvent::PrintEvent date is printed now human readable.

  4. TRestMultiFEMINOSToSignalProcess. Important fix affecting the read of time stamp values.

  5. TRestMultiFEMINOSToSignalProcess. Solved problem related to initialisation of fSignalEvent in obsolete BeginOfEventProcess.

  6. TRestRawToSignalProcess. Removed unused Begin,EndOfEventProcess methods.

  7. TRestRawToSignalProcess. Transferred v2.1.7 updates.

  8. TRestStringHelper::GetSubdirectories method added.

  9. TRestStringHelper::SearchFileInPath is now recursive and searches files also in subdirectories.

  10. REST_PATH/data is now a default path where REST will look for files when using SearchFile method.

  11. Few minor bug fixes.

- C++
Published by jgalan about 5 years ago

framework -

  1. Removed automatic TRestVersion.h generation at compile time. Now version must be updated manually. And TRestVersion.h header generated using the new script generateVersionHeader.py to help on header generation. CONTRIBUTING guide will be soon updated accordingly.

  2. Upgrades related to pre-generated Decay0 generator. New particles, pre-defined positions, etc.

  3. New online Decay0 generator added. packages/restG4/example/restG4template/restG4.rml has been updated to show the new different ways to implement this generator in TRestG4Metadata.

  4. REST_ViewReadoutEvent rescued.

  5. New fVersionLibrary member inside TRestMetadata. To be used to define version of REST libraries, and be written in the corresponding metadata classes.

  6. Added future libraries skeleton under libraries/.

  7. Reference to create new future REST libraries has been refurbished. It has been moved from packages/userRESTlibrary to libraries/dummy.

  8. Added a script to apply clang-format to the full repository. We adopt the use clang-format in this release for coding style conventions. Needs update on the CONTRIBUTION GUIDE!

  9. Improved output precision at TRestG4Track::PrintTrack, and added missing track origin information.

  10. Updated TRestAnalysisTree information. Simplified the integration of analysis tree variables inside processes. A new method TRestEventProcess::SetObservableValue has been added to help in this. Processes now do not need to build the observable name. Just call SetObservableValue((string) "xOrigin", xOrigin). Processes need to be updated in future. An updated process to be used as reference is TRestGeant4AnalysisProcess.

  11. Fixed issue in restG4 not filling properly the run number, and other related fields.

  12. {Begin,End}OfEventProcess are now not virtual. It means when using the REST processes inside TRestProcessRunner any {Begin,End}OfEventProcess implemented inside a specific process will be just ignored. The implementation of TRestEventProcess::{Begin,End}OfEventProcess will be used to assist on transferring event id, timestamp, etc.

  13. Added a new option to add all the observables of a process to the analysis tree!

<parameter name="observable" value="all" />

If we do not define this parameter, just the explicit observable declarations will be added to the analysisTree.

  1. Now, analysis observables of type map do not have to be declared as a member of the process. But they are rather defined as local variables and added simply using SetObservableValue.

  2. SetObservableValue improved efficiency using templates, this should simplify integrating new observables inside processes by using directy TRestEventProcess::SetObservableValue() inside the ProcessEvent method.

  3. TRestHits::are{XY,XZ,YZ} methods have been updated to evaluate all the hits, and not only the first one.

  4. TRestHits::GetPosition(n). NaN vector components are converted to 0 in any scenario.

  5. Added method TRestTools::GetTypeName and TRestTools::Assembly.

  6. Updated method TRestMetadata::{Get,Set}DataMemberVal{InString}.

  7. TRestEventProcess members will be saved without junk. fVersion, fName, etc.

  8. Fix a bug on restG4 SteppingAction. Biasing volume related. Still I don't understand this fix. But anyway, biasing volumes will disappear in future.

  9. TRestAnalysisPlot added stats box also on single plot, and other mods not previously integrated from v2.1.7.

  10. Several updates on Decay0 generator TRestG4 related classes. New Decay0 format accepted now. New particles accepted in pre-generated file (not only electron).

  11. TRestMetadata::SearchFile is now recursive.

  12. TRestMetadata::GetSearchPath will search in REST_PATH/data/ by default if not found in user defined paths.

  13. Many other minor but important bug fixes.

- C++
Published by jgalan about 5 years ago

framework -

REST Framework
  1. When opening root file using restRoot, it will call TRestRun for file loading, and automatically connect observable branches for AnalysisTree.

For example, executing restRoot with a ROOT file as argument will allow to get a run0 and a ev0 initialized pointers.

restRoot file.root run0->PrintMetadata(); run0->GetEntry(0); ev0->PrintEvent();

  1. Add a namespace: REST_Reflection. Add a class: any. This is important for observable saving in the AnalysisTree, and it is a step towards automatic parameter loading in InitFromConfigFile.

  2. AnalysisTree now accepts all types of observables. If the observable does not exist, it will create a new one in the first filling.

  3. System-level methods from TRestStringHelper(fileExists(), SearchFileInPath(), Execute(), etc.) now moved to TRestTools.

  4. CMakeLists. The git info collection operation is moved to the installation stage.

  5. Now the commit number is stored during the REST installation, and accessible using : rest-config --commit.

  6. New member TRestMetadata::fCommit added.

RestG4
  1. We split method EventAction::FillSubEvent into two methods that combined do the same thing as the original: EventAction::FillSubEvent and EventAction::ReOrderTrackIds. This was done because only the first of these methods (EventAction::FillSubEvent) is needed to compute sensitive volume energy and therefore calling the following EventAction::ReOrderTrackIds can be avoided if the sensitive energy is zero and thus is not going to be stored anyway (calling the method is a bottleneck in high number of tracks simulations). https://lfna.unizar.es/rest-development/REST_v2/issues/63

  2. PrimaryGeneratorAction: reimplemented and tested rotation of generator virtualWall using normal vector to the plane.

  3. Introduced the enum generator types and angular/energy distributions. Now we can stop worrying about capital letters when defining this parameters in the configuration files, also now its possible to know all possible values of these parameters by looking at the code and going to the enum struct. https://lfna.unizar.es/rest-development/REST_v2/issues/54

  4. Implemented cleaning of file path strings output such that now every path (restG4) shown in console should contain a single slash.

  5. Fixed bug in output messages where sensitive volume energy was being confused by active volume energy.

  6. Heavily altered INFO/DEBUG messages of restG4 simulations so that they are more consistent and contain more useful infor mation.

Processes:
  1. TRestMultiFEMINOSToSignal: integrated TRestDetectorSetup metadata class, used to read detector information through the filename format.

  2. All the processes are now using the new, more practical, observable interface.

  3. TRestGeant4AnalysisProcess: Added photonNuclear and NInelastic observables.

  4. TRestTrackAnalysisProcess: Added trackEnergy observable.

Metadata:

  1. New TRestG4Metadata::fSeed member added to register the seed given to Geant4 random generator.
Macros:
  1. New REST_ReadNEvents_inROI macro added.
Data:
  1. Cf252 neutron source added to distributions/NeutronSources.root.

- C++
Published by jgalan about 5 years ago

framework -

REST Framework
  1. When opening root file using restRoot, now will also create links to metadata structures.

  2. New methods added to TRestRun to search entries, eventIds, and load events with particular conditions (i.e. GetEventEntriesWithConditions) to be fullfilled by variables that are found in the analysisTree.

  3. Major revision of TRestAnalysisTree observables methods to retrieve values from analysisTree. I.e. int value = GetObservableValue<int>( obsName ). We can use GetObservableValueSafe so that the type is checked.

  4. Major revision of REST_Reflection methods. Now we can retrieve any metadata member using directly is name. I.e. TRestMDClass::GetDataMemberValue("fClassMember").

  5. ToString() method was updated was updated to work with different types, TVector2 for example used to return a vector when calling GetDataMemberValue.

  6. Major fix to improve performance when using TRestAnalysisPlot with several files.

  7. Fixed important leak on TRestRun::OpenInputFile.

  8. TRestAnalysisTree::EvaluateCuts new method added to evaluate a combined condition of observables.

  9. TRestDataBase: added interface to handle web files. TRestManager and TRestGas are now using those interface to download/upload files.

  10. TRestStringOutput: output tools now moved to global scale (previously they were inside TRestMetadata).

  11. TRestSystemOfUnits introduced as a new unit parsing class. Pre-defined units are added through preprocessor, and saved in a map.

  12. TRestMetadata implemented if definition.

  13. TRestGas now inherited from TRestDriftVolume.

Event types

  1. TRestRawSignalEvent defines internally the baseline range and range where raw signal parameters are calculated. We need to call SetBaseLineRange and SetRange methods now.

  2. TRestHits::fCh and TRestHits::fMod members have been removed. Several fixes and validation of this class.

Event processes

  1. TRestRawSignalAnalysisProcess has been reviewed and updated to use the new baseline scheme. Baseline is not substracted from a TRestRawSignalEvent during the processing.

  2. Reviewed points over threshold, now TRestRawSignal::InitPointsOverThreshold should be used by any REST process to identify and initialise the points that are over threshold.

  3. TRestMultiFeminosToSignalProcess now will assign the run start/end time using the first and last events timestamp.

  4. TRestRawVetoAnalysisProcess. New process added allowing to remove/veto and analyse a particular channel id. This was added because in CAST we have integrated the Muon veto signal in one of the channels of the electronics.

  5. Added new process TRestDaqChannelSwitchingProcess.

Metadata

  1. TRestG4Metadata now handles the generation of the random seed to be used in the MC simulation.

- C++
Published by jgalan about 5 years ago

framework -

REST Framework
  1. Added new REST_ListMacros.C to list all the REST macros available. It also prints documentation that should be introduced inside the macro code using //*** . Check REST_PrintTrees.C for a documented example.

  2. Added a new sub-dir in the process code directory, util. The util processes are the ones who have nothing to do with data analysis, or that cannot be easily classified with one of the existing categories. Three processes were moved into the folder: TRestDaqChannelSwitchingProcess, TRestRawSignalViewerProcess, TRestSignalViewerProcess.

  3. Full revision of TRestAnalysisPlot. Check forum posts!

  4. Fixed observable leak for TRestTrackAnalysisProcess and TRestTriggerAnalysisProcess. Fixed a bug in TRestTriggerAnalysisProcess

  5. A REST process EndProcess implementation can now access the analysisTree using the method GetFullAnalysisTree.

  6. Added new <panel definition inside TRestAnalysisPlot.

REST processes
  1. Added new util process: TRestBenchMarkProcess. It monitors system load and the performance of REST, then saves the result as observables. The input and output event type is arbitary, so we can insert it anywhere in the process chain.

  2. Added a new validateProcesses.py script to identify problems in the construction of processes. It will be executed in the pipeline when new code is uploaded to the repository.

  3. fixed observable leak for TRestTrackAnalysisProcess and TRestTriggerAnalysisProcess. Fixed a bug in TRestTriggerAnalysisProcess. This bug is detectable now by validateProcesses.py.

REST events
  1. Updated TRestHitsEvent to save fType object. For concatenated MicroMegas readout it is not purely 2D. We should still have X information in YZ hits, and Y information in XZ hits. The new TRestHitsEvent saves all the information. Needs verification.

  2. TRestG4Hits stores also now the information of the remaining kinetic energy of the particle. So that we keep track the information on the kinetic energy at each hit.

  3. TRestG4Hits::GetTime() now returns the global timestamp (in seconds) when the hit was recorded in the stepping action. Previously this method always returned 0.

- C++
Published by jgalan about 5 years ago

framework -

REST Framework
  1. TRestAnalysisPlot. Added a new field in <plot to be able to shift the annotation. New field name is : xOffset and yOffset in the units of the corresponding histogram drawing.

  2. TRestAnalysisPlot. Added a plot.timeDisplay option.

  3. TRestAnalsisPlot. Added special keywords <> , <> , <> , <> , <> , that can be used in the panel.

  4. TRestAnalysisPlot. If the extension of the fCanvasSave is a ROOT file then histograms will also be saved.

  5. TRestTools. Added a new method PrintTable that prints out the contents of a std::vector <std::vector <Double_t>>.

  6. TRestG4Hits. Added momentum and kinetic energy to hits accessible via GetKineticEnergy and GetMomentumDirection.

  7. restManager. Enabled batch mode. This mode disables all the graphical output. One can enable this by --batch option.

  8. TRestDataBase. Implemented remote file uploading within method update_metadatafile. This method replaces the old one which works only for gas file uploading. Now there shall be no explicit gas server address inside the code.

  9. Added new metadata class TRestGainMap which stores channel and module gains for calibration.

  10. Added new process TRestSingleChannelAnalysisProcess to create/apply gain map for each readout channel.

  11. TRestEventProcess. Removed method GetReadoutMetadata(), GetGeant4Metadata(), etc., replaced by GetMetadata<TRestReadout>(), etc. One does not need to force convert TRestMetadata pointer to specific metadata class.

  12. Added new process TRestPositionMappingProcess to create/apply position-dependent energy map for event-level correction.

  13. Added a validation pipeline for TREX-DM detector data at /macros/pipeline/trex/.

- C++
Published by jgalan about 5 years ago

framework -

Important fix solving a problem reading daq files with process TRestMultiFEMINOSToSignalProcess.

Merged TRestHits update from branch: v2.2.13_TRestHitsUpdate 1. We added X information in YZ hit and Y information in XZ hit, as described in post. How to keep the moduleID in 2D hits?

- C++
Published by jgalan about 5 years ago

framework -

REST Framework
  1. TRestHits : Implemented iterator making it easy to loop over all the hits points. Enables std operation like max finding, sort, etc. A detailed description of this new feature can be found at the online CHANGELOG.

  2. TRestHitsEvent: removed several methods which were directly calling fHits. Added Sort() method.

  3. TRestMetadata now contains some new error methods that allow to store an error message. For example, we might use them so that we recover an error in a CI pipeline. New members - not stored - are fError and fErrorMessage.

  4. TRestSystemOfUnits now supports volume units, and milligrams added.

  5. TRestSystemOfUnits added methodRemoveUnitsFromString`.

  6. TRestEventProcess::GetInputEvent/GetOutputEvent are now pure virtual, and returns type any. This helps to make processes simpler for user and memory safe. Check the following forum post for details.

  7. TRestMetadata: added new data member, messageBuffer, which can be saved in root file. We can retrieve the output message from this class in restRoot using TRestMetadata::PrintMessageBuffer.

  8. TRestDataBase: updated interface and logic. It is now responsible to provide certain rml file for different metadata classes to load. This logic should be inherited by the inherited class (package) accessing the actual data stored in various database system in various experiments.

  9. Added RestAxionLib and restSQL as git submodules.

  10. TRestDataQualityProcess added a first version of this process to generate quality numbers based on ranges of observables or metadata members.

  11. TRestMesh::GetTrackBoundaries method added. It allows to identify the positions at which a particle defined as position + vector crosses the bounding volume defined inside a TRestMesh.

  12. TRestMesh::GetNodeX,Y,Z important bug FIXED.

  13. TRestMesh now accepts cylindrical type to define volume boundaries, IsInside and GetTrackBoundaries methods affected.

  14. TRestG4Event now active volumes are registered using full GDML geometry name.

  15. TRestAnalysisPlot added a <cutString and <globalCutString allowing to introduce a generic cut string that will be given to the Draw method. This cut string will be added && to any conventional <cut or <globalCut definition.

  16. TRestTools::ReadBinaryTable added and reviewed.

  17. TRestPhysics was used only to define physical constants. Now it seems handy to place some basic methods to be more accesible. Added method MoveByDistance, MoveByDistanceFast, MoveToPlane and GetDistance.

  18. TRestProcessRunner bug FIXED that in case of errors in the processing was causing the threads to keep alive and execution never finished even if exit() was called.

- C++
Published by jgalan about 5 years ago

framework -

  • Added RestAxionLib as a submodule at libraries/axion.

  • Added restSQL as a package at packages/restSQL.

  • TRestMesh::IsInsideBoundingBox method added.

  • TRestMetadata::GetDataMemberValues serves to get a pre-splitted std::vector of string in case the data member contains several elements.

  • IMPORTANT FIX related to installation path dependent on source directory through absolute paths.

  • Added TRestEventProcess::ValidateObservables and integrated at TRestThread. If SetObservableValue does not set any of the corresponding process observables at the analysisTree, it will prompt an error message warning the user of the wrong definition of observables.

  • GdmlPreprocesser (and its corresponding integration in restG4) now supports reading a remote http entity. On top of that it will be reading an optional header to stamp the version of GDML and materials file inside TRestG4Metadata.

  • TRestG4Metadata data members to store geometry filename and path are still being used, but now they are not written to disk. Instead a geometry reference and materials reference have been added as new data members and they are extracted using GdmlPreprocesser.

  • In consequence all materials.xml definitions are being removed from the repository. A remote http file, linked to a particular repository, will be made available to be used on geometry definitions.

  • New user space at $HOME/.rest/. Now runNumber and dataURL will be generated at the user space and gas files, or other temporary files will be downloaded to the user space instead of REST_PATH install directory.

  • Random processes now accept seed parameter.

  • Added and improved few pipeline validation tests. Including pandaX-III topology, restG4 examples, TRestGas.

  • TRestG4Metadata will add all activeVolumes in the geometry if no activeVolume is defined in the <storage section.

  • TRestSummaryProcess added.

- C++
Published by jgalan about 5 years ago

framework -

Relevant updates/addons/fixes

  • TRestAnalysisPlot fixed important bugs on this class, and washed out the limitation of using it with a large number of files! (over 1K).

  • TRestMetadataPlot new class used in a similar way to TRestAnalysisPlot but allowing to plot metadata members from several input files, and used as data points to build XY scatter plots. This allows to correlate data from different metadata class members, or just plot the evolution of a data member if we plot against the fRunNumber or the starting time stamp of the run. An example was added at examples/metadataPlot.rml.

  • TRestEventProcess::ApplyCut method added. Now any process can define generic cuts on the observables that it itself defines, using <cut name="NumberOfGoodSignals" value="(1,1000)" />.

    • TRestRawSignalAnalysisProcess is now
  • New methods at TRestRun:

    • GetMetadataMember will return the value of a metadata class stored in the ROOT file. I.e. using it as run0->GetMetadataMember("TRestG4Metadata->fNEvents");.
    • EvaluateMetadataMember will return true if the given condition is fulfilled. I.e. using it as run0->EvaluateMetadataMember("TRestG4Metadata->fNEvents > 1000");.
  • GdmlPreprocessor now accepts environmental variables! New header system <!-- ##VERSION my gdml name tag --> used to stamp a GDML name of TRestG4Metadata. Similar for materials file. It will stamp the version of the materials file used.

  • TRestRawCommonNoiseReductionProcess was added.

  • Now the global verbose output level can be controlled using the variable gVerbose. Its default value is REST_Warning and it will define the verbose level of REST classes if not specified otherwise.

  • Added a compilation option REST_EVE to enable/disable connection to libEve libraries, that sometimes is not by default at the ROOT installation.

Other updates/addons/fixes:

  • TRestSignalZeroSuppressionProcess new observable added for abnormal tail signal analysis.

  • TRestElectronDiffusionProcess if not specified Nmax default value is now 1000.

  • TRestRawSignalAnalysisProcess added observable pointsoverthres_map.

  • Historic_process renaming has been now removed.

  • TRestSmearingProcess fixing an important bug when calling AddHit method that was masked if TRestElectronDiffusionProcess was used afterwards. I.e. problem only appeared if TRestSmearingProcess was used without electron diffusion.

  • TRestStringHelper::Split method now allows to define where we start the splitting.

  • TRestG4Event::DrawEvent allows to disable automatic boundaries identification using a second optional argument, and define user boundaries using the TRestG4Event::SetBoundaries. TODO: This method could probably belong directly to TRestEvent.

- C++
Published by jgalan about 5 years ago

framework -

New Classes

  • New TRestGeant4VetoAnalysisProcess added. Adds analysis tree variables used for tagging the particles that enter a Veto system.
  • New TRestRawSignalFittingProcess added. Fits the rawdata pulses using an AGET shape signal.
  • New TRestSignalChannelActivityProcess added.
  • New TRestHitsGaussAnalysisProcess added. It retrieves gaussian fit from hits clusters.
  • New TRestRealTimeDrawingProcess added. It draws AnalysisPlot every several events during the process
  • TRestRawSignalChannelActivityProcess generalized.
  • New metadata TRestMessagerAndReciever added. Is sends mesages across REST proceses(UNIX process).
  • New tool class TRestDetector added. Adds a global variable gDetector to provide alternaitves for GetParameter
  • Added methods TRestHitsEvent::GetGaussSigmaX,Y and TRestHits::GetGaussSigmaX,Y.
  • New macro REST_MakeProcess added
  • TRestCoBoAsAdToSignalProcess removed

New Features

  • New REST feature. Now it is possible to detach the process when running. press p to call out pause menu, and then press d to detach
  • New REST feature. Now it is possible to add shell commands in rml section addTask
  • New REST feature. Now it is possible to use in definition in for loops
  • New REST feature. Now it is possible to open remote HTTP files with REST. Integrated also in restRoot.
  • New REST feature. TRestAnalysisPlot supports more plot options, like gridX/gridY, marginLeft/Top/Right/Bottom.
  • New REST feature. myParameter is no longer supported. We shall use variable instead.

MISC

  • restG4. Stepping action fixed problem with sub-event tagging.
  • restG4. PrimaryGeneratorAction and TRestG4Metadata new basic energy distribution type --> "LOG".
  • restG4. PrimaryGeneratorAction fixed to allow for metastable ions.
  • TRestRawSignal::GetRawData method added to allow accessing the original data without baseline substraction.
  • TRestMetadata: refrence of GetKEYStructure/GetKEYDefinition is reduced. Metadata classes are using TiXmlElement as config section
  • REST could be compiled independently with libEve and libMathMore

- C++
Published by jgalan about 5 years ago

framework -

  • restRoot now will not load the macros by default. We need to execute restRoot --m 1 to enable macros inside.

  • LoadRESTLibrary will search for libraries at REST_PATH/lib and $HOME/.rest/userlib/.

  • <globals parameters will be replicated at each process.

  • TRestMetadata for loop variable is now using ${} or {}.

  • TRestSystemOfUnits fixed a problem preventing from reading units finishing in a number, such as g/cm3.

  • TRestBrowser and TRestRun now support opening http remote files.

  • GdmlPreprocessor has been renamed to TRestGDMLParser. It implements a new method GetGeoManager that allows to get a pointer to the geometry as TGeoManager. This way we are able to visualise the geometry using a remote materials file, and GDML_ variables.

  • TRestBrowser upgraded to allow loading event by id, entry or subEventId. It also allows to switch branches in the combobox

  • TRestReadoutChannel re-added physical id channel as a metadata member.

  • TRestReadout fixed problems when loading readouts with multiple FOR loop constructions.

  • TRestTrackAnalysisProcess added new observables for the second main track, and renamed few observables (pipelines adapted in consecuence).

  • TRestAnalysisPlot allows now for cuts comparing a string. Such as subEventTag.

  • TRestRawSignalEvent::DrawEvent new drawing options added to allow selecting different signals.

  • REST_HitsCentering.C macro added to accumulate hits centered and observe the average cluster profile.

  • TRestRun fixed issues of fCurrentEvent not being updated by GetEntry and added method GetNextEntry.

  • TRestRawSignalFittingProcess and TRestRawSignalConvolutionFittingProcess added.

  • TRestDetector's logic will be revised in the next release

  • TRestReflector::ToString() method major update. Now it should be paired with a ParseString() method. We now allow users to write ToString()/ParseString() method for their custom classes in their individual libraries.

  • TRestHitsAnalysisProcess fix a bug that the output observable is sometimes double and sometimes int

  • Enabled automatic parameter loading for metadata classes. We mapped parameter name with datamember name with convension found in http://ezpc10.unizar.es/t/set-data-member-value-from-rml-parameter/388

  • Parameter inputFile outputFile in rml now updated to inputFileName, outputFileName

New sub-modules

  • New directory projects created to host external projects that load as sub-modules.
  • Added basic-readouts module, and added validation pipeline tests.
  • Added basic-geometries module.

- C++
Published by jgalan about 5 years ago

framework -

TRestBrowser: added a comboBox to choose which type of event to plot.

TRestHitsGaussAnalysisProcess generalisation of readout parameters.

restG4: Now runTag is defined from TRestRun. But if not defined we still get the title from TRestGeant4Metadata section.

restG4: Now is capable to introduce a magnetic field through the the magneticField parameter inside TRestGeant4Metadata.

TRestHits::GetGaussSigmaX,Y adapted to work in multithread mode

- C++
Published by jgalan about 5 years ago

framework -

  • TRestAnalysisTree added two method of setting observable value: set with any wrapper and with template method. The later one would be quicker.

  • TRestProcessRunner enabled switches for test run and observable validation. If turned off observable validation, the process speed would be higher.

  • TRestDetector now follows metadata philosophy.

  • TRestRun now supports name pattern reading for the format like Vm[TRestDetector::fAmplificationVoltage]

  • Global parameters are now stored in map REST_ARGS. No longer in TRestDetector

  • Fixes in pipeline validations.

  • Fixed a seg.fault in TRestG4EventViewer when trying to add a parent track non existing. This was not observed before because we were always saving empty tracks. Now there is an option in TRestG4Metadata::fSaveEmptyTracks that is OFF by default.

  • TRestGas::GetDriftVelocity(E) and similar are now private.

- C++
Published by jgalan about 5 years ago