1#ifndef __EVENTBUILDER_HH
2#define __EVENTBUILDER_HH
20#include <TGProgressBar.h>
32#ifndef __CALIBRATION_HH
37#ifndef __DATAPACKETS_HH
42#ifndef __MINIBALLEVTS_HH
58 void SetOutput( std::string output_file_name,
bool cWrite =
false );
85 std::cout <<
"Writing output file...\r";
88 std::cout <<
"Writing output file... Done!" << std::endl << std::endl;
131 std::shared_ptr<MiniballCalibration>
cal;
135 std::shared_ptr<MiniballSettings>
set;
139 std::shared_ptr<TGProgressBar>
prog;
std::shared_ptr< ParticleEvt > particle_evt
std::shared_ptr< TGProgressBar > prog
std::vector< unsigned char > spede_seg_list
list of Spede segment IDs
std::vector< unsigned long long > spede_ts_list
list of Spede timestamps for ElectronFinder
std::vector< unsigned char > cd_strip_list
list of CD strip IDs
unsigned long long preveventid
previous MBS event id
void AddCalibration(std::shared_ptr< MiniballCalibration > mycal)
unsigned long long ebis_time
TFile * input_file
Input tree.
bool mythres
above threshold?
std::vector< std::vector< TH2F * > > mb_en_core_seg
bool mylaser
laser pattern bit
std::shared_ptr< MiniballCalibration > cal
std::vector< std::vector< unsigned long > > n_resume
std::vector< std::vector< unsigned long long > > febex_dead_time
std::vector< std::vector< TH2F * > > cd_pn_1v2
std::vector< unsigned char > ic_id_list
list of IonChamber layer IDs
void SetInputFile(std::string input_file_name)
MiniballEventBuilder(std::shared_ptr< MiniballSettings > myset)
std::vector< float > mb_en_list
list of Miniball energies for GammaRayFinder
std::shared_ptr< GammaRayEvt > gamma_evt
void StartFile()
called for every file
unsigned long long myeventtime
MBS event time.
std::shared_ptr< FebexData > febex_data
unsigned long BuildEvents()
std::vector< std::vector< TH2F * > > cd_pen_id
std::vector< unsigned char > cd_sec_list
list of CD sector IDs
std::vector< std::vector< TH2F * > > cd_pn_1v1
std::vector< unsigned long long > cd_ts_list
list of CD timestamps for ParticleFinder
unsigned long long time_max
std::vector< unsigned char > cd_det_list
list of CD detector IDs
std::vector< unsigned char > pad_det_list
list of PAD detector IDs
std::vector< std::vector< unsigned long long > > pause_time
std::vector< unsigned char > bd_det_list
list of beam dump detector IDs
void SetMBSInfoTree(TTree *user_tree)
unsigned long long sc_time
std::vector< std::vector< TH2F * > > mb_en_core_seg_ebis_on
std::shared_ptr< AdcData > adc_data
unsigned long n_info_data
std::vector< std::vector< bool > > flag_resume
MiniballDataPackets * in_data
std::vector< std::vector< unsigned long long > > sync_time
unsigned char mydgf
DGF module number.
unsigned long gamma_ab_ctr
unsigned long long mytime
absolute timestamp
std::shared_ptr< DgfData > dgf_data
std::vector< std::vector< TH2F * > > cd_ppad_mult
unsigned char myboard
febex board number
std::vector< unsigned char > pad_sec_list
list of PAD sector IDs
std::vector< std::vector< TH2F * > > cd_pn_mult
std::vector< unsigned char > mb_cry_list
list of crystal IDs
std::vector< TH2F * > pad_en_id
bool flag_close_event
length of build window in ns
unsigned long long t1_prev
std::vector< std::vector< unsigned long long > > febex_time_start
std::vector< float > ic_en_list
list of IonChamber energies for IonChamberFinder
std::vector< std::vector< TH2F * > > cd_pn_2v1
std::vector< unsigned long long > pulser_time
std::vector< unsigned long > n_adc
std::vector< std::vector< unsigned long > > n_board
bool mypileup
pileup flag?
std::vector< float > spede_en_list
list of Spede energies for ElectronFinder
std::shared_ptr< GammaRayAddbackEvt > gamma_ab_evt
std::shared_ptr< InfoData > info_data
std::vector< unsigned long long > mb_ts_list
list of Miniball timestamps for GammaRayFinder
bool myclipped
clipped flag?
std::shared_ptr< BeamDumpEvt > bd_evt
unsigned char mysfp
sfp number
std::vector< std::vector< bool > > flag_pause
std::vector< float > bd_en_list
list of beam dump energies for BeamDumpFinder
long myhittime
hit time with respect to event time
void Initialise()
called for every event
void PurgeOutput()
Closes the output files from this class.
unsigned long long t1_time
unsigned long long time_prev
std::vector< std::vector< TH1F * > > cd_nn_td
unsigned char myadc
ADC module number.
void SetInputTree(TTree *user_tree)
std::vector< unsigned char > cd_side_list
list of CD side IDs; 0 = p, 1 = n
std::shared_ptr< MiniballSettings > set
unsigned long long ebis_prev
std::vector< std::vector< TH1F * > > cd_pp_td
std::vector< unsigned long long > pad_ts_list
list of PAD timestamps for ParticleFinder
std::vector< std::vector< TH2F * > > cd_pn_2v2
std::unique_ptr< MiniballEvts > write_evts
std::shared_ptr< IonChamberEvt > ic_evt
unsigned long long time_min
MBSInfoPackets * mbs_info
std::vector< unsigned long > n_sfp
unsigned char mych
channel number
unsigned long long myeventid
MBS event id.
std::vector< std::vector< unsigned long > > n_pause
std::vector< std::vector< TH2F * > > cd_nen_id
unsigned long long sc_prev
float myenergy
calibrated energy
std::shared_ptr< SpedeEvt > spede_evt
std::vector< unsigned long > n_pulser
std::vector< unsigned long long > pulser_prev
std::vector< unsigned long long > bd_ts_list
list of beam dump timestamps for BeamDumpFinder
std::vector< unsigned long long > ic_ts_list
list of IonChamber timestamps for IonChamberFinder
std::vector< unsigned char > mb_seg_list
list of segment IDs
TFile * output_file
Outputs.
std::vector< float > pad_en_list
list of PAD energies for ParticleFinder
std::ofstream log_file
Log file for recording the results of the MiniballEventBuilder.
std::vector< unsigned char > mb_clu_list
list of cluster IDs
std::vector< std::vector< unsigned long > > n_sync
std::vector< float > cd_en_list
list of CD energies for ParticleFinder
void AddProgressBar(std::shared_ptr< TGProgressBar > myprog)
std::vector< std::vector< unsigned long long > > resume_time
void SetOutput(std::string output_file_name, bool cWrite=false)
unsigned long long time_first
unsigned long n_mbs_entries
std::vector< std::vector< TH1F * > > cd_ppad_td
std::vector< std::vector< std::vector< unsigned long long > > > febex_time_ch
unsigned long n_febex_data
std::vector< std::vector< unsigned long long > > febex_time_stop
std::vector< std::vector< TH1F * > > cd_pn_td
unsigned long long laser_time
std::vector< unsigned long > n_dgf
std::shared_ptr< MiniballSettings > myset
std::shared_ptr< MiniballCalibration > mycal