5/2/20071
Online Offline 5/2/20072
Online Raw data : within the DAQ monitoring framework Reconstructed data : with the HLT monitoring framework Structure of the framework Collect and calculate parameters, fill histograms while taking data Live display of histograms and out-of-range check or comparison with reference histograms (stored in OCDB) Purpose Check integrity of data Alert the person on shift on a malfunctioning of the detectors 5/2/20073
Online Offline Simulation: raw data, digits (same as online) Reconstruction: all intermediate steps until ESD Purpose Check for software bugs Provide crude alarms Provide QA histograms which users control (visual examination) by comparing with (running) reference histograms (stored in OCDB) 5/2/20074
Online Offline Structure of the framework: job level (1) 1. During simulation, calculate parameters and fill histograms, kept on local disk of WN (root session 1) 2. Run the QA tasks after simulation is done and update log file (root session 2) 3. Parse the simulation log, if error: set the job status, update Tags and optionally stop 4. During reconstruction, calculate parameters and fill histograms, kept on local disk of WN (root session 3) 5. Run the QA tasks after reconstruction is done and update log file (root session 4) 6. Parse the reconstruction log, if error: set the job status, update Tags and optionally stop 7. Run the QA on ESD, produce histograms, make tests and update the log file (root session 5) 8. Parse the ESD QA log, if error: set the job status and update Tags 9. Check all QA and optionally stop the run 5/2/20075
Online Offline Structure of the framework: job level (2) 1. Run simulation (root session 1) 2. Run the QA tasks, fill QA histograms from RAW and Digits, and update log file (root session 2) 3. Parse the simulation log, if error: set the job status, update Tags and optionally stop 4. Run reconstruction (root session 3) 5. Run the QA tasks, fill QA and update log file (root session 4) 6. Parse the reconstruction log, if error: set the job status, update Tags and optionally stop the job 7. Run the QA on ESD, produce histograms, make tests and update the log file (root session 5) 8. Parse the ESD QA log, if error: set the job status and update Tags 9. Check all QA and optionally stop the run 5/2/20076
Online Offline Structure of the framework: ≥ event level, ≤run level 1. Run simulations and reconstructions and associated QA tasks until the required statistics is reached 2. Merge the QA histograms (simulation, reconstruction ESD) 3. Run QA tasks 4. Parse the log, if error: set the jobs status and update Tags 5. Check all QA and optionally stop the production 5/2/20077
Online Offline Requirements 1. QA objects per detector produced either during sim/rec or after 2. QA tasks per detector (simulation, reconstruction) 3. QA tasks per detector, per PWG4 (ESD QA) 4. Same QA tasks for real and sim RAW 5. Keep QA histograms in the AliEn catalog 6. New input in Tags 7. The framework must be able to set/update job status 8. The framework must be able to decide what to do in case of errors 5/2/20078
QA Analysis tasks in $ALICE_ROOT/ESDCheck Input = ESD; Output/det=histograms (root file) + plots+log Detectors: EMCal, FMD, HMPID, MUON, PHOS, PMD, T0, TOF, TRD, VZERO Missing: ITS, TPC Train: $ALICE_ROOT/ESDCheck/ana.C Steering macro: $ALICE_ROOT/ESDCheck/CheckESD.sh launch the train, parse the log, provide summary status 5/2/20079
10 August 9, 2007
The QA object : one bit map per detector Signalling problems with different levels of secverity In different tasks among: simulation (on line data), reconstruction, ESDs, analysis 5/2/200711
Three steps are needed 1. Creation and archiving of reference data Valid for a set of runs 2. Creation and archiving of input data One data set per run (sim ≡ several events; data ≡ an ALICE run) 3. Performing QA test and archiving test result Separate job (different from the jobs which create the data) Can be perfomed on a subset of data large than run 5/2/200712
Data must be mergeable Archiving is done in AliEn using the standard directory structure (not OCDB), local storage is possible too Reference : …..QA/Ref/ (no idea yet how to deal with versions) Data and QA: ….Run/ (no idea yet how to deal with versions) Data are build in the event loop of the appropriate task (Sdigitizer, Digitizer, Tracker) It is the responsibility of the detectors to implement the QA control in their tasks 5/2/200713
QA results for all detectors and all tasks in a dingle root file with a directory structure The framework provides AliQualAss ::TNamed Singleton One bit array per detector Naming conventions (detectors, tasks, files…) Setting, Checking, Storing 5/2/200714
The framework provides AliQualAssDataMaker::TNamed Base Class Creation of directory structure for QA results: Init() Saving of results: Finish() Steer for the processing Exec() The detectors provide AliDetQualAssDataMaker:: AliQualAssDataMaker Implement initialisation of data objects (TH1,….) Implement filling of data objects Steer the QA data making from each task producing data 5/2/200715
The framework provides AliQualAssDataChecker::TNamed Steers the QA check for all detectors and all tasks Opens Ref and data file (Setters in a QA.C macro) Does the QA for all objects stored in the QA data file Updates the QA result Saves the QA results file AliQualAssDataCheckerBase::Tnamed Called by preceeding Initialises the QA object and sets appropriate detector and task Retrieves/Saves the QA result file Does the Check 5/2/200716
The framework provides AliQualAssDataCheckerBase::TNamed Called by preceeding Initialises the QA object and sets appropriate detector and task Retrieves/Saves the QA result file Comparison methods ( Diff () Kolmogorov, Chi2,…) A simple checker Implements a simple Check (Diff of all objects (TH1) in the data file) The detectors provide AliQualAssDetChecker::AliQualAssDataCheckerBase Overloads the comparison Check() 5/2/200717
Detectors AliDetxxxxx (SDigitizer, Digitizer, etc.) Data member : AliDetQualAssDataMaker * fqa Ctor: fqa->Init(AliQualAss::kHITS(kSDIGITS) ; Event loop: fqa->SetData(hits(sdigits)) fqa->Exec() Its different for ESDs which is the responsibility of the framework AliReconstruction In the event loop, same as for the other tasks 5/2/200718
Aliroot –b –q QA.C AliQualAssChecker qac ; qac.SetRefDir(“…/…/…/) ; qac.SetOutDir(“…/…/…/); qac.Run() ; To be run after sim.C and rec.C The QA data file is on the local dir of the WN 5/2/200719
Implement the AliEn file access Versionning scheme for Reference data and of QA results data Granularity of QA data Correct all the misconceptions and illegal implementations which will be discovered by Peter. What to do with the QA results Publish Test and action Implement the QA online QA data made on line in MOOD At end of run ship the data to FXS Preprocessor Algorithm to make the QA Ship with the shuttle the QA results and QA data to AliEn Have the QA test running in MOOD 5/2/200720