html5-img
1 / 8

Pass0/PassX reconstruction/calibration

Marian Ivanov. Pass0/PassX reconstruction/calibration. Pass0/PassX schema. 1. Reconstruction/calibration – on chunk level Pass0 - for fast calibration Small difference in the rec.C – in Pass0 not all detectors involved, and not full statistic processed Pass0: 2.a Merging per run

marty
Download Presentation

Pass0/PassX reconstruction/calibration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Marian Ivanov Pass0/PassX reconstruction/calibration

  2. Pass0/PassX schema • 1. Reconstruction/calibration – on chunk level • Pass0 - for fast calibration • Small difference in the rec.C – in Pass0 not all detectors involved, and not full statistic processed • Pass0: • 2.a Merging per run • 2.b Extraction of the OCDB entries per run • PassX (X>0) • 2.a Merging per run (common for all detectors) • 2.b Merging per predefined time interval (~week) • It is not clear if the same interval can be used for all detectors. In schema proposed by core OFFLINE, it is the case. But maybe we will need more flexibility in future. • 2.c Extraction of the OCDB entries per run range(s).

  3. Pass0/PassX – reconstruction part • Reconstruction/Calibration jobs - chunk level - tested on the grid - two weeks of data taking • 90% success rate in first pass • 95.6 % success rate after job resubmission • In some cases memory consumption reported to be above 8 Gby • Not reproduced by test of Peter • Example syswatch log dump (/alice/data/2010/LHC10b/000115889/ESDs/pass0/10000115889041.10/syswatch.log) • Memory – Start at 1.6 Gby at event 0 – increase to the 2.1GBy • Strange steps • CPU – 3.4 s per event Event Nr Event Nr

  4. Memory consumption - jumps • Step 1.6 Gby at the beginning +Total increase about 500MBy for 3500 events • Re-Allocation of buffers (TPC,TRD) • ??? - ITS

  5. CPU consumption • Mean about 3 s - Total time counted • Outlyers in the local reconstruction

  6. Pass0/PassX – Make OCDB • Procedure tested with one run • Jdl file : mergeMakeOCDB.jdl (in SVN $ALICE_ROOT/ANALYSIS/CalibMacros/MergeCalibration/ • Executable: • (mergeCalibObjects.sh) mergeMakeOCDB.sh validationMerging.sh • Steering part: • ConfigCalibTrain.C (configure OCDB pathes, mag. field) • LoadLibraries.C • merge.C • mergeCalibObjects.C • makeOCDB.C

  7. Detector part • 3 macros for the TPC (different calibrations) – to be replaced by the compiled code: • Equivalent of the AliTPCPreprocessor.h(cxx) - • AliTPCPreprocesorOFFLINE.h(cxx) • Options: • Put it to the Release ? • Compiled macros at the beginning ?

  8. AliTPCPreprocessorOffline • //Drift - alignment part • void CalibTimeVdrift(Char_t* file="CalibObjectsTrain1.root", Int_t ustartRun=0, Int_t uendRun=AliCDBRunRange::Infinity(),TString ocdbStorage=""); • void UpdateOCDBDrift(Int_t ustartRun, Int_t uendRun); • void AddHistoGraphs( TObjArray * vdriftArray, AliTPCcalibTime *timeDrift, Int_t minEntries); • void AddAlignmentGraphs( TObjArray * vdriftArray, AliTPCcalibTime *timeDrift); • void AddLaserGraphs( TObjArray * vdriftArray, AliTPCcalibTime *timeDrift); • void SetDefaultGraphDrift(TGraph *graph, Int_t color, Int_t style); • TGraphErrors* FilterGraphMedianAbs(TGraphErrors * graph, Float_t cut,Double_t &medianY); • TGraphErrors* FilterGraphDrift(TGraphErrors * graph, Float_t errSigmaCut, Float_t medianCutAbs); • TGraphErrors * MakeGraphFilter0(THnSparse *hisN, Int_t itime, Int_t ival, Int_t minEntries, Double_t offset=0); • //Gain part • void UpdateOCDBGain(Int_t startRunNumber, Int_t endRunNumber, const char* storagePath); • void ReadGainGlobal(Char_t* fileName="CalibObjectsTrain1.root"); • void MakeQAPlot(Float_t FPtoMIPratio); • Bool_t AnalyzeGain(Int_t startRunNumber, Int_t endRunNumber, Int_t minEntriesGaussFit = 500, Float_t FPtoMIPratio = 1.43);

More Related