Home - PNapi90/DESPEC-Analysis-Framework GitHub Wiki
Welcome to the DESPEC-Analysis-Framework wiki!
This wiki provides a rudimentary introduction into the DESPEC-Analysis-Framework. All important functions and their respective classes are listed and (roughly) explained here. If you have any questions, please feel free to contact either Matt or Philipp (room SH4 2.008). Please refrain from "git push
ing" anything to the framework. If you have any suggestions regarding the program, contact us.
Program structure
All important operations are done inside the Bool_t TSCNUnpackProc::BuildEvent(TGo4EventElement* dest)
function of the MBS stream unpacker (at the moment: First_Test.cxx/h). Inside, the while ((psubevt = inp_evt->NextSubEvent()) != 0)
loop will loop over all subevents inside each event (normally, there is only one subevent). For each system, the White Rabbit time stamp is fetched by the White_Rabbit* WR
object before any system specific operations are done. The corresponding Detector Systems are then identified by their Process ID (Int_t PrcID
). Afterwards, the MBS stream is sent to the respective detector system via the function Detector_Sysmtem[id]->Process_MBS(int* pdata)
.
After internal processing, the calibrated data is fetched using the Raw_Event* RAW
object via the function Detector_System[id]->get_Event_data(RAW)
.
The RAW
data is then sent to the Event Builder.
Detector Systems
Each detector system (FRS,AIDA,PLASTIC,FATIMA and GALILEO/DEGAS) is inheriting from the abstract interface class Detector_System
defined in Detector_System.cxx
. They can be modified as wished, but have to contain the functions
void Process_MBS(int* pdata)
(to provide the MBS stream to the unpacker)void get_Event_data(Raw_Event* RAW)
(to get the unpacked and calibrated data)int* get_pdata()
(which returns the modified pdata pointer)
Event Builder
After extracting the data from the respective Detector System using the Raw Event object, the Event-Builder is called.
There exist two different kinds of event builders:
- A time based Event-Builder
- An AIDA-trigger based Event-Builder
The time based Event-Builder (see TEB) uses user defined White Rabbit time differences to get "coincidences" between various detector systems.
After the Event-Building, events are passed to respective processors, where histograms can be created. An example case of such a processor for PLASTIC and FATIMA is given in PLASTIC-FATIMA-Processor.