Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JEventProcessor_DAQTree Class Reference

#include <JEventProcessor_DAQTree.h>

+ Inheritance diagram for JEventProcessor_DAQTree:

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
 

Detailed Description

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.

Constructor & Destructor Documentation

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.

Member Function Documentation

jerror_t JEventProcessor_DAQTree::brun ( jana::JEventLoop *  eventLoop,
int32_t  runnumber 
)
private

Called everytime a new run number is detected.

Definition at line 192 of file JEventProcessor_DAQTree.cc.

const char* JEventProcessor_DAQTree::className ( void  )
inline

Definition at line 51 of file JEventProcessor_DAQTree.h.

jerror_t JEventProcessor_DAQTree::erun ( void  )
private

Called everytime run number changes, provided brun has been called.

Definition at line 973 of file JEventProcessor_DAQTree.cc.

jerror_t JEventProcessor_DAQTree::evnt ( jana::JEventLoop *  eventLoop,
uint64_t  eventnumber 
)
private

Called every event.

Df125WindowRawData

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

Df125PulseRawData

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

Df250WindowRawData

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

Df250PulseRawData

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.

jerror_t JEventProcessor_DAQTree::fini ( void  )
private

Called after last event of last event source has been processed.

Definition at line 984 of file JEventProcessor_DAQTree.cc.

jerror_t JEventProcessor_DAQTree::init ( void  )
private


for F1TDCH

Called once at program start.

Initialize the flags

Definition at line 157 of file JEventProcessor_DAQTree.cc.

References printf().

Member Data Documentation

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.

bool JEventProcessor_DAQTree::f125PItree_exists
private

Definition at line 104 of file JEventProcessor_DAQTree.h.

bool JEventProcessor_DAQTree::f125PPtree_exists
private

Definition at line 106 of file JEventProcessor_DAQTree.h.

bool JEventProcessor_DAQTree::f125PRDtree_exists
private

Definition at line 103 of file JEventProcessor_DAQTree.h.

bool JEventProcessor_DAQTree::f125PTtree_exists
private

Definition at line 105 of file JEventProcessor_DAQTree.h.

bool JEventProcessor_DAQTree::f125TTtree_exists
private

Definition at line 107 of file JEventProcessor_DAQTree.h.

bool JEventProcessor_DAQTree::f125WRDtree_exists
private

Definition at line 102 of file JEventProcessor_DAQTree.h.

bool JEventProcessor_DAQTree::F1TDCHtree_exists
private

Definition at line 108 of file JEventProcessor_DAQTree.h.

bool JEventProcessor_DAQTree::F1TDCTTtree_exists
private

Definition at line 109 of file JEventProcessor_DAQTree.h.

bool JEventProcessor_DAQTree::f250PItree_exists
private

Definition at line 112 of file JEventProcessor_DAQTree.h.

bool JEventProcessor_DAQTree::f250PPtree_exists
private

Definition at line 114 of file JEventProcessor_DAQTree.h.

bool JEventProcessor_DAQTree::f250PRDtree_exists
private

Definition at line 111 of file JEventProcessor_DAQTree.h.

bool JEventProcessor_DAQTree::f250PTtree_exists
private

Definition at line 113 of file JEventProcessor_DAQTree.h.

bool JEventProcessor_DAQTree::f250TTtree_exists
private

Definition at line 115 of file JEventProcessor_DAQTree.h.

bool JEventProcessor_DAQTree::f250WRDtree_exists
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.


The documentation for this class was generated from the following files: