70 likes | 188 Views
RENO Analysis Control & Event Data Model. Jaison Lee 2008/Oct/11 RENO 9 th Collaboration Meeting. Event Data Model. For systematic scheme for real data and MC data Interactivity (with RAC framework)
E N D
RENO Analysis Control&Event Data Model Jaison Lee 2008/Oct/11 RENO 9th Collaboration Meeting
Event Data Model • For systematic scheme for real data and MC data • Interactivity (with RAC framework) • Data model may be not setup completely during production or reconstruction. Parts of data model can be created at a later stage during the analysis. • Access to the event data is through the event header, i.e. the AbsEvent class. From the header one can navigate to the various parts of event data, even run information.
Event Data Model AbsEvent AbsRun Run Number Event Number Trigger Name Pmts Data production Detector Parameters Total Charge Arrival Time Raw data (FACD) • Database access for run configuration and calibration with run number and trigger name • All data will be stored in reno cluster (reno00.snu.ac.kr) Physics Data reconstruction Vertices Energy Vertices position Reconstructed Muon
RENO Analysis Control RACFramework Raw / MC Data User’s Analysis Module Production Module Recon. Module Uers Ntp/His • Has default modules for data input and output, database access for run configuration and calibration • Has talk-to functionfor changing input parameters without recompiling • Can be added any modules by user, which are inherited from RACModule • Modules can be set as filter modulefor selecting events • Easy to use and build in RENO software environment
RENO Analysis Control • In a framework, each module has a Job, Run and Event functions which are executed in sequence. • BeginJob • Executed once when a module start • Booking Histograms and Ntuples • BeginRun • Executed every new run • Get run configuration and calibration data from database • Event • Executed every new event • Something calculated • Filling histograms and ntuples • EndJob • Executed one when a module end • Writing histograms and ntuples into root file BeginJob BeginRun Event EndJob
Example of Event in a Module boolAMod::Event(AbsEvent * anEvent) { intrunId = anEvent->GetCurrentRun()->GetRunId(); intevtId = anEvent->GetEventId(); //Get PMT Collection from AbsEvent TClonesArray * pmtColl = anEvent->GetPmtColl(); intnPmt = pmtColl->GetEntries(); //Iterating PMTs for(inti = 0; i < nPmt; i++){ Pmt * aPmt = (Pmt*)pmtColl->At(i); double charge = aPmt->GetCharge() ; double time = aPmt->GetTime() ; TVector3 pos = aPmt->GetPosition(); } }
Example of Macro mod enable RACStdInputModule mod talk RACStdInputModule input set /users/jslee/devel/RenoSoft/FrameworkDevel/test.root nreport set 100 exit mod enable AMod mod talk AMod energy set 100 momentum set $MOMENTUM_VALUE exit mod disable BMod begin nev 1000