Skip to content

Releases: rest-for-physics/framework

v2.2.25

05 Jan 21:34
Compare
Choose a tag to compare
  • 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" />

v2.2.24

28 Dec 17:44
Compare
Choose a tag to compare
  • 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.

v2.2.23

25 Dec 05:22
Compare
Choose a tag to compare
  • 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.

v2.2.22

25 Dec 05:23
Compare
Choose a tag to compare

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

v2.2.21

25 Dec 05:35
Compare
Choose a tag to compare
  • 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.

v2.2.20

25 Dec 05:36
Compare
Choose a tag to compare

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

v2.2.19

25 Dec 05:37
Compare
Choose a tag to compare

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.

v2.2.18

25 Dec 05:38
Compare
Choose a tag to compare
  • 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.

v2.2.17

25 Dec 05:50
Compare
Choose a tag to compare
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 method RemoveUnitsFromString`.

  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.

v2.2.16

25 Dec 05:51
Compare
Choose a tag to compare

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?