From f12abd897893427a28e130f60fb591070bec6d6a Mon Sep 17 00:00:00 2001 From: marian Date: Tue, 20 Apr 2010 07:49:32 +0000 Subject: [PATCH] Code to analyze the TPC calibration and to produce OCDB entries Marian --- TPC/AliTPCPreprocessorOffline.cxx | 38 +++++++++++++++++-------------- TPC/AliTPCPreprocessorOffline.h | 14 ++++++++---- TPC/TPCcalibLinkDef.h | 1 + TPC/libTPCcalib.pkg | 2 +- 4 files changed, 33 insertions(+), 22 deletions(-) diff --git a/TPC/AliTPCPreprocessorOffline.cxx b/TPC/AliTPCPreprocessorOffline.cxx index 30029e22795..d35383565b2 100644 --- a/TPC/AliTPCPreprocessorOffline.cxx +++ b/TPC/AliTPCPreprocessorOffline.cxx @@ -16,17 +16,24 @@ /* + Responsible: marian.ivanov@cern.ch + Code to analyze the TPC calibration and to produce OCDB entries + + .x ~/rootlogon.C gSystem->Load("libANALYSIS"); gSystem->Load("libTPCcalib"); - .L $ALICE_ROOT/TPC/AliTPCPreprocessorOffline.cxx+ AliTPCPreprocessorOffline proces; - proces.CalibTimeGain( + process.CalibTimeGain("CalibObjects.root",run0,run1,ocdbPath); + // take the raw calibration data from the file CalibObjects.root + // and make a OCDB entry with run validity run0-run1 + // results are stored at the ocdbPath - local or alien ... + // default storage ""- data stored at current working directory */ - -#if !defined(__CINT__) || defined(__MAKECINT__) +#include "Riostream.h" +#include #include "TMap.h" #include "TGraphErrors.h" #include "AliExternalTrackParam.h" @@ -40,10 +47,7 @@ #include "TH2D.h" #include "AliTPCROC.h" #include "AliTPCCalROC.h" - #include "AliESDfriend.h" - - #include "AliTPCcalibTime.h" #include "AliSplineFit.h" #include "AliCDBMetaData.h" @@ -58,13 +62,12 @@ #include "AliTPCcalibTimeGain.h" #include "AliSplineFit.h" #include "AliTPCPreprocessorOffline.h" -#endif ClassImp(AliTPCPreprocessorOffline) AliTPCPreprocessorOffline::AliTPCPreprocessorOffline(): - TNamed("PreprocessorOffline","PreprocessorOffline"), + TNamed("TPCPreprocessorOffline","TPCPreprocessorOffline"), kMinEntries(500), // minimal number of entries for fit startRun(0), // start Run - used to make fast selection in THnSparse endRun(0), // end Run - used to make fast selection in THnSparse @@ -82,6 +85,8 @@ AliTPCPreprocessorOffline::AliTPCPreprocessorOffline(): fGainCosmic(0) // calibration component for cosmic { // + // default constructor + // } AliTPCPreprocessorOffline::~AliTPCPreprocessorOffline() { @@ -93,11 +98,11 @@ AliTPCPreprocessorOffline::~AliTPCPreprocessorOffline() { -void AliTPCPreprocessorOffline::GetRunRange(AliTPCcalibTime* fTimeDrift){ +void AliTPCPreprocessorOffline::GetRunRange(AliTPCcalibTime* timeDrift){ // // find the fist and last run // - TObjArray *hisArray =fTimeDrift->GetHistoDrift(); + TObjArray *hisArray =timeDrift->GetHistoDrift(); {for (Int_t i=0; iGetEntriesFast(); i++){ THnSparse* addHist=(THnSparse*)hisArray->UncheckedAt(i); if (addHist->GetEntries()0) ocdbStorage=pocdbStorage; else ocdbStorage="local://"+gSystem->GetFromPipe("pwd")+"/OCDB"; @@ -193,7 +197,7 @@ void AliTPCPreprocessorOffline::UpdateOCDBDrift( Int_t ustartRun, Int_t uendRun, -void AliTPCPreprocessorOffline::UpdateDriftParam(AliTPCParam *param, TObjArray *arr, Int_t startRun){ +void AliTPCPreprocessorOffline::UpdateDriftParam(AliTPCParam *param, TObjArray *arr, Int_t lstartRun){ // // update the OCDB entry for the nominal time0 // @@ -213,7 +217,7 @@ void AliTPCPreprocessorOffline::UpdateDriftParam(AliTPCParam *param, TObjArray * metaData->SetAliRootVersion("05-25-02"); //root version metaData->SetComment("Updated calibration of nominal time 0"); AliCDBId* id1=NULL; - id1=new AliCDBId("TPC/Calib/Parameters", startRun, AliCDBRunRange::Infinity()); + id1=new AliCDBId("TPC/Calib/Parameters", lstartRun, AliCDBRunRange::Infinity()); AliCDBStorage* gStorage = AliCDBManager::Instance()->GetStorage(ocdbStorage); gStorage->Put(param, (*id1), metaData); @@ -685,15 +689,15 @@ void AliTPCPreprocessorOffline::MakeDefaultPlots(TObjArray * arr, TObjArray *pic -void AliTPCPreprocessorOffline::CalibTimeGain(Char_t* fileName, Int_t startRunNumber, Int_t endRunNumber, TString ocdbStorage){ +void AliTPCPreprocessorOffline::CalibTimeGain(Char_t* fileName, Int_t startRunNumber, Int_t endRunNumber, TString pocdbStorage){ // // Update OCDB gain // ReadGainGlobal(fileName); AnalyzeGain(startRunNumber,endRunNumber, 1000,1.43); MakeQAPlot(1.43); - if (ocdbStorage.Length()==0) ocdbStorage+="local://"+gSystem->GetFromPipe("pwd")+"/OCDB"; - UpdateOCDBGain( startRunNumber, endRunNumber, ocdbStorage.Data()); + if (pocdbStorage.Length()==0) pocdbStorage+="local://"+gSystem->GetFromPipe("pwd")+"/OCDB"; + UpdateOCDBGain( startRunNumber, endRunNumber, pocdbStorage.Data()); } diff --git a/TPC/AliTPCPreprocessorOffline.h b/TPC/AliTPCPreprocessorOffline.h index 1a5d106ad60..565c4fdd7f9 100644 --- a/TPC/AliTPCPreprocessorOffline.h +++ b/TPC/AliTPCPreprocessorOffline.h @@ -4,17 +4,22 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ - +// // // Class to create OCDB entries - processing the results of the OFFLINE calibration +// + #include "TNamed.h" class TObjArray; class AliTPCcalibTime; class AliTPCcalibTimeGain; class AliTPCROC; +class AliTPCParam; +class TPad; +class AliCDBRunRange; -class AliTPCPreprocessorOffline:public TNamed { +class AliTPCPreprocessorOffline:public TNamed { public: AliTPCPreprocessorOffline(); virtual ~AliTPCPreprocessorOffline(); @@ -27,7 +32,7 @@ public: // v drift part // void GetRunRange(AliTPCcalibTime* timeDrift); - void CalibTimeVdrift(Char_t* file="CalibObjectsTrain1.root", Int_t ustartRun=0, Int_t uendRun=AliCDBRunRange::Infinity(),TString ocdbStorage=""); + void CalibTimeVdrift(Char_t* file, Int_t ustartRun, Int_t uendRun,TString ocdbStorage=""); void AddHistoGraphs( TObjArray * vdriftArray, AliTPCcalibTime *timeDrift, Int_t minEntries); void AddAlignmentGraphs( TObjArray * vdriftArray, AliTPCcalibTime *timeDrift); void AddLaserGraphs( TObjArray * vdriftArray, AliTPCcalibTime *timeDrift); @@ -70,7 +75,8 @@ public: AliTPCcalibTimeGain * fGainCosmic; // calibration component for cosmic private: - AliTPCPreprocessorOffline& operator=(const AliTPCPreprocessorOffline&){;} // not implemented + AliTPCPreprocessorOffline& operator=(const AliTPCPreprocessorOffline&); // not implemented + AliTPCPreprocessorOffline(const AliTPCPreprocessorOffline&); // not implemented ClassDef(AliTPCPreprocessorOffline,1) }; diff --git a/TPC/TPCcalibLinkDef.h b/TPC/TPCcalibLinkDef.h index 8690c0fd307..dd10ebf0b38 100644 --- a/TPC/TPCcalibLinkDef.h +++ b/TPC/TPCcalibLinkDef.h @@ -32,6 +32,7 @@ #pragma link C++ class AliTPCMisAligner+; #pragma link C++ class AliTPCcalibTrigger+; #pragma link C++ class AliTPCcalibMaterial+; +#pragma link C++ class AliTPCPreprocessorOffline+; #endif diff --git a/TPC/libTPCcalib.pkg b/TPC/libTPCcalib.pkg index 0790ede5e01..957739e4770 100644 --- a/TPC/libTPCcalib.pkg +++ b/TPC/libTPCcalib.pkg @@ -6,7 +6,7 @@ SRCS = AliTPCcalibTracksCuts.cxx AliTPCcalibTracks.cxx AliTPCcalibTracksGain AliTPCCalibKrTask.cxx AliTPCcalibLaser.cxx AliTPCcalibCosmic.cxx \ AliTPCcalibCalib.cxx AliTPCcalibTime.cxx AliTPCcalibUnlinearity.cxx \ AliTPCcalibPID.cxx AliTPCcalibTimeGain.cxx AliTPCMisAligner.cxx \ - AliTPCcalibTrigger.cxx AliTPCcalibMaterial.cxx + AliTPCcalibTrigger.cxx AliTPCcalibMaterial.cxx AliTPCPreprocessorOffline.cxx HDRS:= $(SRCS:.cxx=.h) -- 2.43.0