5 research outputs found

    GRIFFINCollaboration/GRSISort: Overdue Ozelot

    No full text
    <p><strong>New</strong></p> <ul> <li>grsiframe: Replacement for grsiproof, based on ROOT's RDataFrame instead of the obsolete PROOF. grsiframe uses "helpers" instead of "selectors" and a number of the latter that have been translated into the former can be found in the examples directory.</li> <li>FastTiminingHistSelector: A selector to create fast timing histograms from a prepared tree of fast timing information.</li> <li>checklog.sh script in examples is a quick script to check a log-file to see if the sort of a subrun ended successfully or not. Simply checks if the last line is "bye,bye" (good) or "Deleting thread" (bad).</li> <li>sort.sh script in examples can be used to sort files and can be run with multiple instances in parallel. Automatically saves the output of the sorting into log files which can be check with checklog.sh script to see if the sorting finished.</li> <li>TLevelScheme: New class to create, plot, and save level schemes. Includes some modification to the behavior of GCanvas if the canvas name is "LevelScheme".</li> <li>TEfficiencyCalibrator: New GUI to automatically take spectra created by the effiency helper to calculate efficiency curves, including summing in and summing out. The calculation of the latter still has some bugs in it.</li> <li>TRedirect class redirect stdout and stderr to a file as long as the object exists, i.e. until it goes out of scope or is deleted.</li> <li>EnableCrosstalkCorrection program allows enabling crosstalk correction for a list of analysis files.</li> <li>PlotVsRun allows plotting histograms vs the run number.</li> <li>ReadCalFromRoot loops over the provided root files and writes out a .cal file for each one of them.</li> <li>SetOdbFromData loops over the provided root files and checks if the PPG information read from the ODB matches the data. Writes out a line for each file whether the information was already correct, some error occured, or if it was updated.</li> <li>checkSort loops over the provided analysis root files and checks if any problem with repeated events occured (the bug making this check necessary has been fixed by now).</li> </ul> <p><strong>Improvements</strong></p> <ul> <li>TGRSIUtilities now provides a trim function and the separate versions in GValue, TChannel, and TRunInfo have been removed.</li> <li>GValue: It is now possible to provide a default value to <code>GValue::Value</code> which is used instead of <code>NaN</code> if the requested value is not found.</li> <li>Globals.h now provides a function <code>std::string hex(T val, int width = -1)</code> that formats the provided value in hexadecimal with lead 0x and if the provided width is positive pads it with zeroes up to that width. It also provides a <code>void SetGRSIEnv()</code> function to set the environment for grsisort, and for linux systems a <code>void PrintGdbStacktrace()</code> function to print the stack trace using gdb.</li> <li>TSinglePeak and all its children now have a working Sigma and FWHM function, and the <code>InitializeParameters</code> function can take a range which is used as limits for the centroid.</li> <li>TPeakFitter uses the range as limit for the centroid and doesn't include it when releasing all parameters if the fit failed to give good errors. Also returns the <code>TFitResultPtr</code> to allow users to access e.g. the covariance matrix.</li> <li>Made some adjustments to make grsisort work with ROOT 6.24 and 6.26.</li> <li>TCalibrationGraphSet: Added options to set marker type, as well as setting line colors and marker colors in one single function and adding axis titles. Also added functions to get minimum and maximum x- and y-values. When adding graphs to the set, the colors are initialized to the current size of the set.</li> <li>TChannel now supports multiple ranges for calibrations, corrections for time drifts (if digitizer clocks are not synched properly) and added GetTime function which is now called by <code>TDetectorHit</code> and simply calles the GetTime function of the mnemonic.</li> <li>TMnemomic warns if the base class is being used instead of the version defined in the data library. Also includes GetTime function that takes care of the different time stamp units of different digitizer etc.</li> <li>Instead of looping over the vector of fragments and adding the fragments on at a time to the <code>UnpackedEvent</code> class, we now simply set the raw data to the whole vector at once.</li> <li>TGRSIMaps includes a function to emplace elements.</li> <li>Added multiple new options to grsisort, mostly used by grsiproof and grsiframe.</li> <li>TGRSISelector includes a check for the size of object to warn if ROOT's limit of 1 GB is reached.</li> <li>Replaced (most?) uses of <code>printf</code> with <code>std::cout</code>.</li> <li>TNucleus offers option to get the transition sorted by energy or intensity. To that effect two lists of transitions are kept simultaneously.</li> <li>TPulseAnalyzer has been ported to the latest version from SFU TIPSort code.</li> <li>Updated TScaler to get ratio of two variables of the last scaler entry (used in EMMA). Also scalers are now actually written to file at the end.</li> <li>TSortingDiagnostics now includes a map of channels missing in the calibration file.</li> <li>TSourceCalibration zooms graph and residual simultaneously, had some bugs fixed as well.</li> <li>Improved and unified <code>Print</code> statements for detectors.</li> <li>TRunInfo now has a function <code>CreateLabel</code> that returns a string created using the run and sub-run numbers in it. Before this code was copied in multiple places of grsisort.</li> <li>Added new event building mode "Skip" that skips the step of sorting the fragments because they are already sorted.</li> <li>The makefile honors the c++ standard root-config returns and includes support for HIL data library.</li> <li>WriteCalToRoot output updated to show more clearly which files were update successfully and where problems occured.</li> </ul> <p><strong>Bug fixes</strong></p> <ul> <li>grsiproof: <code>--max-events</code> flag now works, additional options for PROOF added, log file names now include the run and sub-run number(s).</li> <li>The use of multiple threads to write the analysis file has led to problems with single events being repeated thousands of times, leading to spikes in the energy or time histograms. So we have reverted now to having TAnalysisWriteLoop write a single TFile directly instead of using the <code>TAnaysisWriteLoopClient</code> class.</li> <li>TPeakFitter used to crash when adding and removing peaks between fits.</li> <li>TSinglePeak and children now first set the parameter, then the limits, this avoids warnings that the parameter (which is 0 at that point) is outside the limits.</li> </ul&gt

    Eight urgent, fundamental and simultaneous steps needed to restore ocean health, and the consequences for humanity and the planet of inaction or delay

    No full text
    The ocean crisis is urgent and central to human wellbeing and life on Earth; past and current activities are damaging the planet\u27s main life support system for future generations. We are witnessing an increase in ocean heat, disturbance, acidification, bio-invasions and nutrients, and reducing oxygen levels. Several of these act like ratchets: once detrimental or negative changes have occurred, they may lock in place and may not be reversible, especially at gross ecological and ocean process scales. Each change may represent a loss to humanity of resources, ecosystem function, oxygen production and species. The longer we pursue unsuitable actions, the more we close the path to recovery and better ocean health and greater benefits for humanity in the future. We stand at a critical juncture and have identified eight priority issues that need to be addressed in unison to help avert a potential ecological disaster in the global ocean. They form a purposely ambitious agenda for global governance and are aimed at informing decision-makers at a high level. They should also be of interest to the general public. Of all the themes, the highest priority is to rigorously address global warming and limit surface temperature rise to 1.5°C by 2100, as warming is the pre-eminent factor driving change in the ocean. The other themes are establishing a robust and comprehensive High Seas Treaty, enforcing existing standards for Marine Protected Areas and expanding their coverage, especially in terms of high levels of protection, adopting a precautionary pause on deep-sea mining, ending overfishing and destructive fishing practices, radically reducing marine pollution, putting in place a financing mechanism for ocean management and protection, and lastly, scaling up science/data gathering and facilitating data sharing. By implementing all eight measures in unison, as a coordinated strategy, we can build resilience to climate change, help sustain fisheries productivity, particularly for low-income countries dependent on fisheries, protect coasts (e.g. via soft-engineering/habitat-based approaches), promote mitigation (e.g. carbon storage) and enable improved adaptation to rapid global change

    GET: A generic electronics system for TPCs and nuclear physics instrumentation

    No full text
    General Electronics for TPCs (GET) is a generic, reconfigurable and comprehensive electronics and data-acquisition system for nuclear physics instrumentation of up to 33792 channels. The system consists of a custom-designed ASIC for signal processing, front-end cards that each house 4 ASIC chips and digitize the data in parallel through 12-bit ADCs, concentration boards to read and process the digital data from up to 16 ASICs, a 3-level trigger and master clock module to trigger the system and synchronize the data, as well as all of the associated firmware, communication and data-acquisition software. An overview of the system including its specifications and measured performances are presented.status: publishe

    WTO must ban harmful fisheries subsidies

    Get PDF
    Sustainably managed wild fisheries support food and nutritional security, livelihoods, and cultures (1). Harmful fisheries subsidies—government payments that incentivize overcapacity and lead to overfishing—undermine these benefits yet are increasing globally (2). World Trade Organization (WTO) members have a unique opportunity at their ministerial meeting in November to reach an agreement that eliminates harmful subsidies (3). We—a group of scientists spanning 46 countries and 6 continents—urge the WTO to make this commitment..
    corecore