Hall-D Software
alpha
|
#include <JEventProcessor_DAQTree.h>
Public Member Functions | |
JEventProcessor_DAQTree () | |
~JEventProcessor_DAQTree () | |
const char * | className (void) |
Public Attributes | |
TTree * | Df125WindowRawData_tree |
f125 readout More... | |
TTree * | Df125PulseRawData_tree |
f125 readout mode 2 More... | |
TTree * | Df125PulseIntegral_tree |
f125 readout modes 3 and 7 More... | |
TTree * | Df125PulseTime_tree |
f125 readout modes 3,4,7 and 8 More... | |
TTree * | Df125PulsePedestal_tree |
f125 readout modes 4,7 and 8 More... | |
TTree * | Df125TriggerTime_tree |
all f125 readout modes More... | |
TTree * | DF1TDCHit_tree |
TTree * | DF1TDCTriggerTime_tree |
TTree * | Df250WindowRawData_tree |
f250 readout modes 1 and 8 More... | |
TTree * | Df250PulseRawData_tree |
f250 readout mode 2 More... | |
TTree * | Df250PulseIntegral_tree |
f250 readout modes 3 and 7 More... | |
TTree * | Df250PulseTime_tree |
f250 readout modes 3,4,7 and 8 More... | |
TTree * | Df250PulsePedestal_tree |
f250 readout modes 4,7 and 8 More... | |
TTree * | Df250TriggerTime_tree |
all f250 readout modes More... | |
uint32_t | channelnum |
Arbitrary global channel number (sorted by crate, slot, channel). Note that when data is sparsified then this value will not have a constant relationship with any particular physical channel. More... | |
uint32_t | eventnum |
Event number. More... | |
uint32_t | rocid |
(from DDAQAddress) Crate number More... | |
uint32_t | slot |
(from DDAQAddress) Slot number in crate More... | |
uint32_t | channel |
(from DDAQAddress) Channel number in slot More... | |
uint32_t | itrigger |
(from DDAQAddress) Trigger number for cases when this hit was read in a multi-event block (from DDAQAddress) More... | |
vector< uint32_t > | waveform |
STL vector of samples of the waveform for the event for f125WRD, f250WRD, f250PRD. More... | |
uint32_t | nsamples |
Number of samples extracted from the waveform for f125WRD, f250WRD, f250PRD. More... | |
uint32_t | w_integral |
Sum of all samples extracted from the waveform for f125WRD, f250WRD, f250PRD. More... | |
uint32_t | w_min |
Minimum sample extracted from the waveform for f125WRD, f250WRD, f250PRD. More... | |
uint32_t | w_max |
Maximum sample extracted from the waveform for f125WRD, f250WRD, f250PRD. More... | |
uint32_t | w_samp1 |
First sample extracted from the waveform (for simple analysis in case the STL vector is difficult to access) for f250WRD, f250PRD. More... | |
uint32_t | w_ped |
the sum of the first 10 samples extracted from the waveform for use as a pedestal for f125WRD, f250WRD, Always = 0 for f250PRD More... | |
Float_t | w_time |
the time (in samples) of the pulse calculated similar to the IU method for f125WRD, f250WRD, f250PRD More... | |
uint32_t | pulse_number |
uint32_t | quality_factor |
for f250PRD, f250PI, f250PT More... | |
int32_t | integral |
for f250PI, f250PT More... | |
int32_t | pedestal |
for f250PI More... | |
uint32_t | nsamples_integral |
for f250PI and f250PP More... | |
uint32_t | nsamples_pedestal |
for f250PI More... | |
uint32_t | pulse_peak |
for f250PI and f250PP More... | |
uint32_t | time |
for f250PP More... | |
uint32_t | first_sample_number |
for f250PT, f250TT, F1TDCH More... | |
bool | invalid_samples |
for f250PRD More... | |
bool | overflow |
for f250WRD, f250PRD More... | |
uint32_t | trig_time |
for f250WRD, f250PRD More... | |
uint32_t | data_word |
for F1TDCH More... | |
Private Member Functions | |
jerror_t | init (void) |
for F1TDCH More... | |
jerror_t | brun (jana::JEventLoop *eventLoop, int32_t runnumber) |
Called everytime a new run number is detected. More... | |
jerror_t | evnt (jana::JEventLoop *eventLoop, uint64_t eventnumber) |
Called every event. More... | |
jerror_t | erun (void) |
Called everytime run number changes, provided brun has been called. More... | |
jerror_t | fini (void) |
Called after last event of last event source has been processed. More... | |
Private Attributes | |
bool | f125WRDtree_exists |
bool | f125PRDtree_exists |
bool | f125PItree_exists |
bool | f125PTtree_exists |
bool | f125PPtree_exists |
bool | f125TTtree_exists |
bool | F1TDCHtree_exists |
bool | F1TDCTTtree_exists |
bool | f250WRDtree_exists |
bool | f250PRDtree_exists |
bool | f250PItree_exists |
bool | f250PTtree_exists |
bool | f250PPtree_exists |
bool | f250TTtree_exists |
This plugin is designed to make root trees of low level data from the DAQ. Each low level data type will have its own tree in the file. Each event and each channel is a new entry in the tree.
Trees will be named after the low level data type used to fill them. Currently the data types that are supported are:
Df125WindowRawData
Df125PulseRawData
Df125PulseIntegral
Df125PulseTime
Df125PulsePedestal
Df125TriggerTime
DF1TDCHit
DF1TDCTriggerTime
Df250WindowRawData
Df250PulseRawData
Df250PulseIntegral
Df250PulseTime
Df250PulsePedestal
Df250TriggerTime
The data types that might be added in future:
Df250StreamingRawData
Df250WindowSum
Wiki documentation can be found here: https://halldweb1.jlab.org/wiki/index.php/DAQTree_plugin
Definition at line 47 of file JEventProcessor_DAQTree.h.
JEventProcessor_DAQTree::JEventProcessor_DAQTree | ( | ) |
Definition at line 141 of file JEventProcessor_DAQTree.cc.
JEventProcessor_DAQTree::~JEventProcessor_DAQTree | ( | ) |
Definition at line 149 of file JEventProcessor_DAQTree.cc.
|
private |
Called everytime a new run number is detected.
Definition at line 192 of file JEventProcessor_DAQTree.cc.
|
inline |
Definition at line 51 of file JEventProcessor_DAQTree.h.
|
private |
Called everytime run number changes, provided brun has been called.
Definition at line 973 of file JEventProcessor_DAQTree.cc.
|
private |
Called every event.
Get a vector of Df125WindowRawData objects for this event (1 object for each crate/slot/channel above threshold)
Create tree if doesn't exist and objects found.
loop over the samples to calculate integral, min, max
find the time to cross half peak height
Get a vector of Df125PulseRawData objects for this event (1 object for each crate/slot/channel above threshold)
Create tree if doesn't exist and objects found.
loop over the samples to calculate integral, min, max
Deal with overflow by setting sample to max val
find the time to cross half peak height
Df125PulseIntegral Get a vector of Df125PulseIntegral objects for this event (1 object for each crate/slot/channel above threshold)
Create tree if doesn't exist and objects found.
Loop over all Df125PulseIntegral objects in this event
Df125PulseTime Get a vector of Df125PulseTime objects for this event (1 object for each crate/slot/channel above threshold)
Create tree if doesn't exist and objects found.
Loop over all Df125PulseTime objects in this event
Df125PulsePedestal Get a vector of Df125PulsePedestal objects for this event (1 object for each crate/slot/channel above threshold)
Create tree if doesn't exist and objects found.
Loop over all Df125PulsePedestal objects in this event
Df125TriggerTime Get a vector of Df125TriggerTime objects for this event (1 object for each crate/slot)
Create tree if doesn't exist and objects found.
Loop over all Df125TriggerTime objects in this event
DF1TDCHit Get a vector of DF1TDCHit objects for this event (1 object for each crate/slot/channel above threshold)
Create tree if doesn't exist and objects found.
Loop over all DF1TDCHit objects in this event
DF1TDCTriggerTime Get a vector of DF1TDCTriggerTime objects for this event (1 object for each crate/slot)
Create tree if doesn't exist and objects found.
Loop over all DF1TDCTriggerTime objects in this event
Get a vector of Df250WindowRawData objects for this event (1 object for each crate/slot/channel above threshold)
Create tree if doesn't exist and objects found.
loop over the samples to calculate integral, min, max
find the time to cross half peak height
Get a vector of Df250PulseRawData objects for this event (1 object for each crate/slot/channel above threshold)
Create tree if doesn't exist and objects found.
loop over the samples to calculate integral, min, max
Deal with overflow by setting sample to max val
find the time to cross half peak height
Df250PulseIntegral Get a vector of Df250PulseIntegral objects for this event (1 object for each crate/slot/channel above threshold)
Create tree if doesn't exist and objects found.
Loop over all Df250PulseIntegral objects in this event
Df250PulseTime Get a vector of Df250PulseTime objects for this event (1 object for each crate/slot/channel above threshold)
Create tree if doesn't exist and objects found.
Loop over all Df250PulseTime objects in this event
Df250PulsePedestal Get a vector of Df250PulsePedestal objects for this event (1 object for each crate/slot/channel above threshold)
Create tree if doesn't exist and objects found.
Loop over all Df250PulsePedestal objects in this event
Df250TriggerTime Get a vector of Df250TriggerTime objects for this event (1 object for each crate/slot)
Create tree if doesn't exist and objects found.
Loop over all Df250TriggerTime objects in this event
Definition at line 201 of file JEventProcessor_DAQTree.cc.
References DDAQAddress::channel, DF1TDCHit::data_word, Df125PulseIntegral_cmp(), Df125PulsePedestal_cmp(), Df125PulseRawData_cmp(), Df125PulseTime_cmp(), Df125TriggerTime_cmp(), Df125WindowRawData_cmp(), DF1TDCHit_cmp(), DF1TDCTriggerTime_cmp(), Df250PulseIntegral_cmp(), Df250PulsePedestal_cmp(), Df250PulseRawData_cmp(), Df250PulseTime_cmp(), Df250TriggerTime_cmp(), Df250WindowRawData_cmp(), Df125PulseRawData::first_sample_number, Df250PulseRawData::first_sample_number, Df125PulseIntegral::integral, Df250PulseIntegral::integral, Df125WindowRawData::invalid_samples, Df250WindowRawData::invalid_samples, Df250PulseRawData::invalid_samples, Df125PulseRawData::invalid_samples, Df125TriggerTime::itrigger, DDAQAddress::itrigger, japp, Df250PulseIntegral::nsamples_integral, Df250PulseIntegral::nsamples_pedestal, Df125WindowRawData::overflow, Df250WindowRawData::overflow, Df250PulseRawData::overflow, Df125PulseRawData::overflow, Df125PulsePedestal::pedestal, Df250PulsePedestal::pedestal, Df125PulseIntegral::pedestal, Df250PulseIntegral::pedestal, pedestal, printf(), Df125PulseTime::pulse_number, Df125PulsePedestal::pulse_number, Df250PulseRawData::pulse_number, Df125PulseRawData::pulse_number, Df250PulseTime::pulse_number, Df125PulseIntegral::pulse_number, Df250PulsePedestal::pulse_number, Df250PulseIntegral::pulse_number, Df125PulsePedestal::pulse_peak, Df250PulsePedestal::pulse_peak, Df125PulseTime::quality_factor, Df125PulseIntegral::quality_factor, Df250PulseTime::quality_factor, Df250PulseIntegral::quality_factor, DDAQAddress::rocid, Df250WindowRawData::samples, Df125WindowRawData::samples, Df250PulseRawData::samples, Df125PulseRawData::samples, DDAQAddress::slot, DF1TDCTriggerTime::time, Df250TriggerTime::time, Df125TriggerTime::time, Df125PulseTime::time, Df250PulseTime::time, DF1TDCHit::time, and DF1TDCHit::trig_time.
|
private |
Called after last event of last event source has been processed.
Definition at line 984 of file JEventProcessor_DAQTree.cc.
|
private |
for F1TDCH
Called once at program start.
Initialize the flags
Definition at line 157 of file JEventProcessor_DAQTree.cc.
References printf().
uint32_t JEventProcessor_DAQTree::channel |
(from DDAQAddress) Channel number in slot
Definition at line 72 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::channelnum |
Arbitrary global channel number (sorted by crate, slot, channel). Note that when data is sparsified then this value will not have a constant relationship with any particular physical channel.
Definition at line 68 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::data_word |
for F1TDCH
Definition at line 94 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::Df125PulseIntegral_tree |
f125 readout modes 3 and 7
Definition at line 55 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::Df125PulsePedestal_tree |
f125 readout modes 4,7 and 8
Definition at line 57 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::Df125PulseRawData_tree |
f125 readout mode 2
Definition at line 54 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::Df125PulseTime_tree |
f125 readout modes 3,4,7 and 8
Definition at line 56 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::Df125TriggerTime_tree |
all f125 readout modes
Definition at line 58 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::Df125WindowRawData_tree |
f125 readout
Definition at line 53 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::DF1TDCHit_tree |
Definition at line 59 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::DF1TDCTriggerTime_tree |
Definition at line 60 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::Df250PulseIntegral_tree |
f250 readout modes 3 and 7
Definition at line 63 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::Df250PulsePedestal_tree |
f250 readout modes 4,7 and 8
Definition at line 65 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::Df250PulseRawData_tree |
f250 readout mode 2
Definition at line 62 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::Df250PulseTime_tree |
f250 readout modes 3,4,7 and 8
Definition at line 64 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::Df250TriggerTime_tree |
all f250 readout modes
Definition at line 66 of file JEventProcessor_DAQTree.h.
TTree* JEventProcessor_DAQTree::Df250WindowRawData_tree |
f250 readout modes 1 and 8
Definition at line 61 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::eventnum |
Event number.
Definition at line 69 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 104 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 106 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 103 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 105 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 107 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 102 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 108 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 109 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 112 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 114 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 111 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 113 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 115 of file JEventProcessor_DAQTree.h.
|
private |
Definition at line 110 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::first_sample_number |
for f250PT, f250TT, F1TDCH
Definition at line 90 of file JEventProcessor_DAQTree.h.
int32_t JEventProcessor_DAQTree::integral |
for f250PI, f250PT
Definition at line 84 of file JEventProcessor_DAQTree.h.
bool JEventProcessor_DAQTree::invalid_samples |
for f250PRD
Definition at line 91 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::itrigger |
(from DDAQAddress) Trigger number for cases when this hit was read in a multi-event block (from DDAQAddress)
Definition at line 73 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::nsamples |
Number of samples extracted from the waveform
for f125WRD, f250WRD, f250PRD.
Definition at line 75 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::nsamples_integral |
for f250PI and f250PP
Definition at line 86 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::nsamples_pedestal |
for f250PI
Definition at line 87 of file JEventProcessor_DAQTree.h.
bool JEventProcessor_DAQTree::overflow |
for f250WRD, f250PRD
Definition at line 92 of file JEventProcessor_DAQTree.h.
int32_t JEventProcessor_DAQTree::pedestal |
for f250PI
Definition at line 85 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::pulse_number |
Definition at line 82 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::pulse_peak |
for f250PI and f250PP
Definition at line 88 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::quality_factor |
for f250PRD, f250PI, f250PT
Definition at line 83 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::rocid |
(from DDAQAddress) Crate number
Definition at line 70 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::slot |
(from DDAQAddress) Slot number in crate
Definition at line 71 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::time |
for f250PP
Definition at line 89 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::trig_time |
for f250WRD, f250PRD
Definition at line 93 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::w_integral |
Sum of all samples extracted from the waveform
for f125WRD, f250WRD, f250PRD.
Definition at line 76 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::w_max |
Maximum sample extracted from the waveform
for f125WRD, f250WRD, f250PRD.
Definition at line 78 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::w_min |
Minimum sample extracted from the waveform
for f125WRD, f250WRD, f250PRD.
Definition at line 77 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::w_ped |
the sum of the first 10 samples extracted from the waveform for use as a pedestal
for f125WRD, f250WRD, Always = 0 for f250PRD
Definition at line 80 of file JEventProcessor_DAQTree.h.
uint32_t JEventProcessor_DAQTree::w_samp1 |
First sample extracted from the waveform (for simple analysis in case the STL vector is difficult to access)
for f250WRD, f250PRD.
Definition at line 79 of file JEventProcessor_DAQTree.h.
Float_t JEventProcessor_DAQTree::w_time |
the time (in samples) of the pulse calculated similar to the IU method
for f125WRD, f250WRD, f250PRD
Definition at line 81 of file JEventProcessor_DAQTree.h.
vector<uint32_t> JEventProcessor_DAQTree::waveform |
STL vector of samples of the waveform for the event
for f125WRD, f250WRD, f250PRD.
Definition at line 74 of file JEventProcessor_DAQTree.h.