Releases: rest-for-physics/framework
v2.2.25
-
TRestElectronDiffusionProcess
stochastic electron processes and energy units are now controlled using two new boolean parameters:poissonElectronExcitation
andunitElectronEnergy
. -
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 keywordqCenter
, i.e.<parameter name="method" value="qCenter" />
v2.2.24
-
TRestElectronDiffusionProcess
introduces a new optionElectronNumberSampling
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 anstd::vector
. -
Upgraded
TRestRawVetoAnalysisProcess
so that it allows the integration of multi-channel. -
TRestCommonNoiseReductionProcess
now it operates by blocks. -
TRestRawSignalAnalysisProcess
added newMinEventValue
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
-
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 inTRestG4Metadata::fSaveEmptyTracks
that isOFF
by default. -
TRestGas::GetDriftVelocity(E)
and similar are now private.
v2.2.22
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
-
restRoot
now will not load the macros by default. We need to executerestRoot --m 1
to enable macros inside. -
LoadRESTLibrary
will search for libraries atREST_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 asg/cm3
. -
TRestBrowser
andTRestRun
now support openinghttp
remote files. -
GdmlPreprocessor
has been renamed toTRestGDMLParser
. It implements a new methodGetGeoManager
that allows to get a pointer to the geometry asTGeoManager
. This way we are able to visualise the geometry using a remote materials file, andGDML_
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 assubEventTag
. -
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 offCurrentEvent
not being updated byGetEntry
and added methodGetNextEntry
. -
TRestRawSignalFittingProcess
andTRestRawSignalConvolutionFittingProcess
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 toinputFileName
,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
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 variablegDetector
to provide alternaitves forGetParameter
- Added methods
TRestHitsEvent::GetGaussSigmaX,Y
andTRestHits::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 pressd
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
andTRestG4Metadata
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
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 toTRestAnalysisPlot
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 thefRunNumber
or the starting time stamp of the run. An example was added atexamples/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 asrun0->GetMetadataMember("TRestG4Metadata->fNEvents");
.EvaluateMetadataMember
will return true if the given condition is fulfilled. I.e. using it asrun0->EvaluateMetadataMember("TRestG4Metadata->fNEvents > 1000");
.
-
GdmlPreprocessor
now accepts environmental variables! New header system<!-- ##VERSION my gdml name tag -->
used to stamp a GDML name ofTRestG4Metadata
. 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 isREST_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 specifiedNmax
default value is now 1000. -
TRestRawSignalAnalysisProcess
added observablepointsoverthres_map
. -
Historic_process renaming has been now removed.
-
TRestSmearingProcess
fixing an important bug when callingAddHit
method that was masked ifTRestElectronDiffusionProcess
was used afterwards. I.e. problem only appeared ifTRestSmearingProcess
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 theTRestG4Event::SetBoundaries
. TODO: This method could probably belong directly toTRestEvent
.
v2.2.18
-
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-splittedstd::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 atTRestThread
. IfSetObservableValue
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 insideTRestG4Metadata
. -
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 usingGdmlPreprocesser
. -
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/
. NowrunNumber
anddataURL
will be generated at the user space and gas files, or other temporary files will be downloaded to the user space instead ofREST_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
REST Framework
-
TRestHits
: Implemented iterator making it easy to loop over all the hits points. Enablesstd
operation like max finding, sort, etc. A detailed description of this new feature can be found at the online CHANGELOG. -
TRestHitsEvent
: removed several methods which were directly callingfHits
. AddedSort()
method. -
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
andfErrorMessage
. -
TRestSystemOfUnits
now supports volume units, and milligrams added. -
TRestSystemOfUnits added method
RemoveUnitsFromString`. -
TRestEventProcess::GetInputEvent/GetOutputEvent
are now pure virtual, and returns typeany
. This helps to make processes simpler for user and memory safe. Check the following forum post for details. -
TRestMetadata
: added new data member,messageBuffer
, which can be saved in root file. We can retrieve the output message from this class inrestRoot
usingTRestMetadata::PrintMessageBuffer
. -
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. -
Added
RestAxionLib
andrestSQL
as git submodules. -
TRestDataQualityProcess
added a first version of this process to generate quality numbers based on ranges of observables or metadata members. -
TRestMesh::GetTrackBoundaries
method added. It allows to identify the positions at which a particle defined as position + vector crosses the bounding volume defined inside aTRestMesh
. -
TRestMesh::GetNodeX,Y,Z
important bug FIXED. -
TRestMesh
now accepts cylindrical type to define volume boundaries,IsInside
andGetTrackBoundaries
methods affected. -
TRestG4Event
now active volumes are registered using full GDML geometry name. -
TRestAnalysisPlot
added a<cutString
and<globalCutString
allowing to introduce a generic cut string that will be given to theDraw
method. This cut string will be added && to any conventional<cut
or<globalCut
definition. -
TRestTools::ReadBinaryTable
added and reviewed. -
TRestPhysics
was used only to define physical constants. Now it seems handy to place some basic methods to be more accesible. Added methodMoveByDistance
,MoveByDistanceFast
,MoveToPlane
andGetDistance
. -
TRestProcessRunner
bug FIXED that in case of errors in the processing was causing the threads to keep alive and execution never finished even ifexit()
was called.
v2.2.16
Important fix solving a problem reading daq
files with process TRestMultiFEMINOSToSignalProcess
.
Merged TRestHits
update from branch: v2.2.13_TRestHitsUpdate
- 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?