[Halld-offline] [New Logentry] Beam trip map for reconstruction

davidl at jlab.org davidl at jlab.org
Tue Feb 21 23:35:01 EST 2017


Logentry Text:
--
I have added a new data class, DBeamCurrent to sim-recon to allow one to cut out beam trips and only include times of stable beam operation during a run. The trip map will be stored in CCDB. At the moment only a few runs are entered into an sqlite form of CCDB. Here are some details:

The trip map is made by:
- A python script connects directly to RCDB to access the start and end times of a run
- It then runs the mySampler program to extract from the EPICS archive a list of interpolated values from beam current monitor  IBCAD00CRCUR6 at every second during the run
- These values are searched to make a list of boundaries where the current changed by at least 3nA, index by time in seconds since the start of the run
- An ascii representation of this map is written as a single string to the CCDB

On the sim-recon side:
- A new DBeamCurrent factory was added to the DAQ library that reads and interprets this map
- Boundaries corresponding to a current that dropped to below 10nA are considered "trips"
- Boundaries corresponding to a current that rose above 10nA indicate the end of the trip
- The time of the event relative to the start is taken from the 250MHz clock timestamp attached to every event
- The "is_fiducial" member of the DBeamCurrent class will indicate if the beam is "ON" (i.e. >10nA) AND that the time of the current event is at least 3 seconds after the last trip AND at least 3 seconds before the next trip
- The time since the last trip and time until the next trip are also given in the DBeamCurrent object
[figure:1]

To use this, one might put something like the following at the top of their plugin's evnt() method:

  vector<const DBeamCurrent*> bcs;
  loop->Get(bcs);
  if( (!bcs.empty()) && (!bcs[0]->is_fiducial) ) return NOERROR;


In addition, a method is included in the DBeamCurrent_factory class for integrating the fiducial time, taking into account beam trips and the 3 second buffer for each of them. This method is called "IntegratedFiducialTime(tmin,tmax). The arguments allow one to specify a specific time range (say if analyzing only one file). If they are omitted then the fiducial time for the entire run is given.

A utility program called hdbeam_current has also been added to make it easy to browse trip information from CCDB via the command line. An example of the output is shown below for run 30686:
[figure:2]


For comparison, a high intensity run 30402:
[figure:3]



---

This is a plain text email for clients that cannot display HTML.  The full logentry can be found online at https://logbooks.jlab.org/entry/3461150
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.jlab.org/pipermail/halld-offline/attachments/20170221/db508e94/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2017-02-21 at 10.57.57 PM.png
Type: image/png
Size: 5195 bytes
Desc: not available
URL: <https://mailman.jlab.org/pipermail/halld-offline/attachments/20170221/db508e94/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2017-02-21 at 10.56.58 PM.png
Type: image/png
Size: 30128 bytes
Desc: not available
URL: <https://mailman.jlab.org/pipermail/halld-offline/attachments/20170221/db508e94/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2017-02-21 at 10.59.57 PM.png
Type: image/png
Size: 15103 bytes
Desc: not available
URL: <https://mailman.jlab.org/pipermail/halld-offline/attachments/20170221/db508e94/attachment-0005.png>


More information about the Halld-offline mailing list